Repository navigation
fix(otterware): module settings use one frame, Mail/Calendar/Drive pages match Otter Mail - #97
Merged
Merged
Conversation
…ges match Otter Mail Module settings pages were wrapped twice (a titled card from the host, then the module's own section), sidebars repeated the module name (Mail › Reading under the Mail header), Mail rows carried "Account" on every row, and Calendar and Drive pages mixed raw headings, checkboxes and loose rows. Standalone apps showed Code-only rows on General. - Host no longer wraps module pages (own route and merged placements); each page draws its own sections. Sidebar shows the page name; the breadcrumb keeps "Mail › …". The Code scope sentence hides on module pages unless a scope is picked. - Mail: General (Startup & Dock, Mail, Translation, System, Getting started, Support), Appearance (layout and list-style tiles, seconds slider) and Mailboxes (list and per-mailbox details). OpenRouter row dropped (Agents owns it). Dropdowns show labels, not raw values. Only non-account scopes are labelled. - Calendar: General in Week / Working hours / Events / Reminders cards with switches, day toggles and a time-zone select; Calendars with switches, colour swatches and a Sync card. - Drive: Drives and Sharing pages with an intro line and a folder picker card; merged rows get their own sections. - Standalone profiles hide Code-only General rows and their search results (projects, worktrees, diffs, pull requests, commit text, legacy). - New Otter-owned SettingsTilePicker and SettingsSlider in the host style. SettingsPanels.tsx and ProjectDefaultsSettings.tsx become upstream seams for the `hidden` attributes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Module settings looked bolted on:
<h2>s, checkboxes, unlabeled inputs and loose rows outside any card.Fix
apps/web/src/otterware/settings/:SettingsTilePicker(the look of Appearance's mode tiles) andSettingsSlider(the Motion slider). No upstream component was edited for these.Upstream seams: this PR adds
SettingsPanels.tsxandProjectDefaultsSettings.tsxtoupstream-seams.txt. Each change in them is a one-linehidden={!isProfileSettingVisible(id)}registry call, chosen so the upstream sync stays cheap: no re-indentation.settingsLayout.tsx,SettingsSidebarNav.tsxandsettingsSearch.tswere already seams; each gets one more registry call.Coordination with the shared-account PR: the account-facing behaviour stays with it — Add mailbox / Connect buttons, the empty state, the Calendar developer panel, and the Drive CLI login. That PR's edits in the files we both touch change behaviour only, so whichever lands second rebases with small conflicts.
Validation
vp run check:changed: format, lint (no errors),@t3tools/webtypecheck and 70 affected tests, all passing.node scripts/otterware/check-upstream-seams.ts: clean.mailprofile, dark mode:mail.preferences.setUifails to encode itsundefinedresponse, so Mail UI preferences don't sync.Model: Claude Opus 5.5 · Harness: Claude Code in T3 Code
🤖 Generated with Claude Code