-
Notifications
You must be signed in to change notification settings - Fork 60
feat: implement color theme selection and notification system #21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* fix: open link suggestion for url with paths * refactor: add import data menu and update style for link preview
- Move all build artifacts, including appcast.xml and DSA keys, to a dedicated build/ directory for better organization. - Update build-release.sh and create-release.sh scripts to reference new paths for signing and exporting. - Remove deprecated appcast.xml and DSA key files from the root directory. - Enhance README and documentation to reflect changes in file structure and hosting setup.
…ppcast updates - Update .gitignore to include critical DSA key files and prevent accidental commits. - Modify build-release.sh to preserve DSA keys and appcast during clean builds. - Revise create-release.sh to ensure proper signing of the DMG and update appcast.xml with the correct signature and file size. - Improve setup scripts and documentation for Sparkle tools installation and DSA key generation. - Ensure security checks are in place to prevent committing sensitive keys.
…matic DMG upload and Xcode project regeneration
- Add auto-version increment in create-release.sh when no version specified - Fix signature validation with proper error handling and fail-fast on failures - Enhance UpdateService with comprehensive logging and timeout handling - Improve GeneralSettingsView with detailed update status and version display - Update documentation to reference correct repository URLs - Add appcast.xml backup for version tracking
…release.sh to use version from project.yml. This ensures consistent naming and improves clarity in release process.
…in project.yml.bak
* chore: readme fix * chore: buy me coffee added
* chore: add keyboard shortcut URL bar focus * feat: add escape key support to exit URL bar editing mode * Remove redundant editingURLString assignments
* add ColorTheme enum with light and dark variants * integrate color theme into Theme struct * update ThemeProvider to handle color theme changes * add color scheme selector in GeneralSettingsView * persist color theme selection in UserDefaults
* consolidate modelContext calls in OraApp * improve theme transition animation in ThemeProvider * remove redundant theme loading logic
There was a problem hiding this comment.
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 a comprehensive color theme selection system with notification-based updates, allowing users to choose from 8 different color schemes (Orange, Blue, Green, Purple, Red, Teal, Pink, Gray) that persist across app restarts.
- Adds ColorTheme enum with 8 color variants and corresponding light/dark colors
- Integrates color theme into the Theme struct and updates ThemeProvider with notification handling
- Adds a visual color scheme selector in GeneralSettingsView with animated selection
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| ora/oraApp.swift | Reorders modelContext calls before environmentObject calls |
| ora/Services/AppearanceManager.swift | Adds colorTheme property with UserDefaults persistence and notification posting |
| ora/Modules/Settings/Sections/GeneralSettingsView.swift | Implements visual color scheme selector with grid layout and gradient previews |
| ora/Common/Constants/Theme.swift | Defines ColorTheme enum, updates Theme struct, and adds notification-based ThemeProvider |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
* add ThemeConstants struct for color transition duration and user defaults key * update ThemeProvider and GeneralSettingsView to use ThemeConstants * ensure consistent theme loading and animation duration across components
kenenisa
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is really nice. It’d be nice if we can support more colors/selections maybe the way arc does it. Also it’d be nice if you can enhance the color scheme slection experience.
video here