diff --git a/package-lock.json b/package-lock.json index 24aba51e..1154cdd5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -907,9 +907,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.0.tgz", - "integrity": "sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.2.tgz", + "integrity": "sha512-OHflWINKtoCFSpm/WmuQaWW4jeX+3Qt3XQDepkkiFTsoxFc5BpF3Z5aDxFZgBqRjO6ATP5+b1iilp4kGIZVWlA==", "cpu": [ "arm" ], @@ -921,9 +921,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.0.tgz", - "integrity": "sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.2.tgz", + "integrity": "sha512-k0OC/b14rNzMLDOE6QMBCjDRm3fQOHAL8Ldc9bxEWvMo4Ty9RY6rWmGetNTWhPo+/+FNd1lsQYRd0/1OSix36A==", "cpu": [ "arm64" ], @@ -935,9 +935,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.0.tgz", - "integrity": "sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.2.tgz", + "integrity": "sha512-IIARRgWCNWMTeQH+kr/gFTHJccKzwEaI0YSvtqkEBPj7AshElFq89TyreKNFAGh5frLfDCbodnq+Ye3dqGKPBw==", "cpu": [ "arm64" ], @@ -949,9 +949,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.0.tgz", - "integrity": "sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.2.tgz", + "integrity": "sha512-52udDMFDv54BTAdnw+KXNF45QCvcJOcYGl3vQkp4vARyrcdI/cXH8VXTEv/8QWfd6Fru8QQuw1b2uNersXOL0g==", "cpu": [ "x64" ], @@ -963,9 +963,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.0.tgz", - "integrity": "sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.2.tgz", + "integrity": "sha512-r+SI2t8srMPYZeoa1w0o/AfoVt9akI1ihgazGYPQGRilVAkuzMGiTtexNZkrPkQsyFrvqq/ni8f3zOnHw4hUbA==", "cpu": [ "arm" ], @@ -977,9 +977,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.0.tgz", - "integrity": "sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.2.tgz", + "integrity": "sha512-+tYiL4QVjtI3KliKBGtUU7yhw0GMcJJuB9mLTCEauHEsqfk49gtUBXGtGP3h1LW8MbaTY6rSFIQV1XOBps1gBA==", "cpu": [ "arm" ], @@ -991,9 +991,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.0.tgz", - "integrity": "sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.2.tgz", + "integrity": "sha512-OR5DcvZiYN75mXDNQQxlQPTv4D+uNCUsmSCSY2FolLf9W5I4DSoJyg7z9Ea3TjKfhPSGgMJiey1aWvlWuBzMtg==", "cpu": [ "arm64" ], @@ -1005,9 +1005,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.0.tgz", - "integrity": "sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.2.tgz", + "integrity": "sha512-Hw3jSfWdUSauEYFBSFIte6I8m6jOj+3vifLg8EU3lreWulAUpch4JBjDMtlKosrBzkr0kwKgL9iCfjA8L3geoA==", "cpu": [ "arm64" ], @@ -1019,9 +1019,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.0.tgz", - "integrity": "sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.2.tgz", + "integrity": "sha512-rhjvoPBhBwVnJRq/+hi2Q3EMiVF538/o9dBuj9TVLclo9DuONqt5xfWSaE6MYiFKpo/lFPJ/iSI72rYWw5Hc7w==", "cpu": [ "ppc64" ], @@ -1033,9 +1033,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.0.tgz", - "integrity": "sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.2.tgz", + "integrity": "sha512-EAz6vjPwHHs2qOCnpQkw4xs14XJq84I81sDRGPEjKPFVPBw7fwvtwhVjcZR6SLydCv8zNK8YGFblKWd/vRmP8g==", "cpu": [ "riscv64" ], @@ -1047,9 +1047,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.0.tgz", - "integrity": "sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.2.tgz", + "integrity": "sha512-IJSUX1xb8k/zN9j2I7B5Re6B0NNJDJ1+soezjNojhT8DEVeDNptq2jgycCOpRhyGj0+xBn7Cq+PK7Q+nd2hxLA==", "cpu": [ "s390x" ], @@ -1061,9 +1061,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.0.tgz", - "integrity": "sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.2.tgz", + "integrity": "sha512-OgaToJ8jSxTpgGkZSkwKE+JQGihdcaqnyHEFOSAU45utQ+yLruE1dkonB2SDI8t375wOKgNn8pQvaWY9kPzxDQ==", "cpu": [ "x64" ], @@ -1075,9 +1075,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.0.tgz", - "integrity": "sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.2.tgz", + "integrity": "sha512-5V3mPpWkB066XZZBgSd1lwozBk7tmOkKtquyCJ6T4LN3mzKENXyBwWNQn8d0Ci81hvlBw5RoFgleVpL6aScLYg==", "cpu": [ "x64" ], @@ -1089,9 +1089,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.0.tgz", - "integrity": "sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.2.tgz", + "integrity": "sha512-ayVstadfLeeXI9zUPiKRVT8qF55hm7hKa+0N1V6Vj+OTNFfKSoUxyZvzVvgtBxqSb5URQ8sK6fhwxr9/MLmxdA==", "cpu": [ "arm64" ], @@ -1103,9 +1103,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.0.tgz", - "integrity": "sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.2.tgz", + "integrity": "sha512-Mda7iG4fOLHNsPqjWSjANvNZYoW034yxgrndof0DwCy0D3FvTjeNo+HGE6oGWgvcLZNLlcp0hLEFcRs+UGsMLg==", "cpu": [ "ia32" ], @@ -1117,9 +1117,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.0.tgz", - "integrity": "sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.2.tgz", + "integrity": "sha512-DPi0ubYhSow/00YqmG1jWm3qt1F8aXziHc/UNy8bo9cpCacqhuWu+iSq/fp2SyEQK7iYTZ60fBU9cat3MXTjIQ==", "cpu": [ "x64" ], @@ -1193,9 +1193,9 @@ } }, "node_modules/@sveltejs/kit": { - "version": "2.5.18", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.18.tgz", - "integrity": "sha512-+g06hvpVAnH7b4CDjhnTDgFWBKBiQJpuSmQeGYOuzbO3SC3tdYjRNlDCrafvDtKbGiT2uxY5Dn9qdEUGVZdWOQ==", + "version": "2.5.20", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.20.tgz", + "integrity": "sha512-47rJ5BoYwURE/Rp7FNMLp3NzdbWC9DQ/PmKd0mebxT2D/PrPxZxcLImcD3zsWdX2iS6oJk8ITJbO/N2lWnnUqA==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -1328,9 +1328,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.14.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", - "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==", + "version": "20.14.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.14.tgz", + "integrity": "sha512-d64f00982fS9YoOgJkAMolK7MN8Iq3TDdVjchbYHdEmjth/DHowx82GnoA+tVUAN+7vxfYUgAzi+JXbKNd2SDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1352,17 +1352,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz", - "integrity": "sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/type-utils": "7.17.0", - "@typescript-eslint/utils": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1386,16 +1386,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", - "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" }, "engines": { @@ -1415,14 +1415,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", - "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1433,14 +1433,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz", - "integrity": "sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/utils": "7.17.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1461,9 +1461,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", - "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", "dev": true, "license": "MIT", "engines": { @@ -1475,14 +1475,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", - "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1504,16 +1504,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz", - "integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0" + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1527,13 +1527,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", - "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/types": "7.18.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -1552,14 +1552,14 @@ "license": "ISC" }, "node_modules/@vitest/expect": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.4.tgz", - "integrity": "sha512-39jr5EguIoanChvBqe34I8m1hJFI4+jxvdOpD7gslZrVQBKhh8H9eD7J/LJX4zakrw23W+dITQTDqdt43xVcJw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz", + "integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.0.4", - "@vitest/utils": "2.0.4", + "@vitest/spy": "2.0.5", + "@vitest/utils": "2.0.5", "chai": "^5.1.1", "tinyrainbow": "^1.2.0" }, @@ -1568,9 +1568,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.4.tgz", - "integrity": "sha512-RYZl31STbNGqf4l2eQM1nvKPXE0NhC6Eq0suTTePc4mtMQ1Fn8qZmjV4emZdEdG2NOWGKSCrHZjmTqDCDoeFBw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", + "integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1581,13 +1581,13 @@ } }, "node_modules/@vitest/runner": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.0.4.tgz", - "integrity": "sha512-Gk+9Su/2H2zNfNdeJR124gZckd5st4YoSuhF1Rebi37qTXKnqYyFCd9KP4vl2cQHbtuVKjfEKrNJxHHCW8thbQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.0.5.tgz", + "integrity": "sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "2.0.4", + "@vitest/utils": "2.0.5", "pathe": "^1.1.2" }, "funding": { @@ -1595,13 +1595,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.0.4.tgz", - "integrity": "sha512-or6Mzoz/pD7xTvuJMFYEtso1vJo1S5u6zBTinfl+7smGUhqybn6VjzCDMhmTyVOFWwkCMuNjmNNxnyXPgKDoPw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.0.5.tgz", + "integrity": "sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.0.4", + "@vitest/pretty-format": "2.0.5", "magic-string": "^0.30.10", "pathe": "^1.1.2" }, @@ -1610,9 +1610,9 @@ } }, "node_modules/@vitest/spy": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.4.tgz", - "integrity": "sha512-uTXU56TNoYrTohb+6CseP8IqNwlNdtPwEO0AWl+5j7NelS6x0xZZtP0bDWaLvOfUbaYwhhWp1guzXUxkC7mW7Q==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz", + "integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==", "dev": true, "license": "MIT", "dependencies": { @@ -1623,13 +1623,13 @@ } }, "node_modules/@vitest/utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.4.tgz", - "integrity": "sha512-Zc75QuuoJhOBnlo99ZVUkJIuq4Oj0zAkrQ2VzCqNCx6wAwViHEh5Fnp4fiJTE9rA+sAoXRf00Z9xGgfEzV6fzQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz", + "integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.0.4", + "@vitest/pretty-format": "2.0.5", "estree-walker": "^3.0.3", "loupe": "^3.1.1", "tinyrainbow": "^1.2.0" @@ -1824,9 +1824,9 @@ } }, "node_modules/axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.3.tgz", + "integrity": "sha512-Ar7ND9pU99eJ9GpoGQKhKf58GpUOgnzuaB7ueNQ5BMi0p+LZ5oaEnfF999fAArcTIBwXTCHAmGcHOZJaWPq9Nw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -1888,9 +1888,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -1908,9 +1908,9 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, "bin": { @@ -1974,9 +1974,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001643", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", - "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", + "version": "1.0.30001646", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001646.tgz", + "integrity": "sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw==", "dev": true, "funding": [ { @@ -2215,9 +2215,9 @@ "license": "MIT" }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, "license": "MIT", "dependencies": { @@ -2385,9 +2385,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.0.tgz", - "integrity": "sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz", + "integrity": "sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==", "dev": true, "license": "ISC" }, @@ -3556,13 +3556,13 @@ "license": "ISC" }, "node_modules/magic-string": { - "version": "0.30.10", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", - "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/mdn-data": { @@ -4178,9 +4178,9 @@ } }, "node_modules/postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.4.40", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", + "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", "dev": true, "funding": [ { @@ -4616,9 +4616,9 @@ } }, "node_modules/rollup": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.0.tgz", - "integrity": "sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.2.tgz", + "integrity": "sha512-6/jgnN1svF9PjNYJ4ya3l+cqutg49vOZ4rVgsDKxdl+5gpGPnByFXWGyfH9YGx9i3nfBwSu1Iyu6vGwFFA0BdQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4632,22 +4632,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.19.0", - "@rollup/rollup-android-arm64": "4.19.0", - "@rollup/rollup-darwin-arm64": "4.19.0", - "@rollup/rollup-darwin-x64": "4.19.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.19.0", - "@rollup/rollup-linux-arm-musleabihf": "4.19.0", - "@rollup/rollup-linux-arm64-gnu": "4.19.0", - "@rollup/rollup-linux-arm64-musl": "4.19.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.19.0", - "@rollup/rollup-linux-riscv64-gnu": "4.19.0", - "@rollup/rollup-linux-s390x-gnu": "4.19.0", - "@rollup/rollup-linux-x64-gnu": "4.19.0", - "@rollup/rollup-linux-x64-musl": "4.19.0", - "@rollup/rollup-win32-arm64-msvc": "4.19.0", - "@rollup/rollup-win32-ia32-msvc": "4.19.0", - "@rollup/rollup-win32-x64-msvc": "4.19.0", + "@rollup/rollup-android-arm-eabi": "4.19.2", + "@rollup/rollup-android-arm64": "4.19.2", + "@rollup/rollup-darwin-arm64": "4.19.2", + "@rollup/rollup-darwin-x64": "4.19.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.19.2", + "@rollup/rollup-linux-arm-musleabihf": "4.19.2", + "@rollup/rollup-linux-arm64-gnu": "4.19.2", + "@rollup/rollup-linux-arm64-musl": "4.19.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.19.2", + "@rollup/rollup-linux-riscv64-gnu": "4.19.2", + "@rollup/rollup-linux-s390x-gnu": "4.19.2", + "@rollup/rollup-linux-x64-gnu": "4.19.2", + "@rollup/rollup-linux-x64-musl": "4.19.2", + "@rollup/rollup-win32-arm64-msvc": "4.19.2", + "@rollup/rollup-win32-ia32-msvc": "4.19.2", + "@rollup/rollup-win32-x64-msvc": "4.19.2", "fsevents": "~2.3.2" } }, @@ -4775,9 +4775,9 @@ } }, "node_modules/set-cookie-parser": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", - "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.0.tgz", + "integrity": "sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==", "dev": true, "license": "MIT" }, @@ -5101,9 +5101,9 @@ } }, "node_modules/svelte-check": { - "version": "3.8.4", - "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.8.4.tgz", - "integrity": "sha512-61aHMkdinWyH8BkkTX9jPLYxYzaAAz/FK/VQqdr2FiCQQ/q04WCwDlpGbHff1GdrMYTmW8chlTFvRWL9k0A8vg==", + "version": "3.8.5", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.8.5.tgz", + "integrity": "sha512-3OGGgr9+bJ/+1nbPgsvulkLC48xBsqsgtc8Wam281H4G9F5v3mYGa2bHRsPuwHC5brKl4AxJH95QF73kmfihGQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5256,9 +5256,9 @@ } }, "node_modules/svelte2tsx": { - "version": "0.7.13", - "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.13.tgz", - "integrity": "sha512-aObZ93/kGAiLXA/I/kP+x9FriZM+GboB/ReOIGmLNbVGEd2xC+aTCppm3mk1cc9I/z60VQf7b2QDxC3jOXu3yw==", + "version": "0.7.15", + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.15.tgz", + "integrity": "sha512-91RbLJI448FR1UEZqXSS3ucVMERuWo8ACOhxfkBPK1CL2ocGMOC5bwc8tzFvb/Ji8NqZ7wmSGfvRebcUsiauKA==", "dev": true, "license": "MIT", "dependencies": { @@ -5271,9 +5271,9 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.6", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.6.tgz", - "integrity": "sha512-1uRHzPB+Vzu57ocybfZ4jh5Q3SdlH7XW23J5sQoM9LhE9eIOlzxer/3XPSsycvih3rboRsvt0QCmzSrqyOYUIA==", + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.7.tgz", + "integrity": "sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5372,9 +5372,9 @@ } }, "node_modules/tailwindcss/node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", "dev": true, "license": "ISC", "bin": { @@ -5426,9 +5426,9 @@ } }, "node_modules/tinybench": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", - "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true, "license": "MIT" }, @@ -5553,9 +5553,9 @@ } }, "node_modules/typescript-svelte-plugin": { - "version": "0.3.39", - "resolved": "https://registry.npmjs.org/typescript-svelte-plugin/-/typescript-svelte-plugin-0.3.39.tgz", - "integrity": "sha512-7c6AAhoIIIGYmERtgeBfL40/nzG4ciPqbYXweRg+AvS8tG8q7kENLmaHK6BCnwmxATxxCTio02JTQZyZMP1XVg==", + "version": "0.3.40", + "resolved": "https://registry.npmjs.org/typescript-svelte-plugin/-/typescript-svelte-plugin-0.3.40.tgz", + "integrity": "sha512-/5k/DktoxpiUp4QDRVODCYenb91sD+z4Qt4nHk2ycCAk6dUaBvlqfOdd8TRXWb+xUBWov12HsgfV68tLeI2V7g==", "dev": true, "license": "MIT", "dependencies": { @@ -5619,9 +5619,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.4.tgz", - "integrity": "sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==", + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.5.tgz", + "integrity": "sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==", "dev": true, "license": "MIT", "dependencies": { @@ -5675,9 +5675,9 @@ } }, "node_modules/vite-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.0.4.tgz", - "integrity": "sha512-ZpJVkxcakYtig5iakNeL7N3trufe3M6vGuzYAr4GsbCTwobDeyPJpE4cjDhhPluv8OvQCFzu2LWp6GkoKRITXA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.0.5.tgz", + "integrity": "sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==", "dev": true, "license": "MIT", "dependencies": { @@ -5759,19 +5759,19 @@ } }, "node_modules/vitest": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.0.4.tgz", - "integrity": "sha512-luNLDpfsnxw5QSW4bISPe6tkxVvv5wn2BBs/PuDRkhXZ319doZyLOBr1sjfB5yCEpTiU7xCAdViM8TNVGPwoog==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.0.5.tgz", + "integrity": "sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.3.0", - "@vitest/expect": "2.0.4", - "@vitest/pretty-format": "^2.0.4", - "@vitest/runner": "2.0.4", - "@vitest/snapshot": "2.0.4", - "@vitest/spy": "2.0.4", - "@vitest/utils": "2.0.4", + "@vitest/expect": "2.0.5", + "@vitest/pretty-format": "^2.0.5", + "@vitest/runner": "2.0.5", + "@vitest/snapshot": "2.0.5", + "@vitest/spy": "2.0.5", + "@vitest/utils": "2.0.5", "chai": "^5.1.1", "debug": "^4.3.5", "execa": "^8.0.1", @@ -5782,7 +5782,7 @@ "tinypool": "^1.0.0", "tinyrainbow": "^1.2.0", "vite": "^5.0.0", - "vite-node": "2.0.4", + "vite-node": "2.0.5", "why-is-node-running": "^2.3.0" }, "bin": { @@ -5797,8 +5797,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "2.0.4", - "@vitest/ui": "2.0.4", + "@vitest/browser": "2.0.5", + "@vitest/ui": "2.0.5", "happy-dom": "*", "jsdom": "*" }, diff --git a/src/lib/ae_events__event_session.ts b/src/lib/ae_events__event_session.ts index 77d4ba5a..7b5af8fa 100644 --- a/src/lib/ae_events__event_session.ts +++ b/src/lib/ae_events__event_session.ts @@ -56,13 +56,15 @@ export async function handle_load_ae_obj_id__event_session( export async function handle_load_ae_obj_li__event_session( { api_cfg, - event_id, + for_obj_type, + for_obj_id, params={}, try_cache=true, log_lvl=0 }: { api_cfg: any, - event_id: string, + for_obj_type: string, + for_obj_id: string, params?: key_val, try_cache?: boolean, log_lvl?: number @@ -82,8 +84,8 @@ export async function handle_load_ae_obj_li__event_session( ae_promises.load__event_session_obj_li = await api.get_ae_obj_li_for_obj_id_crud({ api_cfg: api_cfg, obj_type: 'event_session', - for_obj_type: 'event', - for_obj_id: event_id, + for_obj_type: for_obj_type, + for_obj_id: for_obj_id, use_alt_table: true, // NOTE: This will use the table_name_alt value instead of the table_name value in the API config. use_alt_base: false, // NOTE: This will use the base_name_alt value instead of the base_name value enabled: enabled, @@ -110,7 +112,7 @@ export async function handle_load_ae_obj_li__event_session( if (log_lvl) { console.log('ae_promises.load__event_session_obj_li:', ae_promises.load__event_session_obj_li); } - return ae_promises.load__event_session; + return ae_promises.load__event_session_obj_li; } diff --git a/src/lib/element_data_store.svelte b/src/lib/element_data_store.svelte index 2cc00d09..c0dab1d4 100644 --- a/src/lib/element_data_store.svelte +++ b/src/lib/element_data_store.svelte @@ -19,7 +19,7 @@ export let for_id: null|string = null; console.log(`ae_e_data_store ${ds_code} for_type=${for_type} for_id=${for_id} account_id=${$ae_loc.account_id}`); // export let store: string = 'local'; -// export let display: string = 'block'; +export let display: string = 'block'; // Avoid; Use class list instead export let class_li: string = ''; // : string[] = []; export let try_cache: boolean = true; diff --git a/src/routes/core/person/[person_id]/+page.ts b/src/routes/core/person/[person_id]/+page.ts index 3415b58e..eff26504 100644 --- a/src/routes/core/person/[person_id]/+page.ts +++ b/src/routes/core/person/[person_id]/+page.ts @@ -20,13 +20,17 @@ export async function load({ params, parent }) { // route if (!person_id) { console.log(`ae core person [person_id] +page.ts: The person_id was not found in the params!!!`); error(404, { - message: 'Session not found' + message: 'Person not found' }); } ae_acct.slct.person_id = person_id; - let load_person_obj = await core_func.handle_load_ae_obj_id__person({api_cfg: ae_acct.api, person_id: person_id, try_cache: false}); + let load_person_obj = await core_func.handle_load_ae_obj_id__person({ + api_cfg: ae_acct.api, + person_id: person_id, + try_cache: false + }); ae_acct.slct.person_obj = load_person_obj; diff --git a/src/routes/events_leads/exhibit/[slug]/leads_manage.svelte b/src/routes/events_leads/exhibit/[slug]/leads_manage.svelte index 250d45ac..667e401f 100644 --- a/src/routes/events_leads/exhibit/[slug]/leads_manage.svelte +++ b/src/routes/events_leads/exhibit/[slug]/leads_manage.svelte @@ -40,7 +40,7 @@ $: if ($events_slct.exhibit_id) { // } // params['return_file'] = true; -// let event_exhibit_tracking_export_file_get_promise = await api.get_object({api_cfg: ae_api, endpoint: endpoint, params: params, return_blob: true, filename: filename, auto_download: auto_download, log_lvl: log_lvl}); +// let event_exhibit_tracking_export_file_get_promise = await api.get_object({api_cfg: $ae_api, endpoint: endpoint, params: params, return_blob: true, filename: filename, auto_download: auto_download, log_lvl: log_lvl}); // // console.log(event_exhibit_tracking_export_file_get_promise); // return event_exhibit_tracking_export_file_get_promise; // } diff --git a/src/routes/events_pres_mgmt/(launcher)/+layout.svelte b/src/routes/events_pres_mgmt/(launcher)/+layout.svelte new file mode 100644 index 00000000..85a26ed1 --- /dev/null +++ b/src/routes/events_pres_mgmt/(launcher)/+layout.svelte @@ -0,0 +1,25 @@ + + + + + + + diff --git a/src/routes/events_pres_mgmt/(launcher)/+layout.ts b/src/routes/events_pres_mgmt/(launcher)/+layout.ts new file mode 100644 index 00000000..e69de29b diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts new file mode 100644 index 00000000..1858b912 --- /dev/null +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts @@ -0,0 +1,64 @@ +/** @type {import('./$types').PageLoad} */ +import { error } from '@sveltejs/kit'; +console.log(`ae pres_mgmt launcher [slug] +page.ts: start`); + +import { events_func } from '$lib/ae_events_functions'; + +export async function load({ params, parent }) { // route + let log_lvl = 0; + + let data = await parent(); + // console.log(`ae events_pres_mgmt event [slug] +page.ts data:`, data); + data.log_lvl = log_lvl; + + let account_id = data.account_id; + let ae_acct = data[account_id]; + console.log(`ae_acct = `, ae_acct); + + if (!account_id) { + console.log(`ae pres_mgmt launcher [slug] +page.ts: The account_id was not found in the data!!!`); + error(404, { + message: 'Account ID not found' + }); + } + + let event_id = params.slug; + if (!event_id) { + console.log(`ae pres_mgmt launcher [slug] +layout.ts: The event_id was not found in the params.slug!!!`); + error(404, { + message: 'Event ID not found' + }); + } + + ae_acct.slct.event_id = event_id; + + let load_event_obj = events_func.handle_load_ae_obj_id__event({api_cfg: ae_acct.api, event_id: event_id, try_cache: false}); + + ae_acct.slct.event_obj = await load_event_obj; + + let load_event_session_obj_li = events_func.handle_load_ae_obj_li__event_session({ + api_cfg: ae_acct.api, + for_obj_type: 'event', + for_obj_id: event_id, + params: {qry__enabled: 'enabled', qry__limit: 550}, + try_cache: false + }); + console.log(`load_event_session_obj_li = `, load_event_session_obj_li); + + ae_acct.slct.event_session_obj_li = load_event_session_obj_li; + + let load_event_location_obj_li = events_func.handle_load_ae_obj_li__event_location({ + api_cfg: ae_acct.api, + event_id: event_id, + params: {qry__enabled: 'enabled', qry__limit: 550}, + try_cache: false + }); + console.log(`load_event_location_obj_li = `, load_event_location_obj_li); + + ae_acct.slct.event_location_obj_li = load_event_location_obj_li; + + // WARNING: Precaution against shared data between sites and sessions. + data[account_id] = ae_acct; + + return data; +} diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page@(launcher).svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page@(launcher).svelte new file mode 100644 index 00000000..01e31599 --- /dev/null +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page@(launcher).svelte @@ -0,0 +1,213 @@ + + + + + + Launcher: {ae_util.shorten_string({ string: $lq__event_obj?.name, max_length: 20, begin_length: 10, end_length: 4 })} + ({$lq__event_obj?.event_id ?? 'loading...'}) - Pres Mgmt - {$ae_loc?.title} + + + +{#if !$lq__event_obj} +
+ + Loading... +
+{:else} +
+

Æ Presentation Launcher

+

{$lq__event_obj?.name}

+
+{/if} + + + +
+ + + +
+ {#if $events_trigger == 'load__event_session_obj' && $events_slct.event_session_id} + + + {/if} +
+ +
+ + \ No newline at end of file diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/electron.js b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/electron.js new file mode 100644 index 00000000..fbdfc863 --- /dev/null +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/electron.js @@ -0,0 +1,318 @@ +/* ### Electron Specific JavaScript ### */ +// import crypto from 'crypto'; +// import {fs} from 'fs'; +// import path from 'path'; +// const crypto = require('crypto'); +// const fs = require('fs'); +// const fs_promises = require('node:fs/promises'); +// const path = require('path'); +// const { ipcRenderer } = require('electron'); + + +// function sleep(milliseconds) { +// const date = Date.now(); +// let currentDate = null; +// do { +// currentDate = Date.now(); +// } while (currentDate - date < milliseconds); +// } + +// // exports.check_hash_file_cache should no longer be needed with this. +// // Updated 2022-10-11 +// export let check_hash_file_cache_v2 = async function check_hash_file_cache_v2({local_file_cache_path, hash, check_hash=false}) { +// console.log('*** check_hash_file_cache_v2() ***'); +// console.log(`Host File Cache Path: ${local_file_cache_path}; Hash: ${hash}`); + +// let hash_filename = `${hash}.file`; + +// let subdirectory = hash_filename.substring(0,2); +// let subdirectory_path = path.join(local_file_cache_path, subdirectory); +// if (fs.existsSync(subdirectory_path)) { +// } else { +// console.log(`Hashed file subdirectory not found in cache: ${subdirectory_path}`); +// return null; +// } + +// let hash_file_cache_path = path.join(subdirectory_path, hash_filename); + +// if (fs.existsSync(hash_file_cache_path)) { +// console.log(`Hashed file exists in cache: ${hash_file_cache_path}`); + +// if (check_hash) { +// const file_buffer = fs.readFileSync(hash_file_cache_path); +// const file_hash_sha256 = crypto.createHash('sha256'); +// file_hash_sha256.update(file_buffer); + +// const file_hash_sha256_check = file_hash_sha256.digest('hex'); +// if (file_hash_sha256_check == hash) { +// console.log('File hash match', file_hash_sha256_check); +// } else { +// console.log('File hash does not match', file_hash_sha256_check); +// return false; +// } +// } + +// return true; +// } else { +// console.log(`Hashed file not found in cache: ${hash_file_cache_path}`); +// return null; +// } +// } + + +// Updated 2022-05-07 +export let kill_processes = async function kill_processes({process_name_li=[]}) { + console.log('*** kill_processes() ***'); + console.log(`Process Name List: ${process_name_li}`); + + let fail_flag = null; + if (process_name_li) { + for (let i = 0; i < process_name_li.length; i++) { + // separate the keys and the values + let process_name = process_name_li[i]; + let signal = null; + + if (process_name == 'osit_aperture_wrapper') { + signal = 'INT'; // INT (interrupt) correctly stops the wrapper + } + + let kill_processes_result = await native_app.kill_processes({process_name: process_name, signal: signal}); + console.log(kill_processes_result); + if (kill_processes_result) { + console.log('Killed process.'); + // return kill_processes_result; + } else { + console.log('Did not kill process. Something went wrong.'); + fail_flag = true; + // return false; + } + } + } + + return fail_flag; + + // let kill_processes_result = await native_app.kill_processes({process_name: process_name}); + // console.log(kill_processes_result); + // if (kill_processes_result) { + // console.log('Killed process.'); + // return kill_processes_result; + // } else { + // console.log('Did not kill process. Something went wrong.'); + // return false; + // } +} + + +// Updated 2022-05-06 +export let open_local_file = async function open_local_file({file_path, filename}) { + console.log('*** open_local_file() ***'); + console.log(`File Path: ${file_path}; Filename: ${filename}`); + + console.log('Process: Check local hash file cache, Download hash file to cache, and Open cached hash file after copying to temp directory'); + + // let check_local_file_result = await native_app.check_local_file({local_file_path: file_path, filename: filename}); + // console.log(check_local_file_result); + // if (check_local_file_result) { + // console.log('Local file found.'); + // } else { + // console.log('Local file not found. Will not attempt to open.'); + // return false; + // } + + // console.log('Local file file found and ready to be opened.'); + let open_local_file_result = await native_app.open_local_file({local_file_path: file_path, filename: filename}); + console.log(open_local_file_result); + if (open_local_file_result) { + console.log('Local file was opened.'); + return open_local_file_result; + } else { + console.log('Local file was not opened. Something went wrong.'); + return false; + } +} + + +// exports.open_local_file should no longer be needed with this. +// Updated 2022-10-11 +export let open_local_file_v2 = async function open_local_file_v2({file_path, filename}) { + console.log('*** open_local_file_v2() ***'); + console.log(`Local File Path: ${file_path}; Filename: ${filename}`); + + console.log('Process: Check local hash file cache, Download hash file to cache, and Open cached hash file after copying to temp directory'); + + let open_local_file_result = await ipcRenderer.invoke('open_local_file', file_path, filename).then((result) => { + console.log('IPC open local file finished'); + if (result) { + console.log('Local file was opened.'); + return result; + } else { + console.log('Local file was not opened. Something went wrong.'); + console.log(result); + return false; + } + + console.log(result); + return true; + }) + + return open_local_file_result; +} + + +// // Updated 2022-05-06 +// export let open_hash_file_to_temp = async function open_hash_file_to_temp({local_file_cache_path, hash, host_file_temp_path, filename}) { +// console.log('*** open_hash_file_to_temp() ***'); +// console.log(`Host File Cache Path: ${local_file_cache_path}; Hash: ${hash}; Host File Temp Path: ${host_file_temp_path}; Filename: ${filename}`); + +// console.log('Process: Check local hash file cache, Download hash file to cache, and Open cached hash file after copying to temp directory'); + +// let open_hash_file_to_temp_result = await native_app.open_hash_file_to_temp({local_file_cache_path: local_file_cache_path, hash: hash, host_file_temp_path: host_file_temp_path, filename: filename}); +// console.log(open_hash_file_to_temp_result); +// if (open_hash_file_to_temp_result) { +// console.log('Local hash file was opened from temp directory.'); +// return open_hash_file_to_temp_result; +// } else { +// console.log('Local hash file was not opened from the temp directory. Something went wrong.'); +// return false; +// } +// } + +// // exports.open_hash_file_to_temp should no longer be needed with this. +// // Updated 2022-10-11 +// export let open_hash_file_to_temp_v2 = async function open_hash_file_to_temp_v2({local_file_cache_path, hash, host_file_temp_path, filename}) { +// console.log('*** open_hash_file_to_temp_v2() ***'); +// console.log(`Host File Cache Path: ${local_file_cache_path}; Hash: ${hash}; Host File Temp Path: ${host_file_temp_path}; Filename: ${filename}`); + +// console.log('Process: Check local hash file cache, Download hash file to cache, and Open cached hash file after copying to temp directory'); + +// let subdirectory = hash.substring(0,2); +// let subdirectory_path = path.join(local_file_cache_path, subdirectory); +// if (fs.existsSync(subdirectory_path)) { +// } else { +// console.log(`Hashed file subdirectory not found in cache: ${subdirectory_path}`); +// return null; +// } + +// let hash_filename = hash+'.file'; +// let full_cache_file_path = path.join(subdirectory_path, hash_filename); +// console.log(full_cache_file_path); + +// const file_buffer = fs.readFileSync(full_cache_file_path); +// const file_hash_sha256 = crypto.createHash('sha256'); +// file_hash_sha256.update(file_buffer); + +// const file_hash_sha256_check = file_hash_sha256.digest('hex'); +// if (file_hash_sha256_check == hash) { +// console.log('File hash match', file_hash_sha256_check); +// } else { +// console.log('File hash does not match', file_hash_sha256_check); +// // await setTimeout(async () => {console.log('Done waiting????'); open_file_clicked = false;}, 5000); +// // sleep(6000); +// // console.log('???????? WAITED X SECONDS ????????'); +// return false; +// } + +// let open_hash_file_to_temp_result = await ipcRenderer.invoke('open_hash_file_to_temp', subdirectory_path, hash, host_file_temp_path, filename).then((result) => { +// console.log('IPC open hash file to temp finished'); +// if (result) { +// console.log('Local hash file was opened from temp directory.'); +// return result; +// } else { +// console.log('Local hash file was not opened from the temp directory. Something went wrong.'); +// console.log(result); +// return false; +// } +// }) + +// return open_hash_file_to_temp_result; +// } + + +// Updated 2022-05-07 +export let run_cmd = async function run_cmd({cmd=null, return_stdout=null}) { + console.log('*** run_cmd() ***'); + + let run_cmd_result = await native_app.run_cmd({cmd: cmd, return_stdout: return_stdout}) + .then(function (result) { + if (result) { + console.log('Command ran'); + } else { + console.log('Command did not run. Something went wrong.'); + return false; + } + if (return_stdout) { + return result; + } else { + return true; + } + + }); + + console.log('Run Command Result:', run_cmd_result); + + return run_cmd_result; +} + + +// Updated 2022-10-27 +export let run_cmd_sync = function run_cmd_sync({cmd=null, return_stdout=null}) { + console.log('*** run_cmd_sync() ***'); + + let run_cmd_result = native_app.run_cmd_sync({cmd: cmd, return_stdout: return_stdout}); + + // if (run_cmd_result) { + // console.log('Command ran'); + // } else { + // console.log('Command did not run. Something went wrong.'); + // // return false; + // } + + // if (return_stdout) { + // return run_cmd_result; + // } else { + // return true; + // } + + console.log('Run Command Result:', run_cmd_result); + + return run_cmd_result; +} + + +// Updated 2022-05-07 +export let run_osascript = async function run_osascript({cmd=null, interactive=false, language=null, flags='h', program_file=null}) { + console.log('*** run_osascript() ***'); + + let run_osascript_result = await native_app.run_osascript({cmd: cmd, interactive: interactive, language: language, flags: flags, program_file: program_file}); + + console.log(run_osascript_result); + + if (run_osascript_result) { + console.log('Apple Script ran'); + } else { + console.log('Apple Script did not run. Something went wrong.'); + } + + return run_osascript_result; +} + + + +// Updated 2022-05-07 +export let get_device_info = async function get_device_info({event_device_id}) { + console.log('*** get_device_info() ***'); + + console.log(event_device_id); + + let get_device_info_result = await native_app.get_device_info(); + + console.log(get_device_info_result); + + if (get_device_info_result) { + console.log('Success'); + } else { + console.log('Failed? Something went wrong.'); + } + + return get_device_info_result; +} \ No newline at end of file diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/element_input_file.svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/element_input_file.svelte new file mode 100644 index 00000000..d1c70b00 --- /dev/null +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/element_input_file.svelte @@ -0,0 +1,327 @@ + + + +
+ + + + + {#if use_selected_file_table && input_file_list_processed && input_file_list_processed.length} + Files selected for upload + + + + + + + + + + + + + {#each input_file_list_processed as file_list_item, file_index} + + + + + + + + + + + + {/each} + +
RemoveFilenameModifiedSizeExtHash
+ + {file_list_item.filename}{file_list_item.modified_datetime_string}{file_list_item.file_size_string}{file_list_item.guessed_extension} + {ae.util.shorten_string({string: file_list_item.hash_sha256, begin_length: 5, end_length: 4, wildcard_length: 2})} +
+ {/if} + + + +
+ + + diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_file_cont.svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_file_cont.svelte new file mode 100644 index 00000000..303f243f --- /dev/null +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_file_cont.svelte @@ -0,0 +1,421 @@ + + + +
+ + +{#if open_file_clicked} +
+ {#if ($ae_event_launcher.app_mode == 'native')} + {#if (open_file_status)} +
*** {open_file_status_message} ***
+ {/if} + + +

Most files will automatically be opened full screen.

+

PowerPoint or KeyNote will attempt to display in presenter view.

+

PDFs, videos, and images will attempt to be displayed mirrored.

+

Please close the file when finished.

+ {:else if ($ae_event_launcher.app_mode == 'onsite')} + *** Please wait while this file loads... *** +

Most files will automatically be opened full screen.

+

PowerPoint or KeyNote will attempt to display in presenter view.

+

PDFs, videos, and images will attempt to be displayed mirrored.

+

Please close the file when finished.

+ {:else} + *** Please wait while this file downloads... *** +

Onsite in the Speaker Ready Room and conference session rooms: +

    +
  • Most files will automatically be opened full screen.
  • +
  • PowerPoint or KeyNote will attempt to display in presenter view.
  • +
  • PDFs, videos, and images will attempt to be displayed mirrored.
  • +
  • Please close the file when finished.
  • +
+ {/if} +
+{/if} + +{#if (open_file_as == 'poster')} + + + +{:else if ($ae_event_launcher.app_mode == 'native')} + {handle_open_file();}} + data-hash_sha256={event_file_obj.hash_sha256} + data-filename={event_file_obj.filename} + title={`${event_file_obj.filename} [A] -- SHA256 hash: ${event_file_obj.hash_sha256.slice(0, 10)}...`} + > + {ae.util.shorten_filename(event_file_obj.filename, max_filename_length)} + +{:else if ($ae_event_launcher.app_mode == 'onsite' && (event_file_obj.extension == 'ppt' || event_file_obj.extension == 'pptx') && event_file_obj.open_in_os == 'win')} + {handle_open_file();}} + data-hash_sha256={event_file_obj.hash_sha256} + data-filename={event_file_obj.filename} + title={`${event_file_obj.filename} [A] -- SHA256 hash: ${event_file_obj.hash_sha256.slice(0, 10)}...`} + > + {ae.util.shorten_filename(event_file_obj.filename, max_filename_length)} + +{:else} + + + + + +{/if} + + +
+ + + + {ae.util.iso_datetime_formatter(event_file_obj.created_on, 'datetime_short')} + + + {#if event_file_obj.file_size}{ae.util.format_bytes(event_file_obj.file_size)}{/if} + + + {#if event_file_obj.open_in_os == 'win'} + Win + {:else if event_file_obj.open_in_os == 'mac'} + Mac + {:else} + + {/if} + + + + + + + + + + +
+ + + diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_menu.svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_menu.svelte new file mode 100644 index 00000000..d56db4f8 --- /dev/null +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_menu.svelte @@ -0,0 +1,264 @@ + + + +

{dq__event_obj?.cfg_json.short_name ?? 'loading...'}

+ + +{#if $lq_kv__event_location_obj_li && $lq_kv__event_location_obj_li.length > 0} + + Locations: + {#if $ae_loc.administrator_access} + ({$lq_kv__event_location_obj_li?.length}) + {/if} + + +{:else} +

+ No locations found. + Event ID: {dq__event_obj.id} +

+{/if} + + + + +{#await load_event_session_obj_li} +

Loading...

+{:then event_session_obj_li} + +{#if event_session_id_li && event_session_id_li.length > 0} + +{/if} + +{/await} + + \ No newline at end of file diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_session_view.svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_session_view.svelte new file mode 100644 index 00000000..afd26bc3 --- /dev/null +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_session_view.svelte @@ -0,0 +1,191 @@ + + +{$events_slct.event_session_id} + +
+ + + {#if $events_slct.event_session_obj && $events_slct.event_session_obj.event_session_id_random} +
+
+ {ae_util.iso_datetime_formatter($events_slct.event_session_obj.start_datetime, 'week_long')} + {ae_util.iso_datetime_formatter($events_slct.event_session_obj.start_datetime, 'date_long_month_day')} + {ae_util.iso_datetime_formatter($events_slct.event_session_obj.start_datetime, 'time_short')} + – + {ae_util.iso_datetime_formatter($events_slct.event_session_obj.end_datetime, 'time_short')} +
+

+ {$events_slct.event_session_obj.name} + {#if $events_slct.event_session_obj.code} + {$events_slct.event_session_obj.code} + {/if} +

+
+ +
+ {@html $events_slct.event_session_obj.description} +
+ + {#if $events_slct.event_session_obj?.event_file_list && $events_slct.event_session_obj?.event_file_list.length } +
+
+ Session Files: + {#if $ae_loc.trusted_access || $events_loc.launcher.trusted_access} + + {/if} +
+
    + {#each $events_slct.event_session_obj.event_file_list as event_file_obj, index} +
  • + +
  • + {/each} +
+
+ {/if} + +
+ + {#if $events_slct.event_presentation_obj_li && $events_slct.event_presentation_obj_li.length} +
    + {#each $events_slct.event_presentation_obj_li as event_presentation_obj, index} +
  • +
    + {#if event_presentation_obj.start_datetime} + {ae_util.iso_datetime_formatter(event_presentation_obj.start_datetime, 'time_short')} + {/if} + + {event_presentation_obj.name} + +
    + {#if event_presentation_obj.event_presenter_list.length} +
      + {#each event_presentation_obj.event_presenter_list as event_presenter_obj, index} +
    • + + {#if event_presenter_obj.display_name }{event_presenter_obj.display_name}{:else }{event_presenter_obj.full_name}{/if } + {#if show_designations && event_presenter_obj.designations}{event_presenter_obj.designations}{/if} + {#if show_email && event_presenter_obj.email}{event_presenter_obj.email}{/if} + + + {#if $ae_loc.trusted_access || $events_loc.launcher.trusted_access} + + {/if} + + {#if event_presenter_obj.event_file_list.length } +
        + {#each event_presenter_obj.event_file_list as event_file_obj, index} +
      • + +
      • + {/each} +
      + {:else} + No files to display + {/if} + +
    • + {/each} +
    + {:else} + No presentations to display + {/if} +
  • + {/each} +
+ {:else} +

No presentations available to display.

+ {/if} +
+ {:else} + + No session selected + {/if} +
+ + + + + + diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/menu_session_list.svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/menu_session_list.svelte new file mode 100644 index 00000000..1e73f880 --- /dev/null +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/menu_session_list.svelte @@ -0,0 +1,75 @@ + + +{#if $lq_kv__event_session_obj_li && $lq_kv__event_session_obj_li.length > 0} + + Sessions: + {#if $ae_loc.administrator_access} + ({$lq_kv__event_session_obj_li?.length}) + {/if} + + +{:else} +

+ No sessions found. + +

+{/if} + \ No newline at end of file diff --git a/src/routes/events_pres_mgmt/event/[slug]/+page.ts b/src/routes/events_pres_mgmt/event/[slug]/+page.ts index 9aa1c815..911a8cc1 100644 --- a/src/routes/events_pres_mgmt/event/[slug]/+page.ts +++ b/src/routes/events_pres_mgmt/event/[slug]/+page.ts @@ -35,8 +35,9 @@ export async function load({ params, parent }) { // route let load_event_session_obj_li = events_func.handle_load_ae_obj_li__event_session({ api_cfg: ae_acct.api, - event_id: event_id, - params: {enabled: 'all', qry__limit: 550}, + for_obj_type: 'event', + for_obj_id: event_id, + params: {qry__enabled: 'enabled', qry__limit: 550}, try_cache: false }); console.log(`load_event_session_obj_li = `, load_event_session_obj_li);