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. (#925)
Closes #867.
2020-03-02 09:33:47 -06:00
psvenk
f54fbd057e Add prefers-color-scheme support (#601)
* 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