+
+
Community Information
+
Tell us about your community to get started.
+
+
+ {/* Logo Upload */}
+
+
+
fileRef.current?.click()}
+ >
+ {uploading ? (
+
+ ) : logoUrl ? (
+

+ ) : (
+
+ )}
+
+
+
+
JPG, PNG, WEBP · Max 2MB · 400×400px recommended
+ {logoUrl && (
+
+ )}
+
+
+
+ {uploadError && (
+
+ )}
+
+
+ {/* Community Name */}
+
+
+
+ {errors.communityName && (
+ {errors.communityName.message}
+ )}
+
+
+ {/* Community Bio */}
+
+
+
+ {errors.communityBio && (
+ {errors.communityBio.message}
+ )}
+
+
+ {/* Website */}
+
+
+
+
+ https://
+
+ {
+ const val = e.target.value.trim();
+ if (val && !val.startsWith("http://") && !val.startsWith("https://")) {
+ setValue("communityWebsite", `https://${val}`, { shouldValidate: true });
+ }
+ }}
+ />
+
+ {errors.communityWebsite && (
+
{errors.communityWebsite.message}
+ )}
+
+
+ );
+}
diff --git a/src/features/Auth/v1/components/signup/ContactStep.tsx b/src/features/Auth/v1/components/signup/ContactStep.tsx
new file mode 100644
index 0000000..8423dfd
--- /dev/null
+++ b/src/features/Auth/v1/components/signup/ContactStep.tsx
@@ -0,0 +1,131 @@
+import { useFormContext } from "react-hook-form";
+import { SignupFormData } from "../../hooks/useSignupForm";
+
+const COUNTRIES = [
+ "Afghanistan", "Albania", "Algeria", "Australia", "Austria", "Bangladesh",
+ "Belgium", "Brazil", "Canada", "China", "Denmark", "Egypt", "Ethiopia",
+ "Finland", "France", "Germany", "Ghana", "Greece", "India", "Indonesia",
+ "Iraq", "Ireland", "Israel", "Italy", "Japan", "Jordan", "Kenya",
+ "Malaysia", "Mexico", "Morocco", "Netherlands", "New Zealand", "Nigeria",
+ "Norway", "Pakistan", "Philippines", "Portugal", "Romania", "Russia",
+ "Saudi Arabia", "Singapore", "South Africa", "South Korea", "Spain",
+ "Sweden", "Switzerland", "Tanzania", "Thailand", "Turkey", "Uganda",
+ "Ukraine", "United Arab Emirates", "United Kingdom", "United States",
+ "Vietnam", "Zimbabwe",
+];
+
+export default function ContactStep() {
+ const {
+ register,
+ formState: { errors },
+ } = useFormContext