From 20f1d563bf3144bdcc27c796991eb86131d0c4f7 Mon Sep 17 00:00:00 2001 From: Gabito Esmiapodo <4015436+gabitoesmiapodo@users.noreply.github.com> Date: Wed, 23 Sep 2026 17:43:45 -0300 Subject: [PATCH] feat(frontend): add a welcome guide for connecting with Wallet Gateway First-time visitors see a three-step dialog that shows how to connect the demo through Wallet Gateway: pick it in the wallet picker, sign in with the `unsafe` client secret, then change the primary party. - `TopBar/ConnectGuide.tsx` renders the `?` button before the connect button and the dialog, built on `Modal` and Ark's steps. - The dialog opens once on first load. Closing it saves `vesting.connectGuideSeen` in `localStorage`; the `?` button opens it again. - The gateway link uses `WALLET_GATEWAY_UI_URL`, the origin of `VITE_WALLET_GATEWAY_URL`, so deployments link to their own gateway. - `StepBar` moves to `components/` now that `CreateGrant` and the guide both use it. - `ThemeToggle` exports `roundButtonClass` so both header buttons share one look. Closes #222 --- dapp/frontend/src/assets/gateway-login.png | Bin 0 -> 19388 bytes dapp/frontend/src/assets/gateway-parties.png | Bin 0 -> 36545 bytes dapp/frontend/src/assets/wallet-picker.png | Bin 0 -> 28984 bytes .../src/components/CreateGrant/index.tsx | 2 +- .../components/{CreateGrant => }/StepBar.tsx | 0 .../src/components/TopBar/ConnectGuide.tsx | 144 ++++++++++++++++++ .../src/components/TopBar/ThemeToggle.tsx | 5 +- dapp/frontend/src/components/TopBar/index.tsx | 2 + dapp/frontend/src/utils/config.ts | 1 + 9 files changed, 152 insertions(+), 2 deletions(-) create mode 100644 dapp/frontend/src/assets/gateway-login.png create mode 100644 dapp/frontend/src/assets/gateway-parties.png create mode 100644 dapp/frontend/src/assets/wallet-picker.png rename dapp/frontend/src/components/{CreateGrant => }/StepBar.tsx (100%) create mode 100644 dapp/frontend/src/components/TopBar/ConnectGuide.tsx diff --git a/dapp/frontend/src/assets/gateway-login.png b/dapp/frontend/src/assets/gateway-login.png new file mode 100644 index 0000000000000000000000000000000000000000..dddc05c240c2947b35a2a332704dc94218e59171 GIT binary patch literal 19388 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�)Qm9 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 O>Wi?HP?>;^&;J7d?R{tf literal 0 HcmV?d00001 diff --git a/dapp/frontend/src/assets/wallet-picker.png b/dapp/frontend/src/assets/wallet-picker.png new file mode 100644 index 0000000000000000000000000000000000000000..d3bf85091853fd94ff78c3d9d7ebdb3cc4f29486 GIT binary patch literal 28984 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 { + try { + return localStorage.getItem(SEEN_KEY) !== null + } catch { + return true + } +} + +const markGuideSeen = (): void => { + try { + localStorage.setItem(SEEN_KEY, 'true') + } catch {} +} + +const steps = [ + { + alt: 'The wallet picker with Wallet Gateway highlighted', + image: walletPicker, + name: 'Connect', + text: ( + <> + Wallet Gateway is available by default to be used as a wallet. To connect it, click + the "Connect" button in the header and select Wallet Gateway from the options. + + ), + }, + { + alt: 'The Wallet Gateway login with the client secret field highlighted', + image: gatewayLogin, + name: 'Sign in', + text: ( + <> + Enter{' '} + + unsafe + + {' '} + as the client secret + + ), + }, + { + alt: 'The Wallet Gateway parties list with Set as primary highlighted', + image: gatewayParties, + name: 'Connected', + text: ( + <> + You're connected now. You can change the primary party to try different views in the dApp. + Direct access to Wallet Gateway available{' '} + + here + + . + + ), + }, +] + +export const ConnectGuide = (): React.JSX.Element => { + const [open, setOpen] = useState(() => !hasSeenGuide()) + + const close = (): void => { + markGuideSeen() + setOpen(false) + } + + return ( + <> + + {open && ( + + + name)} /> + {steps.map(({ alt, image, name, text }, index) => ( + + {alt} +

{text}

+
+ ))} + + {(api) => ( +
+ {api.hasPrevStep && ( + + + + )} + {api.value < api.count - 1 ? ( + + + + ) : ( + + )} +
+ )} +
+
+
+ )} + + ) +} diff --git a/dapp/frontend/src/components/TopBar/ThemeToggle.tsx b/dapp/frontend/src/components/TopBar/ThemeToggle.tsx index 25146739..d2fd4b54 100644 --- a/dapp/frontend/src/components/TopBar/ThemeToggle.tsx +++ b/dapp/frontend/src/components/TopBar/ThemeToggle.tsx @@ -1,6 +1,9 @@ import { useTheme } from '@bootnodedev/canton-dappbooster' import { Moon, Sun } from 'lucide-react' +export const roundButtonClass = + 'inline-grid size-9 place-items-center rounded-full border border-border bg-surface text-fg-muted transition-colors hover:border-primary hover:text-primary-strong' + export const ThemeToggle = (): React.JSX.Element => { const { resolved, toggle } = useTheme() const next = resolved === 'dark' ? 'light' : 'dark' @@ -10,7 +13,7 @@ export const ThemeToggle = (): React.JSX.Element => { onClick={toggle} aria-label={`Switch to ${next} theme`} title={`Switch to ${next} theme`} - className="inline-grid size-9 place-items-center rounded-full border border-border bg-surface text-fg-muted transition-colors hover:border-primary hover:text-primary-strong" + className={roundButtonClass} > {resolved === 'dark' ? : } diff --git a/dapp/frontend/src/components/TopBar/index.tsx b/dapp/frontend/src/components/TopBar/index.tsx index 9967bfde..0a8df049 100644 --- a/dapp/frontend/src/components/TopBar/index.tsx +++ b/dapp/frontend/src/components/TopBar/index.tsx @@ -3,6 +3,7 @@ import { NavLink, type NavLinkRenderProps } from 'react-router-dom' import { ConnectFace } from '@/components/ConnectFace' import { Spinner } from '@/components/Spinner' import { AccountMenu } from '@/components/TopBar/AccountMenu' +import { ConnectGuide } from '@/components/TopBar/ConnectGuide' import { Logo } from '@/components/TopBar/Logo' import { ThemeToggle } from '@/components/TopBar/ThemeToggle' import { useBackend } from '@/providers/Backend' @@ -29,6 +30,7 @@ export const TopBar = (): React.JSX.Element => {
+ {sessionPending ? (