(mode: "dark" | "light" = store.mode)
| 182 | let systemRefreshQueued = false |
| 183 | let systemRefreshMode = store.mode |
| 184 | function refreshSystemTheme(mode: "dark" | "light" = store.mode) { |
| 185 | systemRefreshMode = mode |
| 186 | if (systemRefreshRunning) { |
| 187 | systemRefreshQueued = true |
| 188 | return |
| 189 | } |
| 190 | |
| 191 | systemRefreshRunning = true |
| 192 | const retry = renderer.paletteDetectionStatus === "detecting" |
| 193 | renderer.clearPaletteCache() |
| 194 | void resolveSystemTheme(mode).finally(() => { |
| 195 | systemRefreshRunning = false |
| 196 | if (!retry && !systemRefreshQueued) return |
| 197 | systemRefreshQueued = false |
| 198 | refreshSystemTheme(systemRefreshMode) |
| 199 | }) |
| 200 | } |
| 201 | |
| 202 | function apply(mode: "dark" | "light") { |
| 203 | if (store.lock !== undefined) kv.set("theme_mode", mode) |
no test coverage detected