Repository navigation
Add Left/Right Sidebar Positioning, Floating URL Bar, and Toolbar Enhancements - #133
Conversation
|
Also when the right sidebar is floating the traffic lights show up to the top left corner. impossible to click them |
There was a problem hiding this comment.
Pull Request Overview
This PR implements major UI enhancements to the Ora browser including left/right sidebar positioning, a floating URL bar, and improved toolbar management. The changes refactor the architecture to use dedicated managers for sidebar and toolbar state management, introduce new UI components for floating elements, and enhance the overall modularity of the browser interface.
- Added SidebarManager and ToolbarManager for centralized state management with persistent AppStorage
- Implemented floating URL bar and sidebar overlay components with mouse tracking capabilities
- Refactored BrowserView into multiple specialized components for better separation of concerns
Reviewed Changes
Copilot reviewed 49 out of 56 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| ora/oraApp.swift | Removed AppState toolbar/URL properties, moved to dedicated managers |
| ora/Services/SidebarManager.swift | New manager for sidebar positioning, visibility, and state persistence |
| ora/Services/ToolbarManager.swift | New manager for toolbar visibility and URL display settings |
| ora/Services/AppearanceManager.swift | Updated to use AppStorage instead of manual UserDefaults |
| ora/Modules/Browser/BrowserView.swift | Major refactor splitting into components and adding floating overlays |
| ora/Modules/Browser/BrowserSplitView.swift | New component handling split view logic with sidebar positioning |
| ora/Modules/URLBar/FloatingURLBar.swift | New floating URL bar component with hover detection |
| ora/Modules/Sidebar/SidebarToolbar.swift | New sidebar toolbar with navigation controls |
| ora/Common/Representables/GlobalMouseTrackingArea.swift | Enhanced mouse tracking for multiple edges |
| ora/OraCommands.swift | Updated menu commands with improved organization and new options |
Comments suppressed due to low confidence (3)
ora/Modules/Importer/ImportDataButton.swift:1
- Fixed typo: 'historyManger' should be 'historyManager'
import SwiftUI
ora/Modules/Settings/Sections/SpacesSettingsView.swift:1
- Fixed typo: 'historyManger' should be 'historyManager'
import SwiftData
ora/Modules/Sidebar/SidebarView.swift:1
- Fixed typo: 'historyManger' should be 'historyManager'
import AppKit
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
…ancements (#133) * feat: left and right sidebar positioning * fix: sidebar position swapping * fix: drag splitter to hide sidebar * fix: webpage issue in sidebar toggle * fix: ignore safe area in NSPageView * refactor: browser view to multiple file * feat: floating sidebar on right * fix: proper fraction inverstion * refactor: global mouse tracking area * refactor: clear state naming and radius for macos 26 * fix: bind error * fix: typo * fix: logger address * fix: double click to max window to sidebar * feat: custom window control added * fix: reduce window control button size * fix: conditional window control button size * feat: floating URLbar and move sidebarPosition to AppState * refactor: created sidebar manager and apply changes * fix: fullscreen window control button * improve: added a sidebar manager with persistant state * fix: update button label for sidebar position toggle * fix: improve trigger are for urlbar * refactor: added a sidebar toolbar * refactor: added a toolbar manager * fix: persistant toolbar state * update toolbar command buttons label * improve: ora commands * improve: appearance manager using appstorage now

Major Features
Enhancements
SidebarManagerto handle sidebar state and operations.ToolbarManagerand sidebar toolbar for enhanced control and UI.AppearanceManagerusing AppStorage for persistent settings.MouseTrackingAreato support all found the sides.Refactoring
BrowserViewinto multiple components for better modularity.Fixes