diff --git a/app/apply/org/page.tsx b/app/apply/org/page.tsx new file mode 100644 index 0000000..6bb0fd5 --- /dev/null +++ b/app/apply/org/page.tsx @@ -0,0 +1,20 @@ +import Link from "next/link"; +import PublicLayout from "@/components/layout/PublicLayout"; + +export default function OrgApplyPage() { + return ( + +
+

+ Organization Application +

+

Coming soon.

+ + + Back to Apply + +
+
+ ); +} + diff --git a/app/apply/page.tsx b/app/apply/page.tsx new file mode 100644 index 0000000..556108a --- /dev/null +++ b/app/apply/page.tsx @@ -0,0 +1,31 @@ +import Link from "next/link"; +import PublicLayout from "@/components/layout/PublicLayout"; + +export default function ApplyPage() { + return ( + +
+

Apply

+ +

+ Choose the application you want to start. +

+ + {/* links container */} +
+ + Startup Application + + + + Org Application + + + + Team Application + +
+
+
+ ); +} diff --git a/app/apply/startup/page.tsx b/app/apply/startup/page.tsx new file mode 100644 index 0000000..9d646fa --- /dev/null +++ b/app/apply/startup/page.tsx @@ -0,0 +1,110 @@ +"use client"; + +import { useState } from "react"; +import PublicLayout from "@/components/layout/PublicLayout"; + +type StartupFormState = { + name: string; + description: string; + fundingGoal: string; + contact: string; +}; + +export default function StartupApplyPage() { + const [form, setForm] = useState({ + name: "", + description: "", + fundingGoal: "", + contact: "", + }); + + function updateField(key: K, value: StartupFormState[K]) { + setForm((prev) => ({ ...prev, [key]: value })); + } + + function handleSubmit(e: React.FormEvent) { + e.preventDefault(); + console.log("Startup application form:", form); + } + + return ( + +
+

Startup Application

+

+ UI only for now — submitting will log your inputs to the console. +

+ +
+
+ + updateField("name", e.target.value)} + className="w-full rounded-md border px-3 py-2" + placeholder="e.g., Startup Labs" + required + /> +
+ +
+ +