dashboard tweaks

This commit is contained in:
makearmy 2025-10-19 00:17:44 -04:00
parent 380a0e6d1c
commit 683cdeb86b

View file

@ -22,59 +22,60 @@ import { Badge } from "@/components/ui/badge";
/**
* App Dashboard: Support CTA (simplified hero, no progress meter)
* ---------------------------------------------------------------
* - Strips gradient background and complex card in the hero.
* - Removes goal/progress UI entirely.
* - Keeps the rest of the page (support cards, philosophy, free ways) intact.
* - Minimal hero to match site chrome.
* - No goal/progress UI.
* - Consistent CTA buttons with solid, high-contrast fills.
* - Tips/perks render as inline chips so they wrap smoothly.
*/
const perks = [
{ icon: <ShieldCheck className="h-5 w-5" />, text: "No ads. No sponsors. No affiliates." },
{ icon: <Users className="h-5 w-5" />, text: "Communityfunded, communityfirst priorities." },
{ icon: <Video className="h-5 w-5" />, text: "Videos, tools, and guides stay open for all." },
{ icon: <ShieldCheck className="h-5 w-5" aria-hidden="true" />, text: "No ads. No sponsors. No influence." },
{ icon: <Users className="h-5 w-5" aria-hidden="true" />, text: "Community-funded, community-first priorities." },
{ icon: <Video className="h-5 w-5" aria-hidden="true" />, text: "Videos, tools, and guides stay open for all." },
];
const supportTiers = [
{
name: "Laser Master Academy",
href: "https://masters.lasereverything.net",
icon: <Sparkles className="h-6 w-6" />,
icon: <Sparkles className="h-6 w-6" aria-hidden="true" />,
blurb:
"Our flagship learning community on MightyNetworks: structured courses, AMAs, and deeper mentorship.",
perks: ["Indepth lessons", "Member Q&A", "Early access when available"],
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: <HeartHandshake className="h-6 w-6" />,
icon: <HeartHandshake className="h-6 w-6" aria-hidden="true" />,
blurb:
"Flexible monthly support to underwrite videos, research, and open tools without monetization strings.",
perks: ["Support milestones", "Behindthescenes notes", "Community shoutouts"],
perks: ["Support milestones", "Behind-the-scenes notes", "Community shout-outs"],
cta: "Back on Patreon",
},
{
name: "KoFi",
name: "Ko-Fi",
href: "https://ko-fi.com/lasereverything",
icon: <Coffee className="h-6 w-6" />,
icon: <Coffee className="h-6 w-6" aria-hidden="true" />,
blurb:
"Onetime tips that go straight to hosting, development, and production costs—no paywall, just fuel.",
"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 KoFi",
cta: "Tip on Ko-Fi",
},
];
const adVsCommunity = {
ads: [
"Algorithmshaped content",
"Algorithm-shaped content",
"Sponsor talking points",
"Affiliate bias risk",
"Influencer bias risk",
"Tracking and interruptions",
],
community: [
"Curriculum set by makers",
"Honest reviews & hard truths",
"Open tools without strings",
"Privacyrespecting experience",
"Privacy-respecting experience",
],
};
@ -84,40 +85,76 @@ export default function Page() {
{/* Hero (clean + minimal to match site) */}
<section className="mx-auto w-full max-w-6xl px-6 py-14 sm:py-16">
<div className="text-center">
<Badge variant="secondary" className="mb-4">CommunityFunded AdFree Open Resources</Badge>
<Badge variant="secondary" className="mb-4">
Community-Funded Ad-Free Open Resources
</Badge>
<h1 className="text-3xl font-extrabold tracking-tight sm:text-4xl">
Keep Laser Everything & MakeArmy free for everyone
</h1>
<p className="mx-auto mt-3 max-w-3xl text-balance text-sm text-muted-foreground sm:text-base">
The videos, tools, and docs you use today exist because previous supporters paid it forward.
We want to stay independentno ads, no sponsors, no affiliate stringsand that only works if we fund it together.
We want to stay independent no ads, no sponsors, no strings and that only works if we fund it together.
</p>
{/* Slim CTA row */}
{/* Slim CTA row (consistent shape + solid, high-contrast fills) */}
<div className="mt-6 flex flex-wrap items-center justify-center gap-3">
<Button asChild size="lg" className="rounded-2xl">
<Link href="https://masters.lasereverything.net" target="_blank" rel="noopener noreferrer">
{/* Laser Master Academy — teal */}
<Button
asChild
size="lg"
className="rounded-2xl bg-teal-600 text-white shadow-sm hover:bg-teal-700 focus-visible:ring-2 focus-visible:ring-teal-500"
>
<Link
href="https://masters.lasereverything.net"
target="_blank"
rel="noopener noreferrer"
aria-label="Join Laser Master Academy"
>
Join Laser Master Academy <ArrowRight className="ml-2 h-4 w-4" />
</Link>
</Button>
<Button asChild variant="secondary" size="lg" className="rounded-2xl">
<Link href="https://www.patreon.com/c/LaserEverything" target="_blank" rel="noopener noreferrer">
{/* Patreon — rose */}
<Button
asChild
size="lg"
className="rounded-2xl bg-rose-600 text-white shadow-sm hover:bg-rose-700 focus-visible:ring-2 focus-visible:ring-rose-500"
>
<Link
href="https://www.patreon.com/c/LaserEverything"
target="_blank"
rel="noopener noreferrer"
aria-label="Back Laser Everything on Patreon"
>
Back on Patreon
</Link>
</Button>
<Button asChild variant="outline" size="lg" className="rounded-2xl">
<Link href="https://ko-fi.com/lasereverything" target="_blank" rel="noopener noreferrer">
Tip on KoFi
{/* Ko-Fi — sky (high-contrast; no yellow) */}
<Button
asChild
size="lg"
className="rounded-2xl bg-sky-600 text-white shadow-sm hover:bg-sky-700 focus-visible:ring-2 focus-visible:ring-sky-500"
>
<Link
href="https://ko-fi.com/lasereverything"
target="_blank"
rel="noopener noreferrer"
aria-label="Tip Laser Everything on Ko-Fi"
>
Tip on Ko-Fi
</Link>
</Button>
</div>
{/* Trust perks (subtle, inline to keep rhythm) */}
<ul className="mx-auto mt-5 grid max-w-2xl grid-cols-1 gap-2 sm:grid-cols-3">
{/* Perks as inline chips (flows naturally, no awkward line breaks) */}
<ul className="mx-auto mt-5 flex max-w-4xl flex-wrap items-center justify-center gap-x-6 gap-y-2 text-muted-foreground">
{perks.map((p, i) => (
<li key={i} className="flex items-center justify-center gap-2 text-muted-foreground">
<li key={i} className="inline-flex items-center gap-2 text-sm">
{p.icon}
<span className="text-sm">{p.text}</span>
<span>{p.text}</span>
</li>
))}
</ul>
@ -148,7 +185,7 @@ export default function Page() {
<ul className="space-y-2 text-sm">
{tier.perks.map((perk) => (
<li key={perk} className="flex items-center gap-2">
<CheckCircle2 className="h-4 w-4" /> {perk}
<CheckCircle2 className="h-4 w-4" aria-hidden="true" /> {perk}
</li>
))}
</ul>
@ -175,7 +212,7 @@ export default function Page() {
<Card className="rounded-2xl">
<CardHeader>
<div className="flex items-center gap-2 text-rose-600 dark:text-rose-400">
<CircleX className="h-5 w-5" />
<CircleX className="h-5 w-5" aria-hidden="true" />
<CardTitle className="text-base">Advertising / Sponsorship Model</CardTitle>
</div>
</CardHeader>
@ -183,7 +220,7 @@ export default function Page() {
<ul className="space-y-2 text-sm text-muted-foreground">
{adVsCommunity.ads.map((t) => (
<li key={t} className="flex items-center gap-2">
<CircleX className="h-4 w-4" /> {t}
<CircleX className="h-4 w-4" aria-hidden="true" /> {t}
</li>
))}
</ul>
@ -193,15 +230,15 @@ export default function Page() {
<Card className="rounded-2xl border-teal-600/30">
<CardHeader>
<div className="flex items-center gap-2 text-teal-700 dark:text-teal-300">
<CheckCircle2 className="h-5 w-5" />
<CardTitle className="text-base">CommunityFunded Model</CardTitle>
<CheckCircle2 className="h-5 w-5" aria-hidden="true" />
<CardTitle className="text-base">Community-Funded Model</CardTitle>
</div>
</CardHeader>
<CardContent>
<ul className="space-y-2 text-sm">
{adVsCommunity.community.map((t) => (
<li key={t} className="flex items-center gap-2">
<CheckCircle2 className="h-4 w-4" /> {t}
<CheckCircle2 className="h-4 w-4" aria-hidden="true" /> {t}
</li>
))}
</ul>
@ -225,7 +262,7 @@ export default function Page() {
"Report bugs and suggest features",
].map((item) => (
<li key={item} className="flex items-center gap-2 text-sm text-muted-foreground">
<HandCoins className="h-4 w-4" /> {item}
<HandCoins className="h-4 w-4" aria-hidden="true" /> {item}
</li>
))}
</ul>