Originally created by: kristofferR
Redesigns the settings window from a single flat scrolling list into a tabbed GUI with the tab strip pinned to the top, modeled on IPTVChecker's settings panel: stacked icon + label tabs, each tab a grouped panel of related options.
Ref [#9]
| Tab | Icon | Settings |
|---|---|---|
| General | sliders | Theme, Compact Mode, Hide Names & Avatars, Always on Top, Hide on Close, Spell check |
| Tray & Startup | power | Show System Tray, Start to Tray, Start on System Startup, Menu Bar Only |
| Notifications | bell | Unread Badge, Badge counts |
| Advanced | wrench | Multi Instance |
dist/settings.html change — vanilla HTML/CSS/JS, no dependency and no build step, consistent with the existing window.localStorage.get_settings / set_settings / reset_settings / check_for_updates IPC calls, and the same footer (version, status, "Reset to defaults", "Check for updates"). All 13 controls (Theme + Badge-counts dropdowns + 11 toggles) are preserved — nothing dropped.main — picks up settings merged since this PR openedRebased onto current main (resolves the prior conflict) and surfaces the two settings that landed after this branch was cut, so the tabbed UI is no longer stale:
hide_names_avatars, merged [#22]) → General tab.badge_mode: unread messages vs conversations, merged [#11]) → Notifications tab, as a dropdown under Unread Badge that disables when the badge is off.Both reuse a small shared selectRow() helper (Theme + Badge counts), and a CUSTOM_ROWS registry routes the two <select> pseudo-fields; everything else stays a checkbox.
node --check on the inline script — passesSaved.) and re-renders; "Reset to defaults" worksbun run tauri dev → open Settingsmute_notifications, hide_notification_preview) are intentionally not included here — their backend isn't on main yet. They'll be reconciled into the Notifications tab whenever [#21] lands (the tab has headroom for them).
Originally posted by: chatgpt-codex-connector[bot]
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.
Originally posted by: coderabbitai[bot]
No actionable comments were generated in the recent review. 🎉
ℹ️ Recent review info
⚙️ Run configuration
**Configuration used**: Path: .coderabbit.yaml **Review profile**: ASSERTIVE **Plan**: Pro **Run ID**: `ad2c7780-a0b1-4826-9f80-1679db083729`📥 Commits
Reviewing files that changed from the base of the PR and between [8f3190] and f2e402e63ad35a23c0b9ce29b3398c4ec18484df.📒 Files selected for processing (1)
* `dist/settings.html`📝 Walkthrough
## Walkthrough `dist/settings.html` is refactored from a single vertical form into a tabbed settings UI with four tabs. The page gains tab strip styling and structure, and the JavaScript now groups fields by tab, persists the active tab, and renders tab-specific rows. ## Changes **Tabbed Settings UI** | Layer / File(s) | Summary | |---|---| | **Tab strip CSS and HTML structure**`dist/settings.html` | Adds `.tabs` and `.tab` styling with active, hover, and dark-mode states, and replaces the header with `nav#tabs` plus `main#rows`. | | **Data model, tabs, and render logic**
`dist/settings.html` | Builds `FIELD_META`, `ICONS`, and `TABS`, loads `activeTab` from `localStorage`, and replaces the always-rendered form with tab selection, keyboard navigation, and tab-specific row rendering. | ## Estimated code review effort 🎯 2 (Simple) | ⏱️ ~10 minutes ## Possibly related issues - [kristofferR/Carrier#9](https://github.com/kristofferR/Carrier/issues/9): The PR implements the tabbed settings redesign with grouped sections and icon-labeled tabs described in the issue. ## Poem > 🐇 Hop, hop—four tabs in a row, > Settings now have a tidy glow. > Icons wink and badges stay, > The bunny found a neater way.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
| Check name | Status | Explanation | | :------------------------: | :------- | :------------------------------------------------------------------------------------------------------------ | | Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. | | Title check | ✅ Passed | The title clearly summarizes the main change: converting settings to a tabbed interface with tabs at the top. | | Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. | | Linked Issues check | ✅ Passed | Check skipped because no linked issues were found for this pull request. | | Out of Scope Changes check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |✨ Finishing Touches
🧪 Generate unit tests (beta)
- [ ] Create PR with unit tests - [ ] Commit unit tests in branch `feature/tabbed-settings`Comment
@coderabbitai helpto get the list of available commands.Originally posted by: kristofferR
@coderabbitai review
Originally posted by: coderabbitai[bot]
✅ Action performed
Review finished. > Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.Originally posted by: kristofferR
@coderabbitai review
Originally posted by: coderabbitai[bot]
✅ Action performed
Review finished. > Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.Originally posted by: kristofferR
@coderabbitai review
Originally posted by: coderabbitai[bot]
✅ Action performed
Review finished. > Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.Originally posted by: kristofferR
@coderabbitai review
Originally posted by: kristofferR
@coderabbitai review
Originally posted by: coderabbitai[bot]
✅ Action performed
Review finished. > Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.Originally posted by: kristofferR
@coderabbitai review
Originally posted by: coderabbitai[bot]
✅ Action performed
Review finished. > Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.Ticket changed by: kristofferR