feat: create manual theme switch button #17
Merged
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.
About the Pull Request
This pull request introduces the implementation of a user interface button, enabling manual toggling between light and dark modes on the page. The primary aim is to enhance user experience and streamline the development process by allowing users to customize their viewing experience and providing developers with an efficient means of UI testing.
Details
Objective
The main objective of this pull request is to successfully implement the user interface button for manual theme switching, aligning with the ticket's requirements.
Changes Made
Next Themes Packages Installation:
ThemeProvider Integration:
Mode Toggle Button Creation:
Dependencies
Impact
The introduction of the manual theme switch button significantly enhances user experience, providing users with customization options. Simultaneously, developers benefit from improved UI testing capabilities and streamlined theme validation.
Screenshots
Video Demonstration
![darkLigthModeButton](https://private-user-images.githubusercontent.com/110640534/281599744-40112b60-335b-4e0f-b1e0-febb029a7dfc.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwMDUyNjEsIm5iZiI6MTcyMDAwNDk2MSwicGF0aCI6Ii8xMTA2NDA1MzQvMjgxNTk5NzQ0LTQwMTEyYjYwLTMzNWItNGUwZi1iMWUwLWZlYmIwMjlhN2RmYy5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzAzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwM1QxMTA5MjFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00YjhhMGMwZjY4YjNlZjBlMDczMjkyY2Y1MzEzMTAwYjdlODc2MWY0OGNlM2MzMDVhN2U0NzMwYmUwNmIxZjU4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.LQzTzDz_aFDn7MlwYBZ8_8lQHORMAUKexGDtqmZqwK4)
Note: The ThemeProvider was not placed in the Providers.tsx component as it wraps the app from the HTML, and the ThemeProvider only needs to wrap the body's children for proper functionality.