From e2d6c92e3af617866e6300244c4c7676fce1029b Mon Sep 17 00:00:00 2001 From: Jakob Wennberg <149234542+jakobwennberg@users.noreply.github.com> Date: Mon, 20 Jul 2026 15:57:46 +0200 Subject: [PATCH] feat(onboarding): illustrated halftone backdrop from marketing-site art (#1080) * feat(onboarding): illustrated halftone backdrop from marketing-site art Ports the gnubok-website halftone illustration set into the onboarding flow so signup -> app feels like one product: - OnboardingBackdrop: petal field across the paper background (radially masked to stay calm behind the form), Stockholm skyline dissolving into the bottom edge, two clouds drifting at reading pace that bounce off the viewport and the onboarding panel (IllustrationFloaters, physics ported from the website's BouncingFloaters). - Per-step instrument ghosted in white ink on the dark card header: pencil -> notebook -> adding machine -> calculator, one per step. - Dark mode via invert/hue-rotate filters; prefers-reduced-motion parks the floaters; all art is aria-hidden and pointer-events-none. Applies to /onboarding, /onboarding/agent and /select-company via the shared (onboarding) layout. No new strings, no API changes. Co-Authored-By: Claude Fable 5 * refactor(onboarding): strip backdrop to skyline + step art per founder review Founder kept the Stadshuset skyline and the per-step header instruments; the petal field and drifting clouds are cut. Removes the now-unused floater physics component and the petals/cloud assets. Co-Authored-By: Claude Fable 5 --------- Co-authored-by: Claude Fable 5 --- DECISIONS.md | 1 + app/(onboarding)/layout.tsx | 5 ++- components/dashboard/WelcomeOnboarding.tsx | 39 ++++++++++++++++++ components/onboarding/OnboardingBackdrop.tsx | 35 ++++++++++++++++ .../onboarding/onboarding-illustrations.ts | 17 ++++++++ public/illustrations/about-stockholm.webp | Bin 0 -> 16078 bytes public/illustrations/calculator.webp | Bin 0 -> 1970 bytes public/illustrations/key-adding-machine.webp | Bin 0 -> 35264 bytes public/illustrations/notebook.webp | Bin 0 -> 1532 bytes public/illustrations/pencil.webp | Bin 0 -> 1140 bytes 10 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 components/onboarding/OnboardingBackdrop.tsx create mode 100644 components/onboarding/onboarding-illustrations.ts create mode 100644 public/illustrations/about-stockholm.webp create mode 100644 public/illustrations/calculator.webp create mode 100644 public/illustrations/key-adding-machine.webp create mode 100644 public/illustrations/notebook.webp create mode 100644 public/illustrations/pencil.webp diff --git a/DECISIONS.md b/DECISIONS.md index 7356f53c..591b1311 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -236,3 +236,4 @@ One line per decision: `[YYYY-MM-DD] : `. Appended by agents and [2026-07-20] MCP gnubok_book_salary_run walks the whole review->approved->paid->booked chain in ONE staged op instead of mirroring the dashboard's four separate clicks: the human approval of the pending operation (high-risk, confirmed=true) IS the authorization act, and a four-op chain over MCP would just be approval theater. Missing bank details downgrade from overridable block to warnings (dashboard force-approve semantics): the payment-file generators hard-block on them where it matters. [2026-07-20] No gnubok_archive_employee tool: gnubok_update_employee already takes is_active=false (soft-archive, BFL retention) and the v1 REST surface has the DELETE verb; a dedicated tool would only bloat the tools/list budget. [2026-07-20] Booking core extracted to lib/salary/book-run.ts and shared by the dashboard route + book_salary_run executor; the v1 book route intentionally keeps its own strict-mode mirror (optimistic locking, period pre-check, its own envelope) rather than being folded in. +[2026-07-20] Onboarding backdrop reuses marketing-site halftone webp assets copied into public/illustrations/ (not hotlinked, not regenerated): keeps app self-contained and signup->app visually continuous; decorative art uses plain (physics sizes by %, next/image adds nothing for 1-35KB webp). diff --git a/app/(onboarding)/layout.tsx b/app/(onboarding)/layout.tsx index a527be76..cea9313a 100644 --- a/app/(onboarding)/layout.tsx +++ b/app/(onboarding)/layout.tsx @@ -1,6 +1,7 @@ import Link from 'next/link' import { Settings } from 'lucide-react' import { createClient, createServiceClient } from '@/lib/supabase/server' +import OnboardingBackdrop from '@/components/onboarding/OnboardingBackdrop' export default async function OnboardingLayout({ children, @@ -34,7 +35,9 @@ export default async function OnboardingLayout({ return (
-
+ + +
{children}
diff --git a/components/dashboard/WelcomeOnboarding.tsx b/components/dashboard/WelcomeOnboarding.tsx index 52ecb442..7cc7d688 100644 --- a/components/dashboard/WelcomeOnboarding.tsx +++ b/components/dashboard/WelcomeOnboarding.tsx @@ -19,6 +19,22 @@ import Step1EntityType from '@/components/onboarding/Step1EntityType' import Step2CompanyDetails from '@/components/onboarding/Step2CompanyDetails' import Step3TaxRegistration from '@/components/onboarding/Step3TaxRegistration' import Step4VatAccounting from '@/components/onboarding/Step4VatAccounting' +import { + ILLUSTRATIONS, + illustrationSrc, + type IllustrationName, +} from '@/components/onboarding/onboarding-illustrations' + +// One halftone instrument per step, ghosted in white ink on the dark card +// header. The tools get more computational as the steps get more fiscal: +// pencil (choose form) -> notebook (company details) -> adding machine +// (tax registration) -> calculator (VAT & method). +const STEP_ART: { name: IllustrationName; className: string }[] = [ + { name: 'pencil', className: 'w-28 -rotate-12 right-5 -bottom-6' }, + { name: 'notebook', className: 'w-28 rotate-3 right-4 -bottom-3' }, + { name: 'key-adding-machine', className: 'w-32 -rotate-3 right-2 -bottom-10' }, + { name: 'calculator', className: 'w-28 rotate-3 right-4 -bottom-8' }, +] type TFn = (key: string, values?: Record) => string @@ -289,6 +305,29 @@ export default function WelcomeOnboarding({ background: 'radial-gradient(ellipse at 30% -20%, rgba(255,255,255,0.04) 0%, transparent 50%)', }} /> + {/* Step instrument, ghosted in white ink. Keyed by step so it + crossfades together with the form below. */} + {(() => { + const art = STEP_ART[currentStep - 1] + const dims = ILLUSTRATIONS[art.name] + return ( +
+ {/* eslint-disable-next-line @next/next/no-img-element */} + +
+ ) + })()}
diff --git a/components/onboarding/OnboardingBackdrop.tsx b/components/onboarding/OnboardingBackdrop.tsx new file mode 100644 index 00000000..4c0c46db --- /dev/null +++ b/components/onboarding/OnboardingBackdrop.tsx @@ -0,0 +1,35 @@ +import { ILLUSTRATIONS, illustrationSrc } from './onboarding-illustrations' + +// Ambient scene behind the onboarding flow, built from the marketing site's +// halftone illustration set so signup -> app feels like one product: the +// Stockholm skyline dissolving into the bottom edge. Purely decorative +// (aria-hidden, pointer-events-none); the content column sits above it on +// z-10. +export default function OnboardingBackdrop() { + const skyline = ILLUSTRATIONS['about-stockholm'] + + return ( +
+ {/* Stadshuset skyline anchored to the bottom: translated down so its + water reflection falls below the fold and only the silhouette hugs + the edge, masked so it dissolves upward into the page. min-width + keeps the towers readable on narrow viewports (crops at the sides). */} +
+ {/* eslint-disable-next-line @next/next/no-img-element */} + +
+
+ ) +} diff --git a/components/onboarding/onboarding-illustrations.ts b/components/onboarding/onboarding-illustrations.ts new file mode 100644 index 00000000..6705c0c9 --- /dev/null +++ b/components/onboarding/onboarding-illustrations.ts @@ -0,0 +1,17 @@ +// Halftone line-art illustrations shared with the marketing site +// (gnubok-website public/illustrations/). Intrinsic dimensions are declared +// up front so layers get width/height and avoid layout shift. If you +// copy more pieces from the website repo, add their manifest.json entry here. +export const ILLUSTRATIONS = { + 'about-stockholm': { w: 2648, h: 1318 }, + calculator: { w: 745, h: 525 }, + 'key-adding-machine': { w: 1650, h: 1318 }, + notebook: { w: 636, h: 525 }, + pencil: { w: 542, h: 525 }, +} as const + +export type IllustrationName = keyof typeof ILLUSTRATIONS + +export function illustrationSrc(name: IllustrationName): string { + return `/illustrations/${name}.webp` +} diff --git a/public/illustrations/about-stockholm.webp b/public/illustrations/about-stockholm.webp new file mode 100644 index 0000000000000000000000000000000000000000..ff8331234066c2e200dde8c249dd4e407cd174d8 GIT binary patch literal 16078 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 literal 0 HcmV?d00001 diff --git a/public/illustrations/calculator.webp b/public/illustrations/calculator.webp new file mode 100644 index 0000000000000000000000000000000000000000..ddce88ab3d67fdad2f80b653ecac3a77c472df27 GIT binary patch literal 1970 zcmYjSc_7s58ve~p#xcg3##k~+w(KsmP_oR}DOpdbEMw;&a~vJAZ)G2xY+Xw-$8w}5 z;SR-(8ap+WB1FenMiED{Oqe^v>74t=_s94Be(&?X&-Xm<`#D-$SkwywfQz|_y|eu( zR~P^Qhk1()2H;@8*v8(f7X$zxgf&(}4Yy(?dB}I)A6n#EVG88C$)UY2%bmgD@ID5v z+&42m=Q9Xxt|@hRDo;pUKmJF!H7j2$zuf8Zlf@WTeerki5zth+8S?^01x2`hX=**L z$~ZwgGg=kWDuhu)AvV*FMQMgUyai232N^RGWxYd0L9wc+`KNia+iEvo-EUZo*;3Ac z#;HP1^_N`_!f5bA%BwDoMi4^l6+fKJsC4r2T^k|yiS2S~xF`f1=X(kqB98yB^{iX5 z?yc&^3^F~_YSyiGAkapP4nxD!Y+lfQGO}ewAI8|ygK%h6qKEe7^T>>{kKPNAbAVdL z#d2dG42Ug2#U90)KVID?qPjzMbIho9I>;Z)jfxJWcj5yPsgt^^BrS@;oy5}y2M6@$CEVVKYZQ#V4j#&2; zk2Z=mAA}1_4JPy}d2JNtlKPmg&&6FDh4h*a5i?K+e0t^dsU3#1CF)rLd5({40A3(62J?-+l0{n1q4MGRV#^G5fq_Ouj=$v*w+Bt4og*DIUKM z(Er@ebtbq4M~Vrfc3%+AUga0b{4zs+3!l-(6-)N810=`kc{fUl1WC!?brk|9(J2gQ zs#OK=lEbIhNP=58e`@^&o;{Il8wzj_Cm8R^ouRz%m@SDS@-KVDGwMHYd!>x7)Mt6J z$SxB6tlSg4tiVI|i4UmA?U<){vkaa@&TeN7BH61uCJ!uvec=Jif(r|*or1aDgfD>= z5Zk2y)#?o>%wsSmUGp~|vj}$yd83rqYdFj*1N1w29}u(?@~e3cvbSBA^SKl)j8k1Ec>u7344KdF(I0 z)(14{;>C$UU%@YP4RXh%mv0m^l4H=Yp?O0Xz3r_j5EFke)h1z${ke(mCUMTI`t~0E?Cu!3zf7g$|O{*&+xr5!hbU;yWL0v_&9 zTr}_q2p^sxytIh#tzKscWZK+u%5nH4Io`zHIU1z$w(TlM@vr_Y9p}iRg&znl`P)Eg z#g@quJy_*N<6PHlnzyL`%eZg86;GvRmphI3G*!+arBE%6EF!yY3lSaNZ{_}0qR#L=9Az$6*lBcQ(YTg4WbI}b4(JK zyI$O-|IAS(}DifWUn_iW`?a`d)PJ#AxNAv z$fs&{h4c7LVd+0+m@o>K7DYkKx4t<`d0lBGa&_dy_1E6B3+fUdslynJk4av6p7ZB~ zWdbj<`vO&bO>&Z;*Q;eV!U@50R9KrX_~G8 literal 0 HcmV?d00001 diff --git a/public/illustrations/key-adding-machine.webp b/public/illustrations/key-adding-machine.webp new file mode 100644 index 0000000000000000000000000000000000000000..d45e7b2393d2b1fde0599960d7e526921c443498 GIT binary patch literal 35264 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