Skip to content

Commit 7b8a963

Browse files
sktbrdclaude
andcommitted
feat(pitch): bare bigger crew heads on /morpheus, live droposals on /base
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 535bf75 commit 7b8a963

2 files changed

Lines changed: 30 additions & 4 deletions

File tree

src/app/[locale]/base/page.tsx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import type { Metadata } from "next";
22
import { getTranslations, setRequestLocale } from "next-intl/server";
33
import { BasePageContent, BaseUnderHood } from "@/components/base/BasePageContent";
4+
import { DroposalsGrid } from "@/components/droposals/DroposalsGrid";
45
import { GovSection } from "@/components/newhome/GovSection";
56
import { StakeSection } from "@/components/newhome/StakeSection";
67
import { SwapSection } from "@/components/newhome/SwapSection";
8+
import { fetchDroposals } from "@/services/droposals";
79

810
// The pitch page for Base ecosystem programs (Base Batches): everything Gnars
911
// runs on Base, with links to the live surfaces. See BasePageContent.
@@ -45,6 +47,10 @@ export async function generateMetadata({
4547
export default async function BasePage({ params }: { params: Promise<{ locale: string }> }) {
4648
const { locale } = await params;
4749
setRequestLocale(locale);
50+
const t = await getTranslations({ locale, namespace: "base" });
51+
52+
// The freshest four drops are enough for the pitch; /droposals has them all.
53+
const droposals = await fetchDroposals(4).catch(() => []);
4854

4955
return (
5056
<div className="py-10">
@@ -53,6 +59,19 @@ export default async function BasePage({ params }: { params: Promise<{ locale: s
5359
the daily auction + recent proposals + activity feed; SwapSection is
5460
the working 0x swap widget; StakeSection is the rider roster. */}
5561
<GovSection />
62+
{droposals.length > 0 && (
63+
<section className="mx-auto w-full max-w-5xl px-4 pb-4 pt-10 sm:px-6">
64+
<h2 className="text-2xl font-extrabold tracking-tight sm:text-3xl">
65+
{t("features.droposals.title")}
66+
</h2>
67+
<p className="mt-1.5 max-w-2xl text-sm text-muted-foreground">
68+
{t("features.droposals.desc")}
69+
</p>
70+
<div className="mt-5">
71+
<DroposalsGrid items={droposals} />
72+
</div>
73+
</section>
74+
)}
5675
<SwapSection />
5776
<StakeSection />
5877
<BaseUnderHood />

src/components/stake/MorpheusPageContent.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -202,17 +202,24 @@ export function MorpheusPageContent() {
202202
return (
203203
<div
204204
key={id}
205-
className={cn("flex items-start gap-3 sm:gap-4", flipped && "flex-row-reverse")}
205+
className={cn("flex items-center gap-3 sm:gap-5", flipped && "flex-row-reverse")}
206206
>
207-
<div className="flex w-16 shrink-0 flex-col items-center gap-1.5 sm:w-20">
207+
<div className="flex w-24 shrink-0 flex-col items-center gap-1 sm:w-36">
208+
{/* Bare head, no frame: the cut-outs carry their own alpha, so
209+
the crop just floats on the page. The bottom fade dissolves
210+
the neck instead of guillotining it at the box edge, and
211+
drop-shadow follows the alpha silhouette, not the box. */}
208212
<div
209213
aria-hidden
210-
className={cn("h-16 w-16 rounded-full bg-muted ring-2 sm:h-20 sm:w-20", c.ring)}
214+
className="h-24 w-24 sm:h-36 sm:w-36"
211215
style={{
212216
backgroundImage: `url("${c.image}")`,
213217
backgroundSize: c.face.size,
214218
backgroundPosition: c.face.pos,
215219
backgroundRepeat: "no-repeat",
220+
maskImage: "linear-gradient(to bottom, black 72%, transparent 98%)",
221+
WebkitMaskImage: "linear-gradient(to bottom, black 72%, transparent 98%)",
222+
filter: "drop-shadow(0 8px 14px rgba(0,0,0,0.35))",
216223
}}
217224
/>
218225
<span className="text-[10px] font-bold uppercase tracking-wider">
@@ -228,7 +235,7 @@ export function MorpheusPageContent() {
228235
<span
229236
aria-hidden
230237
className={cn(
231-
"absolute top-7 h-3 w-3 rotate-45 border-border/60 bg-card",
238+
"absolute top-1/2 h-3 w-3 -translate-y-1/2 rotate-45 border-border/60 bg-card",
232239
flipped ? "-right-1.5 border-t border-r" : "-left-1.5 border-b border-l",
233240
)}
234241
/>

0 commit comments

Comments
 (0)