feat(web+infra): polished front page, app at /, tracker at /status
- apps/web: redesigned landing (Hero/Scanner/HowItWorks/Features/Footer), honest live-vs-coming-soon badges, same-origin /api/scan, ember theme. - ecosystem.config.cjs: runnable — pyre-api/worker via `node --import tsx`, pyre-web via `next start`, fork mode, env wired. pm2 web+api verified online (api /health 200, scan 200, web 200). - infra/nginx/feedthepyre.com.conf: app at / (proxy :3000), API at /api (proxy :4000, prefix preserved), dev tracker at /status (static). - scripts/deploy-web.sh: sudo cutover (install vhost, nginx -t, reload, certbot --nginx --keep-until-expiring). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
38
apps/web/src/components/Hero.tsx
Normal file
38
apps/web/src/components/Hero.tsx
Normal file
@@ -0,0 +1,38 @@
|
||||
"use client";
|
||||
|
||||
import { WalletMultiButton } from "@solana/wallet-adapter-react-ui";
|
||||
|
||||
/**
|
||||
* Landing hero: wordmark, tagline, value prop, trust line, and the primary
|
||||
* wallet call-to-action. Wording rules apply — this is a scan/preview only.
|
||||
*/
|
||||
export function Hero({ connected }: { connected: boolean }) {
|
||||
return (
|
||||
<header className="hero">
|
||||
<div className="hero__glow" aria-hidden="true" />
|
||||
<p className="hero__eyebrow">Solana wallet cleanup ritual</p>
|
||||
<h1 className="hero__title">PYRE</h1>
|
||||
<p className="hero__tagline">
|
||||
Burn the dead. Feed the PYRE. Claim the Spawn.
|
||||
</p>
|
||||
<p className="hero__value">
|
||||
Clean dead Solana token accounts and reclaim the SOL rent trapped in
|
||||
them.
|
||||
</p>
|
||||
<p className="hero__trust">
|
||||
PYRE returns your rent. The scraps feed the fire.
|
||||
</p>
|
||||
|
||||
<div className="hero__cta">
|
||||
<WalletMultiButton />
|
||||
<a className="hero__secondary" href="#scanner">
|
||||
{connected ? "Go to scanner" : "See how it works"}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p className="hero__note">
|
||||
Read-only scan. Nothing is signed — you stay in control of your wallet.
|
||||
</p>
|
||||
</header>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user