]> git.scottworley.com Git - vopamoi/blobdiff - vopamoi.ts
README
[vopamoi] / vopamoi.ts
index b739747c43158ca458b60eb66e1e8e0d078f7f6a..17ace05eaf8a79ff22deaa4801291905d6a56d9e 100644 (file)
@@ -1,3 +1,19 @@
+// vopamoi: vi-flavored todo organizer
+// Copyright (C) 2023  Scott Worley <scottworley@scottworley.com>
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+
 // Typescript doesn't know about MAX_SAFE_INTEGER??  This was supposed to be
 // fixed in typescript 2.0.1 in 2016, but is not working for me in typescript
 // 4.2.4 in 2022.  :( https://github.com/microsoft/TypeScript/issues/9937
@@ -322,7 +338,7 @@ function BrowserUI() {
     deleted: "Black",
     done: "LawnGreen",
     "someday-maybe": "DeepSkyBlue",
-    todo: "White",
+    todo: "rgb(0 0 0 / 0)",
     waiting: "MediumOrchid",
   };
   var currentTagFilter: TagFilter | null = null;
@@ -692,6 +708,11 @@ function BrowserUI() {
       this.setTagFilter({description: "(untagged)", include: task => task.getElementsByClassName("tag").length === 0});
     },
 
+    toggleDark: function () {
+      document.body.classList.toggle("dark");
+      this.setView(currentViewState);
+    },
+
     undo: function () {
       const ret = ui.undo();
       if (ret && ret instanceof HTMLElement) ret.focus();
@@ -774,6 +795,7 @@ function handleKey(event: any) {
       if (event.key == "a") return browserUI.setView("all");
       if (event.key == "C") return browserUI.setView("cancelled");
       if (event.key == "c") return browserUI.setTagView("comp");
+      if (event.key == "D") return browserUI.toggleDark();
       if (event.key == "d") return browserUI.setView("done");
       if (event.key == "e") return browserUI.setTagView("errand");
       if (event.key == "h") return browserUI.setTagView("home");