feat(web): Next.js 16 scaffold + landing page + wizard step 1 - #19
Open
defidough wants to merge 2 commits into
Open
feat(web): Next.js 16 scaffold + landing page + wizard step 1#19defidough wants to merge 2 commits into
defidough wants to merge 2 commits into
Conversation
First slice of the /web app. Hermes Agent reference, slate+yellow,
no DEX chrome.
Stack:
Next.js 16.2.6 (App Router, Turbopack)
React 19, TypeScript 5.9
Tailwind 4.3 (CSS-first config; no tailwind.config.ts)
wagmi 3.6.16, viem 2.51.3, @tanstack/react-query 5.100
@reown/appkit 1.8.20 + @reown/appkit-adapter-wagmi 1.8.20
Layout:
src/lib/wagmi.ts WagmiAdapter (Reown), networks: [base]
src/lib/appkit.ts createAppKit singleton, dark theme, accent
#f5c518, Inter font, Google/X/Farcaster
socials enabled, analytics off
src/lib/providers.tsx WagmiProvider + QueryClientProvider, side-
effect import of appkit so the modal is
registered before SSR
src/app/layout.tsx Inter + JetBrains Mono fonts, providers
mounted, locked metadata copy
Locked visual identity (docs/07):
- slate-grey background #1a1d22 with one raised surface tone
- warm-white type, three sizes max per screen
- single warning-yellow accent — CTAs and the wedge mark only
- no gradients, no glass, no glow, no DEX chrome
- tabular numerals on every price (data-tnum)
- single-line stroke graphics (.stroke utility)
Components:
WedgeMark — SVG logomark: a yellow triangle driven between
two horizontal rules. Stroke-only.
SiteHeader — single row, single bottom hairline
SiteFooter — Wedge tagline + Scanner status / Brand / GitHub
Pages:
/ Landing — locked copy ('Two-pool token launches on
Base'). Six sections: hero, Concept (Rail diagram),
Presets (3-card grid), Fees (honest table), Scanner
stance, CTA strip.
/launch Wizard step 1 — Connect. Renders Reown AppKit's
<appkit-button> web component, swaps to a 'connected'
card with truncated address + Continue link once a
wallet's attached.
Build fixes:
- next.config.ts aliases the bare 'accounts' import (wagmi 3's
optional connector we don't use) to an empty stub. Applies
under both Turbopack and webpack.
- removed an unused @ts-expect-error on the appkit-button web
component (Reown's types accept it).
Env:
NEXT_PUBLIC_REOWN_PROJECT_ID — required for production. Get one
at https://cloud.reown.com. Local dev runs without it but the
connect modal won't work.
Build: pnpm build, /, /launch both prerender static.
The initial Write of src/app/page.tsx returned 'File has not been read yet' and I didn't notice — so the scaffold's 'edit page.tsx' default was the version committed. Read + Write properly this time; the locked landing copy (hero, Rail diagram, presets, fee table, scanner stance, CTA) now actually lives in the route.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
First slice of the `/web` app — Next.js 16 + Tailwind 4 + wagmi 3 + viem + Reown AppKit. Hermes Agent reference, slate+yellow, no DEX chrome. Anchored to the visual + IA brief in `docs/07` (no improvisation).
Stack (all current versions verified before install):
Visual identity (locked from docs/07)
Pages
Build fixes
`next.config.ts` aliases the bare `accounts` import (wagmi 3's optional connector we don't use) to an empty stub. Applies under both Turbopack and webpack — otherwise prod build fails statically resolving a dynamic import.
Env
`NEXT_PUBLIC_REOWN_PROJECT_ID` — required for production. Get one at https://cloud.reown.com. Local dev runs without it but the connect modal won't activate. `.env.example` documents this.
Test plan
Next slices