From: Scott Worley Date: Wed, 9 Feb 2022 23:40:54 +0000 (-0800) Subject: Put state colors in one place X-Git-Url: http://git.scottworley.com/vopamoi/commitdiff_plain/c2226333bbb69b5110aa5feaf839347321dca9ee?ds=inline;hp=88bd89ef027fe592d38d5e99a3fbeff8109d8c0a Put state colors in one place --- diff --git a/vopamoi.ts b/vopamoi.ts index 57c7686..7777f36 100644 --- a/vopamoi.ts +++ b/vopamoi.ts @@ -267,6 +267,15 @@ enum CommitOrAbort { } function BrowserUI() { + const viewColors: { [key: string]: string } = { + all: "Gold", + cancelled: "Red", + deleted: "Black", + done: "LawnGreen", + "someday-maybe": "DeepSkyBlue", + todo: "White", + waiting: "MediumOrchid", + }; var currentViewState = "todo"; var taskFocusedBeforeJumpingToInput: HTMLElement | null = null; var lastTagNameEntered = ""; @@ -471,14 +480,14 @@ function BrowserUI() { return ui.setState(createTimestamp, newState, oldState); }, - setView: function (state: string, color: string) { + setView: function (state: string) { const sheet = (document.getElementById("viewStyle") as HTMLStyleElement).sheet!; if (state === "all") { sheet.insertRule(`.task[data-state=deleted] { display: none }`); } else { sheet.insertRule(`.task:not([data-state=${state}]) { display: none }`); } - sheet.insertRule(`:root { --view-state-indicator-color: ${color}; }`); + sheet.insertRule(`:root { --view-state-indicator-color: ${viewColors[state]}; }`); sheet.removeRule(2); sheet.removeRule(2); currentViewState = state; @@ -560,17 +569,17 @@ function handleKey(event: any) { if (event.key == "m") return browserUI.setState("someday-maybe"); } else if (inputState === InputState.V) { inputState = InputState.Root; - if (event.key == "a") return browserUI.setView("all", "Gold"); - if (event.key == "c") return browserUI.setView("cancelled", "Red"); - if (event.key == "d") return browserUI.setView("done", "LawnGreen"); - if (event.key == "q") return browserUI.setView("todo", "White"); + if (event.key == "a") return browserUI.setView("all"); + if (event.key == "c") return browserUI.setView("cancelled"); + if (event.key == "d") return browserUI.setView("done"); + if (event.key == "q") return browserUI.setView("todo"); if (event.key == "s") return (inputState = InputState.VS); - if (event.key == "v") return browserUI.setView("todo", "White"); - if (event.key == "w") return browserUI.setView("waiting", "MediumOrchid"); - if (event.key == "x") return browserUI.setView("deleted", "Black"); + if (event.key == "v") return browserUI.setView("todo"); + if (event.key == "w") return browserUI.setView("waiting"); + if (event.key == "x") return browserUI.setView("deleted"); } else if (inputState === InputState.VS) { inputState = InputState.Root; - if (event.key == "m") return browserUI.setView("someday-maybe", "DeepSkyBlue"); + if (event.key == "m") return browserUI.setView("someday-maybe"); } } }