From 54af78f1bf601f37ba1c38d03b587cfa40763169 Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Sat, 18 Oct 2025 21:56:41 +0000 Subject: [PATCH] Revamp Investors page with red-themed robust layout mimicking About/Labs cgen-c31b9a70c19049329f70e208897d9cb0 --- client/pages/Investors.tsx | 317 ++++++++++++++++++++++++------------- 1 file changed, 209 insertions(+), 108 deletions(-) diff --git a/client/pages/Investors.tsx b/client/pages/Investors.tsx index 537b5da6..1b4b450c 100644 --- a/client/pages/Investors.tsx +++ b/client/pages/Investors.tsx @@ -1,16 +1,35 @@ import Layout from "@/components/Layout"; -import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Input } from "@/components/ui/input"; import { Textarea } from "@/components/ui/textarea"; import { useAuth } from "@/contexts/AuthContext"; -import { useState } from "react"; import { useToast } from "@/hooks/use-toast"; +import { useRef, useState } from "react"; +import { Link } from "react-router-dom"; +import { + Flame, + BarChart3, + Layers, + Shield, + Handshake, + Building2, + Target, + Rocket, +} from "lucide-react"; export default function Investors() { const { user, profile, updateProfile } = useAuth(); const { toast } = useToast(); + const formRef = useRef(null); + const [name, setName] = useState(""); const [email, setEmail] = useState(""); const [amount, setAmount] = useState(""); @@ -18,6 +37,10 @@ export default function Investors() { const [message, setMessage] = useState(""); const [submitting, setSubmitting] = useState(false); + const isClientRealm = (profile as any)?.user_type === "client"; + + const scrollToForm = () => formRef.current?.scrollIntoView({ behavior: "smooth", block: "start" }); + const submit = async () => { if (!email.trim()) { toast({ variant: "destructive", description: "Email is required" }); @@ -32,7 +55,11 @@ export default function Investors() { }); if (!resp.ok) throw new Error("Failed to submit"); toast({ title: "Thanks!", description: "We’ll follow up with next steps." }); - setName(""); setEmail(""); setAmount(""); setMessage(""); setAccredited(false); + setName(""); + setEmail(""); + setAmount(""); + setMessage(""); + setAccredited(false); } catch (e: any) { toast({ variant: "destructive", description: e?.message || "Try again later" }); } finally { @@ -49,122 +76,196 @@ export default function Investors() { } }; - const isClientRealm = (profile as any)?.user_type === "client"; - return ( -
-
- Investors -

Partner with AeThex

-

Learn about our vision, traction, and how to participate in future financings. This page is informational and not an offer to sell securities.

-
+
+
+
-
- - - Investor interest - Request our investor packet and updates - - - setName(e.target.value)} /> - setEmail(e.target.value)} /> - setAmount(e.target.value)} /> - -