From e7f1b110e81048684c17454970bcc9a09edb03ac Mon Sep 17 00:00:00 2001
From: Guransh Khurana <guranshkhurana@Guranshs-MacBook-Pro.local>
Date: Thu, 23 Mar 2023 19:07:31 -0400
Subject: [PATCH] created a toggleDarkMode function and implemented action for
 menu bar items dark and light

---
 .../notes/multi/utilities/NoteTextWindow.kt   | 15 +++++++++++
 .../kotlin/notes/multi/utilities/Themes.kt    | 26 +++++++++++++++++++
 2 files changed, 41 insertions(+)
 create mode 100644 utilities/src/main/kotlin/notes/multi/utilities/Themes.kt

diff --git a/utilities/src/main/kotlin/notes/multi/utilities/NoteTextWindow.kt b/utilities/src/main/kotlin/notes/multi/utilities/NoteTextWindow.kt
index b7cbae1..f8b59c2 100644
--- a/utilities/src/main/kotlin/notes/multi/utilities/NoteTextWindow.kt
+++ b/utilities/src/main/kotlin/notes/multi/utilities/NoteTextWindow.kt
@@ -44,6 +44,7 @@ class TextWindow(): Application() {
 
     private var newname = true
     private var curfile = Note()
+    var isDarkMode = false
 
     private fun notesname() : MutableList<String> {
         val retlist = mutableListOf<String>()
@@ -256,6 +257,8 @@ class TextWindow(): Application() {
             }
         }
 
+
+
         filemenu.items.addAll(open, save, delete)
         modechange.items.addAll(dark, light)
         menubar.menus.addAll(filemenu, modechange)
@@ -265,6 +268,18 @@ class TextWindow(): Application() {
 
         stage.scene = Scene(box, 300.0, 300.0)
 
+        dark.setOnAction {
+            if (!isDarkMode) {
+                toggleDarkMode(stage.scene, isDarkMode)
+            }
+        }
+
+        light.setOnAction {
+            if (isDarkMode) {
+                toggleDarkMode(stage.scene, isDarkMode)
+            }
+        }
+
         /**
          * Logic for key presses:
          * - Save: Ctrl + S
diff --git a/utilities/src/main/kotlin/notes/multi/utilities/Themes.kt b/utilities/src/main/kotlin/notes/multi/utilities/Themes.kt
new file mode 100644
index 0000000..4f39f17
--- /dev/null
+++ b/utilities/src/main/kotlin/notes/multi/utilities/Themes.kt
@@ -0,0 +1,26 @@
+package notes.multi.utilities
+
+import javafx.application.Application
+import javafx.scene.Scene
+import javafx.stage.Stage
+import javafx.geometry.Pos
+import javafx.scene.control.Button
+import javafx.scene.control.Label
+import javafx.scene.layout.StackPane
+import javafx.scene.layout.VBox
+import javafx.scene.paint.Color
+import javafx.scene.text.Font
+import javax.swing.text.html.StyleSheet
+
+fun toggleDarkMode(scene: Scene, isDarkMode: Boolean) {
+    //val darktheme: StyleSheet = StyleSheet(false, "notes/multi/utilities/darktheme.css")
+
+    if (isDarkMode) {
+        //note.text.toString(). = Color.WHITE
+        scene.root.style = "-fx-background-color: ${Color.BLACK.toString().replace("0x", "#")}; -fx-text-fill: ${Color.WHITE.toString().replace("0x", "#")}"
+    } else {
+        //note.text = Color.BLACK
+        scene.root.style = "-fx-background-color: ${Color.WHITE.toString().replace("0x", "#")}; -fx-text-fill: ${Color.BLACK.toString().replace("0x", "#")}"
+    }
+    //isDarkMode = !isDarkMode
+}
\ No newline at end of file
-- 
GitLab