[chrome] More tab strip types#76
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Adds multiple experimental tab strip / browser layout modes (hybrid vertical sidebar, full vertical, bottom tabs, and compact inline tabs), wiring them through persisted settings and updating the chrome UI layout (App + Omnibar + tab strip components) accordingly.
Changes:
- Introduces new layout settings (
tabLayout, sidebar side, sidebar width) and UI controls in Settings. - Adds a new
Sidebartab strip implementation for vertical/hybrid modes and an inlineTabStripmode for compact layout. - Updates global layout/CSS and adjusts several UI components (Omnibar, hovercard, favicon/checkbox/bookmarks strip behavior) to support the new layouts.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/chrome/src/Tab/Tab.tsx | Sets default favicon handling on internal vs external navigations. |
| packages/chrome/src/style.css | Adds layout-mode flex rules + hovercard transition rules + vertical omnibar height tweaks. |
| packages/chrome/src/services/SettingsService.ts | Persists new layout/sidebar settings and normalizes loaded values (partially). |
| packages/chrome/src/pages/SettingsPage.tsx | Adds “Browser Layout” and sidebar-location settings UI; adjusts bookmarks-bar control behavior. |
| packages/chrome/src/index.ts | Improves service save flushing (interval + pagehide/visibilitychange) and avoids concurrent saves. |
| packages/chrome/src/icons.ts | Adds an additional icon export used as a placeholder. |
| packages/chrome/src/components/TabStrip/TabStrip.tsx | Adds inline mode and tightens event listener lifecycle/initial sync. |
| packages/chrome/src/components/TabStrip/TabHoverCard.tsx | Adjusts hovercard positioning for vertical tab layouts. |
| packages/chrome/src/components/TabStrip/Sidebar.tsx | New vertical sidebar tab strip implementation (dragging, resizing, hovercard, extras). |
| packages/chrome/src/components/TabStrip/DragTab.tsx | Adds vertical orientation support, favicon placeholder, and vertical open animation. |
| packages/chrome/src/components/Omnibar/SiteOptionsButton.tsx | Anchors popup positioning to the clicked button rect. |
| packages/chrome/src/components/Omnibar/Omnibox.tsx | Adds vertical layout styling/behavior for omnibox. |
| packages/chrome/src/components/Omnibar/Omnibar.tsx | Adds vertical/compact omnibar layouts and reworks popup anchoring. |
| packages/chrome/src/components/Omnibar/BookmarkButton.tsx | Anchors bookmark popup positioning to the clicked button rect. |
| packages/chrome/src/components/Favicon.tsx | Adds explicit width/height attributes based on requested size. |
| packages/chrome/src/components/Checkbox.tsx | Adds disabled support + disabled styling. |
| packages/chrome/src/components/BookmarksStrip.tsx | Adds vertical orientation styling for sidebar usage. |
| packages/chrome/src/App.tsx | Drives layout mode switching (classes + conditional rendering) and integrates Sidebar/compact mode. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
https://youtu.be/8yHV8iwGfuI
todo:
pins come later when pinned tabs are properly implemented as a feature