Encht storybook

Every screen rendered from the real source. Rules and tokens: STORYBOOK.md. Rebuild with python3 docs/storybook/build.py. Widget previews use stub Telegram theme colors.

Chat widget: app

Welcome (onboarding 1 of 3)app-welcome
Bet size (onboarding 2 of 3)app-size
How to start (onboarding 3 of 3)app-go
Home, Real, no account yetapp-home-real-new
Home, Real, account ready, no moneyapp-home-real-ready
Home, Real, fundedapp-home-real-funded
Home, Demo, auto copy on, streakapp-home-demo-on
Home, Demo, paused, down todayapp-home-demo-paused
Home with status line (after a tap that needs a chat reply)app-home-msg
Bets list (open, pending, won)app-bets
Bets, emptyapp-bets-empty
Results, 7 daysapp-results
Results, emptyapp-results-empty
Settings, account not createdapp-settings-new
Settings, account ready, custom daily stopapp-settings-ready

Chat widget: bet

New bet, Demo, waitingbet-open-demo
New bet, Real, waitingbet-open-real
Real, winnings pendingbet-claimable
Won (one time confetti)bet-won
Lostbet-lost

Mini App: account (Privy)

check / waitmini-check
ready (create account)mini-ready
signinmini-signin
busymini-busy
sign, account setupmini-sign-account
sign, cash outmini-sign-cash
donemini-done
blocked (region)mini-blocked
errormini-err
opened outside Telegrammini-notg

Mini App: notifications

Notifications, loadednotif-default
Notifications, opened outside Telegramnotif-outside

Chat surfaces

Chat menu button (set on the bot, opens the Mini App)chat-menu · Set with setChatMenuButton type web_app, text Open Encht.
Account invitechat-acct-invite
Cash out sign promptchat-cashout

Chat surfaces: target

TARGET /start card: one line, one Open Encht buttonchat-start-target · Target from the product rules. Not built yet. Copy reuses PROFILE_SHORT from texts.py.

Chat surfaces: fallback (do not grow)

Plain fallback home, Real (only when Telegram refuses the widget)chat-home-fallback-real · bot.home_rows and texts.home_real. This is what users see when sendWidget fails.
Plain fallback home, Demochat-home-fallback-demo
Plain fallback welcomechat-welcome-fallback

Alerts

Alert: trade result, wonalert-won
Alert: trade result, lostalert-lost
Alert: new trade skippedalert-skipped
Alert: daily stopalert-limit
Alert: Real order not filledalert-unfilled
Alert: summary after quiet hoursalert-held