updated packages and changed save/load to asnyc
authorPhiTux <redacted>
Sun, 29 Dec 2024 14:40:00 +0000 (15:40 +0100)
committerPhiTux <redacted>
Sun, 29 Dec 2024 14:40:00 +0000 (15:40 +0100)
backend/server/routers/logs.py
frontend/package-lock.json
frontend/src/routes/+page.svelte
frontend/src/routes/Datepicker.svelte

index 4562db54edea1fccafb4c982bf14b24d05862ace..a6cf338480be17a9ae0a277934cea424476f3465 100644 (file)
@@ -20,7 +20,6 @@ class Log(BaseModel):
 
 @router.post("/saveLog")
 async def saveLog(log: Log, cookie = Depends(users.isLoggedIn)):
-    print(datetime.datetime.fromisoformat(log.date))
     year = datetime.datetime.fromisoformat(log.date).year
     month = datetime.datetime.fromisoformat(log.date).month
     day = datetime.datetime.fromisoformat(log.date).day
index 3fe25db8309be41ad4f05fc64e67ea535d67638c..fbe1a0fd72652128c15dce7a68f4cb3efad84dc0 100644 (file)
                        }
                },
                "node_modules/@eslint/config-array": {
-                       "version": "0.19.0",
-                       "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.0.tgz",
-                       "integrity": "sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==",
+                       "version": "0.19.1",
+                       "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz",
+                       "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==",
                        "dev": true,
                        "license": "Apache-2.0",
                        "dependencies": {
-                               "@eslint/object-schema": "^2.1.4",
+                               "@eslint/object-schema": "^2.1.5",
                                "debug": "^4.3.1",
                                "minimatch": "^3.1.2"
                        },
                        }
                },
                "node_modules/@eslint/core": {
-                       "version": "0.9.0",
-                       "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.0.tgz",
-                       "integrity": "sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==",
+                       "version": "0.9.1",
+                       "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz",
+                       "integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==",
                        "dev": true,
                        "license": "Apache-2.0",
+                       "dependencies": {
+                               "@types/json-schema": "^7.0.15"
+                       },
                        "engines": {
                                "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
                        }
                        }
                },
                "node_modules/@eslint/js": {
-                       "version": "9.15.0",
-                       "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.15.0.tgz",
-                       "integrity": "sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==",
+                       "version": "9.17.0",
+                       "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz",
+                       "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==",
                        "dev": true,
                        "license": "MIT",
                        "engines": {
                        }
                },
                "node_modules/@eslint/object-schema": {
-                       "version": "2.1.4",
-                       "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz",
-                       "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==",
+                       "version": "2.1.5",
+                       "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz",
+                       "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==",
                        "dev": true,
                        "license": "Apache-2.0",
                        "engines": {
                        }
                },
                "node_modules/@eslint/plugin-kit": {
-                       "version": "0.2.3",
-                       "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz",
-                       "integrity": "sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==",
+                       "version": "0.2.4",
+                       "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz",
+                       "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==",
                        "dev": true,
                        "license": "Apache-2.0",
                        "dependencies": {
                        }
                },
                "node_modules/@jridgewell/gen-mapping": {
-                       "version": "0.3.5",
-                       "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
-                       "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+                       "version": "0.3.8",
+                       "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
+                       "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                        }
                },
                "node_modules/@rollup/rollup-android-arm-eabi": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.4.tgz",
-                       "integrity": "sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.29.1.tgz",
+                       "integrity": "sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==",
                        "cpu": [
                                "arm"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-android-arm64": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.4.tgz",
-                       "integrity": "sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.29.1.tgz",
+                       "integrity": "sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==",
                        "cpu": [
                                "arm64"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-darwin-arm64": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.4.tgz",
-                       "integrity": "sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.29.1.tgz",
+                       "integrity": "sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==",
                        "cpu": [
                                "arm64"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-darwin-x64": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.4.tgz",
-                       "integrity": "sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.29.1.tgz",
+                       "integrity": "sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==",
                        "cpu": [
                                "x64"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-freebsd-arm64": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.4.tgz",
-                       "integrity": "sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.29.1.tgz",
+                       "integrity": "sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==",
                        "cpu": [
                                "arm64"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-freebsd-x64": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.4.tgz",
-                       "integrity": "sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.29.1.tgz",
+                       "integrity": "sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==",
                        "cpu": [
                                "x64"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.4.tgz",
-                       "integrity": "sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.29.1.tgz",
+                       "integrity": "sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==",
                        "cpu": [
                                "arm"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-linux-arm-musleabihf": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.4.tgz",
-                       "integrity": "sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.29.1.tgz",
+                       "integrity": "sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==",
                        "cpu": [
                                "arm"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-linux-arm64-gnu": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.4.tgz",
-                       "integrity": "sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.29.1.tgz",
+                       "integrity": "sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==",
                        "cpu": [
                                "arm64"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-linux-arm64-musl": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.4.tgz",
-                       "integrity": "sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.29.1.tgz",
+                       "integrity": "sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==",
                        "cpu": [
                                "arm64"
                        ],
                                "linux"
                        ]
                },
+               "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.29.1.tgz",
+                       "integrity": "sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==",
+                       "cpu": [
+                               "loong64"
+                       ],
+                       "dev": true,
+                       "license": "MIT",
+                       "optional": true,
+                       "os": [
+                               "linux"
+                       ]
+               },
                "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.4.tgz",
-                       "integrity": "sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.29.1.tgz",
+                       "integrity": "sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==",
                        "cpu": [
                                "ppc64"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-linux-riscv64-gnu": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.4.tgz",
-                       "integrity": "sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.29.1.tgz",
+                       "integrity": "sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==",
                        "cpu": [
                                "riscv64"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-linux-s390x-gnu": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.4.tgz",
-                       "integrity": "sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.29.1.tgz",
+                       "integrity": "sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==",
                        "cpu": [
                                "s390x"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-linux-x64-gnu": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.4.tgz",
-                       "integrity": "sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.29.1.tgz",
+                       "integrity": "sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==",
                        "cpu": [
                                "x64"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-linux-x64-musl": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.4.tgz",
-                       "integrity": "sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.29.1.tgz",
+                       "integrity": "sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==",
                        "cpu": [
                                "x64"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-win32-arm64-msvc": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.4.tgz",
-                       "integrity": "sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.29.1.tgz",
+                       "integrity": "sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==",
                        "cpu": [
                                "arm64"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-win32-ia32-msvc": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.4.tgz",
-                       "integrity": "sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.29.1.tgz",
+                       "integrity": "sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==",
                        "cpu": [
                                "ia32"
                        ],
                        ]
                },
                "node_modules/@rollup/rollup-win32-x64-msvc": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz",
-                       "integrity": "sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.29.1.tgz",
+                       "integrity": "sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==",
                        "cpu": [
                                "x64"
                        ],
                        }
                },
                "node_modules/@sveltejs/adapter-static": {
-                       "version": "3.0.6",
-                       "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.6.tgz",
-                       "integrity": "sha512-MGJcesnJWj7FxDcB/GbrdYD3q24Uk0PIL4QIX149ku+hlJuj//nxUbb0HxUTpjkecWfHjVveSUnUaQWnPRXlpg==",
+                       "version": "3.0.8",
+                       "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.8.tgz",
+                       "integrity": "sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg==",
                        "dev": true,
                        "license": "MIT",
                        "peerDependencies": {
                        }
                },
                "node_modules/@sveltejs/kit": {
-                       "version": "2.8.4",
-                       "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.8.4.tgz",
-                       "integrity": "sha512-oDSBHPokbP2iaQlHiEWAkVLsIugsXve8YtABtlyHBUljA63Wgx0UtV8MSOQOGpRft1M+Cd5rzer+0SFlppQwOg==",
+                       "version": "2.15.1",
+                       "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.15.1.tgz",
+                       "integrity": "sha512-8t7D3hQHbUDMiaQ2RVnjJJ/+Ur4Fn/tkeySJCsHtX346Q9cp3LAnav8xXdfuqYNJwpUGX0x3BqF1uvbmXQw93A==",
                        "dev": true,
                        "hasInstallScript": true,
                        "license": "MIT",
                                "@types/cookie": "^0.6.0",
                                "cookie": "^0.6.0",
                                "devalue": "^5.1.0",
-                               "esm-env": "^1.0.0",
+                               "esm-env": "^1.2.1",
                                "import-meta-resolve": "^4.1.0",
                                "kleur": "^4.1.5",
                                "magic-string": "^0.30.5",
                                "node": ">=18.13"
                        },
                        "peerDependencies": {
-                               "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1",
+                               "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0",
                                "svelte": "^4.0.0 || ^5.0.0-next.0",
-                               "vite": "^5.0.3"
+                               "vite": "^5.0.3 || ^6.0.0"
                        }
                },
                "node_modules/@sveltejs/vite-plugin-svelte": {
-                       "version": "4.0.2",
-                       "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-4.0.2.tgz",
-                       "integrity": "sha512-Y9r/fWy539XlAC7+5wfNJ4zH6TygUYoQ0Eegzp0zDDqhJ54+92gOyOX1l4MO1cJSx0O+Gp13YePT5XEa3+kX0w==",
+                       "version": "4.0.4",
+                       "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-4.0.4.tgz",
+                       "integrity": "sha512-0ba1RQ/PHen5FGpdSrW7Y3fAMQjrXantECALeOiOdBdzR5+5vPP6HVZRLmZaQL+W8m++o+haIAKq5qT+MiZ7VA==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                        "license": "MIT"
                },
                "node_modules/@typescript-eslint/eslint-plugin": {
-                       "version": "8.16.0",
-                       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.16.0.tgz",
-                       "integrity": "sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==",
+                       "version": "8.18.2",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.2.tgz",
+                       "integrity": "sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                                "@eslint-community/regexpp": "^4.10.0",
-                               "@typescript-eslint/scope-manager": "8.16.0",
-                               "@typescript-eslint/type-utils": "8.16.0",
-                               "@typescript-eslint/utils": "8.16.0",
-                               "@typescript-eslint/visitor-keys": "8.16.0",
+                               "@typescript-eslint/scope-manager": "8.18.2",
+                               "@typescript-eslint/type-utils": "8.18.2",
+                               "@typescript-eslint/utils": "8.18.2",
+                               "@typescript-eslint/visitor-keys": "8.18.2",
                                "graphemer": "^1.4.0",
                                "ignore": "^5.3.1",
                                "natural-compare": "^1.4.0",
                        },
                        "peerDependencies": {
                                "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
-                               "eslint": "^8.57.0 || ^9.0.0"
-                       },
-                       "peerDependenciesMeta": {
-                               "typescript": {
-                                       "optional": true
-                               }
+                               "eslint": "^8.57.0 || ^9.0.0",
+                               "typescript": ">=4.8.4 <5.8.0"
                        }
                },
                "node_modules/@typescript-eslint/parser": {
-                       "version": "8.16.0",
-                       "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.16.0.tgz",
-                       "integrity": "sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==",
+                       "version": "8.18.2",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.18.2.tgz",
+                       "integrity": "sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA==",
                        "dev": true,
-                       "license": "BSD-2-Clause",
+                       "license": "MIT",
                        "dependencies": {
-                               "@typescript-eslint/scope-manager": "8.16.0",
-                               "@typescript-eslint/types": "8.16.0",
-                               "@typescript-eslint/typescript-estree": "8.16.0",
-                               "@typescript-eslint/visitor-keys": "8.16.0",
+                               "@typescript-eslint/scope-manager": "8.18.2",
+                               "@typescript-eslint/types": "8.18.2",
+                               "@typescript-eslint/typescript-estree": "8.18.2",
+                               "@typescript-eslint/visitor-keys": "8.18.2",
                                "debug": "^4.3.4"
                        },
                        "engines": {
                                "url": "https://opencollective.com/typescript-eslint"
                        },
                        "peerDependencies": {
-                               "eslint": "^8.57.0 || ^9.0.0"
-                       },
-                       "peerDependenciesMeta": {
-                               "typescript": {
-                                       "optional": true
-                               }
+                               "eslint": "^8.57.0 || ^9.0.0",
+                               "typescript": ">=4.8.4 <5.8.0"
                        }
                },
                "node_modules/@typescript-eslint/scope-manager": {
-                       "version": "8.16.0",
-                       "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.16.0.tgz",
-                       "integrity": "sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==",
+                       "version": "8.18.2",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.18.2.tgz",
+                       "integrity": "sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
-                               "@typescript-eslint/types": "8.16.0",
-                               "@typescript-eslint/visitor-keys": "8.16.0"
+                               "@typescript-eslint/types": "8.18.2",
+                               "@typescript-eslint/visitor-keys": "8.18.2"
                        },
                        "engines": {
                                "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
                        }
                },
                "node_modules/@typescript-eslint/type-utils": {
-                       "version": "8.16.0",
-                       "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.16.0.tgz",
-                       "integrity": "sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==",
+                       "version": "8.18.2",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.18.2.tgz",
+                       "integrity": "sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
-                               "@typescript-eslint/typescript-estree": "8.16.0",
-                               "@typescript-eslint/utils": "8.16.0",
+                               "@typescript-eslint/typescript-estree": "8.18.2",
+                               "@typescript-eslint/utils": "8.18.2",
                                "debug": "^4.3.4",
                                "ts-api-utils": "^1.3.0"
                        },
                                "url": "https://opencollective.com/typescript-eslint"
                        },
                        "peerDependencies": {
-                               "eslint": "^8.57.0 || ^9.0.0"
-                       },
-                       "peerDependenciesMeta": {
-                               "typescript": {
-                                       "optional": true
-                               }
+                               "eslint": "^8.57.0 || ^9.0.0",
+                               "typescript": ">=4.8.4 <5.8.0"
                        }
                },
                "node_modules/@typescript-eslint/types": {
-                       "version": "8.16.0",
-                       "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.16.0.tgz",
-                       "integrity": "sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==",
+                       "version": "8.18.2",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.18.2.tgz",
+                       "integrity": "sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ==",
                        "dev": true,
                        "license": "MIT",
                        "engines": {
                        }
                },
                "node_modules/@typescript-eslint/typescript-estree": {
-                       "version": "8.16.0",
-                       "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.16.0.tgz",
-                       "integrity": "sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==",
+                       "version": "8.18.2",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.2.tgz",
+                       "integrity": "sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg==",
                        "dev": true,
-                       "license": "BSD-2-Clause",
+                       "license": "MIT",
                        "dependencies": {
-                               "@typescript-eslint/types": "8.16.0",
-                               "@typescript-eslint/visitor-keys": "8.16.0",
+                               "@typescript-eslint/types": "8.18.2",
+                               "@typescript-eslint/visitor-keys": "8.18.2",
                                "debug": "^4.3.4",
                                "fast-glob": "^3.3.2",
                                "is-glob": "^4.0.3",
                                "type": "opencollective",
                                "url": "https://opencollective.com/typescript-eslint"
                        },
-                       "peerDependenciesMeta": {
-                               "typescript": {
-                                       "optional": true
-                               }
+                       "peerDependencies": {
+                               "typescript": ">=4.8.4 <5.8.0"
                        }
                },
                "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
                        }
                },
                "node_modules/@typescript-eslint/utils": {
-                       "version": "8.16.0",
-                       "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.16.0.tgz",
-                       "integrity": "sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==",
+                       "version": "8.18.2",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.18.2.tgz",
+                       "integrity": "sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                                "@eslint-community/eslint-utils": "^4.4.0",
-                               "@typescript-eslint/scope-manager": "8.16.0",
-                               "@typescript-eslint/types": "8.16.0",
-                               "@typescript-eslint/typescript-estree": "8.16.0"
+                               "@typescript-eslint/scope-manager": "8.18.2",
+                               "@typescript-eslint/types": "8.18.2",
+                               "@typescript-eslint/typescript-estree": "8.18.2"
                        },
                        "engines": {
                                "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
                                "url": "https://opencollective.com/typescript-eslint"
                        },
                        "peerDependencies": {
-                               "eslint": "^8.57.0 || ^9.0.0"
-                       },
-                       "peerDependenciesMeta": {
-                               "typescript": {
-                                       "optional": true
-                               }
+                               "eslint": "^8.57.0 || ^9.0.0",
+                               "typescript": ">=4.8.4 <5.8.0"
                        }
                },
                "node_modules/@typescript-eslint/visitor-keys": {
-                       "version": "8.16.0",
-                       "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.16.0.tgz",
-                       "integrity": "sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==",
+                       "version": "8.18.2",
+                       "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.2.tgz",
+                       "integrity": "sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
-                               "@typescript-eslint/types": "8.16.0",
+                               "@typescript-eslint/types": "8.18.2",
                                "eslint-visitor-keys": "^4.2.0"
                        },
                        "engines": {
                        "license": "MIT"
                },
                "node_modules/axios": {
-                       "version": "1.7.8",
-                       "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.8.tgz",
-                       "integrity": "sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==",
+                       "version": "1.7.9",
+                       "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz",
+                       "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==",
                        "license": "MIT",
                        "dependencies": {
                                "follow-redirects": "^1.15.6",
                                "node": ">= 6"
                        }
                },
+               "node_modules/clsx": {
+                       "version": "2.1.1",
+                       "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+                       "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+                       "dev": true,
+                       "license": "MIT",
+                       "engines": {
+                               "node": ">=6"
+                       }
+               },
                "node_modules/color-convert": {
                        "version": "2.0.1",
                        "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
                        "license": "MIT"
                },
                "node_modules/debug": {
-                       "version": "4.3.7",
-                       "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
-                       "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+                       "version": "4.4.0",
+                       "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+                       "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                        }
                },
                "node_modules/eslint": {
-                       "version": "9.15.0",
-                       "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.15.0.tgz",
-                       "integrity": "sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==",
+                       "version": "9.17.0",
+                       "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz",
+                       "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                                "@eslint/config-array": "^0.19.0",
                                "@eslint/core": "^0.9.0",
                                "@eslint/eslintrc": "^3.2.0",
-                               "@eslint/js": "9.15.0",
+                               "@eslint/js": "9.17.0",
                                "@eslint/plugin-kit": "^0.2.3",
                                "@humanfs/node": "^0.16.6",
                                "@humanwhocodes/module-importer": "^1.0.1",
                                "@types/json-schema": "^7.0.15",
                                "ajv": "^6.12.4",
                                "chalk": "^4.0.0",
-                               "cross-spawn": "^7.0.5",
+                               "cross-spawn": "^7.0.6",
                                "debug": "^4.3.2",
                                "escape-string-regexp": "^4.0.0",
                                "eslint-scope": "^8.2.0",
                        }
                },
                "node_modules/eslint-plugin-svelte": {
-                       "version": "2.46.0",
-                       "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.46.0.tgz",
-                       "integrity": "sha512-1A7iEMkzmCZ9/Iz+EAfOGYL8IoIG6zeKEq1SmpxGeM5SXmoQq+ZNnCpXFVJpsxPWYx8jIVGMerQMzX20cqUl0g==",
+                       "version": "2.46.1",
+                       "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.46.1.tgz",
+                       "integrity": "sha512-7xYr2o4NID/f9OEYMqxsEQsCsj4KaMy4q5sANaKkAb6/QeCjYFxRmDm2S3YC3A3pl1kyPZ/syOx/i7LcWYSbIw==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                        }
                },
                "node_modules/esm-env": {
-                       "version": "1.1.4",
-                       "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.1.4.tgz",
-                       "integrity": "sha512-oO82nKPHKkzIj/hbtuDYy/JHqBHFlMIW36SDiPCVsj87ntDLcWN+sJ1erdVryd4NxODacFTsdrIE3b7IamqbOg==",
+                       "version": "1.2.1",
+                       "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.1.tgz",
+                       "integrity": "sha512-U9JedYYjCnadUlXk7e1Kr+aENQhtUaoaV9+gZm1T8LC/YBAPJx3NSPIAurFOC0U5vrdSevnUJS2/wUVxGwPhng==",
                        "dev": true,
                        "license": "MIT"
                },
                        }
                },
                "node_modules/esrap": {
-                       "version": "1.2.2",
-                       "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.2.2.tgz",
-                       "integrity": "sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==",
+                       "version": "1.3.2",
+                       "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.3.2.tgz",
+                       "integrity": "sha512-C4PXusxYhFT98GjLSmb20k9PREuUdporer50dhzGuJu9IJXktbMddVCMLAERl5dAHyAi73GWWCE4FVHGP1794g==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
-                               "@jridgewell/sourcemap-codec": "^1.4.15",
-                               "@types/estree": "^1.0.1"
+                               "@jridgewell/sourcemap-codec": "^1.4.15"
                        }
                },
                "node_modules/esrecurse": {
                        "license": "MIT"
                },
                "node_modules/fastq": {
-                       "version": "1.17.1",
-                       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
-                       "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+                       "version": "1.18.0",
+                       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz",
+                       "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==",
                        "dev": true,
                        "license": "ISC",
                        "dependencies": {
                        }
                },
                "node_modules/globals": {
-                       "version": "15.12.0",
-                       "resolved": "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz",
-                       "integrity": "sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==",
+                       "version": "15.14.0",
+                       "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz",
+                       "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==",
                        "dev": true,
                        "license": "MIT",
                        "engines": {
                        "license": "MIT"
                },
                "node_modules/magic-string": {
-                       "version": "0.30.14",
-                       "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.14.tgz",
-                       "integrity": "sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==",
+                       "version": "0.30.17",
+                       "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
+                       "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                        }
                },
                "node_modules/prettier": {
-                       "version": "3.4.1",
-                       "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.1.tgz",
-                       "integrity": "sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==",
+                       "version": "3.4.2",
+                       "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz",
+                       "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==",
                        "dev": true,
                        "license": "MIT",
                        "bin": {
                        }
                },
                "node_modules/rollup": {
-                       "version": "4.27.4",
-                       "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.27.4.tgz",
-                       "integrity": "sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==",
+                       "version": "4.29.1",
+                       "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.29.1.tgz",
+                       "integrity": "sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                                "npm": ">=8.0.0"
                        },
                        "optionalDependencies": {
-                               "@rollup/rollup-android-arm-eabi": "4.27.4",
-                               "@rollup/rollup-android-arm64": "4.27.4",
-                               "@rollup/rollup-darwin-arm64": "4.27.4",
-                               "@rollup/rollup-darwin-x64": "4.27.4",
-                               "@rollup/rollup-freebsd-arm64": "4.27.4",
-                               "@rollup/rollup-freebsd-x64": "4.27.4",
-                               "@rollup/rollup-linux-arm-gnueabihf": "4.27.4",
-                               "@rollup/rollup-linux-arm-musleabihf": "4.27.4",
-                               "@rollup/rollup-linux-arm64-gnu": "4.27.4",
-                               "@rollup/rollup-linux-arm64-musl": "4.27.4",
-                               "@rollup/rollup-linux-powerpc64le-gnu": "4.27.4",
-                               "@rollup/rollup-linux-riscv64-gnu": "4.27.4",
-                               "@rollup/rollup-linux-s390x-gnu": "4.27.4",
-                               "@rollup/rollup-linux-x64-gnu": "4.27.4",
-                               "@rollup/rollup-linux-x64-musl": "4.27.4",
-                               "@rollup/rollup-win32-arm64-msvc": "4.27.4",
-                               "@rollup/rollup-win32-ia32-msvc": "4.27.4",
-                               "@rollup/rollup-win32-x64-msvc": "4.27.4",
+                               "@rollup/rollup-android-arm-eabi": "4.29.1",
+                               "@rollup/rollup-android-arm64": "4.29.1",
+                               "@rollup/rollup-darwin-arm64": "4.29.1",
+                               "@rollup/rollup-darwin-x64": "4.29.1",
+                               "@rollup/rollup-freebsd-arm64": "4.29.1",
+                               "@rollup/rollup-freebsd-x64": "4.29.1",
+                               "@rollup/rollup-linux-arm-gnueabihf": "4.29.1",
+                               "@rollup/rollup-linux-arm-musleabihf": "4.29.1",
+                               "@rollup/rollup-linux-arm64-gnu": "4.29.1",
+                               "@rollup/rollup-linux-arm64-musl": "4.29.1",
+                               "@rollup/rollup-linux-loongarch64-gnu": "4.29.1",
+                               "@rollup/rollup-linux-powerpc64le-gnu": "4.29.1",
+                               "@rollup/rollup-linux-riscv64-gnu": "4.29.1",
+                               "@rollup/rollup-linux-s390x-gnu": "4.29.1",
+                               "@rollup/rollup-linux-x64-gnu": "4.29.1",
+                               "@rollup/rollup-linux-x64-musl": "4.29.1",
+                               "@rollup/rollup-win32-arm64-msvc": "4.29.1",
+                               "@rollup/rollup-win32-ia32-msvc": "4.29.1",
+                               "@rollup/rollup-win32-x64-msvc": "4.29.1",
                                "fsevents": "~2.3.2"
                        }
                },
                        }
                },
                "node_modules/svelte": {
-                       "version": "5.2.8",
-                       "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.2.8.tgz",
-                       "integrity": "sha512-VU7a01XwnFi6wXVkH5QY3FYXRZWrhsWZhaE8AYU6UeYZdslE3TFgQq6+HLrbMjOLkVhdKt74NGHYbhFeErQQ6g==",
+                       "version": "5.16.0",
+                       "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.16.0.tgz",
+                       "integrity": "sha512-Ygqsiac6UogVED2ruKclU+pOeMThxWtp9LG+li7BXeDKC2paVIsRTMkNmcON4Zejerd1s5sZHWx6ZtU85xklVg==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                                "acorn-typescript": "^1.4.13",
                                "aria-query": "^5.3.1",
                                "axobject-query": "^4.1.0",
-                               "esm-env": "^1.0.0",
-                               "esrap": "^1.2.2",
+                               "clsx": "^2.1.1",
+                               "esm-env": "^1.2.1",
+                               "esrap": "^1.3.2",
                                "is-reference": "^3.0.3",
                                "locate-character": "^3.0.0",
                                "magic-string": "^0.30.11",
                        }
                },
                "node_modules/svelte-check": {
-                       "version": "4.1.0",
-                       "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.1.0.tgz",
-                       "integrity": "sha512-AflEZYqI578KuDZcpcorPSf597LStxlkN7XqXi38u09zlHODVKd7c+7OuubGzbhgGRUqNTdQCZ+Ga96iRXEf2g==",
+                       "version": "4.1.1",
+                       "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.1.1.tgz",
+                       "integrity": "sha512-NfaX+6Qtc8W/CyVGS/F7/XdiSSyXz+WGYA9ZWV3z8tso14V2vzjfXviKaTFEzB7g8TqfgO2FOzP6XT4ApSTUTw==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                        }
                },
                "node_modules/svelte-check/node_modules/chokidar": {
-                       "version": "4.0.1",
-                       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
-                       "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==",
+                       "version": "4.0.3",
+                       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+                       "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
                        }
                },
                "node_modules/ts-api-utils": {
-                       "version": "1.4.2",
-                       "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.2.tgz",
-                       "integrity": "sha512-ZF5gQIQa/UmzfvxbHZI3JXN0/Jt+vnAfAviNRAMc491laiK6YCLpCW9ft8oaCRFOTxCZtUTE6XB0ZQAe3olntw==",
+                       "version": "1.4.3",
+                       "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz",
+                       "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==",
                        "dev": true,
                        "license": "MIT",
                        "engines": {
                        }
                },
                "node_modules/typescript-eslint": {
-                       "version": "8.16.0",
-                       "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.16.0.tgz",
-                       "integrity": "sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ==",
+                       "version": "8.18.2",
+                       "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.18.2.tgz",
+                       "integrity": "sha512-KuXezG6jHkvC3MvizeXgupZzaG5wjhU3yE8E7e6viOvAvD9xAWYp8/vy0WULTGe9DYDWcQu7aW03YIV3mSitrQ==",
                        "dev": true,
                        "license": "MIT",
                        "dependencies": {
-                               "@typescript-eslint/eslint-plugin": "8.16.0",
-                               "@typescript-eslint/parser": "8.16.0",
-                               "@typescript-eslint/utils": "8.16.0"
+                               "@typescript-eslint/eslint-plugin": "8.18.2",
+                               "@typescript-eslint/parser": "8.18.2",
+                               "@typescript-eslint/utils": "8.18.2"
                        },
                        "engines": {
                                "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
                                "url": "https://opencollective.com/typescript-eslint"
                        },
                        "peerDependencies": {
-                               "eslint": "^8.57.0 || ^9.0.0"
-                       },
-                       "peerDependenciesMeta": {
-                               "typescript": {
-                                       "optional": true
-                               }
+                               "eslint": "^8.57.0 || ^9.0.0",
+                               "typescript": ">=4.8.4 <5.8.0"
                        }
                },
                "node_modules/uri-js": {
index e98b042b7c6751f41d1fc381e58b7f0f3ce47637..355096552d7ce96dfcad868148de2dbab57b87ea 100644 (file)
@@ -7,6 +7,7 @@
        import { dev } from '$app/environment';
        import { goto } from '$app/navigation';
        import { onMount } from 'svelte';
+       //import { selectedDate } from './calendar.svelte.js';
 
        let API_URL = dev ? 'http://localhost:8000' : window.location.pathname.replace(/\/+$/, '');
 
 
        let lastSelectedDate = $state($selectedDate);
 
-       $effect(() => {
+       $effect(async () => {
                if ($selectedDate !== lastSelectedDate) {
-                       getLog();
-                       lastSelectedDate = $selectedDate;
+                       clearTimeout(timeout);
+                       const result = await getLog();
+                       if (result) {
+                               lastSelectedDate = $selectedDate;
+                       } else {
+                               $selectedDate = lastSelectedDate;
+                       }
                }
        });
 
+       let altPressed = false;
+       function on_key_down(event) {
+               if (event.key === 'Alt') {
+                       event.preventDefault();
+                       altPressed = true;
+               }
+               if (event.key === 'ArrowRight' && altPressed) {
+                       event.preventDefault();
+                       changeDay(+1);
+               } else if (event.key === 'ArrowLeft' && altPressed) {
+                       event.preventDefault();
+                       changeDay(-1);
+               }
+       }
+
+       function on_key_up(event) {
+               if (event.key === 'Alt') {
+                       event.preventDefault();
+                       altPressed = false;
+               }
+       }
+
+       function changeDay(increment) {
+               const newDate = new Date($selectedDate);
+               newDate.setDate(newDate.getDate() + increment);
+               $selectedDate = newDate;
+       }
+
        let currentLog = $state('');
        let savedLog = $state('');
 
                });
        }
 
-       function getLog() {
+       async function getLog() {
                if (savedLog !== currentLog) {
-                       if (!saveLog()) {
-                               return;
+                       const success = await saveLog();
+                       if (!success) {
+                               return false;
                        }
                }
 
-               axios
-                       .get(API_URL + '/logs/getLog', {
+               try {
+                       const response = await axios.get(API_URL + '/logs/getLog', {
                                params: {
                                        date: $selectedDate.toISOString()
                                }
-                       })
-                       .then((response) => {
-                               currentLog = response.data.text;
-                               savedLog = currentLog;
-                               logDateWritten = response.data.date_written;
-                       })
-                       .catch((error) => {
-                               console.error(error.response);
-                               // toast
-                               const toast = new bootstrap.Toast(document.getElementById('toastErrorLoadingLog'));
-                               toast.show();
                        });
+
+                       currentLog = response.data.text;
+                       savedLog = currentLog;
+                       logDateWritten = response.data.date_written;
+
+                       return true;
+               } catch (error) {
+                       console.error(error.response);
+                       // toast
+                       const toast = new bootstrap.Toast(document.getElementById('toastErrorLoadingLog'));
+                       toast.show();
+
+                       return false;
+               }
        }
 
-       function saveLog() {
+       async function saveLog() {
                // axios to backend
                let date_written = new Date().toLocaleString('de-DE', {
                        timeZone: 'Europe/Berlin',
                        minute: '2-digit'
                });
 
-               axios
-                       .post(API_URL + '/logs/saveLog', {
-                               date: $selectedDate.toISOString(),
+               try {
+                       const response = await axios.post(API_URL + '/logs/saveLog', {
+                               date: lastSelectedDate.toISOString(),
                                text: currentLog,
                                date_written: date_written
-                       })
-                       .then((response) => {
-                               if (response.data.success) {
-                                       savedLog = currentLog;
-                                       logDateWritten = date_written;
-                                       return true;
-                               } else {
-                                       // toast
-                                       const toast = new bootstrap.Toast(document.getElementById('toastErrorSavingLog'));
-                                       toast.show();
-                                       console.error('Log not saved');
-                                       return false;
-                               }
-                       })
-                       .catch((error) => {
+                       });
+
+                       if (response.data.success) {
+                               savedLog = currentLog;
+                               logDateWritten = date_written;
+                               return true;
+                       } else {
                                // toast
                                const toast = new bootstrap.Toast(document.getElementById('toastErrorSavingLog'));
                                toast.show();
-                               console.error(error.response);
+                               console.error('Log not saved');
                                return false;
-                       });
+                       }
+               } catch (error) {
+                       // toast
+                       const toast = new bootstrap.Toast(document.getElementById('toastErrorSavingLog'));
+                       toast.show();
+                       console.error(error.response);
+                       return false;
+               }
        }
 </script>
 
+<svelte:window onkeydown={on_key_down} onkeyup={on_key_up} />
+
 <!-- shown on small Screen, when triggered -->
 <div class="offcanvas-md d-md-none offcanvas-start p-3" id="sidenav" tabindex="-1">
        <div class="offcanvas-header">
                                class="form-control {currentLog !== savedLog ? 'notSaved' : ''}"
                                rows="10"
                        ></textarea>
+                       {$selectedDate}<br />
+                       {lastSelectedDate}
                </div>
        </div>
 
index ac29e7a704caa5ac43a3cf56bf0b9c59cc90bccf..0105efa3d2372e26cbe344619b8a8bea9a513929 100644 (file)
@@ -18,6 +18,8 @@
        });
 
        const updateCalendar = () => {
+               console.log('updateCalendar');
+
                const month = $cal.currentMonth;
                const year = $cal.currentYear;
                const firstDay = new Date(year, month, 1);
                        </div>
                {/key}
        </div>
+       {$selectedDate}
 </div>
 
 <style>
git clone https://git.99rst.org/PROJECT