Commit graph

17 commits

Author SHA1 Message Date
meow 2dead1a19b JS theme switching simplified 2022-05-16 13:51:28 +03:00
meow e18b10297b JS fixes: recursion in themes, keys for frame walking, JSON XHR and details-summary in IE11 2022-05-16 13:13:00 +03:00
meow fd66084388 js code rewrite. Themes rewritten, bugs fixed 2022-05-15 08:38:46 +03:00
meow 7dd699370f js code rewrite. Created _helpers.js with XHR and storage wrapper 2022-05-06 04:46:59 +03:00
meow dbb1e3f5d8 replace tabs to spaces 2022-04-27 15:01:34 +03:00
meow fafd4d9396 new lines in the end of file 2022-04-25 13:14:08 +03:00
meow 026ea52445 optional catchng is not supported by IE11 2022-04-25 12:54:31 +03:00
meow 7940e91cbe single quotes 2022-04-25 10:15:57 +03:00
meow eb7e48b059 use strict 2022-04-25 10:12:16 +03:00
Dimitris Apostolou 7e4690e43c
Fix typos 2022-02-07 14:57:14 +02:00
Théo Gaillard 73a142fd9b
fix: null ptr while loading/switching theme 2021-12-26 13:53:32 +01:00
saltycrys de777907f2 Apply dark theme immediately
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-11-16 04:19:41 +01:00
Kyle Copperfield a3045a3953
Use a MediaQueryListener to toggle on demand. Tested on OSX. ()
Closes .
2020-03-02 09:33:47 -06:00
psvenk f54fbd057e Add prefers-color-scheme support ()
* 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-08-15 11:29:55 -05:00
Omar Roth 17edfd6573
Shorten timeout for AJAX 2019-06-16 12:55:17 -05:00
Omar Roth 552f616305
Fix retry on timeout for AJAX requests 2019-06-15 10:09:32 -05:00
Omar Roth bfa488f77d
Add option to toggle theme without reload 2019-05-09 11:50:44 -05:00