summaryrefslogtreecommitdiffstats
path: root/assets/js/themes.js (follow)
AgeCommit message (Collapse)Author
2022-12-29handle auto theme correctly with the manual toggleshironeko
If the user used the manual toggle, they will not be able to get back to auto since it will force set to light theme. This should fix that.
2022-05-16JS theme switching simplifiedmeow
2022-05-16JS fixes: recursion in themes, keys for frame walking, JSON XHR and ↵meow
details-summary in IE11
2022-05-15js code rewrite. Themes rewritten, bugs fixedmeow
2022-05-06js code rewrite. Created _helpers.js with XHR and storage wrappermeow
2022-04-27replace tabs to spacesmeow
2022-04-25new lines in the end of filemeow
2022-04-25optional catchng is not supported by IE11meow
2022-04-25single quotesmeow
2022-04-25use strictmeow
2022-02-07Fix typosDimitris Apostolou
2021-12-26fix: null ptr while loading/switching themeThéo Gaillard
2020-11-16Apply dark theme immediatelysaltycrys
Themes are now controlled with a class on the body element. If a preference is set the body element will have either "dark-theme" or "light-theme" class. If no preference is set or the preference is empty the class will be "no-theme". "dark-theme" and "light-theme" are handled by darktheme.css and lighttheme.css respectively. "no-theme" is handled by default.css where depending on the value of "prefers-color-scheme" the styles corresponding to "dark-theme" or "light-theme" are applied. Unfortunately this means that both themes are duplicated, once in the theme .css and once in default.css.
2020-03-02Use a MediaQueryListener to toggle on demand. Tested on OSX. (#925)Kyle Copperfield
Closes #867.
2019-08-15Add prefers-color-scheme support (#601)psvenk
* Add prefers-color-scheme support This should fix <https://github.com/omarroth/invidious/issues/559>. The cookie storage format has been changed from boolean ("true"/"false") to tri-state ("dark"/"light"/""), so that users without a cookie set will get dark mode if they have enabled the dark theme in their operating system. The code for handling the cookie state, along with the user's operating system theme, has been factored out into a new function `update_mode`, which is called both at window load and at the "storage" event listener, because the "storage" event listener is only trigerred when a change is made to the localStorage from another tab/window (for more info - see <https://stackoverflow.com/a/4679754>).
2019-06-16Shorten timeout for AJAXOmar Roth
2019-06-15Fix retry on timeout for AJAX requestsOmar Roth
2019-05-09Add option to toggle theme without reloadOmar Roth