From 26f685e9445df317716928b130006a617b688790 Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Tue, 17 Mar 2026 17:25:06 +0000 Subject: [PATCH] =?UTF-8?q?[#277]=20Experimental=20UI=20overhaul=20?= =?UTF-8?q?=E2=80=94=20cyberpunk=20library=20design?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Book-cover style story cards with generative gradient backgrounds derived from storyline IDs. Shelf-inspired home page layout with featured story section. Immersive reading experience on story detail pages with cover headers. Manuscript-style create page. Refined navbar and footer. Applied visual language across dashboards. New CSS: ambient glow effects, spine accents, reading-area typography, generative pattern overlays, manuscript line backgrounds. All changes purely visual — no logic modifications. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/app/create/page.tsx | 100 ++++++++++------- src/app/dashboard/reader/page.tsx | 10 +- src/app/dashboard/writer/page.tsx | 10 +- src/app/globals.css | 128 +++++++++++++++++++++- src/app/layout.tsx | 2 +- src/app/page.tsx | 78 ++++++++++--- src/app/story/[storylineId]/page.tsx | 158 +++++++++++++++++---------- src/components/Footer.tsx | 21 ++-- src/components/NavBar.tsx | 35 +++--- src/components/StoryCard.tsx | 136 ++++++++++++++++------- 10 files changed, 497 insertions(+), 181 deletions(-) diff --git a/src/app/create/page.tsx b/src/app/create/page.tsx index 144af1ed..e1a4536b 100644 --- a/src/app/create/page.tsx +++ b/src/app/create/page.tsx @@ -57,10 +57,15 @@ export default function CreateStorylinePage() { if (!isConnected) { return (
-

- Connect your wallet to create a storyline. -

- +
+

Begin your story

+

+ Connect your wallet to create a storyline. +

+
+ +
+
); } @@ -86,22 +91,29 @@ export default function CreateStorylinePage() { return (
-

Storyline created!

-
- {newStorylineId != null && ( +
+

+ Storyline created! +

+

+ Your story is now live on-chain. +

+
+ {newStorylineId != null && ( + + View your story + + )} - View your story + Go home - )} - - Go home - +
); @@ -110,10 +122,16 @@ export default function CreateStorylinePage() { const busy = state !== "idle" && state !== "error"; return ( -
-

- Create Storyline -

+
+ {/* Manuscript header */} +
+

+ New Storyline +

+

+ Open a fresh manuscript. Your words become tokens. +

+
{ @@ -133,25 +151,25 @@ export default function CreateStorylinePage() { metadata: { genre, language }, }); }} - className="mt-8 space-y-6" + className="space-y-6" > - {/* Title */} + {/* Title — large, prominent */}
- + setTitle(e.target.value)} disabled={busy} - placeholder="Enter storyline title" - className="border-border bg-surface text-foreground placeholder:text-muted w-full rounded border px-3 py-2 text-sm focus:border-accent focus:outline-none disabled:opacity-50" + placeholder="The title of your story..." + className="w-full rounded border border-border bg-surface px-4 py-3 text-lg font-bold text-foreground placeholder:font-normal placeholder:text-muted/50 focus:border-accent-dim focus:outline-none disabled:opacity-50" />
{/* Genre + Language */}
- +
- +
- {/* Content */} + {/* Content — manuscript style */}
-