oficina / docs Public

Adopt the shared chrome in Docs

The estilo bar replaces rastrillo's topbar: 52px everywhere, with
in-bar rename, Share... as the bar action, an account menu that holds the
only Sign out, per-app Appearance, and 'All apps'. The menubar is rebuilt
on estilo: unbuilt items are hidden, checks are live, and shortcuts are
labelled for the platform. Errors render as real pages (404, 405, a
recoverer inside the session group); callouts use real tones; borderless
toolbar buttons are square. Sign-in uses the suite copy and lands on the
deep link (sealed return cookie), without looping for revoked guests.
The Share page is rebuilt on rastrillo partials with Copy link, and the
phone toolbar is one scrolling row. Also fixes a CLS of 0.137 on
document load that was already on main.
Reviewed by GPT-6-Astra via Codex (#65); fix delta checked by the
coordinating session, with a model re-check pending.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Squashed from feat/r2-shared-chrome into main.
Paul Campbell pushed by claude agent, operated by paul@keymail.dev 9f11ffc16e27c55772cef5717e1aae2b1ae606f2 parent b9c6bde
59 files changed, +2785 −1009
  • cmd/docs/main.go +6 −0
  • fixtures/browser-drive.mjs +28 −8
  • fixtures/build-bundles.mjs +3 −0
  • fixtures/editor-entry.js +10 −2
  • fixtures/jump-to.mjs +13 −0
  • fixtures/menu.mjs +68 −37
  • fixtures/menu.test.mjs +41 −12
  • fixtures/share-link.mjs +45 −0
  • fixtures/shortcuts.mjs +10 −12
  • fixtures/toolbar.mjs +8 −1
  • fixtures/toolbar.test.mjs +17 −8
  • go.mod +1 −1
  • go.sum +2 −4
  • internal/docs/app.go +66 −5
  • internal/docs/assets.go +4 −1
  • internal/docs/assets_test.go +1 −0
  • internal/docs/auth.go +87 −34
  • internal/docs/auth_navigation.go +3 −3
  • internal/docs/auth_test.go +2 −2
  • internal/docs/chrome.go +178 −0
  • internal/docs/chrome_test.go +288 −0
  • internal/docs/errors.go +216 −0
  • internal/docs/errors_test.go +426 −0
  • internal/docs/export.go +3 −3
  • internal/docs/grants_edges_test.go +5 −1
  • internal/docs/handlers.go +73 −29
  • internal/docs/home_config.go +36 −0
  • internal/docs/home_local_navigation.go +6 −1
  • internal/docs/home_render.go +22 −4
  • internal/docs/home_router_integration_test.go +13 −3
  • internal/docs/home_routes.go +10 −0
  • internal/docs/list_test.go +15 −42
  • internal/docs/menu.go +79 −76
  • internal/docs/menu_test.go +3 −19
  • internal/docs/pages_test.go +11 −13
  • internal/docs/publish.go +9 −7
  • internal/docs/render.go +142 −93
  • internal/docs/share.go +39 −11
  • internal/docs/share_nav_test.go +14 −10
  • internal/docs/share_page_test.go +52 −0
  • internal/docs/signin_loop_test.go +160 −0
  • internal/docs/signin_return.go +186 −0
  • internal/docs/static/{editor.7b3340607b1f951f.js => editor.1407830d50c4f292.js} +13 −13
  • internal/docs/static/jumpto.58ca95c441b1bd49.js +1 −0
  • internal/docs/static/jumpto.5da80b47f2ea7b28.js +0 −1
  • internal/docs/static/share.b7f152cdd9e793ac.js +1 −0
  • internal/docs/team_access.go +4 −6
  • internal/docs/team_router_test.go +1 −1
  • internal/docs/testing.go +20 −0
  • internal/docs/views/error.html +3 −0
  • internal/docs/views/head.html +0 −1
  • internal/docs/views/home_link.html +5 −2
  • internal/docs/views/layout.html +42 −0
  • internal/docs/views/list.html +5 −21
  • internal/docs/views/partials/jumpto.html +8 −1
  • internal/docs/views/public.html +6 −12
  • internal/docs/views/share.html +121 −62
  • internal/docs/views/show.html +138 −317
  • internal/docs/views/signin.html +16 −130
cmd/docs/main.go

Loading diff…

fixtures/browser-drive.mjs

Loading diff…

fixtures/build-bundles.mjs

Loading diff…

fixtures/editor-entry.js

Loading diff…

fixtures/jump-to.mjs

Loading diff…

fixtures/menu.mjs

Loading diff…

fixtures/menu.test.mjs

Loading diff…

fixtures/share-link.mjs

Loading diff…

fixtures/shortcuts.mjs

Loading diff…

fixtures/toolbar.mjs

Loading diff…

fixtures/toolbar.test.mjs

Loading diff…

go.mod

Loading diff…

go.sum

Loading diff…

internal/docs/app.go

Loading diff…

internal/docs/assets.go

Loading diff…

internal/docs/assets_test.go

Loading diff…

internal/docs/auth.go

Loading diff…

internal/docs/auth_navigation.go

Loading diff…

internal/docs/auth_test.go

Loading diff…

internal/docs/chrome.go

Loading diff…

internal/docs/chrome_test.go

Loading diff…

internal/docs/errors.go

Loading diff…

internal/docs/errors_test.go

Loading diff…

internal/docs/export.go

Loading diff…

internal/docs/grants_edges_test.go

Loading diff…

internal/docs/handlers.go

Loading diff…

internal/docs/home_config.go

Loading diff…

internal/docs/home_local_navigation.go

Loading diff…

internal/docs/home_render.go

Loading diff…

internal/docs/home_router_integration_test.go

Loading diff…

internal/docs/home_routes.go

Loading diff…

internal/docs/list_test.go

Loading diff…

internal/docs/menu.go

Loading diff…

internal/docs/menu_test.go

Loading diff…

internal/docs/pages_test.go

Loading diff…

internal/docs/publish.go

Loading diff…

internal/docs/render.go

Loading diff…

internal/docs/share.go

Loading diff…

internal/docs/share_nav_test.go

Loading diff…

internal/docs/share_page_test.go

Loading diff…

internal/docs/signin_loop_test.go

Loading diff…

internal/docs/signin_return.go

Loading diff…

internal/docs/static/{editor.7b3340607b1f951f.js => editor.1407830d50c4f292.js}

Loading diff…

internal/docs/static/jumpto.58ca95c441b1bd49.js

Loading diff…

internal/docs/static/jumpto.5da80b47f2ea7b28.js

Loading diff…

internal/docs/static/share.b7f152cdd9e793ac.js

Loading diff…

internal/docs/team_access.go

Loading diff…

internal/docs/team_router_test.go

Loading diff…

internal/docs/testing.go

Loading diff…

internal/docs/views/error.html

Loading diff…

internal/docs/views/head.html

Loading diff…

internal/docs/views/home_link.html

Loading diff…

internal/docs/views/layout.html

Loading diff…

internal/docs/views/list.html

Loading diff…

internal/docs/views/partials/jumpto.html

Loading diff…

internal/docs/views/public.html

Loading diff…

internal/docs/views/share.html

Loading diff…

internal/docs/views/show.html

Loading diff…

internal/docs/views/signin.html

Loading diff…