diff --git a/package.json b/package.json index 782f853..2b6fe5b 100644 --- a/package.json +++ b/package.json @@ -14,11 +14,14 @@ "devDependencies": { "@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/kit": "^1.20.4", + "autoprefixer": "^10.4.15", "firebase": "^10.1.0", + "postcss": "^8.4.29", "prettier": "^2.8.0", "prettier-plugin-svelte": "^2.10.1", "svelte": "^4.0.5", "svelte-check": "^3.4.3", + "tailwindcss": "^3.3.3", "typescript": "^5.0.0", "vite": "^4.4.2" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9012d2..a829742 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,9 +11,15 @@ devDependencies: '@sveltejs/kit': specifier: ^1.20.4 version: 1.22.5(svelte@4.2.0)(vite@4.4.9) + autoprefixer: + specifier: ^10.4.15 + version: 10.4.15(postcss@8.4.29) firebase: specifier: ^10.1.0 version: 10.1.0(react-native@0.72.3) + postcss: + specifier: ^8.4.29 + version: 8.4.29 prettier: specifier: ^2.8.0 version: 2.8.8 @@ -25,7 +31,10 @@ devDependencies: version: 4.2.0 svelte-check: specifier: ^3.4.3 - version: 3.5.0(@babel/core@7.22.10)(svelte@4.2.0) + version: 3.5.0(@babel/core@7.22.10)(postcss@8.4.29)(svelte@4.2.0) + tailwindcss: + specifier: ^3.3.3 + version: 3.3.3 typescript: specifier: ^5.0.0 version: 5.1.6 @@ -35,6 +44,11 @@ devDependencies: packages: + /@alloc/quick-lru@5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + dev: true + /@ampproject/remapping@2.2.1: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} @@ -341,6 +355,7 @@ packages: /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.10): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -354,6 +369,7 @@ packages: /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -376,6 +392,7 @@ packages: /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -387,6 +404,7 @@ packages: /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -398,6 +416,7 @@ packages: /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.10): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -412,6 +431,7 @@ packages: /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -423,6 +443,7 @@ packages: /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.10): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2785,6 +2806,10 @@ packages: engines: {node: '>=10'} dev: true + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -2797,6 +2822,10 @@ packages: resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==} dev: true + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: @@ -2833,6 +2862,22 @@ packages: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} dev: true + /autoprefixer@10.4.15(postcss@8.4.29): + resolution: {integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.10 + caniuse-lite: 1.0.30001520 + fraction.js: 4.3.6 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + dev: true + /axobject-query@3.2.1: resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} dependencies: @@ -3033,6 +3078,11 @@ packages: engines: {node: '>=6'} dev: true + /camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: true + /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -3186,6 +3236,11 @@ packages: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + /commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} @@ -3279,6 +3334,12 @@ packages: source-map-js: 1.0.2 dev: true + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + /dayjs@1.11.9: resolution: {integrity: sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==} dev: true @@ -3358,6 +3419,14 @@ packages: resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} dev: true + /didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true + + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true + /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true @@ -3634,6 +3703,10 @@ packages: engines: {node: '>=0.4.0'} dev: true + /fraction.js@4.3.6: + resolution: {integrity: sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==} + dev: true + /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} @@ -3686,6 +3759,24 @@ packages: is-glob: 4.0.3 dev: true + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -4017,6 +4108,11 @@ packages: supports-color: 8.1.1 dev: true + /jiti@1.20.0: + resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} + hasBin: true + dev: true + /joi@17.9.2: resolution: {integrity: sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==} dependencies: @@ -4124,6 +4220,15 @@ packages: engines: {node: '>=6'} dev: true + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + /locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} dev: true @@ -4646,6 +4751,14 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -4719,6 +4832,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -4740,6 +4858,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: true + /on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} @@ -4895,6 +5018,11 @@ packages: engines: {node: '>=8.6'} dev: true + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -4912,8 +5040,69 @@ packages: find-up: 3.0.0 dev: true - /postcss@8.4.27: - resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} + /postcss-import@15.1.0(postcss@8.4.29): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.29 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.4 + dev: true + + /postcss-js@4.0.1(postcss@8.4.29): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.29 + dev: true + + /postcss-load-config@4.0.1(postcss@8.4.29): + resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + postcss: 8.4.29 + yaml: 2.3.1 + dev: true + + /postcss-nested@6.0.1(postcss@8.4.29): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.29 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@8.4.29: + resolution: {integrity: sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -5133,6 +5322,12 @@ packages: loose-envify: 1.4.0 dev: true + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + /readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: @@ -5564,6 +5759,20 @@ packages: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: true + /sucrase@3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + dev: true + /sudo-prompt@9.2.1: resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} dev: true @@ -5594,7 +5803,7 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check@3.5.0(@babel/core@7.22.10)(svelte@4.2.0): + /svelte-check@3.5.0(@babel/core@7.22.10)(postcss@8.4.29)(svelte@4.2.0): resolution: {integrity: sha512-KHujbn4k17xKYLmtCwv0sKKM7uiHTYcQvXnvrCcNU6a7hcszh99zFTIoiu/Sp/ewAw5aJmillJ1Cs8gKLmcX4A==} hasBin: true peerDependencies: @@ -5607,7 +5816,7 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 4.2.0 - svelte-preprocess: 5.0.4(@babel/core@7.22.10)(svelte@4.2.0)(typescript@5.1.6) + svelte-preprocess: 5.0.4(@babel/core@7.22.10)(postcss@8.4.29)(svelte@4.2.0)(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: - '@babel/core' @@ -5630,7 +5839,7 @@ packages: svelte: 4.2.0 dev: true - /svelte-preprocess@5.0.4(@babel/core@7.22.10)(svelte@4.2.0)(typescript@5.1.6): + /svelte-preprocess@5.0.4(@babel/core@7.22.10)(postcss@8.4.29)(svelte@4.2.0)(typescript@5.1.6): resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -5672,6 +5881,7 @@ packages: '@types/pug': 2.0.6 detect-indent: 6.1.0 magic-string: 0.27.0 + postcss: 8.4.29 sorcery: 0.11.0 strip-indent: 3.0.0 svelte: 4.2.0 @@ -5697,6 +5907,37 @@ packages: periscopic: 3.1.0 dev: true + /tailwindcss@3.3.3: + resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.5.3 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.1 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.20.0 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.29 + postcss-import: 15.1.0(postcss@8.4.29) + postcss-js: 4.0.1(postcss@8.4.29) + postcss-load-config: 4.0.1(postcss@8.4.29) + postcss-nested: 6.0.1(postcss@8.4.29) + postcss-selector-parser: 6.0.13 + resolve: 1.22.4 + sucrase: 3.34.0 + transitivePeerDependencies: + - ts-node + dev: true + /temp@0.8.4: resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} engines: {node: '>=6.0.0'} @@ -5715,6 +5956,19 @@ packages: source-map-support: 0.5.21 dev: true + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + /throat@5.0.0: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} dev: true @@ -5756,6 +6010,10 @@ packages: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + /tslib@2.6.1: resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} dev: true @@ -5888,7 +6146,7 @@ packages: optional: true dependencies: esbuild: 0.18.20 - postcss: 8.4.27 + postcss: 8.4.29 rollup: 3.28.0 optionalDependencies: fsevents: 2.3.2 diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/src/app.css b/src/app.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/src/app.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/src/lib/randomEmoji.ts b/src/lib/randomEmoji.ts new file mode 100644 index 0000000..cc423d4 --- /dev/null +++ b/src/lib/randomEmoji.ts @@ -0,0 +1,840 @@ +// inspired from https://gist.github.com/ikr7/c72843556ef3a12014c3 + +var emojis = [ + '๐', + '๐', + '๐', + '๐', + 'โบ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ณ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ฃ', + '๐ข', + '๐', + '๐ญ', + '๐ช', + '๐ฅ', + '๐ฐ', + '๐ ', + '๐', + '๐ฉ', + '๐ซ', + '๐จ', + '๐ฑ', + '๐ ', + '๐ก', + '๐ค', + '๐', + '๐', + '๐', + '๐ท', + '๐', + '๐ด', + '๐ต', + '๐ฒ', + '๐', + '๐ฆ', + '๐ง', + '๐', + '๐ฟ', + '๐ฎ', + '๐ฌ', + '๐', + '๐', + '๐ฏ', + '๐ถ', + '๐', + '๐', + '๐', + '๐ฒ', + '๐ณ', + '๐ฎ', + '๐ท', + '๐', + '๐ถ', + '๐ฆ', + '๐ง', + '๐จ', + '๐ฉ', + '๐ด', + '๐ต', + '๐ฑ', + '๐ผ', + '๐ธ', + '๐บ', + '๐ธ', + '๐ป', + '๐ฝ', + '๐ผ', + '๐', + '๐ฟ', + '๐น', + '๐พ', + '๐น', + '๐บ', + '๐', + '๐', + '๐', + '๐', + '๐ฝ', + '๐ฉ', + '๐ฅ', + 'โจ', + '๐', + '๐ซ', + '๐ฅ', + '๐ข', + '๐ฆ', + '๐ง', + '๐ค', + '๐จ', + '๐', + '๐', + '๐', + '๐ ', + '๐', + '๐', + '๐', + '๐', + '๐', + 'โ', + 'โ', + '๐', + 'โ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + 'โ', + '๐', + '๐ช', + '๐ถ', + '๐', + '๐', + '๐ซ', + '๐ช', + '๐ฌ', + '๐ญ', + '๐', + '๐', + '๐ฏ', + '๐', + '๐ ', + '๐', + '๐', + '๐', + '๐', + '๐ ', + '๐ฐ', + '๐', + '๐', + '๐', + '๐ฉ', + '๐', + '๐', + '๐', + '๐', + '๐ก', + '๐ ', + '๐ข', + '๐', + '๐', + '๐', + '๐', + '๐ฝ', + '๐', + '๐', + '๐', + '๐ผ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + 'โค', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ค', + '๐ฅ', + '๐ฌ', + '๐ฃ', + '๐ญ', + '๐ถ', + '๐บ', + '๐ฑ', + '๐ญ', + '๐น', + '๐ฐ', + '๐ธ', + '๐ฏ', + '๐จ', + '๐ป', + '๐ท', + '๐ฝ', + '๐ฎ', + '๐', + '๐ต', + '๐', + '๐ด', + '๐', + '๐', + '๐ผ', + '๐ง', + '๐ฆ', + '๐ค', + '๐ฅ', + '๐ฃ', + '๐', + '๐', + '๐ข', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ ', + '๐', + '๐ฌ', + '๐ณ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ฒ', + '๐ก', + '๐', + '๐ซ', + '๐ช', + '๐', + '๐', + '๐ฉ', + '๐พ', + '๐', + '๐ธ', + '๐ท', + '๐', + '๐น', + '๐ป', + '๐บ', + '๐', + '๐', + '๐', + '๐ฟ', + '๐พ', + '๐', + '๐ต', + '๐ด', + '๐ฒ', + '๐ณ', + '๐ฐ', + '๐ฑ', + '๐ผ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ ', + 'โญ', + 'โ', + 'โ ', + 'โ', + 'โก', + 'โ', + 'โ', + 'โ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ป', + '๐ ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ฎ', + '๐ฅ', + '๐ท', + '๐น', + '๐ผ', + '๐ฟ', + '๐', + '๐ฝ', + '๐พ', + '๐ป', + '๐ฑ', + 'โ', + '๐', + '๐', + '๐ ', + '๐ก', + '๐บ', + '๐ป', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ข', + '๐ฃ', + 'โณ', + 'โ', + 'โฐ', + 'โ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ก', + '๐ฆ', + '๐', + '๐ ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ฟ', + '๐ฝ', + '๐ง', + '๐ฉ', + '๐จ', + '๐ช', + '๐ฌ', + '๐ฃ', + '๐ซ', + '๐ช', + '๐', + '๐', + '๐ฐ', + '๐ด', + '๐ต', + '๐ท', + '๐ถ', + '๐ณ', + '๐ธ', + '๐ฒ', + '๐ง', + '๐ฅ', + '๐ค', + 'โ', + '๐ฉ', + '๐จ', + '๐ฏ', + '๐ซ', + '๐ช', + '๐ฌ', + '๐ญ', + '๐ฎ', + '๐ฆ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ ', + '๐', + '๐', + '๐', + '๐', + 'โ', + '๐', + '๐', + 'โ', + 'โ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ฌ', + '๐ญ', + '๐ฐ', + '๐จ', + '๐ฌ', + '๐ค', + '๐ง', + '๐ผ', + '๐ต', + '๐ถ', + '๐น', + '๐ป', + '๐บ', + '๐ท', + '๐ธ', + '๐พ', + '๐ฎ', + '๐', + '๐ด', + '๐', + '๐ฒ', + '๐ฏ', + '๐', + '๐', + 'โฝ', + 'โพ', + '๐พ', + '๐ฑ', + '๐', + '๐ณ', + 'โณ', + '๐ต', + '๐ด', + '๐', + '๐', + '๐', + '๐ฟ', + '๐', + '๐', + '๐', + '๐ฃ', + 'โ', + '๐ต', + '๐ถ', + '๐ผ', + '๐บ', + '๐ป', + '๐ธ', + '๐น', + '๐ท', + '๐ด', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ค', + '๐ฑ', + '๐ฃ', + '๐ฅ', + '๐', + '๐', + '๐', + '๐', + '๐ฒ', + '๐ข', + '๐ก', + '๐ณ', + '๐', + '๐ฉ', + '๐ฎ', + '๐ฆ', + '๐จ', + '๐ง', + '๐', + '๐ฐ', + '๐ช', + '๐ซ', + '๐ฌ', + '๐ญ', + '๐ฏ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ ', + '๐', + '๐ ', + '๐ฝ', + '๐ ', + '๐ก', + '๐ซ', + '๐ข', + '๐ฃ', + '๐ฅ', + '๐ฆ', + '๐ช', + '๐ฉ', + '๐จ', + '๐', + 'โช', + '๐ฌ', + '๐ค', + '๐', + '๐', + '๐ฏ', + '๐ฐ', + 'โบ', + '๐ญ', + '๐ผ', + '๐พ', + '๐ป', + '๐', + '๐ ', + '๐', + '๐ฝ', + '๐', + '๐ ', + '๐ก', + 'โฒ', + '๐ข', + '๐ข', + 'โต', + '๐ค', + '๐ฃ', + 'โ', + '๐', + 'โ', + '๐บ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐จ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ฒ', + '๐ก', + '๐', + '๐ ', + '๐', + '๐', + '๐', + '๐ซ', + '๐ฆ', + '๐ฅ', + 'โ ', + '๐ง', + '๐ฐ', + 'โฝ', + '๐ฎ', + '๐ฐ', + 'โจ', + '๐ฟ', + '๐ช', + '๐ญ', + '๐', + '๐ฉ', + 'โฌ', + 'โฌ', + 'โฌ ', + 'โก', + '๐ ', + '๐ก', + '๐ค', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ', + '๐', + 'โ', + 'โถ', + '๐ผ', + '๐ฝ', + 'โฉ', + 'โช', + 'โน', + 'โช', + 'โฉ', + 'โซ', + 'โฌ', + 'โคต', + 'โคด', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ถ', + '๐ฆ', + '๐', + '๐ฏ', + '๐ณ', + '๐ต', + '๐ด', + '๐ฒ', + '๐', + '๐น', + '๐บ', + '๐ถ', + '๐', + '๐ป', + '๐น', + '๐บ', + '๐ผ', + '๐พ', + '๐ฐ', + '๐ฎ', + '๐ ฟ', + 'โฟ', + '๐ญ', + '๐ท', + '๐ธ', + '๐', + 'โ', + '๐', + '๐', + '๐ ', + '๐', + '๐', + 'ใ', + 'ใ', + '๐', + '๐', + '๐', + '๐ซ', + '๐', + '๐ต', + '๐ฏ', + '๐ฑ', + '๐ณ', + '๐ท', + '๐ธ', + 'โ', + 'โณ', + 'โ', + 'โ', + 'โ ', + 'โด', + '๐', + '๐', + '๐ณ', + '๐ด', + '๐ ฐ', + '๐ ฑ', + '๐', + '๐ พ', + '๐ ', + 'โฟ', + 'โป', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ', + '๐ฏ', + '๐ง', + '๐น', + '๐ฒ', + '๐ฑ', + 'ยฉ', + 'ยฎ', + 'โข', + 'ใฝ', + 'ใฐ', + '๐', + '๐', + '๐', + '๐', + '๐', + 'โ', + 'โญ', + 'โ', + 'โ', + 'โ', + 'โ', + '๐', + '๐', + '๐ง', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ ', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐', + '๐ก', + '๐ข', + '๐ฃ', + '๐ค', + '๐ฅ', + '๐ฆ', + 'โ', + 'โ', + 'โ', + 'โ', + 'โ ', + 'โฅ', + 'โฃ', + 'โฆ', + '๐ฎ', + '๐ฏ', + 'โ', + 'โ', + '๐', + '๐', + 'โฐ', + '๐ฑ', + '๐ฒ', + '๐ณ', + 'โผ', + 'โป', + 'โพ', + 'โฝ', + 'โช', + 'โซ', + '๐บ', + 'โฌ', + 'โฌ', + 'โซ', + 'โช', + '๐ด', + '๐ต', + '๐ป', + '๐ถ', + '๐ท', + '๐ธ', + '๐น' +]; + +let waitTime = 80; +let emojiWait = 0; +let prevEmoji = ''; +function returnRandomEmoji() { + if (emojiWait >= waitTime) { + emojiWait = 0; + let emoji = emojis[Math.floor(Math.random() * emojis.length)]; + prevEmoji = emoji; + return emoji; + } else { + emojiWait++; + return prevEmoji; + } +} + +export { returnRandomEmoji } diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index 8728b79..f577abe 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -1,4 +1,5 @@ import { GetCount } from "$lib/firestore"; +const ssr = false; export async function load() { return { count: await GetCount() diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 8474615..c164f0e 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,8 +1,40 @@ -
{finalText}
+