diff --git a/module/build.gradle.kts b/module/build.gradle.kts index 8dc6b39..877d65f 100644 --- a/module/build.gradle.kts +++ b/module/build.gradle.kts @@ -165,12 +165,14 @@ androidComponents.onVariants { variant -> set.add(Pair(root.file("webroot/index.html").asFile, null)) set.add(Pair(root.file("webroot/js/main.js").asFile, null)) set.add(Pair(root.file("webroot/js/kernelsu.js").asFile, null)) + set.add(Pair(root.file("webroot/js/init_theme.js").asFile, null)) set.add(Pair(root.file("webroot/fonts/ProductSans-Regular.ttf").asFile, null)) set.add(Pair(root.file("webroot/fonts/ProductSans-Italic.ttf").asFile, null)) set.add(Pair(root.file("webroot/css/index.css").asFile, null)) set.add(Pair(root.file("webroot/css/fonts.css").asFile, null)) set.add(Pair(root.file("webroot/assets/mark.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/tick.svg").asFile, null)) + set.add(Pair(root.file("webroot/assets/warning.svg").asFile, null)) sig.initSign(privKey) set.forEach { it.first.sha(it.second) } val signFile = root.file(name).asFile diff --git a/webroot/assets/warning.svg b/webroot/assets/warning.svg new file mode 100644 index 0000000..9a02236 --- /dev/null +++ b/webroot/assets/warning.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/webroot/css/index.css b/webroot/css/index.css index b6d7d2a..2d78617 100644 --- a/webroot/css/index.css +++ b/webroot/css/index.css @@ -1,12 +1,19 @@ :root { + --background: #181c20; + --font: #fff; + --desc: #c9c9c9; + --spliter: #283136; --bright: #8d1d19; --dim: #1d2327; --error: #8d1d19; + /* Locked Color */ + --lock-desc: #c9c9c9; + --lock: #fff; } * { - background-color: #181c20; - color: #fff; + background-color: var(--background); + color: var(--font); font-family: 'ProductSans Regular', 'ProductSans Italic', sans-serif } @@ -18,6 +25,7 @@ a { text-decoration: none !important; } +/* Components */ .header { position: fixed; left: 0; @@ -32,7 +40,7 @@ a { margin-bottom: 10px; padding: 15px 15px; border-radius: 15px; - color: #fff; + color: var(--lock); } .content { @@ -40,7 +48,11 @@ a { } .spliter { - border-bottom: 1px solid #283136; + border-bottom: 1px solid var(--spliter); +} + +.desc { + color: var(--desc); } .liste { @@ -49,10 +61,12 @@ a { display: flex; } +/* Card type */ .bright { border: 5px solid var(--bright); background: var(--bright); } + .brightc { background: var(--bright); } @@ -64,4 +78,13 @@ a { .dimc { background: var(--dim); +} + +/* Locked */ +.lock { + color: var(--lock); +} + +.lockd { + color: var(--lock-desc); } \ No newline at end of file diff --git a/webroot/index.html b/webroot/index.html index 895001b..5dab309 100644 --- a/webroot/index.html +++ b/webroot/index.html @@ -5,6 +5,7 @@ + @@ -17,25 +18,25 @@
-
+
ReZygisk is at an unknown state!
-
Version
-
Unknown
+
Version
+
Unknown
-
Root Implementation
-
Unknown
+
Root Implementation
+
Unknown
-
Zygote64
-
Unknown
+
Zygote64
+
Unknown
-
-
Zygote32
-
Unknown
+
+
Zygote32
+
Unknown
diff --git a/webroot/js/init_theme.js b/webroot/js/init_theme.js new file mode 100644 index 0000000..6862ce1 --- /dev/null +++ b/webroot/js/init_theme.js @@ -0,0 +1,41 @@ +(() => { + let sys_theme = localStorage.getItem("system-theme"); + const rootCss = document.querySelector(':root') + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { + const newColorScheme = event.matches ? "dark" : "light"; + if (sys_theme.lock) return + switch (newColorScheme) { + case "dark": { + rootCss.style.setProperty('--background', '#181c20'); + rootCss.style.setProperty('--font', '#ffffff'); + rootCss.style.setProperty('--desc', '#c9c9c9'); + rootCss.style.setProperty('--spliter', '#283136'); + sys_theme = setData(false, "dark") + return + } + case "light": { + rootCss.style.setProperty('--background', '#eff1f6'); + rootCss.style.setProperty('--font', '#2c2c2c'); + rootCss.style.setProperty('--desc', '#444444'); + rootCss.style.setProperty('--spliter', '#4f6069'); + sys_theme = setData(false, "light") + return + } + } + }); + if (!sys_theme) sys_theme = setData(false, "dark") + if (sys_theme.lock) return + if (sys_theme.mode === "dark") return + if (window.matchMedia && !window.matchMedia('(prefers-color-scheme: dark)').matches) { + rootCss.style.setProperty('--background', '#eff1f6'); + rootCss.style.setProperty('--font', '#2c2c2c'); + rootCss.style.setProperty('--desc', '#444444'); + rootCss.style.setProperty('--spliter', '#4f6069'); + sys_theme = setData(false, "light") + } +})() + +function setData(lock, mode) { + localStorage.setItem("system-theme", { lock, mode }); + return localStorage.getItem("system-theme") +} \ No newline at end of file