Skip to content

Top tabs instead of the module sidebar - #328

Open
ifahimreza wants to merge 1 commit into
mainfrom
feat/top-tabs
Open

ifahimreza wants to merge 1 commit into
mainfrom
feat/top-tabs

Conversation

@ifahimreza

@ifahimreza ifahimreza commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Fahim, 2026-10-05, with screenshots of CRM and Analytics: "sidebar make site ugly ... why not we make nice". Every module page had two menus side by side (WordPress's and Saddle's 200px section sidebar), a wide gap before an 880px column, and a band of page tabs that didn't line up with the header. He chose top tabs, like Kit.

What changes

  • A module's sections are the header's tab row, with Settings last (sectionTabs()). This is the row Core pages already used. SectionNav and the .saddle-module two-column layout are gone.
  • A section's pages are links at the top of the content (PageNav, replacing the white tab band). They are real links: a middle click opens a new tab, a plain click stays in the app. The current page is the "raised" chip the sidebar item used.
  • One aligned column on every page. The header, the paused strip and the footer pad onto the page's width (--saddle-col), so the breadcrumb, the tabs, the page links, the content and the footer all start at one edge. Modules use the 960px page width (Home stays 1040).
  • Drill-ins (e.g. CRM Review): the breadcrumb is the way back, and the tab row and page links step aside.
  • Phone: both rows scroll sideways and keep the active item in view.
  • No sibling changes. Rank, Analytics and CRM register the same screens with tab and sub.

admin/DESIGN-ALIGNMENT.md: the frame, F2, F4 and the Navigation section are rewritten, with a History entry. admin/build/ is not committed.

Checked

  • Jest 337 (frame-logic cases updated: modules draw the tab row, sectionTabs replaces sidebarItems), lint:js clean, build OK. No PHP changes.
  • Live on saddle.site (localhost:8883):
    • CRM: Campaigns, Contacts (pills), Settings (pills), Review drill-in.
    • Analytics: Overview, Reports (pills).
    • Rank: six sections fit in one row.
    • Core pages: Home and AI apps.
    • At 1440px, the breadcrumb, first tab, page links, content and footer all start at x=320.
    • A pill click (no reload), the deep link &tab=settings&sub=emails, and Back and Forward.
    • 390px: the rows scroll, Rank's tabs scroll sideways.

Not here

Analytics draws a card inside a card on Visitors and Reports (its own screens). That's a follow-up in saddle-analytics.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

A module's sections are the header's tab row (Settings last), the way a
Core page's tabs already were. A section's pages are links at the top of
the content (PageNav), not a white band of tabs. There is no sidebar of
Saddle's own beside WordPress's menu any more.

Every page is one aligned column: the header's content, the paused strip
and the footer pad onto the page's width (--saddle-col), so the breadcrumb,
the tabs, the page and the footer start at the same edge. Modules use the
960px page width.

Fahim, 2026-10-05: "sidebar make site ugly ... why not we make nice".
Sibling modules need no change: they register the same screens.

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

This branch has not been deployed

No deployments
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