refactor: implement encapsulation for theme logic into structured functions πͺβ¨ #708
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.
Related Issue
Close #693
Proposed Changes
Encapsulate the dark mode logic into functions: The existing code will be refactored to encapsulate the theme setting logic into functions. This will improve the readability and make the code easier to understand.
Use constants for theme values: Instead of using hard-coded theme strings, we will introduce constants for the theme values to avoid repetition and enhance code clarity.
Optimize code for setting and toggling themes: The functions will be designed to handle setting the appropriate class and updating UI elements based on the selected theme. The toggleTheme() function will be responsible for toggling between light and dark mode.
Improve theme initialization: The theme initialization process will be streamlined to handle user preferences or default to the dark theme if no preference is found.
Checklist