diff --git a/app/portal/page.tsx b/app/portal/page.tsx
index df231159..849f2d85 100644
--- a/app/portal/page.tsx
+++ b/app/portal/page.tsx
@@ -1,12 +1,288 @@
-// app/portal/page.tsx
-export default function PortalHome() {
+"use client";
+
+import { motion } from "framer-motion";
+import Link from "next/link";
+import {
+ ArrowRight,
+ CheckCircle2,
+ CircleX,
+ HeartHandshake,
+ HandCoins,
+ Coffee,
+ ShieldCheck,
+ Users,
+ Video,
+ Sparkles,
+} from "lucide-react";
+import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
+import { Button } from "@/components/ui/button";
+import { Badge } from "@/components/ui/badge";
+import { Progress } from "@/components/ui/progress";
+import { Separator } from "@/components/ui/separator";
+
+/**
+ * App Dashboard: Support CTA
+ * -------------------------------------------------
+ * This page is the first thing signed‑in users see. It makes a heartfelt,
+ * transparent pitch for community funding to keep Laser Everything + MakeArmy
+ * free and ad‑independent.
+ *
+ * Quick wiring:
+ * - If you have live funding data, replace the GOAL and CURRENT below or
+ * fetch dynamically in a useEffect.
+ */
+const GOAL = 5000; // monthly goal in USD (adjust as needed)
+const CURRENT = 0; // replace with live value if available
+
+const perks = [
+ { icon: , text: "No ads. No sponsors. No affiliates." },
+{ icon: , text: "Community‑funded, community‑first priorities." },
+{ icon: , text: "Videos, tools, and guides stay open for all." },
+];
+
+const supportTiers = [
+ {
+ name: "Laser Master Academy",
+ href: "https://masters.lasereverything.net",
+ icon: ,
+ blurb:
+ "Our flagship learning community on MightyNetworks: structured courses, AMAs, and deeper mentorship.",
+ perks: ["In‑depth lessons", "Member Q&A", "Early access when available"],
+ cta: "Join the Academy",
+ },
+{
+ name: "Patreon",
+ href: "https://www.patreon.com/c/LaserEverything",
+ icon: ,
+ blurb:
+ "Flexible monthly support to underwrite videos, research, and open tools without monetization strings.",
+ perks: ["Support milestones", "Behind‑the‑scenes notes", "Community shout‑outs"],
+ cta: "Back on Patreon",
+},
+{
+ name: "Ko‑Fi",
+ href: "https://ko-fi.com/lasereverything",
+ icon: ,
+ blurb:
+ "One‑time tips that go straight to hosting, development, and production costs—no paywall, just fuel.",
+ perks: ["Say thanks once", "Help cover a bill", "Keep it free for others"],
+ cta: "Tip on Ko‑Fi",
+},
+];
+
+const adVsCommunity = {
+ ads: [
+ "Algorithm‑shaped content",
+ "Sponsor talking points",
+ "Affiliate bias risk",
+ "Tracking and interruptions",
+ ],
+ community: [
+ "Curriculum set by makers",
+ "Honest reviews & hard truths",
+ "Open tools without strings",
+ "Privacy‑respecting experience",
+ ],
+};
+
+export default function Page() {
+ const pct = Math.max(0, Math.min(100, Math.round((CURRENT / GOAL) * 100)));
+
return (
-
-
Dashboard
-
- Pick a tab to get started. You can add and manage Rigs, Laser Settings, Sources, Materials, Projects,
- or jump into Utilities and Account.
+
+ {/* Hero */}
+
+
+
+
+
+ Community‑Funded • Ad‑Free • Open Resources
+
+
+ Keep Laser Everything & MakeArmy free for everyone
+
+
+ The videos, tools, and docs you use today exist because previous supporters paid it forward.
+ If we hit our monthly goal together, we can stay independent—no ads, no sponsors, no affiliate strings.
+
+ {/* Progress */}
+
+
+
+
This month’s goal
+
${GOAL.toLocaleString()}
+
+
+
+
+
+ Live totals coming soon. Your support directly underwrites hosting, development, and production.
+
+
+
+ {/* Quick CTA */}
+
+
+
+ Join Laser Master Academy
+
+
+
+
+ Back on Patreon
+
+
+
+
+ Tip on Ko‑Fi
+
+
+
+
+ {/* Trust perks */}
+
+ {perks.map((p, i) => (
+
+ {p.icon}
+ {p.text}
+
+ ))}
+
+
+
+
+
+ {/* Support Options */}
+
+
+
+
How you can help—pick what fits
+
+ Whether you join the Academy, pledge monthly, or tip once, every contribution sustains the whole community.
+
+
+
+
+ {supportTiers.map((tier) => (
+
+
+
+ {tier.icon}
+ {tier.name}
+
+ {tier.blurb}
+
+
+
+ {tier.perks.map((perk) => (
+
+ {perk}
+
+ ))}
+
+
+
+ {tier.cta}
+
+
+
+
+ ))}
+
+
+ {/* Philosophy: Ads vs Community */}
+
+
+
Why not just run ads & sponsors?
+
+ Because it quietly changes what we make and who we serve. We’d rather be accountable to you.
+
+
+
+
+
+
+
+
+ Advertising / Sponsorship Model
+
+
+
+
+ {adVsCommunity.ads.map((t) => (
+
+ {t}
+
+ ))}
+
+
+
+
+
+
+
+
+ Community‑Funded Model
+
+
+
+
+ {adVsCommunity.community.map((t) => (
+
+ {t}
+
+ ))}
+
+
+
+
+
+
+ {/* Other ways */}
+
+
No budget? No problem—here’s how to help for free
+
+
+ {[
+ "Share our videos with a friend",
+ "Star + share our repos/tools",
+ "Submit laser settings & materials",
+ "Report bugs and suggest features",
+ ].map((item) => (
+
+ {item}
+
+ ))}
+
+
+
+
+
+
+ {/* Closing statement */}
+
+
+ Laser Everything exists because makers before you chose to keep the ladder down. If we each do a small part—
+ we never need a paywall .
+
+
+
+
);
}