Add snow for xmas event

This commit is contained in:
2023-12-13 19:32:57 +01:00
parent 5638a8ecb5
commit 750a5c0eef
10 changed files with 963 additions and 64 deletions

792
package-lock.json generated
View File

@ -13,9 +13,12 @@
"downloadjs": "^1.4.7",
"lucide-vue-next": "^0.268.0",
"swiper": "^10.2.0",
"tsparticles": "^3.0.2",
"tsparticles-preset-snow": "^2.12.0",
"vue": "^3.2.37",
"vue-i18n": "^9.2.2",
"vue-router": "^4.2.4"
"vue-router": "^4.2.4",
"vue3-particles": "^2.12.0"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.3.3",
@ -51,12 +54,12 @@
}
},
"node_modules/@babel/code-frame": {
"version": "7.22.10",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz",
"integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==",
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
"integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
"dev": true,
"dependencies": {
"@babel/highlight": "^7.22.10",
"@babel/highlight": "^7.23.4",
"chalk": "^2.4.2"
},
"engines": {
@ -183,12 +186,12 @@
}
},
"node_modules/@babel/generator": {
"version": "7.22.10",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz",
"integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==",
"version": "7.23.6",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
"integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
"dev": true,
"dependencies": {
"@babel/types": "^7.22.10",
"@babel/types": "^7.23.6",
"@jridgewell/gen-mapping": "^0.3.2",
"@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
@ -336,22 +339,22 @@
}
},
"node_modules/@babel/helper-environment-visitor": {
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz",
"integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==",
"version": "7.22.20",
"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
"integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-function-name": {
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
"integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
"version": "7.23.0",
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
"integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
"dev": true,
"dependencies": {
"@babel/template": "^7.22.5",
"@babel/types": "^7.22.5"
"@babel/template": "^7.22.15",
"@babel/types": "^7.23.0"
},
"engines": {
"node": ">=6.9.0"
@ -504,18 +507,18 @@
}
},
"node_modules/@babel/helper-string-parser": {
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
"integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
"version": "7.23.4",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
"integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
"integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
"version": "7.22.20",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
"dev": true,
"engines": {
"node": ">=6.9.0"
@ -559,12 +562,12 @@
}
},
"node_modules/@babel/highlight": {
"version": "7.22.10",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz",
"integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==",
"version": "7.23.4",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
"integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
"dev": true,
"dependencies": {
"@babel/helper-validator-identifier": "^7.22.5",
"@babel/helper-validator-identifier": "^7.22.20",
"chalk": "^2.4.2",
"js-tokens": "^4.0.0"
},
@ -644,9 +647,9 @@
}
},
"node_modules/@babel/parser": {
"version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.11.tgz",
"integrity": "sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==",
"version": "7.23.6",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
"integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
"bin": {
"parser": "bin/babel-parser.js"
},
@ -1850,34 +1853,34 @@
}
},
"node_modules/@babel/template": {
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
"integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
"version": "7.22.15",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
"integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.22.5",
"@babel/parser": "^7.22.5",
"@babel/types": "^7.22.5"
"@babel/code-frame": "^7.22.13",
"@babel/parser": "^7.22.15",
"@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
"version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz",
"integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==",
"version": "7.23.6",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz",
"integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.22.10",
"@babel/generator": "^7.22.10",
"@babel/helper-environment-visitor": "^7.22.5",
"@babel/helper-function-name": "^7.22.5",
"@babel/code-frame": "^7.23.5",
"@babel/generator": "^7.23.6",
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-function-name": "^7.23.0",
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6",
"@babel/parser": "^7.22.11",
"@babel/types": "^7.22.11",
"debug": "^4.1.0",
"@babel/parser": "^7.23.6",
"@babel/types": "^7.23.6",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
"engines": {
@ -1894,13 +1897,13 @@
}
},
"node_modules/@babel/types": {
"version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz",
"integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==",
"version": "7.23.6",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
"integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
"dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.22.5",
"@babel/helper-validator-identifier": "^7.22.5",
"@babel/helper-string-parser": "^7.23.4",
"@babel/helper-validator-identifier": "^7.22.20",
"to-fast-properties": "^2.0.0"
},
"engines": {
@ -2544,6 +2547,479 @@
"sourcemap-codec": "^1.4.8"
}
},
"node_modules/@tsparticles/basic": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/basic/-/basic-3.0.2.tgz",
"integrity": "sha512-aM3X4daYRFxrkZ7+puHYjlgWjFaU4ROe8XOx7K+BnADfd0WM1I+JC0kspMEOe0b0qoiCbbbRpBqD135Kc75FXg==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"dependencies": {
"@tsparticles/engine": "^3.0.2",
"@tsparticles/move-base": "^3.0.2",
"@tsparticles/shape-circle": "^3.0.2",
"@tsparticles/updater-color": "^3.0.2",
"@tsparticles/updater-opacity": "^3.0.2",
"@tsparticles/updater-out-modes": "^3.0.2",
"@tsparticles/updater-size": "^3.0.2"
}
},
"node_modules/@tsparticles/engine": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/engine/-/engine-3.0.2.tgz",
"integrity": "sha512-2HhuJuHjz/GiIP0i+jpymnZEXfR82sTkp7jb/sQYfiHCu5Bh0XcNNuvZXbRMgt2qdB+BAupFA7ghIB1FfnLyug==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"hasInstallScript": true
},
"node_modules/@tsparticles/interaction-external-attract": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-attract/-/interaction-external-attract-3.0.2.tgz",
"integrity": "sha512-7hrTPDKeDw0f6RbWs5m8eH4Dn+AIwn6d6w32GVbHEc2UQSMAX3G4rZ2ME6LEy8rlpnApIUNTBWFvK+laINtopg==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-external-bounce": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bounce/-/interaction-external-bounce-3.0.2.tgz",
"integrity": "sha512-uZrNKL3z04tOeL3/EpO/Jq7U1Pdz6jVO1UG8+r9NJg/Pwnrq7+my/1l/Oh2fUYeGzKlsy8NerBwHhNreZzzJzw==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-external-bubble": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bubble/-/interaction-external-bubble-3.0.2.tgz",
"integrity": "sha512-tOtz1tYqR0/X+MPj0VALgwG2maVeiTn60bxz56QpduDEgcQixSux7czn4btY3Y/CHR30+GBfYwFRyUAwg1v/bQ==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-external-connect": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-connect/-/interaction-external-connect-3.0.2.tgz",
"integrity": "sha512-Bt0l4ptEXcCwDog9UbV2+C8EVv8rStrEWv0nCfNGwM+o5cFaSN8tqqd4c48SbtXNEq/k1+Fl2q0n7hU48YudyQ==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-external-grab": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-grab/-/interaction-external-grab-3.0.2.tgz",
"integrity": "sha512-05JP7WwizKVukeX9dF4BTRYAYJ1Yviag6dryzO9LLf6hpdOM5qMbzJG6KIsILLxOpLo4jc9xQ1KCtpcG6bmARg==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-external-pause": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-pause/-/interaction-external-pause-3.0.2.tgz",
"integrity": "sha512-W2W3wuZD3idLW5+x5I/elI0IGMKF2jHhAeaJ+OA8EOaZUduGhq4Y2KsP6byVdDIkhnLC/EZFn5k1Sw3vP4y1cw==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-external-push": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-push/-/interaction-external-push-3.0.2.tgz",
"integrity": "sha512-a9AUDlDNbUBuRJLCF6E4/bcIc5nHQ0FNZJzV/K45/S4ByrHFob4Q2cDVfCxujbSEgOdWiTD4K8hEpvd2NKbK0w==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-external-remove": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-remove/-/interaction-external-remove-3.0.2.tgz",
"integrity": "sha512-QO0nFUcJscjXaCrp0cTj554jVOlttN0bYjGeZ9/iS+pD4NtwAr1gqpDXBdHjDkb8+v/rWoDRB59teKEai2wCng==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-external-repulse": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-repulse/-/interaction-external-repulse-3.0.2.tgz",
"integrity": "sha512-gQW1eRIhoIb8Hf2EHe9qDkiNC4WM4wSGKfAIZzuU4VufLi323Zr5r9M+go+uc+dinzVPGeuJz38/lUppTOopsg==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-external-slow": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-slow/-/interaction-external-slow-3.0.2.tgz",
"integrity": "sha512-/gdlpiwX3fQpzHO5aQH728MnIHy0/ZY+nE9xjeK6KCp/hN8Ye/KgWmE2phK+HMdaYOOPcak+Sgw5QkpB1SK1ew==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-external-trail": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-trail/-/interaction-external-trail-3.0.2.tgz",
"integrity": "sha512-R6F/EP25DIRYRbqbX2r5t+uPnDcR8b7FZxAZHu++dopORywzjbLnufhHhv+ozlOAqTwVnaoCAJ59i6uLrdmvIw==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-particles-attract": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-attract/-/interaction-particles-attract-3.0.2.tgz",
"integrity": "sha512-s5R7tAKSmsm9gcvnRJO0N2zLaHzO3MJU/DMcrD/yF9kpnFbOF8Xd8X7MR2bho0tMngqcDarqbEk0A95lDhSaog==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-particles-collisions": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-collisions/-/interaction-particles-collisions-3.0.2.tgz",
"integrity": "sha512-EA25ikXlZplEEPx45uwveTV+OyA5fNNMH24zTGYsJAMPPQ84r9ps7klIjGEJqboIbTkg9NFlVaHy8+ZlM9KLzA==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/interaction-particles-links": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-links/-/interaction-particles-links-3.0.2.tgz",
"integrity": "sha512-XCpTAgZWd0Om/iRa2I+YtzGiWVo5egWlx3PXE07DsZRQkeQJS0DcmMUx5Um3OagDkgfHmMZx0CDwDbCufA4ncQ==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/move-base": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/move-base/-/move-base-3.0.2.tgz",
"integrity": "sha512-PjLII47p3tT6yOLb+CLLohaxXw13MVuijFq8sLkuNPbUNSE0ooJ0pmncqaAchFIYu2JxDbRZ1GuTuqEw+AIRUw==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/move-parallax": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/move-parallax/-/move-parallax-3.0.2.tgz",
"integrity": "sha512-Q/QkDH2QXLxZpLULyYEHwwIeTqzxYRbAtzX+xmzjkfYd3esu9h6s3tjD3ICSYQNvoPXBx2o6yYinmK5comkuMg==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/plugin-absorbers": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/plugin-absorbers/-/plugin-absorbers-3.0.2.tgz",
"integrity": "sha512-lBrd6hjTxc+A1lrVxxgfPF32iWUn5cOJEylwuFq6lzSWSSvbreg/gbpQP4SUWiJgRMTkB4ZhRL/mG93vPkypyA==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/plugin-easing-quad": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/plugin-easing-quad/-/plugin-easing-quad-3.0.2.tgz",
"integrity": "sha512-Z36YfPXvtrHmcKYt5LfZdojYlFt8WWbAhP5OS3dRfKUgxnw+vMEP1gLxz9y+BebIeVZrZdR5OUk3EimlXdbZnQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/plugin-emitters": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/plugin-emitters/-/plugin-emitters-3.0.2.tgz",
"integrity": "sha512-F8U/lIIq9EAMXCN308gLi6IoQ56v+qtXoM45KB4oIXPOing1OH1zRiWQ2sVyT1yio8uLMIXLyYdmpgMiFlAvlw==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/plugin-emitters-shape-circle": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/plugin-emitters-shape-circle/-/plugin-emitters-shape-circle-3.0.2.tgz",
"integrity": "sha512-E+497R4GXU6/iTl6m4vaUCLQ1roNOnpY+Jieghk5KorNtyyANnnz3Pn5LJhfZ4nyWL88fBdE9dg2lACs/16SSg==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"dependencies": {
"@tsparticles/engine": "^3.0.2",
"@tsparticles/plugin-emitters": "^3.0.2"
}
},
"node_modules/@tsparticles/plugin-emitters-shape-square": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/plugin-emitters-shape-square/-/plugin-emitters-shape-square-3.0.2.tgz",
"integrity": "sha512-LFrzOjpQKHU2ho3JlzuWJZPhzuF4HDrEHTwxTdNdjTs5oh0aU0shQfFKG97yuDvwyQpjnicTDJ/NOoXdNTR92A==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"dependencies": {
"@tsparticles/engine": "^3.0.2",
"@tsparticles/plugin-emitters": "^3.0.2"
}
},
"node_modules/@tsparticles/shape-circle": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/shape-circle/-/shape-circle-3.0.2.tgz",
"integrity": "sha512-BqeeP2Oxu7NxEx6znB5V9rYc0VPZNrpC6WNyz78nvnhyARgQZWNRgNo5igaE2Zn+ss64KHNxkQDkbYP+ZAc1BQ==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/shape-emoji": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/shape-emoji/-/shape-emoji-3.0.2.tgz",
"integrity": "sha512-mpzsmNvE/DmWihRQrVS23JqWefmUjXU9HOkal9vWBgGDOfRpieBxHBHqNZFiYq1oaxa/zwFNcPCJ4BpiWu3nPQ==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/shape-image": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/shape-image/-/shape-image-3.0.2.tgz",
"integrity": "sha512-i4v5qZ7s48M/jkx/REHD0usTvyephebHrNWhM5XHYfXvPjuXg3nrP6sYGqRByPkJ3svdFoeGZM/5jrF63waHjA==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/shape-line": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/shape-line/-/shape-line-3.0.2.tgz",
"integrity": "sha512-tI8bFYp4UwDpTEUglHRtENx37F9xK1FKvk5UeIIHfCSVxBQsLtAZ16ynRVBnUXMPDHIs388xxeOqc2wHWrwlJw==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/shape-polygon": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/shape-polygon/-/shape-polygon-3.0.2.tgz",
"integrity": "sha512-aUVoDzoMy6uRf12xEKZ62aCxo+yBWxNrkNbdYxlMKIWzqRQVTiNxhwHt6VwBzzXUzy8KseaXB3BiQfLCsmdGLQ==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/shape-square": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/shape-square/-/shape-square-3.0.2.tgz",
"integrity": "sha512-ut8SlaroULa4C2aKVfMmGmfN5yAk6WN9xjT/yw4bPYAsunZdfeOEzH76u8K4SLVkl2CJ4H1w3YdWxhL+h8BtvQ==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/shape-star": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/shape-star/-/shape-star-3.0.2.tgz",
"integrity": "sha512-fwZokgygyi3gX4vES9tlfTK8tJnvu5pd4exI2n1QW/8xpCpsORYhk+VWN994DSmt4g+VTYLb/tVnDk///Sa92g==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/shape-text": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/shape-text/-/shape-text-3.0.2.tgz",
"integrity": "sha512-VhWn8qP1iXES04U3W8+5D9W2QRJIFQJghOZrVLVdHcjsJRAmB/kbBwZXXTdvq7hR4uiwSNCoZdwsCZtPs+cYnw==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/slim": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/slim/-/slim-3.0.2.tgz",
"integrity": "sha512-EAmfK1Oy2d1zwA1Dfpt0AQaut71zrmXOT4uvzuGq+PRH5CSbhqWuYplKCauYNCw02s+z3o3tCSea5/hcXh3tOA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"dependencies": {
"@tsparticles/basic": "^3.0.2",
"@tsparticles/engine": "^3.0.2",
"@tsparticles/interaction-external-attract": "^3.0.2",
"@tsparticles/interaction-external-bounce": "^3.0.2",
"@tsparticles/interaction-external-bubble": "^3.0.2",
"@tsparticles/interaction-external-connect": "^3.0.2",
"@tsparticles/interaction-external-grab": "^3.0.2",
"@tsparticles/interaction-external-pause": "^3.0.2",
"@tsparticles/interaction-external-push": "^3.0.2",
"@tsparticles/interaction-external-remove": "^3.0.2",
"@tsparticles/interaction-external-repulse": "^3.0.2",
"@tsparticles/interaction-external-slow": "^3.0.2",
"@tsparticles/interaction-particles-attract": "^3.0.2",
"@tsparticles/interaction-particles-collisions": "^3.0.2",
"@tsparticles/interaction-particles-links": "^3.0.2",
"@tsparticles/move-base": "^3.0.2",
"@tsparticles/move-parallax": "^3.0.2",
"@tsparticles/plugin-easing-quad": "^3.0.2",
"@tsparticles/shape-circle": "^3.0.2",
"@tsparticles/shape-emoji": "^3.0.2",
"@tsparticles/shape-image": "^3.0.2",
"@tsparticles/shape-line": "^3.0.2",
"@tsparticles/shape-polygon": "^3.0.2",
"@tsparticles/shape-square": "^3.0.2",
"@tsparticles/shape-star": "^3.0.2",
"@tsparticles/updater-color": "^3.0.2",
"@tsparticles/updater-life": "^3.0.2",
"@tsparticles/updater-opacity": "^3.0.2",
"@tsparticles/updater-out-modes": "^3.0.2",
"@tsparticles/updater-rotate": "^3.0.2",
"@tsparticles/updater-size": "^3.0.2",
"@tsparticles/updater-stroke-color": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-color": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-color/-/updater-color-3.0.2.tgz",
"integrity": "sha512-MfG+fVpXEqSMD38uN9MWLoHbSL1+EL4TbvOfyifyTV9lvsl0Ic154EowdRsJROAnQ2PnEcnJh8UjA6YXIg9uoA==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-destroy": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-destroy/-/updater-destroy-3.0.2.tgz",
"integrity": "sha512-6EovcvnKDkI/uKRT1KURoUhIdGsuRDoiFkb4kg6J1Sc8lF9EFtzjFd7hl1WDntl0jbtyhwzE/dFV0sBaPesYOg==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-life": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-life/-/updater-life-3.0.2.tgz",
"integrity": "sha512-EFhxKr11GdQyKbw3+UbDrRvN2ZJ9vEBFAWeM5TAR5erln9OI5/9J4ySXd+3MZRC7pH66GHPIB9yVBjonLURRnQ==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-opacity": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-opacity/-/updater-opacity-3.0.2.tgz",
"integrity": "sha512-4a8Y26v8ln90ZqaqcKn8bgpT2A2QxjUCnK56hmRrIdtG9+kcF43RZYDHZQo/Voy9UWKMJObaJ4eP60H6a2f4cw==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-out-modes": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-out-modes/-/updater-out-modes-3.0.2.tgz",
"integrity": "sha512-5Z6RRSnDeP0I0ToRF7kKJbsIZ3RCCIPeLPSL6uGeTaEiwZ2uD3DU87Brf66N0c4ioxKjpwQ/VKt3nRF9PIyNXQ==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-roll": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-roll/-/updater-roll-3.0.2.tgz",
"integrity": "sha512-g9hYgnLqOKIdsp+szzL77U1R/S2vsMmkZKnjAqIMfDMu7O6oSwGBCdwetPDKTqwwbYgG3/uC57YofnOor034RQ==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-rotate": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-rotate/-/updater-rotate-3.0.2.tgz",
"integrity": "sha512-RA298SAzAvrSn8iV3VtW4tLgpGrhMFlPUZSOKIaD9fi1gcXPJGSCmqquJlLA5tGnFGcGGB8ZYsDB9VKHsvdXZg==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-size": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-size/-/updater-size-3.0.2.tgz",
"integrity": "sha512-DPOQvOxf1kEUzA7yEC40JYyvPhOGJirtSiX86vpi3ApTWud2n+B+D3AXS7JhT/g+ISNQ04dICRbRYY0yUeDLFA==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-stroke-color": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-stroke-color/-/updater-stroke-color-3.0.2.tgz",
"integrity": "sha512-SIkWit6LCauH0bg3jdXOBfFkFwih4mUSfBInaM+iISrvWLQA6XQLtcxJKql7Uvpu2eqTEShZ3UmnKPutqd46/w==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-tilt": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-tilt/-/updater-tilt-3.0.2.tgz",
"integrity": "sha512-pSwgKcfmwuemCFAFvh1LovJxZhIHSBsqoL5QBWIYbKR2ux+vvumIq3xQUPeFFVPZjsHuWDzrkoSOc9gKsBxRFA==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-twinkle": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-twinkle/-/updater-twinkle-3.0.2.tgz",
"integrity": "sha512-H5iWkE7UE9HQe4Sr4DA+gTjr4Ms5Pd0h6GhsXpTwO6vKfFCkcWGtgBcFycvN3kLgXPeLFyVVSG1rPrgdgwxyiA==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@tsparticles/updater-wobble": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@tsparticles/updater-wobble/-/updater-wobble-3.0.2.tgz",
"integrity": "sha512-o9bB4GEBfERLt2oNzBiBGO9Th0Udt+WbGx77x/b5Z1tKnkxjEwCWuuBb6pkXgYVLRCiejaC4kXmwG8cAcM77rQ==",
"dependencies": {
"@tsparticles/engine": "^3.0.2"
}
},
"node_modules/@types/estree": {
"version": "0.0.39",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
@ -4813,9 +5289,9 @@
"dev": true
},
"node_modules/nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"funding": [
{
"type": "github",
@ -5068,9 +5544,9 @@
}
},
"node_modules/postcss": {
"version": "8.4.28",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz",
"integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==",
"version": "8.4.32",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz",
"integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==",
"funding": [
{
"type": "opencollective",
@ -5086,7 +5562,7 @@
}
],
"dependencies": {
"nanoid": "^3.3.6",
"nanoid": "^3.3.7",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
@ -5914,6 +6390,177 @@
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
"dev": true
},
"node_modules/tsparticles": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/tsparticles/-/tsparticles-3.0.2.tgz",
"integrity": "sha512-9YzO+qntFbZqnX1VbEAzmTpz/3LiF//AORw8wTJo6JOPezrNfItSjHoOyqCBHW6B8BuJSR++/pPwOdvfbb9zMw==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"dependencies": {
"@tsparticles/engine": "^3.0.2",
"@tsparticles/interaction-external-trail": "^3.0.2",
"@tsparticles/plugin-absorbers": "^3.0.2",
"@tsparticles/plugin-emitters": "^3.0.2",
"@tsparticles/plugin-emitters-shape-circle": "^3.0.2",
"@tsparticles/plugin-emitters-shape-square": "^3.0.2",
"@tsparticles/shape-text": "^3.0.2",
"@tsparticles/slim": "^3.0.2",
"@tsparticles/updater-destroy": "^3.0.2",
"@tsparticles/updater-roll": "^3.0.2",
"@tsparticles/updater-tilt": "^3.0.2",
"@tsparticles/updater-twinkle": "^3.0.2",
"@tsparticles/updater-wobble": "^3.0.2"
}
},
"node_modules/tsparticles-basic": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/tsparticles-basic/-/tsparticles-basic-2.12.0.tgz",
"integrity": "sha512-pN6FBpL0UsIUXjYbiui5+IVsbIItbQGOlwyGV55g6IYJBgdTNXgFX0HRYZGE9ZZ9psEXqzqwLM37zvWnb5AG9g==",
"deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"dependencies": {
"tsparticles-engine": "^2.12.0",
"tsparticles-move-base": "^2.12.0",
"tsparticles-shape-circle": "^2.12.0",
"tsparticles-updater-color": "^2.12.0",
"tsparticles-updater-opacity": "^2.12.0",
"tsparticles-updater-out-modes": "^2.12.0",
"tsparticles-updater-size": "^2.12.0"
}
},
"node_modules/tsparticles-engine": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/tsparticles-engine/-/tsparticles-engine-2.12.0.tgz",
"integrity": "sha512-ZjDIYex6jBJ4iMc9+z0uPe7SgBnmb6l+EJm83MPIsOny9lPpetMsnw/8YJ3xdxn8hV+S3myTpTN1CkOVmFv0QQ==",
"deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"hasInstallScript": true
},
"node_modules/tsparticles-move-base": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/tsparticles-move-base/-/tsparticles-move-base-2.12.0.tgz",
"integrity": "sha512-oSogCDougIImq+iRtIFJD0YFArlorSi8IW3HD2gO3USkH+aNn3ZqZNTqp321uB08K34HpS263DTbhLHa/D6BWw==",
"deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
"dependencies": {
"tsparticles-engine": "^2.12.0"
}
},
"node_modules/tsparticles-preset-snow": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/tsparticles-preset-snow/-/tsparticles-preset-snow-2.12.0.tgz",
"integrity": "sha512-BKQeSIIslKJA0YTLluPf4Y1LXTvjxH6u8nTczYAxqstMNlRoREeCH+pn5hDtHfYUKxEBvrnQmHaRIi+6Bg2RyQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"dependencies": {
"tsparticles-basic": "^2.12.0",
"tsparticles-engine": "^2.12.0",
"tsparticles-updater-wobble": "^2.12.0"
}
},
"node_modules/tsparticles-shape-circle": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/tsparticles-shape-circle/-/tsparticles-shape-circle-2.12.0.tgz",
"integrity": "sha512-L6OngbAlbadG7b783x16ns3+SZ7i0SSB66M8xGa5/k+YcY7zm8zG0uPt1Hd+xQDR2aNA3RngVM10O23/Lwk65Q==",
"deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
"dependencies": {
"tsparticles-engine": "^2.12.0"
}
},
"node_modules/tsparticles-updater-color": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/tsparticles-updater-color/-/tsparticles-updater-color-2.12.0.tgz",
"integrity": "sha512-KcG3a8zd0f8CTiOrylXGChBrjhKcchvDJjx9sp5qpwQK61JlNojNCU35xoaSk2eEHeOvFjh0o3CXWUmYPUcBTQ==",
"deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
"dependencies": {
"tsparticles-engine": "^2.12.0"
}
},
"node_modules/tsparticles-updater-opacity": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/tsparticles-updater-opacity/-/tsparticles-updater-opacity-2.12.0.tgz",
"integrity": "sha512-YUjMsgHdaYi4HN89LLogboYcCi1o9VGo21upoqxq19yRy0hRCtx2NhH22iHF/i5WrX6jqshN0iuiiNefC53CsA==",
"deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
"dependencies": {
"tsparticles-engine": "^2.12.0"
}
},
"node_modules/tsparticles-updater-out-modes": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/tsparticles-updater-out-modes/-/tsparticles-updater-out-modes-2.12.0.tgz",
"integrity": "sha512-owBp4Gk0JNlSrmp12XVEeBroDhLZU+Uq3szbWlHGSfcR88W4c/0bt0FiH5bHUqORIkw+m8O56hCjbqwj69kpOQ==",
"deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
"dependencies": {
"tsparticles-engine": "^2.12.0"
}
},
"node_modules/tsparticles-updater-size": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/tsparticles-updater-size/-/tsparticles-updater-size-2.12.0.tgz",
"integrity": "sha512-B0yRdEDd/qZXCGDL/ussHfx5YJ9UhTqNvmS5X2rR2hiZhBAE2fmsXLeWkdtF2QusjPeEqFDxrkGiLOsh6poqRA==",
"deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
"dependencies": {
"tsparticles-engine": "^2.12.0"
}
},
"node_modules/tsparticles-updater-wobble": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/tsparticles-updater-wobble/-/tsparticles-updater-wobble-2.12.0.tgz",
"integrity": "sha512-85FIRl95ipD3jfIsQdDzcUC5PRMWIrCYqBq69nIy9P8rsNzygn+JK2n+P1VQZowWsZvk0mYjqb9OVQB21Lhf6Q==",
"deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name",
"dependencies": {
"tsparticles-engine": "^2.12.0"
}
},
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@ -6144,9 +6791,9 @@
"dev": true
},
"node_modules/vite": {
"version": "4.4.9",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz",
"integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==",
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz",
"integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==",
"dev": true,
"dependencies": {
"esbuild": "^0.18.10",
@ -6289,6 +6936,29 @@
"vue": "^3.2.0"
}
},
"node_modules/vue3-particles": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/vue3-particles/-/vue3-particles-2.12.0.tgz",
"integrity": "sha512-Vc8CSNoT/VWD4LTauYDR2EXN6mPU5qz35wqVPuhW0Wj9IbwGR9FMTSWktjSrKlpiUJgGzMJ003pqpfWYi4vnZw==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/matteobruni"
},
{
"type": "github",
"url": "https://github.com/sponsors/tsparticles"
},
{
"type": "buymeacoffee",
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
"dependencies": {
"tsparticles-engine": "^2.12.0",
"vue": "^3.3.4"
}
},
"node_modules/webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",

View File

@ -14,9 +14,12 @@
"downloadjs": "^1.4.7",
"lucide-vue-next": "^0.268.0",
"swiper": "^10.2.0",
"tsparticles": "^3.0.2",
"tsparticles-preset-snow": "^2.12.0",
"vue": "^3.2.37",
"vue-i18n": "^9.2.2",
"vue-router": "^4.2.4"
"vue-router": "^4.2.4",
"vue3-particles": "^2.12.0"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.3.3",

View File

@ -13,6 +13,7 @@ import {
selectedDay,
changeDay,
changeDate,
eventSettings,
} from "@/store";
import { computed, ref } from "vue";
@ -27,12 +28,30 @@ colorSchemeMedia.addEventListener(
const route = useRoute();
const isDataView = computed(() => route.meta.dataView || false);
const particlesOptions = {
preset: "snow",
fullScreen: {
zIndex: -1,
},
background: {
color: "#0f0f0f",
},
};
import { loadSnowPreset } from "tsparticles-preset-snow";
async function particlesInit(engine) {
await loadSnowPreset(engine);
}
</script>
<template>
<div
class="app"
:class="theme == 'auto' ? `theme-${autoTheme}` : `theme-${theme}`"
:class="
(eventSettings.disabled.includes('snow') ? '' : 'nobg ') +
(theme == 'auto' ? `theme-${autoTheme}` : `theme-${theme}`)
"
>
<TitleBar />
<LoadingElement
@ -52,6 +71,12 @@ const isDataView = computed(() => route.meta.dataView || false);
<main>
<div class="wrapper">
<RouterView />
<Particles
v-if="!eventSettings.disabled.includes('snow')"
id="tsparticles"
:particlesInit="particlesInit"
:options="particlesOptions"
/>
</div>
</main>
</div>
@ -110,4 +135,8 @@ main {
.wrapper {
overflow: hidden;
}
.nobg {
background-color: unset !important;
}
</style>

130
src/assets/santa-hat.svg Normal file
View File

@ -0,0 +1,130 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
id="svg2"
sodipodi:docname="TheresaKnott-Santa-Hat.svg"
viewBox="0 0 410.44 285.17"
sodipodi:version="0.32"
version="1.0"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs1" />
<sodipodi:namedview
id="base"
bordercolor="#666666"
inkscape:pageshadow="2"
guidetolerance="10.0"
pagecolor="#ffffff"
gridtolerance="10.0"
inkscape:zoom="0.74879164"
objecttolerance="10.0"
borderopacity="1.0"
inkscape:current-layer="svg2"
inkscape:cx="295.14218"
inkscape:cy="200.99049"
inkscape:window-y="0"
inkscape:window-x="0"
inkscape:window-height="1043"
inkscape:pageopacity="0.0"
inkscape:window-width="1920"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:window-maximized="1" />
<g
id="layer1"
transform="matrix(-1,0,0,1,419.33911,-24.384997)">
<path
id="path1309"
style="fill:#d00000;fill-rule:evenodd;stroke:#000000;stroke-width:0.83349px"
d="M 234.1,28.783 C 206,36.517 177.2,51.898 156.94,66.79 136.67,81.682 83.746,119.21 71.662,131.1 c -11.716,11.53 -25.555,15.55 -31.611,29.75 -2.335,5.48 15.837,22.01 19.398,23.72 9.241,4.46 24.304,-3.44 31.178,-3.91 22.303,-1.53 45.163,-4.5 67.763,10.79 -4.18,4.22 2.45,-0.32 -6.09,36.7 -3.01,13.05 -9.6,46.92 -1.51,53.38 8.04,6.42 12.95,-18.61 20.94,-14.78 -0.01,0.01 0,0.02 -0.01,0.03 v 0.02 c 0,0.01 -0.01,0.03 0,0.03 0,0 0.02,0 0.02,0.01 0.02,0 0.08,0 0.13,-0.01 0.01,0.01 0.03,0.01 0.05,0.01 0.06,0.03 0.11,0.06 0.16,0.09 l 0.05,-0.13 c 3.78,-0.97 33.26,-13.96 60.18,-8.74 15.17,2.94 39.37,-5.31 53.29,-9.62 22.07,-6.82 53.07,-12.99 72.73,-13.35 14.48,-0.26 27.58,-8.46 41.52,-9.41 8.22,-0.56 0.59,-27.07 0.42,-29.87 -0.81,-13.45 -17.56,-34.13 -26.19,-52.5 -8.62,-18.37 -23.08,-41.7 -39,-59.986 C 319.16,65.034 297.68,41.352 282.55,34.065 267.43,26.778 264.6,20.39 234.1,28.783 Z" />
<path
id="path5882"
style="opacity:0.10112;fill:#0e0000;fill-rule:evenodd"
d="m 166.96,93.344 c -18.24,4.416 -33.85,62.696 -56.32,72.826 -14.701,6.62 -54.752,16.69 -51.191,18.4 9.241,4.46 24.304,-3.44 31.178,-3.91 22.303,-1.53 45.163,-4.5 67.763,10.79 -4.18,4.22 2.45,-0.32 -6.09,36.7 -3.01,13.05 -9.6,46.92 -1.51,53.38 8.04,6.42 12.95,-18.61 20.94,-14.78 -0.01,0.01 0,0.02 -0.01,0.03 v 0.02 c 0,0.01 -0.01,0.03 0,0.03 0,0 0.02,0 0.02,0.01 0.02,0 0.08,0 0.13,-0.01 0.01,0.01 0.03,0.01 0.05,0.01 0.06,0.03 0.11,0.06 0.16,0.09 l 0.05,-0.13 c 3.78,-0.97 33.26,-13.96 60.18,-8.74 15.17,2.94 39.37,-5.31 53.29,-9.62 22.07,-6.82 53.07,-12.99 72.73,-13.35 14.48,-0.26 27.58,-8.46 41.52,-9.41 8.22,-0.56 -51.09,4.52 -27.45,-12.58 10.48,-7.58 -104.99,15.81 -149.32,-34.77 -43.89,-50.09 -37.45,-89.509 -56.12,-84.986 z" />
<path
id="path5878"
style="opacity:0.26966;fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.83016"
d="m 41.923,154.63 c 3.551,2.36 27.398,32.52 30.215,30.41 0.341,-3.33 -2.44,-4.64 -4.397,-5.02 2.62,-3.33 3.114,-6.82 -1.432,-7.11 -5.04,-0.89 -10.543,-1.52 -5.133,-6.94 2.498,-3.04 -0.168,-8.44 -1.701,-11.18 -4.03,-2.18 -7.066,-6.11 -8.718,-8.79" />
<path
id="path5003"
style="opacity:0.29404;fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.60143px"
d="m 365.6,219.59 c -7.45,-2.65 -16.8,-5.7 -23.39,-5.29 -4.53,-3.82 -8,0.89 -11.92,2.14 -0.66,-7.36 -11.51,3.11 -16.29,3.17 -3.4,1.95 -1.06,-5.8 -7.14,-2.85 -7.55,0.71 -12.23,1.23 -17.83,3.66 -1.35,8.01 -13.45,12.53 -15.27,3.74 -6.59,2.88 -18.86,8.45 -18.94,-0.64 -10.57,8.2 -10.9,15.6 -21.22,19.56 0.92,-7.1 -22.37,-10.91 -25.54,-3.47 -6.39,2.57 1.33,-9.32 -7.91,-6.05 -10.4,-3.02 -4.34,17.93 -25.55,9.37 -11.81,-0.38 -5.27,16.71 -13.06,23.88 -2.08,7.53 -11.08,-2.63 -14.73,-2.06 0.85,11.92 3.41,7.88 0.72,15.99 -1.61,10.17 -3.75,15.26 7.43,17.38 3.62,-4.91 -0.18,-2.83 0.63,6.21 6.46,-1.88 14.94,-12.64 14.07,-1.58 4.39,-6.67 18.26,-10.15 18.08,-17.34 7.03,0.74 14.91,8.58 20.83,-0.95 5.95,-7.04 14.51,-10.31 14.6,-4.87 7.23,6.76 7.95,5.39 15.48,3.67 -1.94,-8.71 17.59,-0.6 7.28,-9.27 4.1,-4.11 15.19,-6.5 21.59,-5.08 5.67,8.26 22.95,8.94 25.64,-1.74 0.56,-8.41 13.68,-11.28 18.58,-5.47 8.53,-7.48 21.99,3.39 29.33,-2.35 -6.6,-8.56 9.32,-14.16 12.3,-7.59 5.84,-3.14 11.27,-14.42 17.66,-6.34 7.35,-2.4 16.33,-5.73 22.55,-8.22 4.66,7.69 16.74,-0.23 11.51,-9.54 -2.84,-6.65 9.31,3.28 6,-5.16 -3.76,-9.08 -9.04,-21.69 -15.51,-21.28 -8.82,-2.2 -14.04,3.75 -14.41,12.16 -0.11,-6.14 -10.52,-0.15 -15.98,2.08 l -2.99,0.71 -3.58,-2.52" />
<path
id="path1307"
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.60143px"
d="m 370.52,221.83 c -7.45,-2.64 -14.35,-3.01 -20.94,-2.61 -4.53,-3.82 -9.9,-2.56 -13.82,-1.31 -0.65,-7.36 -9.61,6.57 -14.39,6.63 -3.4,1.95 -1.06,-5.8 -7.13,-2.86 -7.56,0.72 -16.32,-3.97 -21.93,-1.54 -1.35,8.01 -13.45,12.53 -15.26,3.74 -6.6,2.88 -14.78,13.65 -14.86,4.57 -12.39,-0.54 -17.69,11.63 -28.01,15.59 0.92,-7.1 -15.58,-6.95 -18.75,0.5 -6.39,2.57 -1.7,-13.44 -10.93,-10.17 -10.4,-3.03 -10.12,17.69 -22.53,13.48 -11.81,-0.38 -10.16,11.36 -17.95,18.52 -2.08,7.53 -6.19,2.74 -9.84,3.3 6,8.52 -18.39,6.74 -11.15,19.87 -1.6,10.17 0.85,17.47 12.03,19.59 3.62,-4.9 7.09,-8.92 7.9,0.13 6.46,-1.88 14.95,-12.64 14.08,-1.58 4.38,-6.68 18.25,-10.15 18.08,-17.34 7.02,0.74 14.9,8.58 20.82,-0.95 5.96,-7.05 6.94,-1.3 7.03,4.14 7.23,6.75 15.53,-3.63 23.05,-5.35 -1.94,-8.71 17.6,-0.59 7.28,-9.27 4.1,-4.1 15.19,-6.5 21.6,-5.07 5.62,5.33 22.94,8.93 25.63,-1.75 0.56,-8.4 13.68,-11.28 18.59,-5.47 8.52,-7.48 21.98,3.39 29.32,-2.34 -6.6,-8.57 9.32,-14.16 12.3,-7.6 5.84,-3.13 11.28,-14.42 17.67,-6.34 7.35,-2.39 16.32,-5.72 22.54,-8.22 4.66,7.69 16.75,-0.22 11.51,-9.53 -2.84,-6.65 9.31,3.27 6,-5.17 0.08,-9.65 -3.56,-24.6 -15.51,-21.27 -8.81,-2.2 -14.04,3.74 -14.41,12.16 -0.11,-6.14 -14.02,-3.92 -19.48,-1.7 l -1.79,0.95 -1.28,1.01" />
<path
id="path3126"
style="fill:none;stroke:#000000;stroke-width:0.83349px"
d="m 155.68,210.89 c 3.14,-40.85 23.79,-59.45 20.15,-92.12 -2.15,-19.313 -19.54,-4.68 -13.87,13.44" />
<path
id="path3249"
style="opacity:0.11236;fill:#000000;fill-rule:evenodd"
d="m 163.98,266.62 c -2.08,7.53 -6.2,2.74 -9.84,3.3 6,8.51 -18.39,6.74 -11.15,19.87 -1.61,10.17 0.85,17.47 12.03,19.59 3.62,-4.9 7.09,-8.92 7.9,0.13 6.46,-1.88 14.94,-12.64 14.07,-1.58 4.38,-6.68 18.26,-10.16 18.08,-17.34 7.02,0.73 14.57,7.35 20.5,-2.19 5.95,-7.04 7.27,-0.06 7.36,5.38 7.23,6.75 15.52,-3.63 23.04,-5.35 -1.93,-8.71 8.87,-1.54 7.29,-9.27 -1.04,-5.06 33.64,-3.56 28.65,-8.51 -14.9,-14.79 -38.19,7.49 -41.56,6.07 -3.36,-1.42 -7.09,-0.56 -2.38,-2.72 4.71,-2.16 -6.74,1.39 -16.28,-1.99 -9.53,-3.39 -16.51,0.89 -17.15,9.34 -7.18,-4.47 -7.7,0.61 -18.88,3.72 7.12,-10.43 -12.6,-2.77 -12.6,-2.77 0,0 3.43,-11.43 -2.74,-9.92 3.32,-5.97 -0.37,-7.8 -0.37,-7.8 0,0 1.82,-5.12 -5.97,2.04 z" />
<path
id="path2251"
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.8136"
d="m 46.945,146.24 c -1.302,-2.31 -5.358,-2.95 -5.88,-4.92 0.907,-2.28 -2.659,-0.62 -3.361,-1.88 -4.195,3.43 -9.985,4.92 -13.093,9.64 1.653,-0.36 1.649,-2.78 -0.157,-0.99 -3.401,1.69 -6.688,4.65 -5.409,8.89 0.309,2.17 -2.426,4.04 0.913,4.56 -0.435,3.48 -5.655,3.33 -5.658,6.4 1.155,3.35 0.647,6.84 -2.101,9.19 -2.7176,2.54 -1.598,6.28 -1.499,9.37 -1.3672,2.07 -2.1366,3.99 -0.335,5.95 0.382,3.55 3.327,5.9 3.349,9.59 1.24,1.94 3.727,1.82 4.997,4.01 3.71,0.31 3.983,5.49 7.517,6.21 3.036,0.99 6.629,0.3 9.365,1.03 2.243,1.82 4.819,3.09 7.643,3.6 3.551,2.26 4.758,-3.37 6.907,-5.18 0.112,-2.83 2.146,-3.05 3.509,-0.67 3.101,2.11 6.314,-1.51 8.537,-3.43 2.173,-2.37 4.612,-4.42 7.032,-6.5 3.436,-3.88 4.656,-9.43 4.464,-14.53 0.34,-3.2 -2.635,-3.38 -4.591,-3.74 0.885,-2.69 3.113,-6.54 -1.433,-6.83 -2.607,-0.68 -8.517,-3.6 -5.132,-6.66 2.498,-2.92 -0.94,-6.85 -2.474,-9.49 -2.656,-2.11 -4.199,-5.06 -5.851,-7.63 -3.197,-0.51 -6.194,-2.45 -7.009,-5.84 -0.854,-2.7 -0.237,-0.7 0.033,0.61" />
<path
id="path4128"
style="opacity:0.095506;fill:#000000;fill-rule:evenodd"
d="m 20.405,181.85 c -1.601,-1.97 4.721,-1.05 4.199,-3.01 0.907,-2.28 -0.178,-2.38 -0.881,-3.63 -4.194,3.43 -3.206,-4.71 -6.314,0.02 1.652,-0.37 1.381,-6.34 -0.425,-4.55 -3.401,1.69 -2.681,-5.81 -2.684,-2.74 1.155,3.35 0.647,6.84 -2.101,9.19 -2.7176,2.54 -1.598,6.28 -1.499,9.37 -1.3672,2.07 -2.1366,3.99 -0.335,5.95 0.382,3.55 3.327,5.9 3.349,9.59 1.24,1.94 3.727,1.82 4.997,4.01 3.71,0.31 3.983,5.49 7.517,6.21 3.036,0.99 6.629,0.3 9.365,1.03 2.243,1.82 4.819,3.09 7.643,3.6 3.551,2.26 4.758,-3.37 6.907,-5.18 0.112,-2.83 2.146,-3.05 3.509,-0.67 3.101,2.11 6.314,-1.51 8.537,-3.43 2.173,-2.37 -8.346,0.36 -5.926,-1.72 3.436,-3.88 -7.752,5.42 -7.945,0.31 0.341,-3.2 -12.37,4.07 -9.678,-1.55 0.884,-2.69 1.536,-0.75 -3.01,-1.04 -2.607,-0.68 -9.804,-5.49 -6.419,-8.56 2.498,-2.92 -1.342,0.46 -2.876,-2.18 -2.656,-2.11 -0.959,-0.95 -2.611,-3.52 -3.198,-0.51 -1.792,-1.82 -2.607,-5.21 -1.383,3.98 -0.982,-3.61 -0.712,-2.29 z" />
<path
id="path5880"
style="fill:#000000;fill-opacity:0.22346;fill-rule:evenodd"
d="m 157.67,192.36 c 0,0 13.14,-33.51 16.3,-46.88 2.96,-12.51 2.58,-31.6 -1.85,-35.14 -4.43,-3.53 -10.25,2.58 -10.86,9.82 -0.61,7.24 -1.13,9.06 1.84,22.87 1.35,6.25 0.68,21.09 -1.15,28.09 -1.83,7 -5.83,22.95 -4.28,21.24 z" />
</g>
<metadata
id="metadata1">
<rdf:RDF>
<cc:Work>
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<cc:license
rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
<dc:publisher>
<cc:Agent
rdf:about="http://openclipart.org/">
<dc:title>Openclipart</dc:title>
</cc:Agent>
</dc:publisher>
<dc:title>Santa Hat</dc:title>
<dc:date>2006-10-25T09:09:50</dc:date>
<dc:description>A santa hat for christmas sutable for putting on other drawings.</dc:description>
<dc:source>https://openclipart.org/detail/889/santa-hat-by-theresaknott</dc:source>
<dc:creator>
<cc:Agent>
<dc:title>TheresaKnott</dc:title>
</cc:Agent>
</dc:creator>
<dc:subject>
<rdf:Bag>
<rdf:li>christmas</rdf:li>
<rdf:li>hat</rdf:li>
<rdf:li>santa</rdf:li>
</rdf:Bag>
</dc:subject>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/publicdomain/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -16,7 +16,10 @@ function goBack() {
<template>
<div class="titlebar">
<span class="title">{{ $t(routeName || "") }}</span>
<span class="title"
>{{ $t(routeName || "")
}}<img src="../assets/santa-hat.svg" class="hat" width="30"
/></span>
<div class="settings">
<RouterLink
to="/settings"
@ -65,4 +68,12 @@ a {
a.router-link-active {
background-color: var(--titlebar-element-active-color);
}
.icon {
margin-right: 5px;
}
.hat {
transform: translate(-10px, -4px) rotate(20deg);
}
</style>

View File

@ -3,11 +3,13 @@ import App from "@/App.vue";
import router from "@/router";
import { registerSW } from "virtual:pwa-register";
import i18n from "@/i18n";
import Particles from "vue3-particles";
const app = createApp(App);
app.use(router);
app.use(i18n);
app.use(Particles);
app.mount("#app");

View File

@ -16,6 +16,7 @@ import AppearanceSettings from "@/views/settings/AppearanceSettings.vue";
import ProfileSettings from "@/views/settings/ProfileSettings.vue";
import KeySettings from "@/views/settings/KeySettings.vue";
import AdminSettings from "@/views/settings/AdminSettings.vue";
import EventSettings from "@/views/settings/EventSettings.vue";
import AboutPage from "@/views/settings/AboutPage.vue";
const router = createRouter({
@ -89,6 +90,11 @@ const router = createRouter({
name: "title.settings.admin",
component: AdminSettings,
},
{
path: "event",
name: "Event settings",
component: EventSettings,
},
{
path: "about",
name: "title.settings.about",

View File

@ -29,6 +29,9 @@ export const activeProfile = computed(() => {
export const activeProfileId = ref(
localStorage.getItem("activeProfile") || profiles.value[0].id,
);
export const eventSettings = ref(
JSON.parse(localStorage.getItem("eventSettings")) || { disabled: [] },
);
watch(
profiles,
@ -46,6 +49,13 @@ watch(
fetchData(getNextAndPrevDay(selectedDate.value), false);
},
);
watch(
eventSettings,
(newValue) => {
localStorage.setItem("eventSettings", JSON.stringify(newValue));
},
{ deep: true },
);
export const cachedTimetables = ref(
JSON.parse(localStorage.getItem("cachedTimetables")) || {},

View File

@ -2,6 +2,7 @@
import ScrollableContainer from "@/components/scrollable-container.vue";
import PageCard from "@/components/settings/page-card.vue";
import { hasPermission } from "@/permission";
import { PartyPopperIcon } from "lucide-vue-next";
import { BookmarkIcon } from "lucide-vue-next";
import {
FilterIcon,
@ -62,6 +63,12 @@ import {
"
route="settings/admin"
/>
<PageCard
name="Event Settings"
:icon="PartyPopperIcon"
route="settings/event"
>
</PageCard>
<PageCard
:name="$t('title.settings.about')"
:icon="InfoIcon"

View File

@ -0,0 +1,31 @@
<script setup>
import { eventSettings } from "@/store";
import MultiselectButtons from "@/components/settings/multiselect-buttons.vue";
if (!eventSettings.value.disabled) eventSettings.value.disabled = [];
</script>
<template>
<h2>Event Settings</h2>
<p>
Last Christmas I gave you my heart But the very next day you gave it away
This year, to save me from tears I'll give it to someone special Last
Christmas I gave you my heart But the very next day you gave it away This
year, to save me from tears I'll give it to someone special [...]
</p>
<MultiselectButtons
:options="['Disable Snow']"
:values="['snow']"
v-model="eventSettings.disabled"
/>
</template>
<style scoped>
h2 {
margin: 0px;
}
p {
margin: 5px 0px;
}
</style>