You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, MonkeyType only supports system-based theme switching, which changes the theme based on OS preferences. Users (including me) who want themes to switch automatically at specific times (e.g., dark mode from 8 PM to 6 AM) have no way to configure this feature.
Proposed Solution
I'm working on a time-based theme switching feature that includes:
Three modes: Off, System (existing behavior), and Time-based
Auto/Manual options:
Auto: Uses calculated sunrise/sunset times
Manual: Allows custom time configuration
Realtime switching: Themes switch automatically at configured times without page reload
Flexible configuration: Users set "dark mode starts at" and "dark mode ends at" times
I have a working prototype ready to demonstrate. (Preview attached below)
Questions
Should we replace the current autoSwitchTheme setting? The new implementation consolidates both system-based and time-based switching under a unified mode selector. This would technically be a breaking change, but we can handle migration by automatically converting existing values (false → "off", true → "system"). This way, existing user preferences are preserved seamlessly. Open to suggestions if there's a better approach!
Can we install a small JS package for sunrise/sunset calculations? Currently using a simplified astronomical calculation. A dedicated package (like suncalc ~2KB) would provide more accurate times based on the user's geolocation. Would this be acceptable for the project?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Time-Based Theme Switching
Problem
Currently, MonkeyType only supports system-based theme switching, which changes the theme based on OS preferences. Users (including me) who want themes to switch automatically at specific times (e.g., dark mode from 8 PM to 6 AM) have no way to configure this feature.
Proposed Solution
I'm working on a time-based theme switching feature that includes:
I have a working prototype ready to demonstrate. (Preview attached below)
Questions
Should we replace the current
autoSwitchThemesetting? The new implementation consolidates both system-based and time-based switching under a unified mode selector. This would technically be a breaking change, but we can handle migration by automatically converting existing values (false → "off", true → "system"). This way, existing user preferences are preserved seamlessly. Open to suggestions if there's a better approach!Can we install a small JS package for sunrise/sunset calculations? Currently using a simplified astronomical calculation. A dedicated package (like
suncalc~2KB) would provide more accurate times based on the user's geolocation. Would this be acceptable for the project?Looking forward to feedback!
Preview
Early Prototype of UI
Time-based switch in action
2025-10-24.17-00-07.2.mp4
Beta Was this translation helpful? Give feedback.
All reactions