Skip to content

Conversation

anonfaded
Copy link
Contributor

Description

  • Implement theme preference management using SettingsManager with SharedPreferences
  • Add settings dialog UI with theme selection options
  • Update theme handling to respect user preference
image image

Closes: #118

Checklist

…ions

Implement theme preference management using SettingsManager with SharedPreferences
Add settings dialog UI with theme selection options
Update theme handling to respect user preference
@callebtc callebtc added the UI/UX Improving interactions label Jul 19, 2025
Copy link

@pedrobrantes pedrobrantes left a comment

Choose a reason for hiding this comment

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

Please add support for Material You dynamic colors.
Consider the following actions:

  • Add a "Dynamic" option to the theme settings so users can explicitly choose dynamic colors.
  • Update the Theme logic (in Theme.kt) to apply dynamicLightColorScheme and dynamicDarkColorScheme when the "Dynamic" option is selected and the device supports it.
  • Ensure the SettingsManager and SettingsDialog handle the new option.

This will provide users with a more modern and customizable experience on supported devices.

- Add DYNAMIC theme preference for Material You colors (Android 12+)
- Replace hardcoded colors with theme colorScheme references
- Update components to use theme colors consistently
- Improve accessibility with proper content descriptions
- Refactor SettingsManager to support new theme options
@anonfaded anonfaded force-pushed the feat/theme-selection-settings branch from 9d724c2 to 607a51c Compare July 20, 2025 00:32
Update loading indicators in onboarding screens to use MaterialTheme.colorScheme.primary instead of direct colorScheme reference for better consistency with Material Design theming
@anonfaded anonfaded requested a review from pedrobrantes July 20, 2025 01:34
@anonfaded
Copy link
Contributor Author

Please add support for Material You dynamic colors.

Screenshot 2025-07-20 050713

Everything done @callebtc @pedrobrantes

Copy link

@pedrobrantes pedrobrantes left a comment

Choose a reason for hiding this comment

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

Excellent work @anonfaded on this PR! This is a comprehensive and well-executed update. 🎉

The refactoring of hardcoded colors to use MaterialTheme.colorScheme throughout the onboarding and UI components is a fantastic improvement for theme consistency and maintainability.

Fixing the ViewModel to use getApplication<Application>().applicationContext is a critical change that correctly aligns with MVVM principles and enhances the app's stability by preventing potential memory leaks.

Finally, the implementation of the Dynamic Theme option for Android 12+ is perfectly executed, from the UI in the settings dialog to the logic in Theme.kt. This is a great feature that significantly improves the user experience on modern devices and effectively resolves issue #160.

Dynamic Color - Dark Theme Dynamic Color - Light Theme
Dark Theme Light Theme

This is a solid contribution that greatly improves the codebase. Approved and ready to merge! 👍

@anonfaded
Copy link
Contributor Author

@callebtc
I will resolve these issues soon and as discussed on twitter/X, i will replace that settings dialog to be in full screen and beside that app name in header i'll add a hamburger icon for opening it

Resolved conflicts by:
- Keeping main branch's improved input UX (placeholder text, command quick access)
- Integrating theme system with proper tertiary colors for favorites
- Using colorScheme.tertiary for favorite stars instead of hardcoded colors
- Maintaining settings dialog and theme management functionality
- Replace settings dialog with full-screen interface
- Move settings icon to left of app name with Tune icon
- Fix purple theme colors to use consistent green palette
- Add /settings slash command for quick access
- Enhanced animations and visual feedback in settings screen
@anonfaded
Copy link
Contributor Author

anonfaded commented Aug 8, 2025

Hi @pedrobrantes @callebtc,
I’ve refactored the settings, and it’s ready to merge. See the screenshots below.
If you’d like to change the settings icon, you can pick any from Google Fonts Icons and let me know, I’ll replace it. Otherwise, the PR is good to go.

Also i noticed that the background color that we had for the slash command in input field isn't there anymore, should i add that back?

Feature Preview
New slash command to open settings screen
New settings screen
New icon for settings and placed left to the app's name

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UI/UX Improving interactions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Added settings feature
3 participants