Skip to content

Commit 1e97471

Browse files
committed
feat: dark ui when user prefers dark
1 parent 2a558e1 commit 1e97471

File tree

6 files changed

+219
-9
lines changed

6 files changed

+219
-9
lines changed

frontend/Cargo.toml

+11-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@ serde-json-wasm = "0.5"
1616
timeago = "0.4"
1717
wasm-bindgen = "0.2"
1818
wasm-bindgen-futures = "0.4"
19-
web-sys = { version = "0.3", features = ["Event", "EventTarget", "NodeList", "HtmlLinkElement", "HtmlIFrameElement", "CssStyleDeclaration"] }
19+
web-sys = { version = "0.3", features = [
20+
"Event",
21+
"EventTarget",
22+
"NodeList",
23+
"HtmlLinkElement",
24+
"HtmlIFrameElement",
25+
"CssStyleDeclaration",
26+
"DomTokenList",
27+
"Element",
28+
"HtmlElement",
29+
] }
2030
yew = "0.20"
2131
yew-hooks = "0.2"

frontend/img/dark-mode.svg

+3
Loading

frontend/img/envelope-open.svg

+13-1
Loading

frontend/img/envelope.svg

+15-1
Loading

frontend/src/overview.rs

+12-4
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,19 @@ impl Component for Overview {
128128
<>
129129
<header>
130130
<h1>{"Mail"}<span>{"Crab"}</span></h1>
131-
if !self.messages.is_empty() {
132-
<button onclick={link.callback(|_| Msg::RemoveAll)}>
133-
{"Remove all"}<span>{"("}{self.messages.len()}{")"}</span>
131+
<div>
132+
<button class="no-trashcan" onclick={Callback::from(|_| {
133+
let body = web_sys::window().unwrap().document().unwrap().body().unwrap();
134+
body.class_list().toggle("body-invert").unwrap();
135+
})}>
136+
{"Invert body"}
134137
</button>
135-
}
138+
if !self.messages.is_empty() {
139+
<button onclick={link.callback(|_| Msg::RemoveAll)}>
140+
{"Remove all"}<span>{"("}{self.messages.len()}{")"}</span>
141+
</button>
142+
}
143+
</div>
136144
</header>
137145
if self.messages.is_empty() {
138146
<div class="empty">

0 commit comments

Comments
 (0)