forked from phc/orario
first brutal rework and first prototype
This commit is contained in:
Generated
+167
-157
@@ -1,30 +1,40 @@
|
||||
lockfileVersion: 5.4
|
||||
lockfileVersion: '6.0'
|
||||
|
||||
specifiers:
|
||||
'@babel/core': ^7.18.13
|
||||
'@preact/preset-vite': ^2.3.0
|
||||
date-fns: ^2.29.2
|
||||
lodash: ^4.17.21
|
||||
lodash-es: ^4.17.21
|
||||
preact: ^10.10.6
|
||||
sass: ^1.54.8
|
||||
vite: ^3.0.9
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
dependencies:
|
||||
date-fns: 2.29.2
|
||||
lodash: 4.17.21
|
||||
lodash-es: 4.17.21
|
||||
preact: 10.10.6
|
||||
sass: 1.54.8
|
||||
vite: 3.0.9_sass@1.54.8
|
||||
date-fns:
|
||||
specifier: ^2.29.2
|
||||
version: 2.29.2
|
||||
lodash:
|
||||
specifier: ^4.17.21
|
||||
version: 4.17.21
|
||||
lodash-es:
|
||||
specifier: ^4.17.21
|
||||
version: 4.17.21
|
||||
preact:
|
||||
specifier: ^10.10.6
|
||||
version: 10.10.6
|
||||
sass:
|
||||
specifier: ^1.54.8
|
||||
version: 1.54.8
|
||||
vite:
|
||||
specifier: ^3.0.9
|
||||
version: 3.0.9(sass@1.54.8)
|
||||
|
||||
devDependencies:
|
||||
'@babel/core': 7.18.13
|
||||
'@preact/preset-vite': 2.3.0_wibdudaz52xr4lhcmpvnys3x3u
|
||||
'@babel/core':
|
||||
specifier: ^7.18.13
|
||||
version: 7.18.13
|
||||
'@preact/preset-vite':
|
||||
specifier: ^2.3.0
|
||||
version: 2.3.0(@babel/core@7.18.13)(preact@10.10.6)(vite@3.0.9)
|
||||
|
||||
packages:
|
||||
|
||||
/@ampproject/remapping/2.2.0:
|
||||
/@ampproject/remapping@2.2.0:
|
||||
resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
dependencies:
|
||||
@@ -32,26 +42,26 @@ packages:
|
||||
'@jridgewell/trace-mapping': 0.3.15
|
||||
dev: true
|
||||
|
||||
/@babel/code-frame/7.18.6:
|
||||
/@babel/code-frame@7.18.6:
|
||||
resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/highlight': 7.18.6
|
||||
dev: true
|
||||
|
||||
/@babel/compat-data/7.18.13:
|
||||
/@babel/compat-data@7.18.13:
|
||||
resolution: {integrity: sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/core/7.18.13:
|
||||
/@babel/core@7.18.13:
|
||||
resolution: {integrity: sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.2.0
|
||||
'@babel/code-frame': 7.18.6
|
||||
'@babel/generator': 7.18.13
|
||||
'@babel/helper-compilation-targets': 7.18.9_@babel+core@7.18.13
|
||||
'@babel/helper-compilation-targets': 7.18.9(@babel/core@7.18.13)
|
||||
'@babel/helper-module-transforms': 7.18.9
|
||||
'@babel/helpers': 7.18.9
|
||||
'@babel/parser': 7.18.13
|
||||
@@ -67,7 +77,7 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/generator/7.18.13:
|
||||
/@babel/generator@7.18.13:
|
||||
resolution: {integrity: sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
@@ -76,14 +86,14 @@ packages:
|
||||
jsesc: 2.5.2
|
||||
dev: true
|
||||
|
||||
/@babel/helper-annotate-as-pure/7.18.6:
|
||||
/@babel/helper-annotate-as-pure@7.18.6:
|
||||
resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.18.13
|
||||
dev: true
|
||||
|
||||
/@babel/helper-compilation-targets/7.18.9_@babel+core@7.18.13:
|
||||
/@babel/helper-compilation-targets@7.18.9(@babel/core@7.18.13):
|
||||
resolution: {integrity: sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
peerDependencies:
|
||||
@@ -96,12 +106,12 @@ packages:
|
||||
semver: 6.3.0
|
||||
dev: true
|
||||
|
||||
/@babel/helper-environment-visitor/7.18.9:
|
||||
/@babel/helper-environment-visitor@7.18.9:
|
||||
resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/helper-function-name/7.18.9:
|
||||
/@babel/helper-function-name@7.18.9:
|
||||
resolution: {integrity: sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
@@ -109,21 +119,21 @@ packages:
|
||||
'@babel/types': 7.18.13
|
||||
dev: true
|
||||
|
||||
/@babel/helper-hoist-variables/7.18.6:
|
||||
/@babel/helper-hoist-variables@7.18.6:
|
||||
resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.18.13
|
||||
dev: true
|
||||
|
||||
/@babel/helper-module-imports/7.18.6:
|
||||
/@babel/helper-module-imports@7.18.6:
|
||||
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.18.13
|
||||
dev: true
|
||||
|
||||
/@babel/helper-module-transforms/7.18.9:
|
||||
/@babel/helper-module-transforms@7.18.9:
|
||||
resolution: {integrity: sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
@@ -139,41 +149,41 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/helper-plugin-utils/7.18.9:
|
||||
/@babel/helper-plugin-utils@7.18.9:
|
||||
resolution: {integrity: sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/helper-simple-access/7.18.6:
|
||||
/@babel/helper-simple-access@7.18.6:
|
||||
resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.18.13
|
||||
dev: true
|
||||
|
||||
/@babel/helper-split-export-declaration/7.18.6:
|
||||
/@babel/helper-split-export-declaration@7.18.6:
|
||||
resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.18.13
|
||||
dev: true
|
||||
|
||||
/@babel/helper-string-parser/7.18.10:
|
||||
/@babel/helper-string-parser@7.18.10:
|
||||
resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/helper-validator-identifier/7.18.6:
|
||||
/@babel/helper-validator-identifier@7.18.6:
|
||||
resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/helper-validator-option/7.18.6:
|
||||
/@babel/helper-validator-option@7.18.6:
|
||||
resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/helpers/7.18.9:
|
||||
/@babel/helpers@7.18.9:
|
||||
resolution: {integrity: sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
@@ -184,7 +194,7 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/highlight/7.18.6:
|
||||
/@babel/highlight@7.18.6:
|
||||
resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
@@ -193,7 +203,7 @@ packages:
|
||||
js-tokens: 4.0.0
|
||||
dev: true
|
||||
|
||||
/@babel/parser/7.18.13:
|
||||
/@babel/parser@7.18.13:
|
||||
resolution: {integrity: sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
hasBin: true
|
||||
@@ -201,7 +211,7 @@ packages:
|
||||
'@babel/types': 7.18.13
|
||||
dev: true
|
||||
|
||||
/@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.18.13:
|
||||
/@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.18.13):
|
||||
resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
peerDependencies:
|
||||
@@ -211,17 +221,17 @@ packages:
|
||||
'@babel/helper-plugin-utils': 7.18.9
|
||||
dev: true
|
||||
|
||||
/@babel/plugin-transform-react-jsx-development/7.18.6_@babel+core@7.18.13:
|
||||
/@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.18.13):
|
||||
resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0-0
|
||||
dependencies:
|
||||
'@babel/core': 7.18.13
|
||||
'@babel/plugin-transform-react-jsx': 7.18.10_@babel+core@7.18.13
|
||||
'@babel/plugin-transform-react-jsx': 7.18.10(@babel/core@7.18.13)
|
||||
dev: true
|
||||
|
||||
/@babel/plugin-transform-react-jsx/7.18.10_@babel+core@7.18.13:
|
||||
/@babel/plugin-transform-react-jsx@7.18.10(@babel/core@7.18.13):
|
||||
resolution: {integrity: sha512-gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
peerDependencies:
|
||||
@@ -231,11 +241,11 @@ packages:
|
||||
'@babel/helper-annotate-as-pure': 7.18.6
|
||||
'@babel/helper-module-imports': 7.18.6
|
||||
'@babel/helper-plugin-utils': 7.18.9
|
||||
'@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.18.13
|
||||
'@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.18.13)
|
||||
'@babel/types': 7.18.13
|
||||
dev: true
|
||||
|
||||
/@babel/template/7.18.10:
|
||||
/@babel/template@7.18.10:
|
||||
resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
@@ -244,7 +254,7 @@ packages:
|
||||
'@babel/types': 7.18.13
|
||||
dev: true
|
||||
|
||||
/@babel/traverse/7.18.13:
|
||||
/@babel/traverse@7.18.13:
|
||||
resolution: {integrity: sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
@@ -262,7 +272,7 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/types/7.18.13:
|
||||
/@babel/types@7.18.13:
|
||||
resolution: {integrity: sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
@@ -271,7 +281,7 @@ packages:
|
||||
to-fast-properties: 2.0.0
|
||||
dev: true
|
||||
|
||||
/@esbuild/linux-loong64/0.14.54:
|
||||
/@esbuild/linux-loong64@0.14.54:
|
||||
resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [loong64]
|
||||
@@ -279,7 +289,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/@jridgewell/gen-mapping/0.1.1:
|
||||
/@jridgewell/gen-mapping@0.1.1:
|
||||
resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
dependencies:
|
||||
@@ -287,7 +297,7 @@ packages:
|
||||
'@jridgewell/sourcemap-codec': 1.4.14
|
||||
dev: true
|
||||
|
||||
/@jridgewell/gen-mapping/0.3.2:
|
||||
/@jridgewell/gen-mapping@0.3.2:
|
||||
resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
dependencies:
|
||||
@@ -296,53 +306,53 @@ packages:
|
||||
'@jridgewell/trace-mapping': 0.3.15
|
||||
dev: true
|
||||
|
||||
/@jridgewell/resolve-uri/3.1.0:
|
||||
/@jridgewell/resolve-uri@3.1.0:
|
||||
resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
dev: true
|
||||
|
||||
/@jridgewell/set-array/1.1.2:
|
||||
/@jridgewell/set-array@1.1.2:
|
||||
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
dev: true
|
||||
|
||||
/@jridgewell/sourcemap-codec/1.4.14:
|
||||
/@jridgewell/sourcemap-codec@1.4.14:
|
||||
resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
|
||||
dev: true
|
||||
|
||||
/@jridgewell/trace-mapping/0.3.15:
|
||||
/@jridgewell/trace-mapping@0.3.15:
|
||||
resolution: {integrity: sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==}
|
||||
dependencies:
|
||||
'@jridgewell/resolve-uri': 3.1.0
|
||||
'@jridgewell/sourcemap-codec': 1.4.14
|
||||
dev: true
|
||||
|
||||
/@preact/preset-vite/2.3.0_wibdudaz52xr4lhcmpvnys3x3u:
|
||||
/@preact/preset-vite@2.3.0(@babel/core@7.18.13)(preact@10.10.6)(vite@3.0.9):
|
||||
resolution: {integrity: sha512-0kOuz7wdrQLqrPlyI/Ypw9IWDF2++GGcOHMRBYO5T2w2+dheelaBH+XrIN/okqdsGIflzFIFNyIGubo5BC8wbQ==}
|
||||
peerDependencies:
|
||||
'@babel/core': 7.x
|
||||
vite: 2.x || 3.x
|
||||
dependencies:
|
||||
'@babel/core': 7.18.13
|
||||
'@babel/plugin-transform-react-jsx': 7.18.10_@babel+core@7.18.13
|
||||
'@babel/plugin-transform-react-jsx-development': 7.18.6_@babel+core@7.18.13
|
||||
'@prefresh/vite': 2.2.8_preact@10.10.6+vite@3.0.9
|
||||
'@babel/plugin-transform-react-jsx': 7.18.10(@babel/core@7.18.13)
|
||||
'@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.18.13)
|
||||
'@prefresh/vite': 2.2.8(preact@10.10.6)(vite@3.0.9)
|
||||
'@rollup/pluginutils': 4.2.1
|
||||
babel-plugin-transform-hook-names: 1.0.2_@babel+core@7.18.13
|
||||
babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.18.13)
|
||||
debug: 4.3.4
|
||||
kolorist: 1.5.1
|
||||
resolve: 1.22.1
|
||||
vite: 3.0.9_sass@1.54.8
|
||||
vite: 3.0.9(sass@1.54.8)
|
||||
transitivePeerDependencies:
|
||||
- preact
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@prefresh/babel-plugin/0.4.3:
|
||||
/@prefresh/babel-plugin@0.4.3:
|
||||
resolution: {integrity: sha512-fYAWbU1WDSLn108kKY4eDaaeUcnszFqXjgaGKYXNZ5NLulpRTpsrY+Sbfo9q8LDpWrBpqIgzjrwNnvglWI1xNQ==}
|
||||
dev: true
|
||||
|
||||
/@prefresh/core/1.3.4_preact@10.10.6:
|
||||
/@prefresh/core@1.3.4(preact@10.10.6):
|
||||
resolution: {integrity: sha512-s7iNsnyJ3lZEUrYIgmVIB/hKtp4U6mdD91a31Zg7Q8M49O0x2KThrbrMQYraoDDrs4STdFB8Zv6bceUguOoX1A==}
|
||||
peerDependencies:
|
||||
preact: ^10.0.0
|
||||
@@ -350,11 +360,11 @@ packages:
|
||||
preact: 10.10.6
|
||||
dev: true
|
||||
|
||||
/@prefresh/utils/1.1.3:
|
||||
/@prefresh/utils@1.1.3:
|
||||
resolution: {integrity: sha512-Mb9abhJTOV4yCfkXrMrcgFiFT7MfNOw8sDa+XyZBdq/Ai2p4Zyxqsb3EgHLOEdHpMj6J9aiZ54W8H6FTam1u+A==}
|
||||
dev: true
|
||||
|
||||
/@prefresh/vite/2.2.8_preact@10.10.6+vite@3.0.9:
|
||||
/@prefresh/vite@2.2.8(preact@10.10.6)(vite@3.0.9):
|
||||
resolution: {integrity: sha512-yGGa+PKPYPTzMlxgQ8aBgxw9K69I8X4iQ0E6KOcIvls96WKqKLLOYZW9SUgCve446jpUXvc9udviPBZjCeZIIQ==}
|
||||
peerDependencies:
|
||||
preact: ^10.4.0
|
||||
@@ -362,16 +372,16 @@ packages:
|
||||
dependencies:
|
||||
'@babel/core': 7.18.13
|
||||
'@prefresh/babel-plugin': 0.4.3
|
||||
'@prefresh/core': 1.3.4_preact@10.10.6
|
||||
'@prefresh/core': 1.3.4(preact@10.10.6)
|
||||
'@prefresh/utils': 1.1.3
|
||||
'@rollup/pluginutils': 4.2.1
|
||||
preact: 10.10.6
|
||||
vite: 3.0.9_sass@1.54.8
|
||||
vite: 3.0.9(sass@1.54.8)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@rollup/pluginutils/4.2.1:
|
||||
/@rollup/pluginutils@4.2.1:
|
||||
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
|
||||
engines: {node: '>= 8.0.0'}
|
||||
dependencies:
|
||||
@@ -379,21 +389,21 @@ packages:
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/ansi-styles/3.2.1:
|
||||
/ansi-styles@3.2.1:
|
||||
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
color-convert: 1.9.3
|
||||
dev: true
|
||||
|
||||
/anymatch/3.1.2:
|
||||
/anymatch@3.1.2:
|
||||
resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
|
||||
engines: {node: '>= 8'}
|
||||
dependencies:
|
||||
normalize-path: 3.0.0
|
||||
picomatch: 2.3.1
|
||||
|
||||
/babel-plugin-transform-hook-names/1.0.2_@babel+core@7.18.13:
|
||||
/babel-plugin-transform-hook-names@1.0.2(@babel/core@7.18.13):
|
||||
resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.12.10
|
||||
@@ -401,17 +411,17 @@ packages:
|
||||
'@babel/core': 7.18.13
|
||||
dev: true
|
||||
|
||||
/binary-extensions/2.2.0:
|
||||
/binary-extensions@2.2.0:
|
||||
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
/braces/3.0.2:
|
||||
/braces@3.0.2:
|
||||
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
fill-range: 7.0.1
|
||||
|
||||
/browserslist/4.21.3:
|
||||
/browserslist@4.21.3:
|
||||
resolution: {integrity: sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==}
|
||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||
hasBin: true
|
||||
@@ -419,14 +429,14 @@ packages:
|
||||
caniuse-lite: 1.0.30001388
|
||||
electron-to-chromium: 1.4.241
|
||||
node-releases: 2.0.6
|
||||
update-browserslist-db: 1.0.7_browserslist@4.21.3
|
||||
update-browserslist-db: 1.0.7(browserslist@4.21.3)
|
||||
dev: true
|
||||
|
||||
/caniuse-lite/1.0.30001388:
|
||||
/caniuse-lite@1.0.30001388:
|
||||
resolution: {integrity: sha512-znVbq4OUjqgLxMxoNX2ZeeLR0d7lcDiE5uJ4eUiWdml1J1EkxbnQq6opT9jb9SMfJxB0XA16/ziHwni4u1I3GQ==}
|
||||
dev: true
|
||||
|
||||
/chalk/2.4.2:
|
||||
/chalk@2.4.2:
|
||||
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
@@ -435,7 +445,7 @@ packages:
|
||||
supports-color: 5.5.0
|
||||
dev: true
|
||||
|
||||
/chokidar/3.5.3:
|
||||
/chokidar@3.5.3:
|
||||
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
|
||||
engines: {node: '>= 8.10.0'}
|
||||
dependencies:
|
||||
@@ -449,28 +459,28 @@ packages:
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
|
||||
/color-convert/1.9.3:
|
||||
/color-convert@1.9.3:
|
||||
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
|
||||
dependencies:
|
||||
color-name: 1.1.3
|
||||
dev: true
|
||||
|
||||
/color-name/1.1.3:
|
||||
/color-name@1.1.3:
|
||||
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
|
||||
dev: true
|
||||
|
||||
/convert-source-map/1.8.0:
|
||||
/convert-source-map@1.8.0:
|
||||
resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==}
|
||||
dependencies:
|
||||
safe-buffer: 5.1.2
|
||||
dev: true
|
||||
|
||||
/date-fns/2.29.2:
|
||||
/date-fns@2.29.2:
|
||||
resolution: {integrity: sha512-0VNbwmWJDS/G3ySwFSJA3ayhbURMTJLtwM2DTxf9CWondCnh6DTNlO9JgRSq6ibf4eD0lfMJNBxUdEAHHix+bA==}
|
||||
engines: {node: '>=0.11'}
|
||||
dev: false
|
||||
|
||||
/debug/4.3.4:
|
||||
/debug@4.3.4:
|
||||
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
||||
engines: {node: '>=6.0'}
|
||||
peerDependencies:
|
||||
@@ -482,11 +492,11 @@ packages:
|
||||
ms: 2.1.2
|
||||
dev: true
|
||||
|
||||
/electron-to-chromium/1.4.241:
|
||||
/electron-to-chromium@1.4.241:
|
||||
resolution: {integrity: sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw==}
|
||||
dev: true
|
||||
|
||||
/esbuild-android-64/0.14.54:
|
||||
/esbuild-android-64@0.14.54:
|
||||
resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
@@ -494,7 +504,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-android-arm64/0.14.54:
|
||||
/esbuild-android-arm64@0.14.54:
|
||||
resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
@@ -502,7 +512,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-darwin-64/0.14.54:
|
||||
/esbuild-darwin-64@0.14.54:
|
||||
resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
@@ -510,7 +520,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-darwin-arm64/0.14.54:
|
||||
/esbuild-darwin-arm64@0.14.54:
|
||||
resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
@@ -518,7 +528,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-freebsd-64/0.14.54:
|
||||
/esbuild-freebsd-64@0.14.54:
|
||||
resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
@@ -526,7 +536,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-freebsd-arm64/0.14.54:
|
||||
/esbuild-freebsd-arm64@0.14.54:
|
||||
resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
@@ -534,7 +544,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-32/0.14.54:
|
||||
/esbuild-linux-32@0.14.54:
|
||||
resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
@@ -542,7 +552,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-64/0.14.54:
|
||||
/esbuild-linux-64@0.14.54:
|
||||
resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
@@ -550,15 +560,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-arm/0.14.54:
|
||||
resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-arm64/0.14.54:
|
||||
/esbuild-linux-arm64@0.14.54:
|
||||
resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
@@ -566,7 +568,15 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-mips64le/0.14.54:
|
||||
/esbuild-linux-arm@0.14.54:
|
||||
resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-mips64le@0.14.54:
|
||||
resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [mips64el]
|
||||
@@ -574,7 +584,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-ppc64le/0.14.54:
|
||||
/esbuild-linux-ppc64le@0.14.54:
|
||||
resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
@@ -582,7 +592,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-riscv64/0.14.54:
|
||||
/esbuild-linux-riscv64@0.14.54:
|
||||
resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [riscv64]
|
||||
@@ -590,7 +600,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-s390x/0.14.54:
|
||||
/esbuild-linux-s390x@0.14.54:
|
||||
resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [s390x]
|
||||
@@ -598,7 +608,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-netbsd-64/0.14.54:
|
||||
/esbuild-netbsd-64@0.14.54:
|
||||
resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
@@ -606,7 +616,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-openbsd-64/0.14.54:
|
||||
/esbuild-openbsd-64@0.14.54:
|
||||
resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
@@ -614,7 +624,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-sunos-64/0.14.54:
|
||||
/esbuild-sunos-64@0.14.54:
|
||||
resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
@@ -622,7 +632,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-windows-32/0.14.54:
|
||||
/esbuild-windows-32@0.14.54:
|
||||
resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
@@ -630,7 +640,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-windows-64/0.14.54:
|
||||
/esbuild-windows-64@0.14.54:
|
||||
resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
@@ -638,7 +648,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild-windows-arm64/0.14.54:
|
||||
/esbuild-windows-arm64@0.14.54:
|
||||
resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
@@ -646,7 +656,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/esbuild/0.14.54:
|
||||
/esbuild@0.14.54:
|
||||
resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
@@ -674,147 +684,147 @@ packages:
|
||||
esbuild-windows-64: 0.14.54
|
||||
esbuild-windows-arm64: 0.14.54
|
||||
|
||||
/escalade/3.1.1:
|
||||
/escalade@3.1.1:
|
||||
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/escape-string-regexp/1.0.5:
|
||||
/escape-string-regexp@1.0.5:
|
||||
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
|
||||
engines: {node: '>=0.8.0'}
|
||||
dev: true
|
||||
|
||||
/estree-walker/2.0.2:
|
||||
/estree-walker@2.0.2:
|
||||
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
|
||||
dev: true
|
||||
|
||||
/fill-range/7.0.1:
|
||||
/fill-range@7.0.1:
|
||||
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
to-regex-range: 5.0.1
|
||||
|
||||
/fsevents/2.3.2:
|
||||
/fsevents@2.3.2:
|
||||
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
|
||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/function-bind/1.1.1:
|
||||
/function-bind@1.1.1:
|
||||
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
|
||||
|
||||
/gensync/1.0.0-beta.2:
|
||||
/gensync@1.0.0-beta.2:
|
||||
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/glob-parent/5.1.2:
|
||||
/glob-parent@5.1.2:
|
||||
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
||||
engines: {node: '>= 6'}
|
||||
dependencies:
|
||||
is-glob: 4.0.3
|
||||
|
||||
/globals/11.12.0:
|
||||
/globals@11.12.0:
|
||||
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/has-flag/3.0.0:
|
||||
/has-flag@3.0.0:
|
||||
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/has/1.0.3:
|
||||
/has@1.0.3:
|
||||
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
|
||||
engines: {node: '>= 0.4.0'}
|
||||
dependencies:
|
||||
function-bind: 1.1.1
|
||||
|
||||
/immutable/4.1.0:
|
||||
/immutable@4.1.0:
|
||||
resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==}
|
||||
|
||||
/is-binary-path/2.1.0:
|
||||
/is-binary-path@2.1.0:
|
||||
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
binary-extensions: 2.2.0
|
||||
|
||||
/is-core-module/2.10.0:
|
||||
/is-core-module@2.10.0:
|
||||
resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==}
|
||||
dependencies:
|
||||
has: 1.0.3
|
||||
|
||||
/is-extglob/2.1.1:
|
||||
/is-extglob@2.1.1:
|
||||
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/is-glob/4.0.3:
|
||||
/is-glob@4.0.3:
|
||||
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
is-extglob: 2.1.1
|
||||
|
||||
/is-number/7.0.0:
|
||||
/is-number@7.0.0:
|
||||
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
|
||||
engines: {node: '>=0.12.0'}
|
||||
|
||||
/js-tokens/4.0.0:
|
||||
/js-tokens@4.0.0:
|
||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||
dev: true
|
||||
|
||||
/jsesc/2.5.2:
|
||||
/jsesc@2.5.2:
|
||||
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/json5/2.2.1:
|
||||
/json5@2.2.1:
|
||||
resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==}
|
||||
engines: {node: '>=6'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/kolorist/1.5.1:
|
||||
/kolorist@1.5.1:
|
||||
resolution: {integrity: sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==}
|
||||
dev: true
|
||||
|
||||
/lodash-es/4.17.21:
|
||||
/lodash-es@4.17.21:
|
||||
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
|
||||
dev: false
|
||||
|
||||
/lodash/4.17.21:
|
||||
/lodash@4.17.21:
|
||||
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
||||
dev: false
|
||||
|
||||
/ms/2.1.2:
|
||||
/ms@2.1.2:
|
||||
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
|
||||
dev: true
|
||||
|
||||
/nanoid/3.3.4:
|
||||
/nanoid@3.3.4:
|
||||
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
hasBin: true
|
||||
|
||||
/node-releases/2.0.6:
|
||||
/node-releases@2.0.6:
|
||||
resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
|
||||
dev: true
|
||||
|
||||
/normalize-path/3.0.0:
|
||||
/normalize-path@3.0.0:
|
||||
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/path-parse/1.0.7:
|
||||
/path-parse@1.0.7:
|
||||
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
||||
|
||||
/picocolors/1.0.0:
|
||||
/picocolors@1.0.0:
|
||||
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
||||
|
||||
/picomatch/2.3.1:
|
||||
/picomatch@2.3.1:
|
||||
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
|
||||
engines: {node: '>=8.6'}
|
||||
|
||||
/postcss/8.4.16:
|
||||
/postcss@8.4.16:
|
||||
resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
dependencies:
|
||||
@@ -822,16 +832,16 @@ packages:
|
||||
picocolors: 1.0.0
|
||||
source-map-js: 1.0.2
|
||||
|
||||
/preact/10.10.6:
|
||||
/preact@10.10.6:
|
||||
resolution: {integrity: sha512-w0mCL5vICUAZrh1DuHEdOWBjxdO62lvcO++jbzr8UhhYcTbFkpegLH9XX+7MadjTl/y0feoqwQ/zAnzkc/EGog==}
|
||||
|
||||
/readdirp/3.6.0:
|
||||
/readdirp@3.6.0:
|
||||
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
|
||||
engines: {node: '>=8.10.0'}
|
||||
dependencies:
|
||||
picomatch: 2.3.1
|
||||
|
||||
/resolve/1.22.1:
|
||||
/resolve@1.22.1:
|
||||
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
@@ -839,18 +849,18 @@ packages:
|
||||
path-parse: 1.0.7
|
||||
supports-preserve-symlinks-flag: 1.0.0
|
||||
|
||||
/rollup/2.77.3:
|
||||
/rollup@2.77.3:
|
||||
resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
hasBin: true
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
|
||||
/safe-buffer/5.1.2:
|
||||
/safe-buffer@5.1.2:
|
||||
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
|
||||
dev: true
|
||||
|
||||
/sass/1.54.8:
|
||||
/sass@1.54.8:
|
||||
resolution: {integrity: sha512-ib4JhLRRgbg6QVy6bsv5uJxnJMTS2soVcCp9Y88Extyy13A8vV0G1fAwujOzmNkFQbR3LvedudAMbtuNRPbQww==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
hasBin: true
|
||||
@@ -859,38 +869,38 @@ packages:
|
||||
immutable: 4.1.0
|
||||
source-map-js: 1.0.2
|
||||
|
||||
/semver/6.3.0:
|
||||
/semver@6.3.0:
|
||||
resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/source-map-js/1.0.2:
|
||||
/source-map-js@1.0.2:
|
||||
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/supports-color/5.5.0:
|
||||
/supports-color@5.5.0:
|
||||
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
has-flag: 3.0.0
|
||||
dev: true
|
||||
|
||||
/supports-preserve-symlinks-flag/1.0.0:
|
||||
/supports-preserve-symlinks-flag@1.0.0:
|
||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
/to-fast-properties/2.0.0:
|
||||
/to-fast-properties@2.0.0:
|
||||
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/to-regex-range/5.0.1:
|
||||
/to-regex-range@5.0.1:
|
||||
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
||||
engines: {node: '>=8.0'}
|
||||
dependencies:
|
||||
is-number: 7.0.0
|
||||
|
||||
/update-browserslist-db/1.0.7_browserslist@4.21.3:
|
||||
/update-browserslist-db@1.0.7(browserslist@4.21.3):
|
||||
resolution: {integrity: sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@@ -901,7 +911,7 @@ packages:
|
||||
picocolors: 1.0.0
|
||||
dev: true
|
||||
|
||||
/vite/3.0.9_sass@1.54.8:
|
||||
/vite@3.0.9(sass@1.54.8):
|
||||
resolution: {integrity: sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
hasBin: true
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { Icon } from './Icon.jsx'
|
||||
import { MODE_COURSES } from './EventsView.jsx'
|
||||
|
||||
export const ToolOverlay = ({ visibility, toggleVisibility, onClose }) => (
|
||||
export const ToolOverlay = ({ mode, toggleMode, onClose }) => (
|
||||
<div class="overlay">
|
||||
<button class="icon primary" onClick={toggleVisibility}>
|
||||
<Icon name={visibility ? 'visibility_off' : 'visibility'} />
|
||||
<button class="icon primary" onClick={toggleMode}>
|
||||
<Icon name={mode === MODE_COURSES ? 'calendar_view_month' : 'list'} />
|
||||
</button>
|
||||
<button class="icon" onClick={onClose}>
|
||||
<Icon name="close" />
|
||||
|
||||
@@ -1,20 +1,14 @@
|
||||
import { Course } from './view/Course.jsx'
|
||||
import { Schedule } from './view/Schedule.jsx'
|
||||
import { WorkWeek } from './view/WorkWeek.jsx'
|
||||
import { WorkWeekGrid } from './view/WorkWeekGrid.jsx'
|
||||
import { WorkWeekTranspose } from './view/WorkWeekTranspose.jsx'
|
||||
import { Courses } from './view/Courses.jsx'
|
||||
import { WorkWeekGrid as Schedule } from './view/WorkWeekGrid.jsx'
|
||||
|
||||
export const MODE_COURSE = 'course'
|
||||
export const MODE_COURSES = 'course'
|
||||
export const MODE_WORKWEEK = 'work-week'
|
||||
export const MODE_SCHEDULE = 'schedule'
|
||||
export const MODE_WORKWEEK_GRID = 'work-week-grid'
|
||||
export const MODE_WORKWEEK_TRANSPOSE = 'work-week-transpose'
|
||||
|
||||
const viewModeMap = {
|
||||
[MODE_COURSE]: Course,
|
||||
[MODE_WORKWEEK]: WorkWeek,
|
||||
[MODE_WORKWEEK_GRID]: WorkWeekGrid,
|
||||
[MODE_WORKWEEK_TRANSPOSE]: WorkWeekTranspose,
|
||||
[MODE_COURSES]: Courses,
|
||||
[MODE_SCHEDULE]: Schedule,
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { ComboBox } from './ComboBox.jsx'
|
||||
import { MODE_COURSE, MODE_SCHEDULE, MODE_WORKWEEK, MODE_WORKWEEK_GRID } from './EventsView.jsx'
|
||||
import { MODE_COURSES, MODE_SCHEDULE, MODE_WORKWEEK, MODE_WORKWEEK_GRID } from './EventsView.jsx'
|
||||
import { Help } from './Help.jsx'
|
||||
import { Icon } from './Icon.jsx'
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { CompoundButton } from './CompoundButton.jsx'
|
||||
import { MODE_COURSE, MODE_SCHEDULE, MODE_WORKWEEK_GRID } from './EventsView.jsx'
|
||||
import { Icon } from './Icon.jsx'
|
||||
|
||||
export const OptionBar = ({ mode, setMode, source, setSource }) => {
|
||||
export const OptionBar = ({ source, setSource }) => {
|
||||
return (
|
||||
<div class="option-bar">
|
||||
<div class="option-group">
|
||||
@@ -20,31 +19,6 @@ export const OptionBar = ({ mode, setMode, source, setSource }) => {
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="option-group">
|
||||
<div class="item option">
|
||||
<CompoundButton
|
||||
options={[
|
||||
{
|
||||
value: MODE_COURSE,
|
||||
label: <Icon name="list" />,
|
||||
icon: true,
|
||||
},
|
||||
{
|
||||
value: MODE_WORKWEEK_GRID,
|
||||
label: <Icon name="calendar_view_month" />,
|
||||
icon: true,
|
||||
},
|
||||
{
|
||||
value: MODE_SCHEDULE,
|
||||
label: <Icon name="calendar_view_day" />,
|
||||
icon: true,
|
||||
},
|
||||
]}
|
||||
value={mode}
|
||||
setValue={setMode}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
import { CompoundButton } from './CompoundButton.jsx'
|
||||
import { MODE_COURSE, MODE_SCHEDULE, MODE_WORKWEEK, MODE_WORKWEEK_GRID } from './EventsView.jsx'
|
||||
import { Icon } from './Icon.jsx'
|
||||
|
||||
export const Toolbar = ({
|
||||
mode,
|
||||
setMode,
|
||||
source,
|
||||
setSource,
|
||||
onShowMenu,
|
||||
@@ -38,18 +35,6 @@ export const Toolbar = ({
|
||||
</div>
|
||||
</div>
|
||||
<div class="option-group">
|
||||
<div class="item option">
|
||||
<CompoundButton
|
||||
options={[
|
||||
{ value: MODE_COURSE, label: 'Corsi' },
|
||||
{ value: MODE_WORKWEEK, label: 'Settimana' },
|
||||
{ value: MODE_WORKWEEK_GRID, label: 'Schema' },
|
||||
// { value: MODE_SCHEDULE, label: 'Giorno' },
|
||||
]}
|
||||
value={mode}
|
||||
setValue={setMode}
|
||||
/>
|
||||
</div>
|
||||
<div class="item option">
|
||||
<button class="icon" onClick={() => window.print()}>
|
||||
<Icon name="print" />
|
||||
|
||||
@@ -4,12 +4,11 @@ import _ from 'lodash'
|
||||
import { useEffect, useRef, useState } from 'preact/hooks'
|
||||
import { prettyCourseName, WEEK_DAYS } from '../../utils.jsx'
|
||||
|
||||
export const Course = ({ events, selection, setSelection, hideOtherCourses }) => {
|
||||
export const Courses = ({ source, timetables, selection, setSelection }) => {
|
||||
const events = timetables[source]
|
||||
const selectionSet = new Set(selection)
|
||||
|
||||
const visibleEvents = !hideOtherCourses ? events : events.filter(e => selectionSet.has(e.id))
|
||||
|
||||
const eventsByCourse = _.groupBy(_.sortBy(visibleEvents, 'id'), 'id')
|
||||
const eventsByCourse = _.groupBy(_.sortBy(events, 'id'), 'id')
|
||||
|
||||
const profsPerCourse = _.mapValues(eventsByCourse, events =>
|
||||
_.uniq(events.flatMap(event => event.docenti))
|
||||
@@ -2,10 +2,11 @@ import { format } from 'date-fns'
|
||||
import _ from 'lodash'
|
||||
import { prettyCourseName, WEEK_DAYS, withClasses } from '../../utils.jsx'
|
||||
|
||||
export const Schedule = ({ events, selection, setSelection, hideOtherCourses }) => {
|
||||
export const Schedule = ({ timetables, selection, setSelection }) => {
|
||||
const events = timetables['tutti']
|
||||
const selectionSet = new Set(selection)
|
||||
|
||||
const visibleEvents = !hideOtherCourses ? events : events.filter(e => selectionSet.has(e.id))
|
||||
const visibleEvents = events.filter(e => selectionSet.has(e.id))
|
||||
|
||||
const eventsByWeekday = _.mapValues(
|
||||
_.groupBy(visibleEvents, e => e.start.getDay()),
|
||||
|
||||
@@ -6,13 +6,14 @@ import { differenceInMinutes, startOfDay } from 'date-fns'
|
||||
import { prettyCourseName } from '../../utils.jsx'
|
||||
import { layoutIntervals } from '../../interval-layout.js'
|
||||
|
||||
export const WorkWeekGrid = ({ events, selection, setSelection, hideOtherCourses }) => {
|
||||
export const WorkWeekGrid = ({ timetables, selection, setSelection }) => {
|
||||
const events = timetables['tutti']
|
||||
const selectionSet = new Set(selection)
|
||||
|
||||
const colorList = ['red', 'purple', 'blue', 'yellow', 'green', 'orange', 'lightblue']
|
||||
|
||||
const courses = _.uniqBy(
|
||||
!hideOtherCourses ? events : events.filter(e => selectionSet.has(e.id)),
|
||||
events.filter(e => selectionSet.has(e.id)),
|
||||
event => event.id
|
||||
)
|
||||
const colors = Object.fromEntries(
|
||||
@@ -39,7 +40,7 @@ export const WorkWeekGrid = ({ events, selection, setSelection, hideOtherCourses
|
||||
const eventsByWeekday = {
|
||||
...base,
|
||||
..._.groupBy(
|
||||
!hideOtherCourses ? events : events.filter(e => selectionSet.has(e.id)),
|
||||
events.filter(e => selectionSet.has(e.id)),
|
||||
event => event.start.getDay()
|
||||
),
|
||||
}
|
||||
@@ -183,14 +184,14 @@ export const WorkWeekGrid = ({ events, selection, setSelection, hideOtherCourses
|
||||
colors[event.data.id][0]
|
||||
})`,
|
||||
}}
|
||||
onClick={() => {
|
||||
if (!selectionSet.has(event.data.id))
|
||||
setSelection([...selection, event.data.id])
|
||||
else
|
||||
setSelection(
|
||||
selection.filter(id => event.data.id !== id)
|
||||
)
|
||||
}}
|
||||
// onClick={() => {
|
||||
// if (!selectionSet.has(event.data.id))
|
||||
// setSelection([...selection, event.data.id])
|
||||
// else
|
||||
// setSelection(
|
||||
// selection.filter(id => event.data.id !== id)
|
||||
// )
|
||||
// }}
|
||||
>
|
||||
{colors[event.data.id][1] !== '' && (
|
||||
<div className="distinguisher">{`(${
|
||||
|
||||
+93
-82
@@ -3,7 +3,7 @@ import { render } from 'preact'
|
||||
import { useEffect, useState } from 'preact/hooks'
|
||||
import { ToolOverlay } from './components/CourseVisibility.jsx'
|
||||
|
||||
import { EventsView, MODE_COURSE } from './components/EventsView.jsx'
|
||||
import { EventsView, MODE_COURSES, MODE_SCHEDULE } from './components/EventsView.jsx'
|
||||
import { HamburgerMenu } from './components/HamburgerMenu.jsx'
|
||||
import { Help } from './components/Help.jsx'
|
||||
import { Icon } from './components/Icon.jsx'
|
||||
@@ -28,6 +28,13 @@ const CALENDAR_IDS = {
|
||||
],
|
||||
}
|
||||
|
||||
const TIMETABLE_IDS = {
|
||||
'anno-1': '64a7c1c651f079001d52e9c8',
|
||||
'anno-2': '6308e2dc09352a0208fefdd9',
|
||||
'anno-3': '6308e42a1df5cb026699ced4',
|
||||
'magistrale': '64a7c7091ab813002c5d9ede',
|
||||
}
|
||||
|
||||
const DEFAULT_DATE_RANGE = {
|
||||
from: '2023-10-02T00:00:00.000Z',
|
||||
to: '2023-10-07T00:00:00.000Z',
|
||||
@@ -53,83 +60,90 @@ function specialEventPatches(eventi) {
|
||||
return eventi
|
||||
}
|
||||
|
||||
async function loadEventi(ids) {
|
||||
const calendari = await Promise.all(
|
||||
ids.map(async id => {
|
||||
// Almost directly copy-pasted from Chrome Dev Tools
|
||||
const req = await fetch(
|
||||
'https://apache.prod.up.cineca.it/api/Impegni/getImpegniCalendarioPubblico',
|
||||
{
|
||||
headers: {
|
||||
'content-type': 'application/json;charset=UTF-8',
|
||||
'sec-fetch-dest': 'empty',
|
||||
'sec-fetch-mode': 'cors',
|
||||
'sec-fetch-site': 'same-site',
|
||||
},
|
||||
body: JSON.stringify({
|
||||
mostraImpegniAnnullati: true,
|
||||
mostraIndisponibilitaTotali: false,
|
||||
linkCalendarioId: id,
|
||||
clienteId: '628de8b9b63679f193b87046',
|
||||
pianificazioneTemplate: false,
|
||||
dataInizio: DATE_RANGES[id].from,
|
||||
dataFine: DATE_RANGES[id].to,
|
||||
}),
|
||||
method: 'POST',
|
||||
mode: 'cors',
|
||||
credentials: 'omit',
|
||||
}
|
||||
)
|
||||
|
||||
return await req.json()
|
||||
})
|
||||
function formatEvents(timetable) {
|
||||
return timetable.map(
|
||||
({ nome, dataInizio, dataFine, docenti, aule }) => {
|
||||
return {
|
||||
id: nome,
|
||||
name: _.split(nome, '-', 1)[0].trim(),
|
||||
start: new Date(dataInizio),
|
||||
end: new Date(dataFine),
|
||||
docenti: docenti.map(({ nome, cognome }) => prettyProfName(nome, cognome)),
|
||||
aule: aule.map(aula => prettyAulaName(aula.codice)),
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
if (ids.length === 1) {
|
||||
return specialEventPatches(calendari[0])
|
||||
async function loadCalendari() {
|
||||
async function req(id) {
|
||||
// Almost directly copy-pasted from Chrome Dev Tools
|
||||
const req = await fetch(
|
||||
'https://apache.prod.up.cineca.it/api/Impegni/getImpegniCalendarioPubblico',
|
||||
{
|
||||
headers: {
|
||||
'content-type': 'application/json;charset=UTF-8',
|
||||
'sec-fetch-dest': 'empty',
|
||||
'sec-fetch-mode': 'cors',
|
||||
'sec-fetch-site': 'same-site',
|
||||
},
|
||||
body: JSON.stringify({
|
||||
mostraImpegniAnnullati: true,
|
||||
mostraIndisponibilitaTotali: false,
|
||||
linkCalendarioId: id,
|
||||
clienteId: '628de8b9b63679f193b87046',
|
||||
pianificazioneTemplate: false,
|
||||
dataInizio: DATE_RANGES[id].from,
|
||||
dataFine: DATE_RANGES[id].to,
|
||||
}),
|
||||
method: 'POST',
|
||||
mode: 'cors',
|
||||
credentials: 'omit',
|
||||
}
|
||||
)
|
||||
|
||||
return await req.json()
|
||||
}
|
||||
|
||||
return specialEventPatches(_.uniqBy(_.concat(...calendari), 'id'))
|
||||
const requests = [
|
||||
req(TIMETABLE_IDS['anno-1']),
|
||||
req(TIMETABLE_IDS['anno-2']),
|
||||
req(TIMETABLE_IDS['anno-3']),
|
||||
req(TIMETABLE_IDS['magistrale']),
|
||||
]
|
||||
const results = await Promise.all(requests)
|
||||
const timetablesRaw = results.map(timetable => specialEventPatches(_.uniqBy(timetable, 'id')))
|
||||
const allRaw = specialEventPatches(_.uniqBy(_.concat(...results), 'id'))
|
||||
|
||||
return {
|
||||
'anno-1': formatEvents(timetablesRaw[0]),
|
||||
'anno-2': formatEvents(timetablesRaw[1]),
|
||||
'anno-3': formatEvents(timetablesRaw[2]),
|
||||
'magistrale': formatEvents(timetablesRaw[3]),
|
||||
'tutti': formatEvents(allRaw)
|
||||
}
|
||||
}
|
||||
|
||||
const App = ({}) => {
|
||||
// Data Sources
|
||||
const [source, setSource] = usePersistentState('orario.source', 'magistrale')
|
||||
const [eventi, setEventi] = useState([])
|
||||
const [timetables, setTimetables] = useState(null)
|
||||
useEffect(async () => {
|
||||
setTimetables(await loadCalendari())
|
||||
}, [])
|
||||
|
||||
// View Modes
|
||||
const [mode, setMode] = usePersistentState('orario.mode', MODE_COURSE)
|
||||
const [mode, setMode] = usePersistentState('orario.mode', MODE_COURSES)
|
||||
|
||||
// Selection
|
||||
const [selectedCourses, setSelectedCourses] = usePersistentState('orario.selection', [])
|
||||
const [hideOtherCourses, setHideOtherCourses] = usePersistentState('orario.hide-other', false)
|
||||
|
||||
// Menus
|
||||
const [helpVisible, setHelpVisible] = useState(false)
|
||||
const [showMobileMenu, setShowMobileMenu] = useState(false)
|
||||
|
||||
useEffect(async () => {
|
||||
const eventi = await loadEventi(CALENDAR_IDS[source])
|
||||
|
||||
window.dataBuffer[source] = eventi
|
||||
|
||||
setEventi(eventi)
|
||||
}, [source])
|
||||
|
||||
const groupIds = new Set(eventi.map(e => e.nome))
|
||||
const toolOverlayVisible =
|
||||
selectedCourses.length > 0 && selectedCourses.filter(id => groupIds.has(id)).length > 0
|
||||
|
||||
useEffect(() => {
|
||||
const groupIds = new Set(eventi.map(e => e.nome))
|
||||
|
||||
if (
|
||||
selectedCourses.length === 0 ||
|
||||
(eventi.length > 0 && selectedCourses.filter(id => groupIds.has(id)).length === 0)
|
||||
) {
|
||||
setHideOtherCourses(false)
|
||||
}
|
||||
}, [eventi, selectedCourses.length])
|
||||
// const groupIds = new Set(eventi.map(e => e.nome))
|
||||
const toolOverlayVisible = selectedCourses.length > 0
|
||||
|
||||
const [theme, setTheme] = usePersistentState(
|
||||
'orario.theme',
|
||||
@@ -152,37 +166,34 @@ const App = ({}) => {
|
||||
setTheme,
|
||||
}}
|
||||
/>
|
||||
<OptionBar
|
||||
{...{
|
||||
mode,
|
||||
setMode,
|
||||
source,
|
||||
setSource,
|
||||
onHelp: () => setHelpVisible(true),
|
||||
}}
|
||||
/>
|
||||
<EventsView
|
||||
{mode === MODE_COURSES && (
|
||||
<OptionBar
|
||||
{...{
|
||||
mode,
|
||||
setMode,
|
||||
source,
|
||||
setSource,
|
||||
onHelp: () => setHelpVisible(true),
|
||||
}}orizzontale
|
||||
/>
|
||||
)}
|
||||
{timetables && (
|
||||
<EventsView
|
||||
mode={mode}
|
||||
selection={selectedCourses}
|
||||
setSelection={setSelectedCourses}
|
||||
hideOtherCourses={hideOtherCourses}
|
||||
start={new Date(2022, 10, 3)}
|
||||
events={eventi.map(({ nome, dataInizio, dataFine, docenti, aule }) => ({
|
||||
id: nome,
|
||||
name: _.split(nome, '-', 1)[0].trim(),
|
||||
start: new Date(dataInizio),
|
||||
end: new Date(dataFine),
|
||||
docenti: docenti.map(({ nome, cognome }) => prettyProfName(nome, cognome)),
|
||||
aule: aule.map(aula => prettyAulaName(aula.codice)),
|
||||
}))}
|
||||
/>
|
||||
source={source}
|
||||
timetables={timetables}
|
||||
/>
|
||||
)}
|
||||
{toolOverlayVisible && (
|
||||
<ToolOverlay
|
||||
visibility={hideOtherCourses}
|
||||
toggleVisibility={() => setHideOtherCourses(s => !s)}
|
||||
mode={mode}
|
||||
toggleMode={() => setMode(mode === MODE_COURSES ? MODE_SCHEDULE : MODE_COURSES)}
|
||||
onClose={() => {
|
||||
setSelectedCourses([])
|
||||
setHideOtherCourses(false)
|
||||
setMode(MODE_COURSES)
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
|
||||
@@ -476,7 +476,7 @@ body {
|
||||
|
||||
display: none;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
justify-content: center;
|
||||
|
||||
overflow-y: hidden;
|
||||
overflow-x: auto;
|
||||
|
||||
Reference in New Issue
Block a user