Skip to content

feat(mobile): standardize the mobile experience — consistent footer, dark-mode fix, slimmer chrome#83

Merged
mvalancy merged 1 commit into
developfrom
feat/mobile-standardize-shell
Jun 16, 2026
Merged

feat(mobile): standardize the mobile experience — consistent footer, dark-mode fix, slimmer chrome#83
mvalancy merged 1 commit into
developfrom
feat/mobile-standardize-shell

Conversation

@mvalancy

Copy link
Copy Markdown
Member

Standardizes the mobile UI into one consistent experience (per feedback: consistent footer everywhere, smaller headers, skinnier list items, refined filters) — plus a real readability bug.

Consistent footer on every page

  • Bottom nav (List · Graph · More) moved from the Workspace into the Layout shell (MobileBottomNav + a new ViewModeContext). List/Graph jump to the workspace in that view from any page; More opens a sheet with the other views and the other pages. Desktop tab strip stays desktop-only.

Dark-mode fix — "black text on dark background"

  • darkMode was unset (defaults to 'media'), so on a light-OS device the app's dark: text variants never applied → text-gray-900 rendered black on the always-dark surfaces. Fixed globally: darkMode: 'class' + <html class="dark">. Verified: card title is now rgb(255,255,255) in light-scheme (was near-black). Fixes CardView, modals, Kanban, mobile Table cards, etc. at once.

Slimmer, standardized

  • Page headers slimmed on mobile (px-3 py-3 sm:px-6 sm:py-4) across all secondary pages + sub-pages.
  • Skinnier list items: CardView tighter padding/margins, smaller title, 2-line clamped description, shorter priority bar.
  • Refined filters: 4 dropdowns → 2-up grid on phones (were clipped), compact text/width.
  • Fixed the flex min-h-0 chain so the scroll area is bounded and the footer is never hidden behind content.

Verification

mobile-experience + mobile-views 10/10 (navigate via the shared footer); smoke gate 5/5; typecheck + prod build clean.

…dark-mode fix, slimmer chrome

Make the whole app feel like one mobile product, not the desktop UI shrunk.

- Consistent footer on EVERY page: the bottom nav (List · Graph · More) moves
  from the Workspace into the Layout shell via a shared MobileBottomNav +
  ViewModeContext (viewMode lifted out of Workspace). List/Graph jump to the
  workspace in that view from any page; More opens a sheet with the other views
  AND the other pages (Ontology/Settings/Admin/System/…). The desktop tab strip
  stays desktop-only.
- Dark-mode fix (the "black text on dark background" report): tailwind darkMode
  was unset (→ 'media'), so on a light-OS device the app's `dark:` text variants
  never applied and `text-gray-900` rendered black on the always-dark surfaces.
  Force it: `darkMode: 'class'` + `<html class="dark">`. Fixes readability across
  every component that used `dark:` variants (CardView, modals, Kanban, the mobile
  Table cards, …) at once.
- Standardized, slimmer page headers on mobile (px-3 py-3 sm:px-6 sm:py-4) across
  Ontology/Settings/Admin/Backend/Analytics/Agents + sub-pages.
- Skinnier list items: CardView is more compact (tighter padding/margins, smaller
  title, 2-line clamped description, shorter priority bar).
- Refined filters: the 4 filter dropdowns become a 2-up grid on phones (were
  clipped in a single row) and are compact (text-xs, responsive width).
- Fixed the flex chain (min-h-0) so the scroll area is bounded and the footer is
  never hidden behind overflowing content.

mobile-experience + mobile-views 10/10 (navigate via the shared footer); smoke
gate 5/5; web typecheck + prod build clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 18.x & 20.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy mvalancy merged commit 086b686 into develop Jun 16, 2026
16 checks passed
@mvalancy mvalancy deleted the feat/mobile-standardize-shell branch June 16, 2026 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant