This is the initial commit of the sveltekit version of On The Spectrum:
A game brought to you by Sludge and Friends
This commit is contained in:
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
node_modules
|
||||
|
||||
# Output
|
||||
.output
|
||||
.vercel
|
||||
.netlify
|
||||
.wrangler
|
||||
/.svelte-kit
|
||||
/build
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Env
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
!.env.test
|
||||
|
||||
# Vite
|
||||
vite.config.js.timestamp-*
|
||||
vite.config.ts.timestamp-*
|
||||
9
.prettierignore
Normal file
9
.prettierignore
Normal file
@@ -0,0 +1,9 @@
|
||||
# Package Managers
|
||||
package-lock.json
|
||||
pnpm-lock.yaml
|
||||
yarn.lock
|
||||
bun.lock
|
||||
bun.lockb
|
||||
|
||||
# Miscellaneous
|
||||
/static/
|
||||
17
.prettierrc
Normal file
17
.prettierrc
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"useTabs": true,
|
||||
"singleQuote": true,
|
||||
"trailingComma": "none",
|
||||
"printWidth": 100,
|
||||
"plugins": [
|
||||
"prettier-plugin-svelte"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": "*.svelte",
|
||||
"options": {
|
||||
"parser": "svelte"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
38
README.md
Normal file
38
README.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# sv
|
||||
|
||||
Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli).
|
||||
|
||||
## Creating a project
|
||||
|
||||
If you're seeing this, you've probably already done this step. Congrats!
|
||||
|
||||
```sh
|
||||
# create a new project in the current directory
|
||||
npx sv create
|
||||
|
||||
# create a new project in my-app
|
||||
npx sv create my-app
|
||||
```
|
||||
|
||||
## Developing
|
||||
|
||||
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
|
||||
|
||||
```sh
|
||||
npm run dev
|
||||
|
||||
# or start the server and open the app in a new browser tab
|
||||
npm run dev -- --open
|
||||
```
|
||||
|
||||
## Building
|
||||
|
||||
To create a production version of your app:
|
||||
|
||||
```sh
|
||||
npm run build
|
||||
```
|
||||
|
||||
You can preview the production build with `npm run preview`.
|
||||
|
||||
> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
|
||||
226
bun.lock
Normal file
226
bun.lock
Normal file
@@ -0,0 +1,226 @@
|
||||
{
|
||||
"lockfileVersion": 1,
|
||||
"workspaces": {
|
||||
"": {
|
||||
"name": "on-the-spectrum",
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "^7.0.0",
|
||||
"@sveltejs/kit": "^2.48.5",
|
||||
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
||||
"prettier": "^3.6.2",
|
||||
"prettier-plugin-svelte": "^3.4.0",
|
||||
"svelte": "^5.43.8",
|
||||
"svelte-check": "^4.3.4",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.2",
|
||||
},
|
||||
},
|
||||
},
|
||||
"packages": {
|
||||
"@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="],
|
||||
|
||||
"@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="],
|
||||
|
||||
"@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="],
|
||||
|
||||
"@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="],
|
||||
|
||||
"@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="],
|
||||
|
||||
"@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="],
|
||||
|
||||
"@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="],
|
||||
|
||||
"@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="],
|
||||
|
||||
"@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="],
|
||||
|
||||
"@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="],
|
||||
|
||||
"@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="],
|
||||
|
||||
"@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="],
|
||||
|
||||
"@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="],
|
||||
|
||||
"@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="],
|
||||
|
||||
"@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="],
|
||||
|
||||
"@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="],
|
||||
|
||||
"@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="],
|
||||
|
||||
"@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="],
|
||||
|
||||
"@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="],
|
||||
|
||||
"@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="],
|
||||
|
||||
"@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="],
|
||||
|
||||
"@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="],
|
||||
|
||||
"@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="],
|
||||
|
||||
"@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="],
|
||||
|
||||
"@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="],
|
||||
|
||||
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="],
|
||||
|
||||
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
|
||||
|
||||
"@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="],
|
||||
|
||||
"@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
|
||||
|
||||
"@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="],
|
||||
|
||||
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
|
||||
|
||||
"@polka/url": ["@polka/url@1.0.0-next.29", "", {}, "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww=="],
|
||||
|
||||
"@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.53.3", "", { "os": "android", "cpu": "arm" }, "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w=="],
|
||||
|
||||
"@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.53.3", "", { "os": "android", "cpu": "arm64" }, "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w=="],
|
||||
|
||||
"@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.53.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA=="],
|
||||
|
||||
"@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.53.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ=="],
|
||||
|
||||
"@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.53.3", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w=="],
|
||||
|
||||
"@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.53.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q=="],
|
||||
|
||||
"@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.53.3", "", { "os": "linux", "cpu": "arm" }, "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw=="],
|
||||
|
||||
"@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.53.3", "", { "os": "linux", "cpu": "arm" }, "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg=="],
|
||||
|
||||
"@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.53.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w=="],
|
||||
|
||||
"@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.53.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A=="],
|
||||
|
||||
"@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g=="],
|
||||
|
||||
"@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.53.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw=="],
|
||||
|
||||
"@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g=="],
|
||||
|
||||
"@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A=="],
|
||||
|
||||
"@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.53.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg=="],
|
||||
|
||||
"@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.53.3", "", { "os": "linux", "cpu": "x64" }, "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w=="],
|
||||
|
||||
"@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.53.3", "", { "os": "linux", "cpu": "x64" }, "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q=="],
|
||||
|
||||
"@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.53.3", "", { "os": "none", "cpu": "arm64" }, "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw=="],
|
||||
|
||||
"@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.53.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw=="],
|
||||
|
||||
"@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.53.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA=="],
|
||||
|
||||
"@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.53.3", "", { "os": "win32", "cpu": "x64" }, "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg=="],
|
||||
|
||||
"@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.53.3", "", { "os": "win32", "cpu": "x64" }, "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ=="],
|
||||
|
||||
"@standard-schema/spec": ["@standard-schema/spec@1.0.0", "", {}, "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA=="],
|
||||
|
||||
"@sveltejs/acorn-typescript": ["@sveltejs/acorn-typescript@1.0.8", "", { "peerDependencies": { "acorn": "^8.9.0" } }, "sha512-esgN+54+q0NjB0Y/4BomT9samII7jGwNy/2a3wNZbT2A2RpmXsXwUt24LvLhx6jUq2gVk4cWEvcRO6MFQbOfNA=="],
|
||||
|
||||
"@sveltejs/adapter-auto": ["@sveltejs/adapter-auto@7.0.0", "", { "peerDependencies": { "@sveltejs/kit": "^2.0.0" } }, "sha512-ImDWaErTOCkRS4Gt+5gZuymKFBobnhChXUZ9lhUZLahUgvA4OOvRzi3sahzYgbxGj5nkA6OV0GAW378+dl/gyw=="],
|
||||
|
||||
"@sveltejs/kit": ["@sveltejs/kit@2.49.1", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/cookie": "^0.6.0", "acorn": "^8.14.1", "cookie": "^0.6.0", "devalue": "^5.3.2", "esm-env": "^1.2.2", "kleur": "^4.1.5", "magic-string": "^0.30.5", "mrmime": "^2.0.0", "sade": "^1.8.1", "set-cookie-parser": "^2.6.0", "sirv": "^3.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0", "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", "svelte": "^4.0.0 || ^5.0.0-next.0", "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" }, "optionalPeers": ["@opentelemetry/api"], "bin": { "svelte-kit": "svelte-kit.js" } }, "sha512-vByReCTTdlNM80vva8alAQC80HcOiHLkd8XAxIiKghKSHcqeNfyhp3VsYAV8VSiPKu4Jc8wWCfsZNAIvd1uCqA=="],
|
||||
|
||||
"@sveltejs/vite-plugin-svelte": ["@sveltejs/vite-plugin-svelte@6.2.1", "", { "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", "debug": "^4.4.1", "deepmerge": "^4.3.1", "magic-string": "^0.30.17", "vitefu": "^1.1.1" }, "peerDependencies": { "svelte": "^5.0.0", "vite": "^6.3.0 || ^7.0.0" } }, "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ=="],
|
||||
|
||||
"@sveltejs/vite-plugin-svelte-inspector": ["@sveltejs/vite-plugin-svelte-inspector@5.0.1", "", { "dependencies": { "debug": "^4.4.1" }, "peerDependencies": { "@sveltejs/vite-plugin-svelte": "^6.0.0-next.0", "svelte": "^5.0.0", "vite": "^6.3.0 || ^7.0.0" } }, "sha512-ubWshlMk4bc8mkwWbg6vNvCeT7lGQojE3ijDh3QTR6Zr/R+GXxsGbyH4PExEPpiFmqPhYiVSVmHBjUcVc1JIrA=="],
|
||||
|
||||
"@types/cookie": ["@types/cookie@0.6.0", "", {}, "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="],
|
||||
|
||||
"@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="],
|
||||
|
||||
"acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="],
|
||||
|
||||
"aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="],
|
||||
|
||||
"axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="],
|
||||
|
||||
"chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
|
||||
|
||||
"clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
|
||||
|
||||
"cookie": ["cookie@0.6.0", "", {}, "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw=="],
|
||||
|
||||
"debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
|
||||
|
||||
"deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="],
|
||||
|
||||
"devalue": ["devalue@5.5.0", "", {}, "sha512-69sM5yrHfFLJt0AZ9QqZXGCPfJ7fQjvpln3Rq5+PS03LD32Ost1Q9N+eEnaQwGRIriKkMImXD56ocjQmfjbV3w=="],
|
||||
|
||||
"esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="],
|
||||
|
||||
"esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="],
|
||||
|
||||
"esrap": ["esrap@2.2.1", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" } }, "sha512-GiYWG34AN/4CUyaWAgunGt0Rxvr1PTMlGC0vvEov/uOQYWne2bpN03Um+k8jT+q3op33mKouP2zeJ6OlM+qeUg=="],
|
||||
|
||||
"fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
|
||||
|
||||
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
|
||||
|
||||
"is-reference": ["is-reference@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.6" } }, "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw=="],
|
||||
|
||||
"kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="],
|
||||
|
||||
"locate-character": ["locate-character@3.0.0", "", {}, "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA=="],
|
||||
|
||||
"magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="],
|
||||
|
||||
"mri": ["mri@1.2.0", "", {}, "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="],
|
||||
|
||||
"mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="],
|
||||
|
||||
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
||||
|
||||
"nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
|
||||
|
||||
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
|
||||
|
||||
"picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="],
|
||||
|
||||
"postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="],
|
||||
|
||||
"prettier": ["prettier@3.7.4", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA=="],
|
||||
|
||||
"prettier-plugin-svelte": ["prettier-plugin-svelte@3.4.0", "", { "peerDependencies": { "prettier": "^3.0.0", "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" } }, "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ=="],
|
||||
|
||||
"readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="],
|
||||
|
||||
"rollup": ["rollup@4.53.3", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.53.3", "@rollup/rollup-android-arm64": "4.53.3", "@rollup/rollup-darwin-arm64": "4.53.3", "@rollup/rollup-darwin-x64": "4.53.3", "@rollup/rollup-freebsd-arm64": "4.53.3", "@rollup/rollup-freebsd-x64": "4.53.3", "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", "@rollup/rollup-linux-arm-musleabihf": "4.53.3", "@rollup/rollup-linux-arm64-gnu": "4.53.3", "@rollup/rollup-linux-arm64-musl": "4.53.3", "@rollup/rollup-linux-loong64-gnu": "4.53.3", "@rollup/rollup-linux-ppc64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-musl": "4.53.3", "@rollup/rollup-linux-s390x-gnu": "4.53.3", "@rollup/rollup-linux-x64-gnu": "4.53.3", "@rollup/rollup-linux-x64-musl": "4.53.3", "@rollup/rollup-openharmony-arm64": "4.53.3", "@rollup/rollup-win32-arm64-msvc": "4.53.3", "@rollup/rollup-win32-ia32-msvc": "4.53.3", "@rollup/rollup-win32-x64-gnu": "4.53.3", "@rollup/rollup-win32-x64-msvc": "4.53.3", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA=="],
|
||||
|
||||
"sade": ["sade@1.8.1", "", { "dependencies": { "mri": "^1.1.0" } }, "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A=="],
|
||||
|
||||
"set-cookie-parser": ["set-cookie-parser@2.7.2", "", {}, "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw=="],
|
||||
|
||||
"sirv": ["sirv@3.0.2", "", { "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" } }, "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g=="],
|
||||
|
||||
"source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
|
||||
|
||||
"svelte": ["svelte@5.45.6", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/estree": "^1.0.5", "acorn": "^8.12.1", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "devalue": "^5.5.0", "esm-env": "^1.2.1", "esrap": "^2.2.1", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-V3aVXthzPyPt1UB1wLEoXnEXpwPsvs7NHrR0xkCor8c11v71VqBj477MClqPZYyrcXrAH21sNGhOj9FJvSwXfQ=="],
|
||||
|
||||
"svelte-check": ["svelte-check@4.3.4", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "chokidar": "^4.0.1", "fdir": "^6.2.0", "picocolors": "^1.0.0", "sade": "^1.7.4" }, "peerDependencies": { "svelte": "^4.0.0 || ^5.0.0-next.0", "typescript": ">=5.0.0" }, "bin": { "svelte-check": "bin/svelte-check" } }, "sha512-DVWvxhBrDsd+0hHWKfjP99lsSXASeOhHJYyuKOFYJcP7ThfSCKgjVarE8XfuMWpS5JV3AlDf+iK1YGGo2TACdw=="],
|
||||
|
||||
"tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="],
|
||||
|
||||
"totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="],
|
||||
|
||||
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
||||
|
||||
"vite": ["vite@7.2.7", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ=="],
|
||||
|
||||
"vitefu": ["vitefu@1.1.1", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" }, "optionalPeers": ["vite"] }, "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ=="],
|
||||
|
||||
"zimmerframe": ["zimmerframe@1.1.4", "", {}, "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ=="],
|
||||
}
|
||||
}
|
||||
27
package.json
Normal file
27
package.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "on-the-spectrum",
|
||||
"private": true,
|
||||
"version": "0.0.1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
"build": "vite build",
|
||||
"preview": "vite preview",
|
||||
"prepare": "svelte-kit sync || echo ''",
|
||||
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
||||
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
||||
"format": "prettier --write .",
|
||||
"lint": "prettier --check ."
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "^7.0.0",
|
||||
"@sveltejs/kit": "^2.48.5",
|
||||
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
||||
"prettier": "^3.6.2",
|
||||
"prettier-plugin-svelte": "^3.4.0",
|
||||
"svelte": "^5.43.8",
|
||||
"svelte-check": "^4.3.4",
|
||||
"typescript": "^5.9.3",
|
||||
"vite": "^7.2.2"
|
||||
}
|
||||
}
|
||||
13
src/app.d.ts
vendored
Normal file
13
src/app.d.ts
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
// See https://svelte.dev/docs/kit/types#app.d.ts
|
||||
// for information about these interfaces
|
||||
declare global {
|
||||
namespace App {
|
||||
// interface Error {}
|
||||
// interface Locals {}
|
||||
// interface PageData {}
|
||||
// interface PageState {}
|
||||
// interface Platform {}
|
||||
}
|
||||
}
|
||||
|
||||
export {};
|
||||
11
src/app.html
Normal file
11
src/app.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
%sveltekit.head%
|
||||
</head>
|
||||
<body data-sveltekit-preload-data="hover">
|
||||
<div style="display: contents">%sveltekit.body%</div>
|
||||
</body>
|
||||
</html>
|
||||
1
src/lib/assets/favicon.svg
Normal file
1
src/lib/assets/favicon.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="107" height="128" viewBox="0 0 107 128"><title>svelte-logo</title><path d="M94.157 22.819c-10.4-14.885-30.94-19.297-45.792-9.835L22.282 29.608A29.92 29.92 0 0 0 8.764 49.65a31.5 31.5 0 0 0 3.108 20.231 30 30 0 0 0-4.477 11.183 31.9 31.9 0 0 0 5.448 24.116c10.402 14.887 30.942 19.297 45.791 9.835l26.083-16.624A29.92 29.92 0 0 0 98.235 78.35a31.53 31.53 0 0 0-3.105-20.232 30 30 0 0 0 4.474-11.182 31.88 31.88 0 0 0-5.447-24.116" style="fill:#ff3e00"/><path d="M45.817 106.582a20.72 20.72 0 0 1-22.237-8.243 19.17 19.17 0 0 1-3.277-14.503 18 18 0 0 1 .624-2.435l.49-1.498 1.337.981a33.6 33.6 0 0 0 10.203 5.098l.97.294-.09.968a5.85 5.85 0 0 0 1.052 3.878 6.24 6.24 0 0 0 6.695 2.485 5.8 5.8 0 0 0 1.603-.704L69.27 76.28a5.43 5.43 0 0 0 2.45-3.631 5.8 5.8 0 0 0-.987-4.371 6.24 6.24 0 0 0-6.698-2.487 5.7 5.7 0 0 0-1.6.704l-9.953 6.345a19 19 0 0 1-5.296 2.326 20.72 20.72 0 0 1-22.237-8.243 19.17 19.17 0 0 1-3.277-14.502 17.99 17.99 0 0 1 8.13-12.052l26.081-16.623a19 19 0 0 1 5.3-2.329 20.72 20.72 0 0 1 22.237 8.243 19.17 19.17 0 0 1 3.277 14.503 18 18 0 0 1-.624 2.435l-.49 1.498-1.337-.98a33.6 33.6 0 0 0-10.203-5.1l-.97-.294.09-.968a5.86 5.86 0 0 0-1.052-3.878 6.24 6.24 0 0 0-6.696-2.485 5.8 5.8 0 0 0-1.602.704L37.73 51.72a5.42 5.42 0 0 0-2.449 3.63 5.79 5.79 0 0 0 .986 4.372 6.24 6.24 0 0 0 6.698 2.486 5.8 5.8 0 0 0 1.602-.704l9.952-6.342a19 19 0 0 1 5.295-2.328 20.72 20.72 0 0 1 22.237 8.242 19.17 19.17 0 0 1 3.277 14.503 18 18 0 0 1-8.13 12.053l-26.081 16.622a19 19 0 0 1-5.3 2.328" style="fill:#fff"/></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
src/lib/index.ts
Normal file
1
src/lib/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
// place files you want to import through the `$lib` alias in this folder.
|
||||
40
src/routes/+layout.svelte
Normal file
40
src/routes/+layout.svelte
Normal file
@@ -0,0 +1,40 @@
|
||||
<script lang="ts">
|
||||
import favicon from '$lib/assets/favicon.svg';
|
||||
|
||||
let { children } = $props();
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<link rel="icon" href={favicon} />
|
||||
</svelte:head>
|
||||
|
||||
<nav>
|
||||
<h1>On the Spectrum</h1>
|
||||
<ul>
|
||||
<li><a href="play">Play</a></li>
|
||||
<li><a href="rules">Rules</a></li>
|
||||
<li><a href="submit">Submit</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<section>
|
||||
{@render children()}
|
||||
</section>
|
||||
|
||||
<style>
|
||||
nav {
|
||||
display: inline-flex;
|
||||
ul {
|
||||
list-style: none;
|
||||
padding: none;
|
||||
display: inline-flex;
|
||||
gap: 1rem;
|
||||
align-items: end;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
}
|
||||
section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
</style>
|
||||
1
src/routes/+page.svelte
Normal file
1
src/routes/+page.svelte
Normal file
@@ -0,0 +1 @@
|
||||
<h1>Are you <b>On The Spectrum?</b></h1>
|
||||
0
src/routes/play/+page.server.ts
Normal file
0
src/routes/play/+page.server.ts
Normal file
72
src/routes/play/+page.svelte
Normal file
72
src/routes/play/+page.svelte
Normal file
@@ -0,0 +1,72 @@
|
||||
<script>
|
||||
let { data } = $props();
|
||||
|
||||
let mode = $state('adult');
|
||||
let axes = $state({ x: [''], y: [''], empty: true });
|
||||
let position = $state({ x: 0, y: 0 });
|
||||
function generateAxes() {
|
||||
// pull Axes in from data using a database
|
||||
axes = { x: ['Spicy', 'Mild'], y: ['Expensive', 'Cheap'], empty: false };
|
||||
}
|
||||
function rollPosition() {
|
||||
function rollD10() {
|
||||
return Math.floor(Math.random() * 10) + 1;
|
||||
}
|
||||
position = { x: rollD10(), y: rollD10() };
|
||||
}
|
||||
</script>
|
||||
|
||||
<div>
|
||||
<h2>On the Spectrum</h2>
|
||||
<fieldset>
|
||||
<legend>Adult Mode (18+)</legend>
|
||||
<div>
|
||||
<label>
|
||||
<span>Adult</span>
|
||||
<input bind:group={mode} type="radio" value="adult" />
|
||||
</label>
|
||||
<label>
|
||||
<span>Family Friendly</span>
|
||||
<input bind:group={mode} type="radio" value="family" />
|
||||
</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Axes Generator</legend>
|
||||
{#if axes.empty}
|
||||
<div>
|
||||
<h3>Click Generate!</h3>
|
||||
</div>
|
||||
{:else}
|
||||
<div>
|
||||
<div>
|
||||
<h4>X-Axis</h4>
|
||||
<p>{axes.x[0]} ↔ {axes.x[1]}</p>
|
||||
</div>
|
||||
<div>
|
||||
<h4>Y-Axis</h4>
|
||||
<p>{axes.y[0]} ↔ {axes.y[1]}</p>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
<div>
|
||||
<button onclick={generateAxes}>Generate</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Position Roller</legend>
|
||||
{#if position.x == 0}
|
||||
<div>
|
||||
<h3>Click Roll!</h3>
|
||||
</div>
|
||||
{:else}
|
||||
<div>
|
||||
<h4>Position</h4>
|
||||
<p>X:{position.x} | Y:{position.y}</p>
|
||||
</div>
|
||||
{/if}
|
||||
<div>
|
||||
<button onclick={rollPosition}>Generate</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
307
static/OnTheSpectrum.html
Normal file
307
static/OnTheSpectrum.html
Normal file
@@ -0,0 +1,307 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>On the Spectrum - Party Game</title>
|
||||
<style>
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
body.win95 { font-family: 'MS Sans Serif', Arial, sans-serif; background: #008080; padding: 20px; }
|
||||
.win95 .window { background: #c0c0c0; border: 2px solid; border-color: #dfdfdf #808080 #808080 #dfdfdf; max-width: 800px; margin: 0 auto; box-shadow: 2px 2px 0 rgba(0,0,0,0.5); }
|
||||
.win95 .title-bar { background: linear-gradient(to right, #000080, #1084d0); color: white; padding: 3px 5px; font-weight: bold; }
|
||||
.win95 .window-body { padding: 15px; }
|
||||
.win95 fieldset { border: 2px groove #c0c0c0; padding: 10px; margin-bottom: 15px; }
|
||||
.win95 .chart-display, .win95 .dice-display { background: white; border: 2px inset #808080; padding: 15px; min-height: 120px; margin-bottom: 15px; }
|
||||
.win95 button { background: #c0c0c0; border: 2px solid; border-color: #ffffff #000000 #000000 #ffffff; padding: 5px 20px; font-family: 'MS Sans Serif', Arial, sans-serif; font-size: 11px; cursor: pointer; }
|
||||
.win95 button:active { border-color: #000000 #ffffff #ffffff #000000; }
|
||||
body.cyberpunk { font-family: 'Courier New', monospace; background: #0a0e27; padding: 20px; color: #00ffff; }
|
||||
.cyberpunk .window { background: rgba(10, 14, 39, 0.95); border: 2px solid #00ffff; box-shadow: 0 0 20px #ff00ff; max-width: 800px; margin: 0 auto; }
|
||||
.cyberpunk .title-bar { background: linear-gradient(90deg, #ff00ff, #00ffff); color: #000; padding: 10px; font-weight: bold; text-transform: uppercase; }
|
||||
.cyberpunk .window-body { padding: 20px; }
|
||||
.cyberpunk fieldset { border: 1px solid #ff00ff; padding: 15px; margin-bottom: 20px; }
|
||||
.cyberpunk legend { color: #ff00ff; text-transform: uppercase; }
|
||||
.cyberpunk .chart-display, .cyberpunk .dice-display { background: rgba(0, 255, 255, 0.05); border: 1px solid #00ffff; padding: 20px; min-height: 120px; margin-bottom: 15px; }
|
||||
.cyberpunk button { background: transparent; border: 2px solid #ff00ff; color: #ff00ff; padding: 10px 25px; font-family: 'Courier New', monospace; font-weight: bold; cursor: pointer; text-transform: uppercase; }
|
||||
.cyberpunk button:hover { background: #ff00ff; color: #000; }
|
||||
body.typewriter { font-family: 'Courier', monospace; background: #f4e8d0; padding: 20px; color: #2c2416; }
|
||||
.typewriter .window { background: #fffef7; border: 3px double #2c2416; max-width: 800px; margin: 0 auto; box-shadow: 5px 5px 15px rgba(0,0,0,0.3); }
|
||||
.typewriter .title-bar { background: #2c2416; color: #f4e8d0; padding: 12px; text-align: center; text-transform: uppercase; letter-spacing: 3px; }
|
||||
.typewriter .window-body { padding: 25px; }
|
||||
.typewriter fieldset { border: 2px solid #2c2416; padding: 15px; margin-bottom: 20px; }
|
||||
.typewriter legend { font-weight: bold; text-decoration: underline; }
|
||||
.typewriter .chart-display, .typewriter .dice-display { background: #fffef7; border: 1px solid #2c2416; padding: 20px; min-height: 120px; margin-bottom: 15px; }
|
||||
.typewriter button { background: #2c2416; border: 2px solid #2c2416; color: #f4e8d0; padding: 8px 20px; font-family: 'Courier', monospace; font-weight: bold; cursor: pointer; }
|
||||
body.nightmare { font-family: 'Georgia', serif; background: #000000; padding: 20px; color: #8b0000; }
|
||||
.nightmare .window { background: #0d0000; border: 3px solid #8b0000; max-width: 800px; margin: 0 auto; box-shadow: 0 0 30px #ff0000; }
|
||||
.nightmare .title-bar { background: linear-gradient(180deg, #3a0000, #000000); color: #ff0000; padding: 15px; text-align: center; text-transform: uppercase; letter-spacing: 5px; text-shadow: 0 0 10px #ff0000; }
|
||||
.nightmare .window-body { padding: 20px; }
|
||||
.nightmare fieldset { border: 2px solid #8b0000; padding: 15px; margin-bottom: 20px; }
|
||||
.nightmare legend { color: #ff0000; text-shadow: 0 0 5px #ff0000; }
|
||||
.nightmare .chart-display, .nightmare .dice-display { background: #000000; border: 2px solid #8b0000; padding: 20px; min-height: 120px; margin-bottom: 15px; }
|
||||
.nightmare button { background: #3a0000; border: 2px solid #8b0000; color: #ff0000; padding: 10px 25px; font-family: 'Georgia', serif; font-weight: bold; cursor: pointer; text-transform: uppercase; }
|
||||
.nightmare button:hover { background: #8b0000; }
|
||||
body.vaporwave { font-family: 'Arial', sans-serif; background: linear-gradient(180deg, #ff6ad5 0%, #c774e8 50%, #ad8cff 100%); padding: 20px; color: #fff; }
|
||||
.vaporwave .window { background: rgba(255, 106, 213, 0.3); backdrop-filter: blur(10px); border: 3px solid #00f0ff; max-width: 800px; margin: 0 auto; box-shadow: 0 8px 32px rgba(0, 240, 255, 0.4); }
|
||||
.vaporwave .title-bar { background: linear-gradient(90deg, #ff6ad5, #00f0ff); color: #fff; padding: 15px; text-align: center; text-transform: uppercase; letter-spacing: 4px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); }
|
||||
.vaporwave .window-body { padding: 25px; }
|
||||
.vaporwave fieldset { border: 2px solid #00f0ff; padding: 20px; margin-bottom: 20px; background: rgba(255, 255, 255, 0.1); }
|
||||
.vaporwave legend { color: #00f0ff; text-transform: uppercase; font-weight: bold; }
|
||||
.vaporwave .chart-display, .vaporwave .dice-display { background: rgba(255, 255, 255, 0.15); border: 2px solid #ff6ad5; padding: 20px; min-height: 120px; margin-bottom: 15px; }
|
||||
.vaporwave button { background: linear-gradient(135deg, #ff6ad5, #c774e8); border: 2px solid #00f0ff; color: #fff; padding: 12px 30px; font-weight: bold; cursor: pointer; text-transform: uppercase; }
|
||||
body.nintendo { font-family: 'Arial', sans-serif; background: #e60012; padding: 20px; color: #fff; }
|
||||
.nintendo .window { background: #fff; border: 8px solid #e60012; border-radius: 20px; max-width: 800px; margin: 0 auto; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); overflow: hidden; }
|
||||
.nintendo .title-bar { background: #e60012; color: #fff; padding: 20px; text-align: center; font-weight: bold; font-size: 24px; letter-spacing: 2px; }
|
||||
.nintendo .window-body { padding: 25px; color: #484848; }
|
||||
.nintendo fieldset { border: 3px solid #e60012; border-radius: 15px; padding: 20px; margin-bottom: 20px; background: #f7f7f7; }
|
||||
.nintendo legend { color: #e60012; font-weight: bold; font-size: 16px; }
|
||||
.nintendo .chart-display, .nintendo .dice-display { background: #fff; border: 3px solid #00a3e0; border-radius: 10px; padding: 20px; min-height: 120px; margin-bottom: 15px; }
|
||||
.nintendo button { background: #e60012; border: none; border-radius: 25px; color: #fff; padding: 12px 30px; font-weight: bold; cursor: pointer; text-transform: uppercase; box-shadow: 0 4px 0 #a00009; transition: all 0.1s; }
|
||||
.nintendo button:hover { background: #ff0018; }
|
||||
.nintendo button:active { box-shadow: 0 2px 0 #a00009; transform: translateY(2px); }
|
||||
.button-row { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
|
||||
.empty-state { font-style: italic; text-align: center; padding: 20px; opacity: 0.7; }
|
||||
.axis { margin: 8px 0; padding: 10px; border: 1px solid; opacity: 0.9; }
|
||||
.axis-label { font-weight: bold; margin-bottom: 5px; font-size: 11px; text-transform: uppercase; }
|
||||
.chart-title { font-weight: bold; margin-bottom: 15px; font-size: 16px; }
|
||||
.dice-result { font-size: 28px; font-weight: bold; margin-top: 10px; }
|
||||
.toggle-container { display: flex; align-items: center; gap: 10px; justify-content: center; margin: 10px 0; }
|
||||
.toggle-switch { position: relative; width: 50px; height: 24px; background: #ccc; border-radius: 12px; cursor: pointer; transition: background 0.3s; }
|
||||
.toggle-switch.active { background: #ff6b6b; }
|
||||
.toggle-slider { position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; background: white; border-radius: 50%; transition: transform 0.3s; }
|
||||
.toggle-switch.active .toggle-slider { transform: translateX(26px); }
|
||||
</style>
|
||||
</head>
|
||||
<body class="win95">
|
||||
<div class="window">
|
||||
<div class="title-bar">On the Spectrum - Party Game</div>
|
||||
<div class="window-body">
|
||||
<fieldset>
|
||||
<legend>Theme Selector</legend>
|
||||
<div class="button-row">
|
||||
<button onclick="setTheme('win95')">Windows 95</button>
|
||||
<button onclick="setTheme('cyberpunk')">Cyberpunk</button>
|
||||
<button onclick="setTheme('typewriter')">Typewriter</button>
|
||||
<button onclick="setTheme('nightmare')">Nightmare</button>
|
||||
<button onclick="setTheme('vaporwave')">Vaporwave</button>
|
||||
<button onclick="setTheme('nintendo')">Nintendo</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Adult Mode (18+)</legend>
|
||||
<div class="toggle-container">
|
||||
<span>Family Friendly</span>
|
||||
<div class="toggle-switch" id="adultToggle" onclick="toggleAdultMode()">
|
||||
<div class="toggle-slider"></div>
|
||||
</div>
|
||||
<span>Adult</span>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Chart Generator</legend>
|
||||
<div class="chart-display" id="chartDisplay">
|
||||
<div class="empty-state">Click Generate!</div>
|
||||
</div>
|
||||
<div class="button-row">
|
||||
<button onclick="generateRandom()">Generate</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Position Roller</legend>
|
||||
<div class="dice-display" id="diceDisplay">
|
||||
<div class="empty-state">Click Roll!</div>
|
||||
</div>
|
||||
<div class="button-row">
|
||||
<button onclick="rollDice()">Roll Dice</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
let adultMode = false;
|
||||
const familyCharts = [
|
||||
{title: "Pizza", x: ["Traditional", "Experimental"], y: ["Thin", "Thick"]},
|
||||
{title: "Travel", x: ["Budget", "Luxury"], y: ["Planned", "Spontaneous"]},
|
||||
{title: "Movies", x: ["Classics", "New"], y: ["Drama", "Comedy"]},
|
||||
{title: "Morning", x: ["Early", "Late"], y: ["Slow", "Energetic"]},
|
||||
{title: "Social", x: ["Small", "Large"], y: ["Quiet", "Loud"]},
|
||||
{title: "Coffee", x: ["Black", "Fancy"], y: ["Work", "Socialize"]},
|
||||
{title: "Music", x: ["Old", "New"], y: ["Calm", "Upbeat"]},
|
||||
{title: "Exercise", x: ["Cardio", "Weights"], y: ["Indoor", "Outdoor"]},
|
||||
{title: "Reading", x: ["Fiction", "Nonfiction"], y: ["Physical", "Digital"]},
|
||||
{title: "Gaming", x: ["Casual", "Hardcore"], y: ["Single", "Multi"]},
|
||||
{title: "Fashion", x: ["Comfort", "Style"], y: ["Neutral", "Bold"]},
|
||||
{title: "Food", x: ["Homemade", "Takeout"], y: ["Healthy", "Indulgent"]},
|
||||
{title: "Pets", x: ["Cats", "Dogs"], y: ["Low-maint", "High-maint"]},
|
||||
{title: "Beach", x: ["Relax", "Active"], y: ["Morning", "Evening"]},
|
||||
{title: "Weather", x: ["Cold", "Hot"], y: ["Dry", "Humid"]},
|
||||
{title: "Texting", x: ["Brief", "Long"], y: ["Fast", "Delayed"]},
|
||||
{title: "Art", x: ["Classic", "Modern"], y: ["Realistic", "Abstract"]},
|
||||
{title: "Camping", x: ["Minimal", "Glamping"], y: ["Solo", "Group"]},
|
||||
{title: "Dessert", x: ["Chocolate", "Fruit"], y: ["Simple", "Elaborate"]},
|
||||
{title: "Sports", x: ["Watch", "Play"], y: ["Team", "Individual"]},
|
||||
{title: "Shopping", x: ["Online", "In-store"], y: ["Quick", "Browse"]},
|
||||
{title: "Driving", x: ["Slow", "Fast"], y: ["City", "Highway"]},
|
||||
{title: "Holidays", x: ["Home", "Travel"], y: ["Relaxed", "Packed"]},
|
||||
{title: "Decor", x: ["Minimal", "Maximal"], y: ["Neutral", "Colorful"]},
|
||||
{title: "Cleaning", x: ["Daily", "Weekly"], y: ["Surface", "Deep"]},
|
||||
{title: "Tech", x: ["Basic", "Cutting-edge"], y: ["Mobile", "Desktop"]},
|
||||
{title: "Snacks", x: ["Salty", "Sweet"], y: ["Light", "Heavy"]},
|
||||
{title: "Photos", x: ["Candid", "Posed"], y: ["Phone", "Camera"]},
|
||||
{title: "Parties", x: ["Host", "Guest"], y: ["Early", "Late"]},
|
||||
{title: "Learning", x: ["Visual", "Audio"], y: ["Structured", "Flexible"]},
|
||||
{title: "Cooking", x: ["Recipes", "Improvise"], y: ["Simple", "Complex"]},
|
||||
{title: "Temperature", x: ["Cold", "Hot"], y: ["Stable", "Variable"]},
|
||||
{title: "Humor", x: ["Dry", "Slapstick"], y: ["Clean", "Edgy"]},
|
||||
{title: "Time", x: ["Punctual", "Flexible"], y: ["Morning", "Night"]},
|
||||
{title: "Risk", x: ["Safe", "Adventure"], y: ["Calculated", "Impulsive"]},
|
||||
{title: "Workspace", x: ["Organized", "Chaotic"], y: ["Open", "Private"]},
|
||||
{title: "Transport", x: ["Walk", "Drive"], y: ["Direct", "Scenic"]},
|
||||
{title: "Budget", x: ["Saver", "Spender"], y: ["Needs", "Luxuries"]},
|
||||
{title: "Contact", x: ["Text", "Call"], y: ["Brief", "Detailed"]},
|
||||
{title: "Seasons", x: ["Spring", "Fall"], y: ["Summer", "Winter"]},
|
||||
{title: "Streaming", x: ["Home", "Theater"], y: ["Binge", "Weekly"]},
|
||||
{title: "Breakfast", x: ["Light", "Heavy"], y: ["Sweet", "Savory"]},
|
||||
{title: "Hobbies", x: ["Creative", "Physical"], y: ["Solo", "Group"]},
|
||||
{title: "Plants", x: ["Low-care", "High-care"], y: ["Indoor", "Outdoor"]},
|
||||
{title: "Beverage", x: ["Water", "Soda"], y: ["Hot", "Cold"]},
|
||||
{title: "Sleep", x: ["Early", "Late"], y: ["Light", "Heavy"]},
|
||||
{title: "Celebrate", x: ["Intimate", "Grand"], y: ["Traditional", "Unique"]},
|
||||
{title: "Learn", x: ["Books", "Videos"], y: ["Theory", "Practice"]},
|
||||
{title: "Vacation", x: ["Beach", "Mountains"], y: ["Active", "Restful"]},
|
||||
{title: "Noise", x: ["Silence", "Background"], y: ["Natural", "Music"]}
|
||||
];
|
||||
const adultCharts = [
|
||||
{title: "Alcohol", x: ["Beer", "Cocktails"], y: ["Occasional", "Frequent"]},
|
||||
{title: "Dating Apps", x: ["Swipe-happy", "Selective"], y: ["Hookups", "Relationships"]},
|
||||
{title: "Partying", x: ["House party", "Club"], y: ["Chill", "Wild"]},
|
||||
{title: "Smoking", x: ["Never", "Social"], y: ["Cigarettes", "Other"]},
|
||||
{title: "Late Night", x: ["Home", "Out"], y: ["Sober", "Drinking"]},
|
||||
{title: "Flirting", x: ["Subtle", "Direct"], y: ["Shy", "Confident"]},
|
||||
{title: "Relationship", x: ["Monogamous", "Open"], y: ["Casual", "Serious"]},
|
||||
{title: "Arguments", x: ["Avoid", "Confront"], y: ["Calm", "Heated"]},
|
||||
{title: "Exes", x: ["Cut-off", "Friends"], y: ["No-contact", "Cordial"]},
|
||||
{title: "PDAs", x: ["Private", "Public"], y: ["Reserved", "Affectionate"]},
|
||||
{title: "First Date", x: ["Coffee", "Dinner"], y: ["Day", "Night"]},
|
||||
{title: "Jealousy", x: ["None", "High"], y: ["Trusting", "Suspicious"]},
|
||||
{title: "Break-ups", x: ["Amicable", "Drama"], y: ["Move-on", "Linger"]},
|
||||
{title: "Online Dating", x: ["Never", "Always"], y: ["Profile-brief", "Profile-detailed"]},
|
||||
{title: "Nightlife", x: ["Bar", "Club"], y: ["Early-out", "Last-call"]},
|
||||
{title: "Wedding", x: ["Small", "Big"], y: ["Traditional", "Unique"]},
|
||||
{title: "Living Together", x: ["Wait", "Move-fast"], y: ["Test", "Commit"]},
|
||||
{title: "Arguments Style", x: ["Silent", "Loud"], y: ["Resolve-fast", "Hold-grudge"]},
|
||||
{title: "Commitment", x: ["Slow", "Fast"], y: ["Cautious", "All-in"]},
|
||||
{title: "Romance", x: ["Practical", "Grand-gestures"], y: ["Words", "Actions"]},
|
||||
{title: "Bar Scene", x: ["Dive-bar", "Upscale"], y: ["Shots", "Cocktails"]},
|
||||
{title: "Social Drinking", x: ["Rarely", "Often"], y: ["Light", "Heavy"]},
|
||||
{title: "Nightclub", x: ["Never", "Regular"], y: ["Dance", "VIP"]},
|
||||
{title: "One Night Stand", x: ["Never", "Open"], y: ["Regret", "No-regret"]},
|
||||
{title: "Red Flags", x: ["Ignore", "Run"], y: ["Give-chance", "Zero-tolerance"]},
|
||||
{title: "Love Language", x: ["Words", "Touch"], y: ["Gifts", "Time"]},
|
||||
{title: "Proposal", x: ["Private", "Public"], y: ["Simple", "Elaborate"]},
|
||||
{title: "Bachelor Party", x: ["Tame", "Wild"], y: ["Local", "Vegas"]},
|
||||
{title: "Drunk Texting", x: ["Never", "Always"], y: ["Delete", "Send"]},
|
||||
{title: "Bar Karaoke", x: ["No-way", "Love-it"], y: ["Sober-only", "Drunk-only"]},
|
||||
{title: "Wine", x: ["Red", "White"], y: ["Cheap", "Expensive"]},
|
||||
{title: "Tinder", x: ["Left", "Right"], y: ["Bio-matters", "Pics-only"]},
|
||||
{title: "Marriage", x: ["Young", "Older"], y: ["Traditional", "Modern"]},
|
||||
{title: "Kids", x: ["None", "Many"], y: ["Soon", "Later"]},
|
||||
{title: "Work Drinks", x: ["Skip", "Go"], y: ["One-drink", "Stay-late"]},
|
||||
{title: "Hangover", x: ["Suffer", "Hair-of-dog"], y: ["Stay-in", "Power-through"]},
|
||||
{title: "Happy Hour", x: ["Never", "Always"], y: ["Cheap-drinks", "Good-drinks"]},
|
||||
{title: "Strip Club", x: ["Never", "Sometimes"], y: ["Awkward", "Fun"]},
|
||||
{title: "Beer", x: ["Domestic", "Craft"], y: ["Light", "Heavy"]},
|
||||
{title: "Cocktails", x: ["Simple", "Complex"], y: ["Sweet", "Strong"]},
|
||||
{title: "Wine Tasting", x: ["Pretentious", "Fun"], y: ["Spit", "Swallow"]},
|
||||
{title: "Champagne", x: ["Special", "Anytime"], y: ["Cheap", "Expensive"]},
|
||||
{title: "Body Mods", x: ["None", "Many"], y: ["Hidden", "Visible"]},
|
||||
{title: "Tattoos", x: ["None", "Covered"], y: ["Small", "Large"]},
|
||||
{title: "Piercings", x: ["Standard", "Unconventional"], y: ["Few", "Many"]},
|
||||
{title: "Age Gap", x: ["Same-age", "Large-gap"], y: ["Younger", "Older"]},
|
||||
{title: "Meeting Parents", x: ["Soon", "Later"], y: ["Stressed", "Relaxed"]},
|
||||
{title: "Social Media", x: ["Private", "Public"], y: ["Single", "Coupled"]},
|
||||
{title: "Fight Style", x: ["Yell", "Silent"], y: ["Resolve", "Avoid"]},
|
||||
{title: "Apologies", x: ["Immediate", "Delayed"], y: ["Verbal", "Actions"]},
|
||||
{title: "Money Talk", x: ["Open", "Private"], y: ["Split", "Treat"]},
|
||||
{title: "Date Planning", x: ["Spontaneous", "Planned"], y: ["Cheap", "Expensive"]},
|
||||
{title: "Texting Freq", x: ["Constant", "Minimal"], y: ["Long", "Short"]},
|
||||
{title: "Phone Calls", x: ["Avoid", "Love"], y: ["Short", "Hours"]},
|
||||
{title: "Video Calls", x: ["Hate", "Prefer"], y: ["Camera-off", "Camera-on"]},
|
||||
{title: "Love at First", x: ["Skeptical", "Believer"], y: ["Slow", "Fast"]},
|
||||
{title: "Dealbreakers", x: ["Few", "Many"], y: ["Flexible", "Strict"]},
|
||||
{title: "Past Discuss", x: ["Open-book", "Private"], y: ["Details", "General"]},
|
||||
{title: "Future Talk", x: ["Avoid", "Plan"], y: ["Vague", "Specific"]},
|
||||
{title: "Living Style", x: ["Roommate", "Alone"], y: ["Clean", "Messy"]},
|
||||
{title: "Pets Decision", x: ["Cat-person", "Dog-person"], y: ["None", "Many"]},
|
||||
{title: "Travel Together", x: ["Separate", "Always"], y: ["Plan", "Spontaneous"]},
|
||||
{title: "Friend Group", x: ["Separate", "Merge"], y: ["Small", "Large"]},
|
||||
{title: "Game Night", x: ["Competitive", "Casual"], y: ["Drinks", "Sober"]},
|
||||
{title: "Concert", x: ["Seats", "Pit"], y: ["Sober", "Drunk"]},
|
||||
{title: "Festival", x: ["Never", "Every-year"], y: ["Camping", "Hotel"]},
|
||||
{title: "Road Trip", x: ["Driver", "Passenger"], y: ["Music", "Podcasts"]},
|
||||
{title: "Sports Bar", x: ["Never", "Weekly"], y: ["Watch", "Ignore"]},
|
||||
{title: "Brunch", x: ["Coffee", "Mimosas"], y: ["Light", "Heavy"]},
|
||||
{title: "Dinner Party", x: ["Host", "Guest"], y: ["Formal", "Casual"]},
|
||||
{title: "Game Night Drinks", x: ["Sober", "Tipsy"], y: ["Wine", "Beer"]},
|
||||
{title: "Movie Night", x: ["Home", "Theater"], y: ["Sober", "Buzzed"]},
|
||||
{title: "Cooking", x: ["Together", "Take-turns"], y: ["Recipe", "Improvise"]},
|
||||
{title: "Grocery", x: ["Separate", "Together"], y: ["List", "Browse"]},
|
||||
{title: "Chores", x: ["Split", "Assigned"], y: ["Schedule", "Whenever"]},
|
||||
{title: "Finances", x: ["Joint", "Separate"], y: ["Budget", "Flexible"]},
|
||||
{title: "Gift Giving", x: ["Practical", "Romantic"], y: ["Cheap", "Expensive"]},
|
||||
{title: "Anniversaries", x: ["Big-deal", "No-big-deal"], y: ["Go-out", "Stay-in"]},
|
||||
{title: "Birthdays", x: ["Party", "Quiet"], y: ["Surprise", "Plan"]},
|
||||
{title: "Holidays", x: ["Family", "Friends"], y: ["Traditional", "New"]},
|
||||
{title: "New Years", x: ["Out", "In"], y: ["Party", "Quiet"]},
|
||||
{title: "Halloween", x: ["Costume", "No-costume"], y: ["Party", "Stay-in"]},
|
||||
{title: "Valentine's", x: ["Big-deal", "Ignore"], y: ["Fancy", "Casual"]},
|
||||
{title: "Office Party", x: ["Skip", "Go"], y: ["Sober", "Drinks"]},
|
||||
{title: "Karaoke Night", x: ["Never", "Always"], y: ["Sober", "Drunk"]},
|
||||
{title: "Trivia Night", x: ["Serious", "Fun"], y: ["Sober", "Drinking"]},
|
||||
{title: "Comedy Show", x: ["Never", "Often"], y: ["Sober", "Buzzed"]},
|
||||
{title: "Spa Day", x: ["Never", "Regular"], y: ["Cheap", "Luxury"]},
|
||||
{title: "Gym Together", x: ["Never", "Always"], y: ["Spot", "Separate"]},
|
||||
{title: "Morning After", x: ["Breakfast", "Leave"], y: ["Cuddle", "Space"]},
|
||||
{title: "Text Response", x: ["Immediate", "Hours"], y: ["Short", "Essay"]},
|
||||
{title: "Compliments", x: ["Rare", "Constant"], y: ["Looks", "Character"]},
|
||||
{title: "Criticism", x: ["Direct", "Gentle"], y: ["Private", "Public"]},
|
||||
{title: "Habits Annoy", x: ["Tolerate", "Mention"], y: ["Immediate", "Build-up"]},
|
||||
{title: "Space Need", x: ["Always-together", "Need-alone"], y: ["Communicate", "Assume"]},
|
||||
{title: "Compromise", x: ["Easy", "Difficult"], y: ["Fair", "Keep-score"]},
|
||||
{title: "Trust Level", x: ["High", "Low"], y: ["Verify", "Faith"]},
|
||||
{title: "Privacy", x: ["Open-phone", "Private"], y: ["Share-all", "Boundaries"]}
|
||||
];
|
||||
function setTheme(theme) {
|
||||
document.body.className = theme;
|
||||
}
|
||||
function toggleAdultMode() {
|
||||
adultMode = !adultMode;
|
||||
document.getElementById('adultToggle').classList.toggle('active');
|
||||
}
|
||||
function generateRandom() {
|
||||
const charts = adultMode ? [...familyCharts, ...adultCharts] : familyCharts;
|
||||
const random = charts[Math.floor(Math.random() * charts.length)];
|
||||
const display = document.getElementById('chartDisplay');
|
||||
display.innerHTML = `
|
||||
<div class="chart-title">${random.title}</div>
|
||||
<div class="axis">
|
||||
<div class="axis-label">X-Axis</div>
|
||||
<div>${random.x[0]} ↔ ${random.x[1]}</div>
|
||||
</div>
|
||||
<div class="axis">
|
||||
<div class="axis-label">Y-Axis</div>
|
||||
<div>${random.y[0]} ↔ ${random.y[1]}</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
function rollDice() {
|
||||
const die1 = Math.floor(Math.random() * 10) + 1;
|
||||
const die2 = Math.floor(Math.random() * 10) + 1;
|
||||
const display = document.getElementById('diceDisplay');
|
||||
display.innerHTML = `
|
||||
<div style="font-size: 48px; text-align: center;">🎲 🎲</div>
|
||||
<div class="dice-result" style="text-align: center;">X: ${die1} | Y: ${die2}</div>
|
||||
`;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
3
static/robots.txt
Normal file
3
static/robots.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
# allow crawling everything by default
|
||||
User-agent: *
|
||||
Disallow:
|
||||
18
svelte.config.js
Normal file
18
svelte.config.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import adapter from '@sveltejs/adapter-auto';
|
||||
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
||||
|
||||
/** @type {import('@sveltejs/kit').Config} */
|
||||
const config = {
|
||||
// Consult https://svelte.dev/docs/kit/integrations
|
||||
// for more information about preprocessors
|
||||
preprocess: vitePreprocess(),
|
||||
|
||||
kit: {
|
||||
// adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list.
|
||||
// If your environment is not supported, or you settled on a specific environment, switch out the adapter.
|
||||
// See https://svelte.dev/docs/kit/adapters for more information about adapters.
|
||||
adapter: adapter()
|
||||
}
|
||||
};
|
||||
|
||||
export default config;
|
||||
20
tsconfig.json
Normal file
20
tsconfig.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"extends": "./.svelte-kit/tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"rewriteRelativeImportExtensions": true,
|
||||
"allowJs": true,
|
||||
"checkJs": true,
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"resolveJsonModule": true,
|
||||
"skipLibCheck": true,
|
||||
"sourceMap": true,
|
||||
"strict": true,
|
||||
"moduleResolution": "bundler"
|
||||
}
|
||||
// Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias
|
||||
// except $lib which is handled by https://svelte.dev/docs/kit/configuration#files
|
||||
//
|
||||
// To make changes to top-level options such as include and exclude, we recommend extending
|
||||
// the generated config; see https://svelte.dev/docs/kit/configuration#typescript
|
||||
}
|
||||
9
vite.config.ts
Normal file
9
vite.config.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [sveltekit()],
|
||||
server: {
|
||||
port: 4321
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user