Home

madison / open-git

public
Overview Code History Branches Pull requestsIssuesInsights Campfire Docs
main
HomeOverview Code PRsIssues

feat(web): dashboard master-detail + command menu, Heroicons & Geist

3 months ago

304b011
Authored
V.C. Billingsley6/10/2026, 5:54:47 PM
UI pass across the web app:
- Icons: migrate Tabler -> Heroicons (filled) where an equivalent exists;
  keep Tabler for git/diff/brand/formatting/loader icons with no match.
- Font: swap body from Inter to Geist Sans (keep Geist Mono); align
  community + playground apps.
- Dashboard: master-detail preview panel (floating stone-800 card),
  tab filter bar with sliding indicator replacing the funnel menu,
  sticky shrink-proof toolbar, single full-surface card, and subtle
  reduced-motion-aware transitions.
- Add app-wide Cmd+K command menu (Base UI Autocomplete).
- Account settings modal: fit-content height + instant loading state.

Note: command menu runs commands on click; Enter-to-run is still being
worked through.

Parentba1a600

107 files changed
  • apps/community/app/layout.tsx+8−3
  • apps/playground/app/components/[slug]/page.tsx+5−3
  • apps/playground/components/preview-frame.tsx+8−4
  • apps/playground/components/theme-toggle.tsx+2−2
  • apps/playground/lib/component-examples/alert.tsx+10−9
  • apps/playground/lib/component-examples/badge.tsx+9−5
  • apps/playground/lib/component-examples/button.tsx+11−10
apps/playground/lib/component-examples/input-group.tsx
+5
−5
  • apps/playground/lib/component-examples/menu.tsx+11−10
  • apps/playground/lib/component-examples/toolbar.tsx+4−8
  • apps/playground/package.json+1−0
  • apps/web/app/(home)/@detail/(.)[username]/[repository]/page.tsx+0−51
  • apps/web/app/(home)/@detail/default.tsx+0−3
  • apps/web/app/(home)/dashboard-detail.tsx+62−0
  • apps/web/app/(home)/dashboard-list.tsx+89−48
  • apps/web/app/(home)/dashboard-row.tsx+64−5
  • apps/web/app/(home)/dashboard-tabs.tsx+103−0
  • apps/web/app/(home)/dashboard-toolbar.tsx+36−64
  • apps/web/app/(home)/{@detail => }/detail-panel-chrome.tsx+7−11
  • apps/web/app/(home)/detail-panel-skeleton.tsx+30−0
  • apps/web/app/(home)/detail-panel.tsx+26−0
  • apps/web/app/(home)/helpers.ts+50−10
  • apps/web/app/(home)/layout.tsx+17−12
  • apps/web/app/(home)/load-dashboard-lists.ts+75−0
  • apps/web/app/(home)/page.tsx+35−97
  • apps/web/app/(home)/section-header.tsx+18−1
  • apps/web/app/(home)/warm-preview.ts+38−0
  • apps/web/app/[username]/[repository]/blob/[...path]/page.tsx+16−9
  • apps/web/app/[username]/[repository]/campfire/campfire-room.tsx+48−38
  • apps/web/app/[username]/[repository]/campfire/campfire-thread-ref-card.tsx+30−16
  • apps/web/app/[username]/[repository]/campfire/page.tsx+2−2
  • apps/web/app/[username]/[repository]/docs/docs-page.tsx+11−10
  • apps/web/app/[username]/[repository]/fork/fork-repository-form.tsx+87−75
  • apps/web/app/[username]/[repository]/insights/page.tsx+15−10
  • apps/web/app/[username]/[repository]/issues/[number]/issue-detail.tsx+234−0
  • apps/web/app/[username]/[repository]/issues/[number]/issue-linked-pull-requests.tsx+88−0
  • apps/web/app/[username]/[repository]/issues/[number]/page.tsx+6−215
  • apps/web/app/[username]/[repository]/issues/page.tsx+3−4
  • apps/web/app/[username]/[repository]/pulls/[number]/autopilot/autopilot-run-client.tsx+82−34
  • apps/web/app/[username]/[repository]/pulls/[number]/helpers.ts+49−0
  • apps/web/app/[username]/[repository]/pulls/[number]/page.tsx+27−787
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-conversation.tsx+57−38
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-detail.tsx+633−0
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-files-chrome.tsx+3−3
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-files-review.tsx+15−9
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-forms.tsx+60−17
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-merge-box.tsx+16−12
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-sidebar.tsx+191−0
  • apps/web/app/[username]/[repository]/pulls/[number]/pull-request-stack-panel.tsx+103−0
  • apps/web/app/[username]/[repository]/pulls/page.tsx+4−3
  • apps/web/app/[username]/[repository]/repository-home.tsx+54−18
  • apps/web/app/[username]/[repository]/repository-tabs.tsx+12−13
  • apps/web/app/[username]/[repository]/settings/_components/repository-settings-nav.tsx+10−10
  • apps/web/app/[username]/page.tsx+32−17
  • apps/web/app/[username]/settings/_components/organization-settings-nav.tsx+8−8
  • apps/web/app/ci/runs/[runId]/jobs/[jobId]/page.tsx+44−38
  • apps/web/app/home/home-readme.tsx+4−3
  • apps/web/app/layout.tsx+10−3
  • apps/web/app/onboarding/ensure-onboarded.ts+8−2
  • apps/web/app/repositories/new/create-repository-form.tsx+13−5
  • apps/web/app/settings/account/account-settings-sections/api-keys.tsx+1−8
  • apps/web/app/settings/account/account-settings-sections/display-preferences.tsx+1−4
  • apps/web/app/settings/account/account-settings-sections/notifications.tsx+1−4
  • apps/web/app/settings/account/account-settings-sections/payments.tsx+1−4
  • apps/web/app/settings/account/account-settings-sections/profile.tsx+7−7
  • apps/web/app/settings/account/account-settings-sections/sessions.tsx+1−4
  • apps/web/app/settings/account/account-settings-sections/settings.tsx+10−7
  • apps/web/app/settings/account/account-settings-sections/shared.tsx+20−26
  • apps/web/app/settings/account/account-settings-sections/teams.tsx+2−8
  • apps/web/app/settings/account/teams/new/create-organization-form.tsx+3−3
  • apps/web/components/account-settings/account-settings-modal.tsx+25−21
  • apps/web/components/account-settings/git-tokens-section.tsx+21−20
  • apps/web/components/appearance-menu-section.tsx+47−0
  • apps/web/components/command-menu.tsx+194−0
  • apps/web/components/conversation/campfire-mention-timeline-card.tsx+6−6
  • apps/web/components/conversation/conversation-chrome.tsx+2−2
  • apps/web/components/conversation/conversation-quote-reply.tsx+14−6
  • apps/web/components/conversation/pr-autopilot-timeline.tsx+17−16
  • apps/web/components/copy-to-clipboard-button.tsx+3−3
  • apps/web/components/dev-floating-panel.tsx+15−10
  • apps/web/components/layout-preference-preview.tsx+8−7
  • apps/web/components/markdown/markdown-editor.tsx+302−278
  • apps/web/components/open-git-user-button.tsx+4−0
  • apps/web/components/resource-query-filter-bar.tsx+11−9
  • apps/web/components/settings-nav.tsx+24−34
  • apps/web/components/workbench-tabs/workbench-tab-bar.tsx+21−26
  • apps/web/db/ci.ts+64−0
  • apps/web/lib/floating-card.ts+18−0
  • apps/web/lib/shared/cache.ts+23−0
  • apps/web/next-env.d.ts+1−1
  • apps/web/scripts/mark-pr-merged.ts+0−71
  • packages/ui/src/components/accordion.tsx+15−15
  • packages/ui/src/components/autocomplete.tsx+62−62
  • packages/ui/src/components/breadcrumb.tsx+21−18
  • packages/ui/src/components/calendar.tsx+31−32
  • packages/ui/src/components/combobox.tsx+86−86
  • packages/ui/src/components/command.tsx+40−40
  • packages/ui/src/components/dialog.tsx+49−49
  • packages/ui/src/components/drawer.tsx+125−125
  • packages/ui/src/components/menu.tsx+57−57
  • packages/ui/src/components/number-field.tsx+35−35
  • packages/ui/src/components/pagination.tsx+26−26
  • packages/ui/src/components/select.tsx+52−52
  • packages/ui/src/components/sheet.tsx+49−49
  • packages/ui/src/components/toast.tsx+60−61
  • packages/ui/src/styles/globals.css+24−0
  • pnpm-lock.yaml+3−0