Skip to content

Add Left/Right Sidebar Positioning, Floating URL Bar, and Toolbar Enhancements - #133

Merged
kenenisa merged 31 commits into
mainfrom
feat/toggle-sidebar
Oct 13, 2025
Merged

kenenisa merged 31 commits into
mainfrom
feat/toggle-sidebar

Conversation

@yonaries

@yonaries yonaries commented Sep 30, 2025 •

Copy link
Copy Markdown
Contributor

Major Features

  • Left and Right Sidebar Positioning: Added support for positioning the sidebar on the left or right side, with toggle functionality and persistent state.
  • Floating URL Bar: Implemented a floating URL bar that appears on hover over the top edge of the window, improving UX when the main URL bar is hidden.

Enhancements

  • Introduced SidebarManager to handle sidebar state and operations.
  • Added ToolbarManager and sidebar toolbar for enhanced control and UI.
  • Improved AppearanceManager using AppStorage for persistent settings.
  • Refactored global MouseTrackingArea to support all found the sides.
  • Enhanced Ora commands, button labels, and UI interactions.

Refactoring

  • Split BrowserView into multiple components for better modularity.

Fixes

  • Resolved various issues with sidebar toggle, window controls, fullscreen behavior, toolbar persistence, URL bar trigger area, and UI interactions.

@yonaries yonaries self-assigned this Sep 30, 2025
@kenenisa

kenenisa commented Oct 1, 2025

Copy link
Copy Markdown
Contributor

Traffic lights need work
image

@kenenisa

kenenisa commented Oct 1, 2025

Copy link
Copy Markdown
Contributor

Also when the right sidebar is floating the traffic lights show up to the top left corner. impossible to click them

@yonaries yonaries changed the title Left and Right Sidebar Add Left/Right Sidebar Positioning, Floating URL Bar, and Toolbar Enhancements Oct 13, 2025
@yonaries
yonaries requested a review from kenenisa October 13, 2025 01:00
@yonaries
yonaries marked this pull request as ready for review October 13, 2025 01:05
Copilot AI review requested due to automatic review settings October 13, 2025 01:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@kenenisa kenenisa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kenenisa
kenenisa merged commit 4c3634d into main Oct 13, 2025
2 checks passed
kenenisa pushed a commit that referenced this pull request Oct 14, 2025
…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
@yonaries
yonaries deleted the feat/toggle-sidebar branch October 29, 2025 17:05
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.

3 participants