From 2b139495a398d613d00492a219505986c08b87b1 Mon Sep 17 00:00:00 2001 From: Jonas Date: Sun, 9 Nov 2025 13:11:59 +0100 Subject: [PATCH] feat: update layout and routing structure with theme toggle functionality --- .vs/JudoWeb/DesignTimeBuild/.dtbcache.v2 | Bin 146591 -> 146591 bytes .vs/JudoWeb/v17/DocumentLayout.backup.json | 2 +- GUI/src/Layout.vue | 34 ++++++++++++--------- GUI/src/plugins/routesLayout.ts | 8 +++++ 4 files changed, 28 insertions(+), 16 deletions(-) create mode 100644 GUI/src/plugins/routesLayout.ts diff --git a/.vs/JudoWeb/DesignTimeBuild/.dtbcache.v2 b/.vs/JudoWeb/DesignTimeBuild/.dtbcache.v2 index 046bbb87d5a7e3ebb2d6092e59ffb925978efbaf..0246481c00c857f43fa3fca88ec5806eb49b8401 100644 GIT binary patch delta 10917 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 S`?FW|l0?V-bAJ|fpZX7yaxH}b delta 10917 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 diff --git a/.vs/JudoWeb/v17/DocumentLayout.backup.json b/.vs/JudoWeb/v17/DocumentLayout.backup.json index 20e51d2..a97d429 100644 --- a/.vs/JudoWeb/v17/DocumentLayout.backup.json +++ b/.vs/JudoWeb/v17/DocumentLayout.backup.json @@ -24,7 +24,7 @@ "RelativeDocumentMoniker": "API\\Program.cs", "ToolTip": "D:\\Programmieren\\CSharp\\JudoWeb\\API\\Program.cs", "RelativeToolTip": "API\\Program.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAnAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2025-10-05T16:26:39.39Z", "EditorCaption": "" diff --git a/GUI/src/Layout.vue b/GUI/src/Layout.vue index 3145376..e91cd6c 100644 --- a/GUI/src/Layout.vue +++ b/GUI/src/Layout.vue @@ -1,8 +1,12 @@