Spaces:
Runtime error
Runtime error
first
Browse files- .gitignore +29 -0
- app.py +50 -0
- frontend/.eslintignore +13 -0
- frontend/.eslintrc.cjs +20 -0
- frontend/.gitignore +8 -0
- frontend/.npmrc +1 -0
- frontend/.nvmrc +1 -0
- frontend/.prettierignore +13 -0
- frontend/.prettierrc +6 -0
- frontend/README.md +38 -0
- frontend/package-lock.json +0 -0
- frontend/package.json +40 -0
- frontend/postcss.config.cjs +6 -0
- frontend/src/app.css +25 -0
- frontend/src/app.d.ts +10 -0
- frontend/src/app.html +12 -0
- frontend/src/lib/Keyboard.svelte +53 -0
- frontend/src/lib/Message.svelte +15 -0
- frontend/src/lib/Result.svelte +103 -0
- frontend/src/lib/assets/image1.jpg +0 -0
- frontend/src/lib/utils.ts +34 -0
- frontend/src/routes/__layout.svelte +5 -0
- frontend/src/routes/index.svelte +354 -0
- frontend/src/types.ts +12 -0
- frontend/svelte.config.js +32 -0
- frontend/tailwind.config.cjs +7 -0
- frontend/tsconfig.json +13 -0
- requirements.txt +7 -0
- static/_app/immutable/assets/image1-93c06b0e.jpg +0 -0
- static/_app/immutable/assets/pages/__layout.svelte-650f13bc.css +1 -0
- static/_app/immutable/assets/pages/index.svelte-8f5988fc.css +1 -0
- static/_app/immutable/chunks/index-ad2956d2.js +4 -0
- static/_app/immutable/error.svelte-fca57afa.js +1 -0
- static/_app/immutable/manifest.json +51 -0
- static/_app/immutable/pages/__layout.svelte-97f324f7.js +1 -0
- static/_app/immutable/pages/index.svelte-8599330f.js +8 -0
- static/_app/immutable/start-eafcc13c.js +1 -0
- static/_app/version.json +1 -0
- static/index.html +41 -0
.gitignore
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.DS_Store
|
2 |
+
.env
|
3 |
+
.flaskenv
|
4 |
+
*.pyc
|
5 |
+
*.pyo
|
6 |
+
env/
|
7 |
+
venv/
|
8 |
+
.venv/
|
9 |
+
env*
|
10 |
+
dist/
|
11 |
+
build/
|
12 |
+
*.egg
|
13 |
+
*.egg-info/
|
14 |
+
_mailinglist
|
15 |
+
.tox/
|
16 |
+
.cache/
|
17 |
+
.pytest_cache/
|
18 |
+
.idea/
|
19 |
+
docs/_build/
|
20 |
+
.vscode
|
21 |
+
# Coverage reports
|
22 |
+
htmlcov/
|
23 |
+
.coverage
|
24 |
+
.coverage.*
|
25 |
+
*,cover
|
26 |
+
venv
|
27 |
+
*_cache.json
|
28 |
+
static/images
|
29 |
+
static/data.json
|
app.py
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
from datasets import load_dataset
|
3 |
+
import json
|
4 |
+
import uuid
|
5 |
+
from pathlib import Path
|
6 |
+
import json
|
7 |
+
from datasets import load_dataset
|
8 |
+
from flask import Flask
|
9 |
+
from flask_cors import CORS
|
10 |
+
|
11 |
+
app = Flask(__name__, static_url_path='/static')
|
12 |
+
|
13 |
+
CORS(app)
|
14 |
+
|
15 |
+
TOKEN = os.environ.get('dataset_token')
|
16 |
+
dataset = load_dataset("osanseviero/wordalle_prompts",
|
17 |
+
use_auth_token=TOKEN)
|
18 |
+
|
19 |
+
|
20 |
+
|
21 |
+
dataset = load_dataset("osanseviero/wordalle_prompts", use_auth_token=os.environ.get('dataset_token'))
|
22 |
+
Path("static/images").mkdir(parents=True, exist_ok=True)
|
23 |
+
|
24 |
+
# extract images and prompts from dataset and save to dis
|
25 |
+
data = {}
|
26 |
+
for row in dataset['train']:
|
27 |
+
prompt = dataset['train'].features['label'].int2str(row['label'])
|
28 |
+
image = row['image']
|
29 |
+
hash = uuid.uuid4().hex
|
30 |
+
image_file = Path(f'static/images/{hash}.png')
|
31 |
+
image.save(image_file)
|
32 |
+
if prompt not in data:
|
33 |
+
data[prompt] = []
|
34 |
+
data[prompt].append(str(image_file))
|
35 |
+
|
36 |
+
with open('static/data.json', 'w') as f:
|
37 |
+
json.dump(data, f)
|
38 |
+
|
39 |
+
|
40 |
+
@app.route('/')
|
41 |
+
def index():
|
42 |
+
return app.send_static_file('index.html')
|
43 |
+
|
44 |
+
@app.route('/data')
|
45 |
+
def getdata():
|
46 |
+
return app.send_static_file('data.json')
|
47 |
+
|
48 |
+
|
49 |
+
if __name__ == "__main__":
|
50 |
+
app.run(host="0.0.0.0", port=7860)
|
frontend/.eslintignore
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.DS_Store
|
2 |
+
node_modules
|
3 |
+
/build
|
4 |
+
/.svelte-kit
|
5 |
+
/package
|
6 |
+
.env
|
7 |
+
.env.*
|
8 |
+
!.env.example
|
9 |
+
|
10 |
+
# Ignore files for PNPM, NPM and YARN
|
11 |
+
pnpm-lock.yaml
|
12 |
+
package-lock.json
|
13 |
+
yarn.lock
|
frontend/.eslintrc.cjs
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
module.exports = {
|
2 |
+
root: true,
|
3 |
+
parser: '@typescript-eslint/parser',
|
4 |
+
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
|
5 |
+
plugins: ['svelte3', '@typescript-eslint'],
|
6 |
+
ignorePatterns: ['*.cjs'],
|
7 |
+
overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
|
8 |
+
settings: {
|
9 |
+
'svelte3/typescript': () => require('typescript')
|
10 |
+
},
|
11 |
+
parserOptions: {
|
12 |
+
sourceType: 'module',
|
13 |
+
ecmaVersion: 2020
|
14 |
+
},
|
15 |
+
env: {
|
16 |
+
browser: true,
|
17 |
+
es2017: true,
|
18 |
+
node: true
|
19 |
+
}
|
20 |
+
};
|
frontend/.gitignore
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.DS_Store
|
2 |
+
node_modules
|
3 |
+
/build
|
4 |
+
/.svelte-kit
|
5 |
+
/package
|
6 |
+
.env
|
7 |
+
.env.*
|
8 |
+
!.env.example
|
frontend/.npmrc
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
engine-strict=true
|
frontend/.nvmrc
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
v18.3.0
|
frontend/.prettierignore
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.DS_Store
|
2 |
+
node_modules
|
3 |
+
/build
|
4 |
+
/.svelte-kit
|
5 |
+
/package
|
6 |
+
.env
|
7 |
+
.env.*
|
8 |
+
!.env.example
|
9 |
+
|
10 |
+
# Ignore files for PNPM, NPM and YARN
|
11 |
+
pnpm-lock.yaml
|
12 |
+
package-lock.json
|
13 |
+
yarn.lock
|
frontend/.prettierrc
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"useTabs": true,
|
3 |
+
"singleQuote": true,
|
4 |
+
"trailingComma": "none",
|
5 |
+
"printWidth": 100
|
6 |
+
}
|
frontend/README.md
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# create-svelte
|
2 |
+
|
3 |
+
Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
|
4 |
+
|
5 |
+
## Creating a project
|
6 |
+
|
7 |
+
If you're seeing this, you've probably already done this step. Congrats!
|
8 |
+
|
9 |
+
```bash
|
10 |
+
# create a new project in the current directory
|
11 |
+
npm init svelte
|
12 |
+
|
13 |
+
# create a new project in my-app
|
14 |
+
npm init svelte my-app
|
15 |
+
```
|
16 |
+
|
17 |
+
## Developing
|
18 |
+
|
19 |
+
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
|
20 |
+
|
21 |
+
```bash
|
22 |
+
npm run dev
|
23 |
+
|
24 |
+
# or start the server and open the app in a new browser tab
|
25 |
+
npm run dev -- --open
|
26 |
+
```
|
27 |
+
|
28 |
+
## Building
|
29 |
+
|
30 |
+
To create a production version of your app:
|
31 |
+
|
32 |
+
```bash
|
33 |
+
npm run build
|
34 |
+
```
|
35 |
+
|
36 |
+
You can preview the production build with `npm run preview`.
|
37 |
+
|
38 |
+
> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
|
frontend/package-lock.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
frontend/package.json
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "wordalle",
|
3 |
+
"version": "0.0.1",
|
4 |
+
"scripts": {
|
5 |
+
"dev": "svelte-kit dev --host 0.0.0.0",
|
6 |
+
"build": "svelte-kit build && rm -rf ../static && cp -rv build ../static",
|
7 |
+
"build-dev": "NODE_ENV=development npm run build",
|
8 |
+
"package": "svelte-kit package",
|
9 |
+
"preview": "svelte-kit preview",
|
10 |
+
"prepare": "svelte-kit sync",
|
11 |
+
"check": "svelte-check --tsconfig ./tsconfig.json",
|
12 |
+
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
|
13 |
+
"lint": "prettier --check --plugin-search-dir=. . && eslint .",
|
14 |
+
"format": "prettier --write --plugin-search-dir=. ."
|
15 |
+
},
|
16 |
+
"devDependencies": {
|
17 |
+
"@sveltejs/adapter-static": "^1.0.0-next.34",
|
18 |
+
"@sveltejs/kit": "next",
|
19 |
+
"@types/dom-to-image": "^2.6.4",
|
20 |
+
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
21 |
+
"@typescript-eslint/parser": "^5.27.0",
|
22 |
+
"autoprefixer": "^10.4.7",
|
23 |
+
"eslint": "^8.16.0",
|
24 |
+
"eslint-config-prettier": "^8.3.0",
|
25 |
+
"eslint-plugin-svelte3": "^4.0.0",
|
26 |
+
"postcss": "^8.4.14",
|
27 |
+
"prettier": "^2.6.2",
|
28 |
+
"prettier-plugin-svelte": "^2.7.0",
|
29 |
+
"svelte": "^3.44.0",
|
30 |
+
"svelte-check": "^2.7.1",
|
31 |
+
"svelte-preprocess": "^4.10.7",
|
32 |
+
"tailwindcss": "^3.1.2",
|
33 |
+
"tslib": "^2.3.1",
|
34 |
+
"typescript": "^4.7.2"
|
35 |
+
},
|
36 |
+
"type": "module",
|
37 |
+
"dependencies": {
|
38 |
+
"dom-to-image": "^2.6.0"
|
39 |
+
}
|
40 |
+
}
|
frontend/postcss.config.cjs
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
module.exports = {
|
2 |
+
plugins: {
|
3 |
+
tailwindcss: {},
|
4 |
+
autoprefixer: {},
|
5 |
+
},
|
6 |
+
}
|
frontend/src/app.css
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@tailwind base;
|
2 |
+
@tailwind components;
|
3 |
+
@tailwind utilities;
|
4 |
+
|
5 |
+
:root {
|
6 |
+
--cols: 19;
|
7 |
+
}
|
8 |
+
|
9 |
+
.correct,
|
10 |
+
.present,
|
11 |
+
.absent {
|
12 |
+
color: #fff !important;
|
13 |
+
}
|
14 |
+
|
15 |
+
.correct {
|
16 |
+
background-color: #6aaa64 !important;
|
17 |
+
}
|
18 |
+
|
19 |
+
.present {
|
20 |
+
background-color: #c9b458 !important;
|
21 |
+
}
|
22 |
+
|
23 |
+
.absent {
|
24 |
+
background-color: #787c7e !important;
|
25 |
+
}
|
frontend/src/app.d.ts
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/// <reference types="@sveltejs/kit" />
|
2 |
+
|
3 |
+
// See https://kit.svelte.dev/docs/types#app
|
4 |
+
// for information about these interfaces
|
5 |
+
declare namespace App {
|
6 |
+
// interface Locals {}
|
7 |
+
// interface Platform {}
|
8 |
+
// interface Session {}
|
9 |
+
// interface Stuff {}
|
10 |
+
}
|
frontend/src/app.html
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="utf-8" />
|
5 |
+
<!-- <link rel="icon" href="%sveltekit.assets%/favicon.png" /> -->
|
6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
7 |
+
%sveltekit.head%
|
8 |
+
</head>
|
9 |
+
<body>
|
10 |
+
<div>%sveltekit.body%</div>
|
11 |
+
</body>
|
12 |
+
</html>
|
frontend/src/lib/Keyboard.svelte
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import type { LetterState } from '../types';
|
3 |
+
import { createEventDispatcher } from 'svelte';
|
4 |
+
|
5 |
+
export let letterStates: Record<string, LetterState>;
|
6 |
+
const dispatch = createEventDispatcher();
|
7 |
+
|
8 |
+
const rows = [
|
9 |
+
'qwertyuiop'.split(''),
|
10 |
+
[...'asdfghjkl'.split(''), 'Backspace'],
|
11 |
+
[...'zxcvbnm'.split(''), 'Enter'],
|
12 |
+
[' ']
|
13 |
+
];
|
14 |
+
</script>
|
15 |
+
|
16 |
+
<div class="my-3 mx-auto select-none max-w-md">
|
17 |
+
{#each rows as row, i}
|
18 |
+
<div class="row">
|
19 |
+
{#each row as key}
|
20 |
+
<!-- svelte-ignore missing-declaration -->
|
21 |
+
<button
|
22 |
+
class="{letterStates[key]} {key.length > 1 && 'big'}"
|
23 |
+
on:click={() => dispatch('keyup', key)}
|
24 |
+
>
|
25 |
+
{#if key === 'Backspace'}
|
26 |
+
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
|
27 |
+
<path
|
28 |
+
fill="currentColor"
|
29 |
+
d="M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H7.07L2.4 12l4.66-7H22v14zm-11.59-2L14 13.41 17.59 17 19 15.59 15.41 12 19 8.41 17.59 7 14 10.59 10.41 7 9 8.41 12.59 12 9 15.59z"
|
30 |
+
/>
|
31 |
+
</svg>
|
32 |
+
{:else if key === ' '}
|
33 |
+
<span>Space</span>
|
34 |
+
{:else}
|
35 |
+
<span>{key}</span>
|
36 |
+
{/if}
|
37 |
+
</button>
|
38 |
+
{/each}
|
39 |
+
</div>
|
40 |
+
{/each}
|
41 |
+
</div>
|
42 |
+
|
43 |
+
<style lang="postcss" scoped>
|
44 |
+
.row {
|
45 |
+
@apply flex w-full mt-0 mb-2 mx-auto touch-manipulation;
|
46 |
+
}
|
47 |
+
button {
|
48 |
+
@apply flex font-bold m-0 mr-1 p-0 min-h-[30px] min-w-[30px] border-0
|
49 |
+
rounded-sm justify-center items-center uppercase cursor-pointer
|
50 |
+
transition-all duration-700 ease-in-out flex-1 select-none
|
51 |
+
bg-[#d3d6da] text-[#1a1a1b] hover:scale-105;
|
52 |
+
}
|
53 |
+
</style>
|
frontend/src/lib/Message.svelte
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import { fade } from 'svelte/transition';
|
3 |
+
export let message: string | null = null;
|
4 |
+
</script>
|
5 |
+
|
6 |
+
<div class="message" transition:fade>
|
7 |
+
{message}
|
8 |
+
</div>
|
9 |
+
|
10 |
+
<style lang="postcss" scoped>
|
11 |
+
.message {
|
12 |
+
@apply absolute left-1/2 top-1/2 text-white bg-black bg-opacity-80 font-semibold
|
13 |
+
p-5 z-20 rounded-sm -translate-x-1/2 transition-opacity duration-300 ease-in-out;
|
14 |
+
}
|
15 |
+
</style>
|
frontend/src/lib/Result.svelte
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import { colors } from '$lib/utils';
|
3 |
+
import type { Board } from '../types';
|
4 |
+
import { fade } from 'svelte/transition';
|
5 |
+
export let message: string | null = null;
|
6 |
+
export let board: Board;
|
7 |
+
export let currentRowIndex: number;
|
8 |
+
export let imagePaths: string[];
|
9 |
+
|
10 |
+
import domtoimage from 'dom-to-image';
|
11 |
+
|
12 |
+
let elToShare: HTMLDivElement;
|
13 |
+
// let domToImage: DomToImage;
|
14 |
+
let copyState = false;
|
15 |
+
// onMount(async () => {
|
16 |
+
// domToImage = (await import('dom-to-image')) as unknown as DomToImage;
|
17 |
+
// });
|
18 |
+
async function writeClipDOM(node: HTMLDivElement) {
|
19 |
+
try {
|
20 |
+
await navigator.clipboard.write([
|
21 |
+
new ClipboardItem({
|
22 |
+
'image/png': domtoimage.toBlob(node)
|
23 |
+
})
|
24 |
+
]);
|
25 |
+
copyState = true;
|
26 |
+
setTimeout(() => (copyState = false), 1000);
|
27 |
+
console.log('Fetched image copied.');
|
28 |
+
} catch (err) {
|
29 |
+
console.log(err.name, err.message);
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
const s = 10;
|
34 |
+
const p = 1;
|
35 |
+
const rx = s / 10;
|
36 |
+
</script>
|
37 |
+
|
38 |
+
<!-- Modal made with tailwind -->
|
39 |
+
<div class="modal relative z-2" transition:fade>
|
40 |
+
<div class="message">
|
41 |
+
{message}
|
42 |
+
<div class="max-w-xs border-0 p-3 mx-auto">
|
43 |
+
<div bind:this={elToShare}>
|
44 |
+
<div class="grid grid-cols-3 gap-2 max-w-md mx-auto p-3">
|
45 |
+
{#each imagePaths as image}
|
46 |
+
<div>
|
47 |
+
<img src={image} alt="" class="w-full h-full" />
|
48 |
+
</div>
|
49 |
+
{/each}
|
50 |
+
</div>
|
51 |
+
<pre class="text-[0.5rem]" />
|
52 |
+
|
53 |
+
<svg
|
54 |
+
class="w-full"
|
55 |
+
viewBox="0 0 {board[0].length * (p + s)} {board.length * (p + s)}"
|
56 |
+
xmlns="http://www.w3.org/2000/svg"
|
57 |
+
>
|
58 |
+
{#each board as row, y}
|
59 |
+
{#each row as tile, x}
|
60 |
+
<rect
|
61 |
+
fill={colors[tile.state]}
|
62 |
+
x={x * (s + p)}
|
63 |
+
y={y * (s + p)}
|
64 |
+
width={s}
|
65 |
+
height={s}
|
66 |
+
{rx}
|
67 |
+
/>
|
68 |
+
{/each}
|
69 |
+
{/each}
|
70 |
+
</svg>
|
71 |
+
</div>
|
72 |
+
</div>
|
73 |
+
<p>
|
74 |
+
Copy the result to clipboard
|
75 |
+
<button class="min-w-[6ch]" on:click={() => writeClipDOM(elToShare)}>
|
76 |
+
{!copyState ? 'Copy' : 'Copied'}
|
77 |
+
</button>. Then go to Twitter and Share
|
78 |
+
<a
|
79 |
+
class="go-tweet"
|
80 |
+
target="_blank"
|
81 |
+
rel="noopener noreferrer"
|
82 |
+
href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fhuggingface.co%2Fspaces%2Fosanseviero%2Fwordalle&via=huggingface&hashtags=dallemini"
|
83 |
+
>
|
84 |
+
Share on Twitter
|
85 |
+
</a>
|
86 |
+
or <button class="min-w-[6ch]" on:click={() => window.location.reload()}> Try again </button>
|
87 |
+
</p>
|
88 |
+
</div>
|
89 |
+
</div>
|
90 |
+
|
91 |
+
<style lang="postcss" scoped>
|
92 |
+
.message {
|
93 |
+
@apply absolute left-1/2 top-16 text-white bg-black bg-opacity-80 font-semibold
|
94 |
+
p-10 z-20 rounded-md -translate-x-1/2 transition-opacity duration-300 ease-in-out;
|
95 |
+
}
|
96 |
+
.modal {
|
97 |
+
@apply fixed top-0 left-0 w-screen min-h-screen z-10 bg-black bg-opacity-80 backdrop-blur-sm;
|
98 |
+
}
|
99 |
+
.go-tweet,
|
100 |
+
button {
|
101 |
+
@apply bg-gray-700 hover:bg-gray-900 text-white font-bold p-1 my-1 text-sm rounded transition-opacity duration-500 ease-in-out;
|
102 |
+
}
|
103 |
+
</style>
|
frontend/src/lib/assets/image1.jpg
ADDED
frontend/src/lib/utils.ts
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
// original code inspired by Evan You https://github.com/yyx990803/vue-wordle/
|
2 |
+
import { LetterState } from '../types';
|
3 |
+
import type { Board } from '../types';
|
4 |
+
|
5 |
+
export function clearTile(board: Board, currentRowIndex: number) {
|
6 |
+
const newBoard = [...board];
|
7 |
+
const currentRow = newBoard[currentRowIndex];
|
8 |
+
for (const tile of [...currentRow].reverse()) {
|
9 |
+
if (tile.letter) {
|
10 |
+
tile.letter = '';
|
11 |
+
break;
|
12 |
+
}
|
13 |
+
}
|
14 |
+
return newBoard;
|
15 |
+
}
|
16 |
+
|
17 |
+
export function fillTile(board: Board, currentRowIndex: number, letter: string) {
|
18 |
+
const newBoard = [...board];
|
19 |
+
const currentRow = newBoard[currentRowIndex];
|
20 |
+
for (const tile of currentRow) {
|
21 |
+
if (!tile.letter) {
|
22 |
+
tile.letter = letter;
|
23 |
+
break;
|
24 |
+
}
|
25 |
+
}
|
26 |
+
return newBoard;
|
27 |
+
}
|
28 |
+
|
29 |
+
export const colors = {
|
30 |
+
[LetterState.CORRECT]: '#00b81a',
|
31 |
+
[LetterState.PRESENT]: '#ffc80a',
|
32 |
+
[LetterState.ABSENT]: '#d9d9d9',
|
33 |
+
[LetterState.INITIAL]: '#5d5d5d'
|
34 |
+
};
|
frontend/src/routes/__layout.svelte
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script>
|
2 |
+
import "../app.css";
|
3 |
+
</script>
|
4 |
+
|
5 |
+
<slot />
|
frontend/src/routes/index.svelte
ADDED
@@ -0,0 +1,354 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
// original code inspired by Evan You https://github.com/yyx990803/vue-wordle/
|
3 |
+
import { LetterState } from '../types';
|
4 |
+
import type { Board } from '../types';
|
5 |
+
import { clearTile, fillTile } from '$lib/utils';
|
6 |
+
|
7 |
+
import Keyboard from '$lib/Keyboard.svelte';
|
8 |
+
import Result from '$lib/Result.svelte';
|
9 |
+
import Message from '$lib/Message.svelte';
|
10 |
+
|
11 |
+
import { onMount } from 'svelte';
|
12 |
+
import image from '$lib/assets/image1.jpg';
|
13 |
+
|
14 |
+
const totalTime = 1000;
|
15 |
+
|
16 |
+
// Get word of the day
|
17 |
+
let answer: string;
|
18 |
+
let imagePaths: string[];
|
19 |
+
let cols: number;
|
20 |
+
let timePerTile: number;
|
21 |
+
|
22 |
+
let letterStates: Record<string, LetterState> = {};
|
23 |
+
|
24 |
+
let board: Board;
|
25 |
+
// Current active row.
|
26 |
+
let currentRowIndex = 0;
|
27 |
+
|
28 |
+
// Feedback state: message and shake
|
29 |
+
let message = '';
|
30 |
+
let grid = '';
|
31 |
+
let result = '';
|
32 |
+
let shakeRowIndex = -1;
|
33 |
+
let success = false;
|
34 |
+
// Handle keyboard input.
|
35 |
+
let allowInput = true;
|
36 |
+
|
37 |
+
onMount(async () => {
|
38 |
+
const data = await fetch('data').then((d) => d.json());
|
39 |
+
const prompts: string[] = Object.keys(data);
|
40 |
+
const randomPrompt: string = prompts[~~(Math.random() * prompts.length)];
|
41 |
+
answer = randomPrompt.replace(/_/g, ' ');
|
42 |
+
imagePaths = data[randomPrompt].slice(0, 6);
|
43 |
+
console.log(answer);
|
44 |
+
cols = randomPrompt.length;
|
45 |
+
timePerTile = totalTime / cols;
|
46 |
+
|
47 |
+
board = Array.from({ length: 6 }, () =>
|
48 |
+
Array.from({ length: cols }, () => ({
|
49 |
+
letter: '',
|
50 |
+
state: LetterState.INITIAL
|
51 |
+
}))
|
52 |
+
);
|
53 |
+
|
54 |
+
window.addEventListener('keyup', onKeyup);
|
55 |
+
document.body.style.setProperty('--cols', `${cols}`);
|
56 |
+
return () => window.removeEventListener('keyup', onKeyup);
|
57 |
+
});
|
58 |
+
|
59 |
+
const onKeyup = (e: KeyboardEvent) => {
|
60 |
+
onKey(e.key);
|
61 |
+
};
|
62 |
+
|
63 |
+
function onKey(key: string) {
|
64 |
+
if (!allowInput) return;
|
65 |
+
if (/^[a-zA-Z ]$/.test(key)) {
|
66 |
+
board = fillTile(board, currentRowIndex, key.toLowerCase());
|
67 |
+
} else if (key === 'Backspace') {
|
68 |
+
board = clearTile(board, currentRowIndex);
|
69 |
+
} else if (key === 'Enter') {
|
70 |
+
completeRow();
|
71 |
+
}
|
72 |
+
}
|
73 |
+
|
74 |
+
function completeRow() {
|
75 |
+
const newBoard = [...board];
|
76 |
+
const currentRow = newBoard[currentRowIndex];
|
77 |
+
const currentletterStates: Record<string, LetterState> = {};
|
78 |
+
|
79 |
+
if (currentRow.every((tile) => tile.letter)) {
|
80 |
+
const guess = currentRow.map((tile) => tile.letter).join('');
|
81 |
+
// if (!allWords.includes(guess) && guess !== answer) {
|
82 |
+
// shake()
|
83 |
+
// showMessage(`Not in word list`)
|
84 |
+
// return
|
85 |
+
// }
|
86 |
+
|
87 |
+
const answerLetters: (string | null)[] = answer.split('');
|
88 |
+
// first pass: mark correct ones
|
89 |
+
currentRow.forEach((tile, i) => {
|
90 |
+
if (answerLetters[i] === tile.letter) {
|
91 |
+
tile.state = currentletterStates[tile.letter] = LetterState.CORRECT;
|
92 |
+
answerLetters[i] = null;
|
93 |
+
}
|
94 |
+
});
|
95 |
+
|
96 |
+
// second pass: mark the present
|
97 |
+
currentRow.forEach((tile) => {
|
98 |
+
if (!tile.state && answerLetters.includes(tile.letter)) {
|
99 |
+
tile.state = LetterState.PRESENT;
|
100 |
+
answerLetters[answerLetters.indexOf(tile.letter)] = null;
|
101 |
+
if (!currentletterStates[tile.letter]) {
|
102 |
+
currentletterStates[tile.letter] = LetterState.PRESENT;
|
103 |
+
}
|
104 |
+
}
|
105 |
+
});
|
106 |
+
// 3rd pass: mark absent
|
107 |
+
currentRow.forEach((tile) => {
|
108 |
+
if (!tile.state) {
|
109 |
+
tile.state = LetterState.ABSENT;
|
110 |
+
if (!currentletterStates[tile.letter]) {
|
111 |
+
currentletterStates[tile.letter] = LetterState.ABSENT;
|
112 |
+
}
|
113 |
+
}
|
114 |
+
});
|
115 |
+
|
116 |
+
allowInput = false;
|
117 |
+
if (currentRow.every((tile) => tile.state === LetterState.CORRECT)) {
|
118 |
+
// yay!
|
119 |
+
setTimeout(() => {
|
120 |
+
result = ['Genius', 'Magnificent', 'Impressive', 'Splendid', 'Great', 'Phew'][
|
121 |
+
currentRowIndex
|
122 |
+
];
|
123 |
+
success = true;
|
124 |
+
}, totalTime);
|
125 |
+
} else if (currentRowIndex < board.length - 1) {
|
126 |
+
// go the next row
|
127 |
+
currentRowIndex++;
|
128 |
+
setTimeout(() => {
|
129 |
+
allowInput = true;
|
130 |
+
}, totalTime);
|
131 |
+
} else {
|
132 |
+
// game over :(
|
133 |
+
setTimeout(() => {
|
134 |
+
showMessage(answer.toUpperCase(), -1);
|
135 |
+
}, totalTime);
|
136 |
+
}
|
137 |
+
} else {
|
138 |
+
shake();
|
139 |
+
showMessage('Not enough letters');
|
140 |
+
}
|
141 |
+
|
142 |
+
board = newBoard;
|
143 |
+
letterStates = currentletterStates;
|
144 |
+
}
|
145 |
+
function showMessage(msg: string, time = 1000) {
|
146 |
+
message = msg;
|
147 |
+
if (time > 0) {
|
148 |
+
setTimeout(() => {
|
149 |
+
message = '';
|
150 |
+
}, time);
|
151 |
+
}
|
152 |
+
}
|
153 |
+
|
154 |
+
function shake() {
|
155 |
+
shakeRowIndex = currentRowIndex;
|
156 |
+
setTimeout(() => {
|
157 |
+
shakeRowIndex = -1;
|
158 |
+
}, 1000);
|
159 |
+
}
|
160 |
+
</script>
|
161 |
+
|
162 |
+
{#if board !== undefined}
|
163 |
+
<div class="max-w-screen-lg mx-auto px-1 relative z-0">
|
164 |
+
{#if message}
|
165 |
+
<Message {message} />
|
166 |
+
{/if}
|
167 |
+
{#if result && success}
|
168 |
+
<Result {board} {currentRowIndex} {imagePaths} message={result} />
|
169 |
+
{/if}
|
170 |
+
<!-- <div class="message" transition:fade>
|
171 |
+
{message}
|
172 |
+
{#if grid}
|
173 |
+
<pre>{grid}</pre>
|
174 |
+
{/if}
|
175 |
+
</div> -->
|
176 |
+
<!-- {/if} -->
|
177 |
+
<header class="border-b-2">
|
178 |
+
<h1 class="text-3xl font-bold text-center">WORDALLE</h1>
|
179 |
+
</header>
|
180 |
+
<div class="grid grid-cols-3 gap-2 max-w-md mx-auto p-3">
|
181 |
+
{#each imagePaths as image}
|
182 |
+
<div>
|
183 |
+
<img src={image} alt="" class="w-full h-full" />
|
184 |
+
</div>
|
185 |
+
{/each}
|
186 |
+
</div>
|
187 |
+
<div class="board">
|
188 |
+
{#each board as row, index}
|
189 |
+
<div
|
190 |
+
class="row {shakeRowIndex === index && 'shake'} {success &&
|
191 |
+
currentRowIndex === index &&
|
192 |
+
'jump'}"
|
193 |
+
>
|
194 |
+
{#each row as tile, index}
|
195 |
+
<div class="tile {tile.letter && 'filled'} {tile.state && 'revealed'}">
|
196 |
+
<div class="front" style="transition-delay: {index * timePerTile}ms;">
|
197 |
+
{tile.letter}
|
198 |
+
</div>
|
199 |
+
<div
|
200 |
+
class="back {tile.state}"
|
201 |
+
style="transition-delay: {index * timePerTile}ms; animation-delay: {index * 100}ms;"
|
202 |
+
>
|
203 |
+
{tile.letter}
|
204 |
+
</div>
|
205 |
+
</div>
|
206 |
+
{/each}
|
207 |
+
</div>
|
208 |
+
{/each}
|
209 |
+
</div>
|
210 |
+
<Keyboard on:keyup={({ detail }) => onKey(detail)} bind:letterStates />
|
211 |
+
</div>
|
212 |
+
{/if}
|
213 |
+
|
214 |
+
<style lang="postcss">
|
215 |
+
.board {
|
216 |
+
@apply grid gap-1.5 grid-rows-6 mx-0 my-auto;
|
217 |
+
--height: min(200px, calc(var(--vh, 100vh) - 310px));
|
218 |
+
height: var(--height);
|
219 |
+
}
|
220 |
+
.row {
|
221 |
+
@apply grid gap-2;
|
222 |
+
grid-template-columns: repeat(var(--cols), 1fr);
|
223 |
+
}
|
224 |
+
|
225 |
+
.tile {
|
226 |
+
@apply w-full text-base text-center font-bold
|
227 |
+
uppercase select-none relative bg-zinc-100;
|
228 |
+
vertical-align: middle;
|
229 |
+
}
|
230 |
+
|
231 |
+
.tile.filled {
|
232 |
+
animation: zoom 0.2s;
|
233 |
+
}
|
234 |
+
|
235 |
+
.tile .front,
|
236 |
+
.tile .back {
|
237 |
+
@apply box-border inline-flex justify-center items-center w-full h-full
|
238 |
+
absolute top-0 left-0 transition-transform duration-500;
|
239 |
+
backface-visibility: hidden;
|
240 |
+
-webkit-backface-visibility: hidden;
|
241 |
+
}
|
242 |
+
|
243 |
+
.tile .front {
|
244 |
+
@apply border-[1.5px] border-solid border-gray-300;
|
245 |
+
}
|
246 |
+
|
247 |
+
.tile.filled .front {
|
248 |
+
@apply border-[1.5px] border-solid border-gray-500;
|
249 |
+
}
|
250 |
+
|
251 |
+
.tile .back {
|
252 |
+
transform: rotateX(180deg);
|
253 |
+
}
|
254 |
+
|
255 |
+
.tile.revealed .front {
|
256 |
+
transform: rotateX(180deg);
|
257 |
+
}
|
258 |
+
|
259 |
+
.tile.revealed .back {
|
260 |
+
transform: rotateX(0deg);
|
261 |
+
}
|
262 |
+
|
263 |
+
@keyframes zoom {
|
264 |
+
0% {
|
265 |
+
transform: scale(1.1);
|
266 |
+
}
|
267 |
+
|
268 |
+
100% {
|
269 |
+
transform: scale(1);
|
270 |
+
}
|
271 |
+
}
|
272 |
+
|
273 |
+
.shake {
|
274 |
+
animation: shake 0.5s;
|
275 |
+
}
|
276 |
+
|
277 |
+
@keyframes shake {
|
278 |
+
0% {
|
279 |
+
transform: translate3d(1px, -1px, 0);
|
280 |
+
}
|
281 |
+
|
282 |
+
10% {
|
283 |
+
transform: translate3d(-2px, 2px, 0);
|
284 |
+
}
|
285 |
+
|
286 |
+
20% {
|
287 |
+
transform: translate3d(2px, -2px, 0);
|
288 |
+
}
|
289 |
+
|
290 |
+
30% {
|
291 |
+
transform: translate3d(-2px, 2px, 0);
|
292 |
+
}
|
293 |
+
|
294 |
+
40% {
|
295 |
+
transform: translate3d(2px, -2px, 0);
|
296 |
+
}
|
297 |
+
|
298 |
+
50% {
|
299 |
+
transform: translate3d(-2px, 2px, 0);
|
300 |
+
}
|
301 |
+
|
302 |
+
60% {
|
303 |
+
transform: translate3d(2px, 2px, 0);
|
304 |
+
}
|
305 |
+
|
306 |
+
70% {
|
307 |
+
transform: translate3d(-2px, -2px, 0);
|
308 |
+
}
|
309 |
+
|
310 |
+
80% {
|
311 |
+
transform: translate3d(2px, 2px, 0);
|
312 |
+
}
|
313 |
+
|
314 |
+
90% {
|
315 |
+
transform: translate3d(-2px, -2px, 0);
|
316 |
+
}
|
317 |
+
|
318 |
+
100% {
|
319 |
+
transform: translate3d(1px, 1px, 0);
|
320 |
+
}
|
321 |
+
}
|
322 |
+
|
323 |
+
.jump .tile .back {
|
324 |
+
animation: jump 0.5s;
|
325 |
+
}
|
326 |
+
|
327 |
+
@keyframes jump {
|
328 |
+
0% {
|
329 |
+
transform: translate3d(0, 0px, 0);
|
330 |
+
}
|
331 |
+
|
332 |
+
20% {
|
333 |
+
transform: translate3d(0, 5px, 0);
|
334 |
+
}
|
335 |
+
|
336 |
+
60% {
|
337 |
+
transform: translate3d(0, -25px, 0);
|
338 |
+
}
|
339 |
+
|
340 |
+
90% {
|
341 |
+
transform: translate3d(0, 3px, 0);
|
342 |
+
}
|
343 |
+
|
344 |
+
100% {
|
345 |
+
transform: translate3d(0, 0px, 0);
|
346 |
+
}
|
347 |
+
}
|
348 |
+
|
349 |
+
@media (max-height: 680px) {
|
350 |
+
.tile {
|
351 |
+
font-size: 1.5vh;
|
352 |
+
}
|
353 |
+
}
|
354 |
+
</style>
|
frontend/src/types.ts
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
export const enum LetterState {
|
2 |
+
INITIAL = 0,
|
3 |
+
CORRECT = 'correct',
|
4 |
+
PRESENT = 'present',
|
5 |
+
ABSENT = 'absent'
|
6 |
+
}
|
7 |
+
|
8 |
+
export interface Tile {
|
9 |
+
letter: string;
|
10 |
+
state: LetterState;
|
11 |
+
}
|
12 |
+
export type Board = Tile[][];
|
frontend/svelte.config.js
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import adapter from '@sveltejs/adapter-static';
|
2 |
+
import preprocess from 'svelte-preprocess';
|
3 |
+
|
4 |
+
const dev = process.env.NODE_ENV === 'development';
|
5 |
+
|
6 |
+
console.log('dev', dev);
|
7 |
+
/** @type {import('@sveltejs/kit').Config} */
|
8 |
+
const config = {
|
9 |
+
// Consult https://github.com/sveltejs/svelte-preprocess
|
10 |
+
// for more information about preprocessors
|
11 |
+
preprocess: preprocess({
|
12 |
+
postcss: true
|
13 |
+
}),
|
14 |
+
|
15 |
+
kit: {
|
16 |
+
paths: {
|
17 |
+
base: dev ? '/static' : '/embed/radames/wordalle/static',
|
18 |
+
},
|
19 |
+
adapter: adapter({
|
20 |
+
pages: 'build',
|
21 |
+
assets: 'build',
|
22 |
+
fallback: null,
|
23 |
+
precompress: false
|
24 |
+
}),
|
25 |
+
|
26 |
+
prerender: {
|
27 |
+
default: true
|
28 |
+
}
|
29 |
+
}
|
30 |
+
};
|
31 |
+
|
32 |
+
export default config;
|
frontend/tailwind.config.cjs
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
module.exports = {
|
2 |
+
content: ['./src/**/*.{html,js,svelte,ts}'],
|
3 |
+
theme: {
|
4 |
+
extend: {}
|
5 |
+
},
|
6 |
+
plugins: []
|
7 |
+
};
|
frontend/tsconfig.json
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"extends": "./.svelte-kit/tsconfig.json",
|
3 |
+
"compilerOptions": {
|
4 |
+
"allowJs": true,
|
5 |
+
"checkJs": true,
|
6 |
+
"esModuleInterop": true,
|
7 |
+
"forceConsistentCasingInFileNames": true,
|
8 |
+
"resolveJsonModule": true,
|
9 |
+
"skipLibCheck": true,
|
10 |
+
"sourceMap": true,
|
11 |
+
"strict": true
|
12 |
+
}
|
13 |
+
}
|
requirements.txt
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
datasets
|
2 |
+
flask
|
3 |
+
flask_cors
|
4 |
+
requests
|
5 |
+
Pillow
|
6 |
+
scipy
|
7 |
+
gradio==3.0.17
|
static/_app/immutable/assets/image1-93c06b0e.jpg
ADDED
static/_app/immutable/assets/pages/__layout.svelte-650f13bc.css
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-1\/2{left:50%}.top-1\/2{top:50%}.top-16{top:4rem}.top-0{top:0px}.left-0{left:0px}.z-20{z-index:20}.z-10{z-index:10}.z-0{z-index:0}.m-0{margin:0}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mx-0{margin-left:0;margin-right:0}.mt-0{margin-top:0}.mb-2{margin-bottom:.5rem}.mr-1{margin-right:.25rem}.box-border{box-sizing:border-box}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.min-h-\[30px\]{min-height:30px}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-screen{width:100vw}.min-w-\[30px\]{min-width:30px}.min-w-\[6ch\]{min-width:6ch}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.max-w-screen-lg{max-width:1024px}.flex-1{flex:1 1 0%}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-1\.5{gap:.375rem}.gap-1{gap:.25rem}.rounded-sm{border-radius:.125rem}.rounded-md{border-radius:.375rem}.rounded{border-radius:.25rem}.border-0{border-width:0px}.border-\[1\.5px\]{border-width:1.5px}.border-b-2{border-bottom-width:2px}.border-solid{border-style:solid}.bg-\[\#d3d6da\]{--tw-bg-opacity: 1;background-color:rgb(211 214 218 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity: .8}.p-0{padding:0}.p-5{padding:1.25rem}.p-3{padding:.75rem}.p-10{padding:2.5rem}.p-1{padding:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.text-center{text-align:center}.text-\[0\.5rem\]{font-size:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.text-\[\#1a1a1b\]{--tw-text-opacity: 1;color:rgb(26 26 27 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-700{transition-duration:.7s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--cols: 19}.correct,.present,.absent{color:#fff!important}.correct{background-color:#6aaa64!important}.present{background-color:#c9b458!important}.absent{background-color:#787c7e!important}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}
|
static/_app/immutable/assets/pages/index.svelte-8f5988fc.css
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
.row.svelte-1bl9l4p{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:.5rem;display:flex;width:100%;touch-action:manipulation}button.svelte-1bl9l4p{margin:0;margin-right:.25rem;display:flex;min-height:30px;min-width:30px;flex:1 1 0%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;align-items:center;justify-content:center;border-radius:.125rem;border-width:0px;--tw-bg-opacity:1;background-color:rgb(211 214 218 / var(--tw-bg-opacity));padding:0;font-weight:700;text-transform:uppercase;--tw-text-opacity:1;color:rgb(26 26 27 / var(--tw-text-opacity));transition-property:all;transition-duration:.7s;transition-timing-function:cubic-bezier(.4,0,.2,1)}button.svelte-1bl9l4p:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.message.svelte-1u0no68{position:absolute;left:50%;top:4rem;z-index:20;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:.375rem;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-bg-opacity:.8;padding:2.5rem;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.modal.svelte-1u0no68{position:fixed;top:0px;left:0px;z-index:10;min-height:100vh;width:100vw;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-bg-opacity:.8;--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.go-tweet.svelte-1u0no68,button.svelte-1u0no68{margin-top:.25rem;margin-bottom:.25rem;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(55 65 81 / var(--tw-bg-opacity));padding:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:opacity;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.go-tweet.svelte-1u0no68:hover,button.svelte-1u0no68:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.message.svelte-1upiv4{position:absolute;left:50%;top:50%;z-index:20;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:.125rem;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-bg-opacity:.8;padding:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.board.svelte-1ah7mm7.svelte-1ah7mm7{margin:auto 0;display:grid;grid-template-rows:repeat(6,minmax(0,1fr));gap:.375rem;--height:min(200px, calc(var(--vh, 100vh) - 310px));height:var(--height)}.row.svelte-1ah7mm7.svelte-1ah7mm7{display:grid;gap:.5rem;grid-template-columns:repeat(var(--cols),1fr)}.tile.svelte-1ah7mm7.svelte-1ah7mm7{position:relative;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;--tw-bg-opacity:1;background-color:rgb(244 244 245 / var(--tw-bg-opacity));text-align:center;font-size:1rem;line-height:1.5rem;font-weight:700;text-transform:uppercase;vertical-align:middle}.tile.filled.svelte-1ah7mm7.svelte-1ah7mm7{-webkit-animation:svelte-1ah7mm7-zoom .2s;animation:svelte-1ah7mm7-zoom .2s}.tile.svelte-1ah7mm7 .front.svelte-1ah7mm7,.tile.svelte-1ah7mm7 .back.svelte-1ah7mm7{position:absolute;top:0px;left:0px;box-sizing:border-box;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;backface-visibility:hidden;-webkit-backface-visibility:hidden}.tile.svelte-1ah7mm7 .front.svelte-1ah7mm7{border-width:1.5px;border-style:solid;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.tile.filled.svelte-1ah7mm7 .front.svelte-1ah7mm7{border-width:1.5px;border-style:solid;--tw-border-opacity:1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.tile.svelte-1ah7mm7 .back.svelte-1ah7mm7,.tile.revealed.svelte-1ah7mm7 .front.svelte-1ah7mm7{transform:rotateX(180deg)}.tile.revealed.svelte-1ah7mm7 .back.svelte-1ah7mm7{transform:rotateX(0)}@-webkit-keyframes svelte-1ah7mm7-zoom{0%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes svelte-1ah7mm7-zoom{0%{transform:scale(1.1)}to{transform:scale(1)}}.shake.svelte-1ah7mm7.svelte-1ah7mm7{-webkit-animation:svelte-1ah7mm7-shake .5s;animation:svelte-1ah7mm7-shake .5s}@-webkit-keyframes svelte-1ah7mm7-shake{0%{transform:translate3d(1px,-1px,0)}10%{transform:translate3d(-2px,2px,0)}20%{transform:translate3d(2px,-2px,0)}30%{transform:translate3d(-2px,2px,0)}40%{transform:translate3d(2px,-2px,0)}50%{transform:translate3d(-2px,2px,0)}60%{transform:translate3d(2px,2px,0)}70%{transform:translate3d(-2px,-2px,0)}80%{transform:translate3d(2px,2px,0)}90%{transform:translate3d(-2px,-2px,0)}to{transform:translate3d(1px,1px,0)}}@keyframes svelte-1ah7mm7-shake{0%{transform:translate3d(1px,-1px,0)}10%{transform:translate3d(-2px,2px,0)}20%{transform:translate3d(2px,-2px,0)}30%{transform:translate3d(-2px,2px,0)}40%{transform:translate3d(2px,-2px,0)}50%{transform:translate3d(-2px,2px,0)}60%{transform:translate3d(2px,2px,0)}70%{transform:translate3d(-2px,-2px,0)}80%{transform:translate3d(2px,2px,0)}90%{transform:translate3d(-2px,-2px,0)}to{transform:translate3d(1px,1px,0)}}.jump.svelte-1ah7mm7 .tile .back.svelte-1ah7mm7{-webkit-animation:svelte-1ah7mm7-jump .5s;animation:svelte-1ah7mm7-jump .5s}@-webkit-keyframes svelte-1ah7mm7-jump{0%{transform:translateZ(0)}20%{transform:translate3d(0,5px,0)}60%{transform:translate3d(0,-25px,0)}90%{transform:translate3d(0,3px,0)}to{transform:translateZ(0)}}@keyframes svelte-1ah7mm7-jump{0%{transform:translateZ(0)}20%{transform:translate3d(0,5px,0)}60%{transform:translate3d(0,-25px,0)}90%{transform:translate3d(0,3px,0)}to{transform:translateZ(0)}}@media (max-height: 680px){.tile.svelte-1ah7mm7.svelte-1ah7mm7{font-size:1.5vh}}
|
static/_app/immutable/chunks/index-ad2956d2.js
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function R(){}const lt=t=>t;function st(t,e){for(const n in e)t[n]=e[n];return t}function J(t){return t()}function I(){return Object.create(null)}function $(t){t.forEach(J)}function K(t){return typeof t=="function"}function Ot(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let N;function qt(t,e){return N||(N=document.createElement("a")),N.href=e,t===N.href}function ot(t){return Object.keys(t).length===0}function Tt(t,e,n,r){if(t){const c=Q(t,e,n,r);return t[0](c)}}function Q(t,e,n,r){return t[1]&&r?st(n.ctx.slice(),t[1](r(e))):n.ctx}function zt(t,e,n,r){if(t[2]&&r){const c=t[2](r(n));if(e.dirty===void 0)return c;if(typeof c=="object"){const o=[],i=Math.max(e.dirty.length,c.length);for(let s=0;s<i;s+=1)o[s]=e.dirty[s]|c[s];return o}return e.dirty|c}return e.dirty}function Bt(t,e,n,r,c,o){if(c){const i=Q(e,n,r,o);t.p(i,c)}}function Lt(t){if(t.ctx.length>32){const e=[],n=t.ctx.length/32;for(let r=0;r<n;r++)e[r]=-1;return e}return-1}const U=typeof window!="undefined";let ut=U?()=>window.performance.now():()=>Date.now(),F=U?t=>requestAnimationFrame(t):R;const x=new Set;function V(t){x.forEach(e=>{e.c(t)||(x.delete(e),e.f())}),x.size!==0&&F(V)}function at(t){let e;return x.size===0&&F(V),{promise:new Promise(n=>{x.add(e={c:t,f:n})}),abort(){x.delete(e)}}}let D=!1;function ft(){D=!0}function _t(){D=!1}function dt(t,e,n,r){for(;t<e;){const c=t+(e-t>>1);n(c)<=r?t=c+1:e=c}return t}function ht(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){const l=[];for(let u=0;u<e.length;u++){const _=e[u];_.claim_order!==void 0&&l.push(_)}e=l}const n=new Int32Array(e.length+1),r=new Int32Array(e.length);n[0]=-1;let c=0;for(let l=0;l<e.length;l++){const u=e[l].claim_order,_=(c>0&&e[n[c]].claim_order<=u?c+1:dt(1,c,a=>e[n[a]].claim_order,u))-1;r[l]=n[_]+1;const f=_+1;n[f]=l,c=Math.max(f,c)}const o=[],i=[];let s=e.length-1;for(let l=n[c]+1;l!=0;l=r[l-1]){for(o.push(e[l-1]);s>=l;s--)i.push(e[s]);s--}for(;s>=0;s--)i.push(e[s]);o.reverse(),i.sort((l,u)=>l.claim_order-u.claim_order);for(let l=0,u=0;l<i.length;l++){for(;u<o.length&&i[l].claim_order>=o[u].claim_order;)u++;const _=u<o.length?o[u]:null;t.insertBefore(i[l],_)}}function mt(t,e){t.appendChild(e)}function X(t){if(!t)return document;const e=t.getRootNode?t.getRootNode():t.ownerDocument;return e&&e.host?e:t.ownerDocument}function pt(t){const e=Y("style");return yt(X(t),e),e.sheet}function yt(t,e){mt(t.head||t,e)}function gt(t,e){if(D){for(ht(t),(t.actual_end_child===void 0||t.actual_end_child!==null&&t.actual_end_child.parentElement!==t)&&(t.actual_end_child=t.firstChild);t.actual_end_child!==null&&t.actual_end_child.claim_order===void 0;)t.actual_end_child=t.actual_end_child.nextSibling;e!==t.actual_end_child?(e.claim_order!==void 0||e.parentNode!==t)&&t.insertBefore(e,t.actual_end_child):t.actual_end_child=e.nextSibling}else(e.parentNode!==t||e.nextSibling!==null)&&t.appendChild(e)}function Ft(t,e,n){D&&!n?gt(t,e):(e.parentNode!==t||e.nextSibling!=n)&&t.insertBefore(e,n||null)}function xt(t){t.parentNode.removeChild(t)}function Ht(t,e){for(let n=0;n<t.length;n+=1)t[n]&&t[n].d(e)}function Y(t){return document.createElement(t)}function $t(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function H(t){return document.createTextNode(t)}function It(){return H(" ")}function Wt(){return H("")}function Gt(t,e,n,r){return t.addEventListener(e,n,r),()=>t.removeEventListener(e,n,r)}function Jt(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function bt(t){return Array.from(t.childNodes)}function wt(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Z(t,e,n,r,c=!1){wt(t);const o=(()=>{for(let i=t.claim_info.last_index;i<t.length;i++){const s=t[i];if(e(s)){const l=n(s);return l===void 0?t.splice(i,1):t[i]=l,c||(t.claim_info.last_index=i),s}}for(let i=t.claim_info.last_index-1;i>=0;i--){const s=t[i];if(e(s)){const l=n(s);return l===void 0?t.splice(i,1):t[i]=l,c?l===void 0&&t.claim_info.last_index--:t.claim_info.last_index=i,s}}return r()})();return o.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,o}function tt(t,e,n,r){return Z(t,c=>c.nodeName===e,c=>{const o=[];for(let i=0;i<c.attributes.length;i++){const s=c.attributes[i];n[s.name]||o.push(s.name)}o.forEach(i=>c.removeAttribute(i))},()=>r(e))}function Kt(t,e,n){return tt(t,e,n,Y)}function Qt(t,e,n){return tt(t,e,n,$t)}function vt(t,e){return Z(t,n=>n.nodeType===3,n=>{const r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>H(e),!0)}function Ut(t){return vt(t," ")}function Vt(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function Xt(t,e,n,r){n===null?t.style.removeProperty(e):t.style.setProperty(e,n,r?"important":"")}function et(t,e,{bubbles:n=!1,cancelable:r=!1}={}){const c=document.createEvent("CustomEvent");return c.initCustomEvent(t,n,r,e),c}const S=new Map;let M=0;function Et(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function kt(t,e){const n={stylesheet:pt(e),rules:{}};return S.set(t,n),n}function W(t,e,n,r,c,o,i,s=0){const l=16.666/r;let u=`{
|
2 |
+
`;for(let p=0;p<=1;p+=l){const g=e+(n-e)*o(p);u+=p*100+`%{${i(g,1-g)}}
|
3 |
+
`}const _=u+`100% {${i(n,1-n)}}
|
4 |
+
}`,f=`__svelte_${Et(_)}_${s}`,a=X(t),{stylesheet:d,rules:h}=S.get(a)||kt(a,t);h[f]||(h[f]=!0,d.insertRule(`@keyframes ${f} ${_}`,d.cssRules.length));const y=t.style.animation||"";return t.style.animation=`${y?`${y}, `:""}${f} ${r}ms linear ${c}ms 1 both`,M+=1,f}function Nt(t,e){const n=(t.style.animation||"").split(", "),r=n.filter(e?o=>o.indexOf(e)<0:o=>o.indexOf("__svelte")===-1),c=n.length-r.length;c&&(t.style.animation=r.join(", "),M-=c,M||jt())}function jt(){F(()=>{M||(S.forEach(t=>{const{stylesheet:e}=t;let n=e.cssRules.length;for(;n--;)e.deleteRule(n);t.rules={}}),S.clear())})}let E;function v(t){E=t}function O(){if(!E)throw new Error("Function called outside component initialization");return E}function Yt(t){O().$$.on_mount.push(t)}function Zt(t){O().$$.after_update.push(t)}function te(){const t=O();return(e,n,{cancelable:r=!1}={})=>{const c=t.$$.callbacks[e];if(c){const o=et(e,n,{cancelable:r});return c.slice().forEach(i=>{i.call(t,o)}),!o.defaultPrevented}return!0}}function ee(t,e){return O().$$.context.set(t,e),e}const w=[],G=[],A=[],B=[],nt=Promise.resolve();let L=!1;function it(){L||(L=!0,nt.then(rt))}function ne(){return it(),nt}function P(t){A.push(t)}function ie(t){B.push(t)}const T=new Set;let j=0;function rt(){const t=E;do{for(;j<w.length;){const e=w[j];j++,v(e),At(e.$$)}for(v(null),w.length=0,j=0;G.length;)G.pop()();for(let e=0;e<A.length;e+=1){const n=A[e];T.has(n)||(T.add(n),n())}A.length=0}while(w.length);for(;B.length;)B.pop()();L=!1,T.clear(),v(t)}function At(t){if(t.fragment!==null){t.update(),$(t.before_update);const e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(P)}}let b;function Ct(){return b||(b=Promise.resolve(),b.then(()=>{b=null})),b}function z(t,e,n){t.dispatchEvent(et(`${e?"intro":"outro"}${n}`))}const C=new Set;let m;function re(){m={r:0,c:[],p:m}}function ce(){m.r||$(m.c),m=m.p}function St(t,e){t&&t.i&&(C.delete(t),t.i(e))}function le(t,e,n,r){if(t&&t.o){if(C.has(t))return;C.add(t),m.c.push(()=>{C.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}}const Mt={duration:0};function se(t,e,n,r){let c=e(t,n),o=r?0:1,i=null,s=null,l=null;function u(){l&&Nt(t,l)}function _(a,d){const h=a.b-o;return d*=Math.abs(h),{a:o,b:a.b,d:h,duration:d,start:a.start,end:a.start+d,group:a.group}}function f(a){const{delay:d=0,duration:h=300,easing:y=lt,tick:p=R,css:g}=c||Mt,q={start:ut()+d,b:a};a||(q.group=m,m.r+=1),i||s?s=q:(g&&(u(),l=W(t,o,a,h,d,y,g)),a&&p(0,1),i=_(q,h),P(()=>z(t,a,"start")),at(k=>{if(s&&k>s.start&&(i=_(s,h),s=null,z(t,i.b,"start"),g&&(u(),l=W(t,o,i.b,i.duration,0,y,c.css))),i){if(k>=i.end)p(o=i.b,1-o),z(t,i.b,"end"),s||(i.b?u():--i.group.r||$(i.group.c)),i=null;else if(k>=i.start){const ct=k-i.start;o=i.a+i.d*y(ct/i.duration),p(o,1-o)}}return!!(i||s)}))}return{run(a){K(c)?Ct().then(()=>{c=c(),f(a)}):f(a)},end(){u(),i=s=null}}}function oe(t,e){const n={},r={},c={$$scope:1};let o=t.length;for(;o--;){const i=t[o],s=e[o];if(s){for(const l in i)l in s||(r[l]=1);for(const l in s)c[l]||(n[l]=s[l],c[l]=1);t[o]=s}else for(const l in i)c[l]=1}for(const i in r)i in n||(n[i]=void 0);return n}function ue(t){return typeof t=="object"&&t!==null?t:{}}function ae(t,e,n){const r=t.$$.props[e];r!==void 0&&(t.$$.bound[r]=n,n(t.$$.ctx[r]))}function fe(t){t&&t.c()}function _e(t,e){t&&t.l(e)}function Pt(t,e,n,r){const{fragment:c,on_mount:o,on_destroy:i,after_update:s}=t.$$;c&&c.m(e,n),r||P(()=>{const l=o.map(J).filter(K);i?i.push(...l):$(l),t.$$.on_mount=[]}),s.forEach(P)}function Rt(t,e){const n=t.$$;n.fragment!==null&&($(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Dt(t,e){t.$$.dirty[0]===-1&&(w.push(t),it(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function de(t,e,n,r,c,o,i,s=[-1]){const l=E;v(t);const u=t.$$={fragment:null,ctx:null,props:o,update:R,not_equal:c,bound:I(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(l?l.$$.context:[])),callbacks:I(),dirty:s,skip_bound:!1,root:e.target||l.$$.root};i&&i(u.root);let _=!1;if(u.ctx=n?n(t,e.props||{},(f,a,...d)=>{const h=d.length?d[0]:a;return u.ctx&&c(u.ctx[f],u.ctx[f]=h)&&(!u.skip_bound&&u.bound[f]&&u.bound[f](h),_&&Dt(t,f)),a}):[],u.update(),_=!0,$(u.before_update),u.fragment=r?r(u.ctx):!1,e.target){if(e.hydrate){ft();const f=bt(e.target);u.fragment&&u.fragment.l(f),f.forEach(xt)}else u.fragment&&u.fragment.c();e.intro&&St(t.$$.fragment),Pt(t,e.target,e.anchor,e.customElement),_t(),rt()}v(l)}class he{$destroy(){Rt(this,1),this.$destroy=R}$on(e,n){const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{const c=r.indexOf(n);c!==-1&&r.splice(c,1)}}$set(e){this.$$set&&!ot(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}export{oe as A,ue as B,Rt as C,st as D,ne as E,Tt as F,Bt as G,Lt as H,zt as I,gt as J,Gt as K,Ht as L,te as M,$t as N,Qt as O,lt as P,qt as Q,P as R,he as S,se as T,$ as U,G as V,ie as W,ae as X,bt as a,Jt as b,Kt as c,xt as d,Y as e,Xt as f,Ft as g,vt as h,de as i,Vt as j,It as k,Wt as l,Ut as m,R as n,re as o,le as p,ce as q,St as r,Ot as s,H as t,ee as u,Zt as v,Yt as w,fe as x,_e as y,Pt as z};
|
static/_app/immutable/error.svelte-fca57afa.js
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
import{S as w,i as y,s as z,e as E,t as v,c as d,a as b,h as P,d as o,g as n,J as R,j as N,k as S,l as C,m as j,n as H}from"./chunks/index-ad2956d2.js";function J(r){let l,t=r[1].frame+"",a;return{c(){l=E("pre"),a=v(t)},l(f){l=d(f,"PRE",{});var s=b(l);a=P(s,t),s.forEach(o)},m(f,s){n(f,l,s),R(l,a)},p(f,s){s&2&&t!==(t=f[1].frame+"")&&N(a,t)},d(f){f&&o(l)}}}function h(r){let l,t=r[1].stack+"",a;return{c(){l=E("pre"),a=v(t)},l(f){l=d(f,"PRE",{});var s=b(l);a=P(s,t),s.forEach(o)},m(f,s){n(f,l,s),R(l,a)},p(f,s){s&2&&t!==(t=f[1].stack+"")&&N(a,t)},d(f){f&&o(l)}}}function A(r){let l,t,a,f,s=r[1].message+"",c,k,u,p,i=r[1].frame&&J(r),_=r[1].stack&&h(r);return{c(){l=E("h1"),t=v(r[0]),a=S(),f=E("pre"),c=v(s),k=S(),i&&i.c(),u=S(),_&&_.c(),p=C()},l(e){l=d(e,"H1",{});var m=b(l);t=P(m,r[0]),m.forEach(o),a=j(e),f=d(e,"PRE",{});var q=b(f);c=P(q,s),q.forEach(o),k=j(e),i&&i.l(e),u=j(e),_&&_.l(e),p=C()},m(e,m){n(e,l,m),R(l,t),n(e,a,m),n(e,f,m),R(f,c),n(e,k,m),i&&i.m(e,m),n(e,u,m),_&&_.m(e,m),n(e,p,m)},p(e,[m]){m&1&&N(t,e[0]),m&2&&s!==(s=e[1].message+"")&&N(c,s),e[1].frame?i?i.p(e,m):(i=J(e),i.c(),i.m(u.parentNode,u)):i&&(i.d(1),i=null),e[1].stack?_?_.p(e,m):(_=h(e),_.c(),_.m(p.parentNode,p)):_&&(_.d(1),_=null)},i:H,o:H,d(e){e&&o(l),e&&o(a),e&&o(f),e&&o(k),i&&i.d(e),e&&o(u),_&&_.d(e),e&&o(p)}}}function F({error:r,status:l}){return{props:{error:r,status:l}}}function B(r,l,t){let{status:a}=l,{error:f}=l;return r.$$set=s=>{"status"in s&&t(0,a=s.status),"error"in s&&t(1,f=s.error)},[a,f]}class G extends w{constructor(l){super(),y(this,l,B,A,z,{status:0,error:1})}}export{G as default,F as load};
|
static/_app/immutable/manifest.json
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
".svelte-kit/runtime/client/start.js": {
|
3 |
+
"file": "start-eafcc13c.js",
|
4 |
+
"src": ".svelte-kit/runtime/client/start.js",
|
5 |
+
"isEntry": true,
|
6 |
+
"imports": [
|
7 |
+
"_index-ad2956d2.js"
|
8 |
+
],
|
9 |
+
"dynamicImports": [
|
10 |
+
"src/routes/__layout.svelte",
|
11 |
+
".svelte-kit/runtime/components/error.svelte",
|
12 |
+
"src/routes/index.svelte"
|
13 |
+
]
|
14 |
+
},
|
15 |
+
"src/routes/__layout.svelte": {
|
16 |
+
"file": "pages/__layout.svelte-97f324f7.js",
|
17 |
+
"src": "src/routes/__layout.svelte",
|
18 |
+
"isEntry": true,
|
19 |
+
"isDynamicEntry": true,
|
20 |
+
"imports": [
|
21 |
+
"_index-ad2956d2.js"
|
22 |
+
],
|
23 |
+
"css": [
|
24 |
+
"assets/pages/__layout.svelte-650f13bc.css"
|
25 |
+
]
|
26 |
+
},
|
27 |
+
".svelte-kit/runtime/components/error.svelte": {
|
28 |
+
"file": "error.svelte-fca57afa.js",
|
29 |
+
"src": ".svelte-kit/runtime/components/error.svelte",
|
30 |
+
"isEntry": true,
|
31 |
+
"isDynamicEntry": true,
|
32 |
+
"imports": [
|
33 |
+
"_index-ad2956d2.js"
|
34 |
+
]
|
35 |
+
},
|
36 |
+
"src/routes/index.svelte": {
|
37 |
+
"file": "pages/index.svelte-8599330f.js",
|
38 |
+
"src": "src/routes/index.svelte",
|
39 |
+
"isEntry": true,
|
40 |
+
"isDynamicEntry": true,
|
41 |
+
"imports": [
|
42 |
+
"_index-ad2956d2.js"
|
43 |
+
],
|
44 |
+
"css": [
|
45 |
+
"assets/pages/index.svelte-8f5988fc.css"
|
46 |
+
]
|
47 |
+
},
|
48 |
+
"_index-ad2956d2.js": {
|
49 |
+
"file": "chunks/index-ad2956d2.js"
|
50 |
+
}
|
51 |
+
}
|
static/_app/immutable/pages/__layout.svelte-97f324f7.js
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
import{S as n,i as s,s as c,F as l,G as w,H as p,I as d,r as b,p as g}from"../chunks/index-ad2956d2.js";function m(a){let r;const i=a[1].default,e=l(i,a,a[0],null);return{c(){e&&e.c()},l(t){e&&e.l(t)},m(t,o){e&&e.m(t,o),r=!0},p(t,[o]){e&&e.p&&(!r||o&1)&&w(e,i,t,t[0],r?d(i,t[0],o,null):p(t[0]),null)},i(t){r||(b(e,t),r=!0)},o(t){g(e,t),r=!1},d(t){e&&e.d(t)}}}function u(a,r,i){let{$$slots:e={},$$scope:t}=r;return a.$$set=o=>{"$$scope"in o&&i(0,t=o.$$scope)},[t,e]}class f extends n{constructor(r){super(),s(this,r,u,m,c,{})}}export{f as default};
|
static/_app/immutable/pages/index.svelte-8599330f.js
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import{S as xe,i as Ee,s as Pe,e as V,k as K,c as z,a as D,m as Z,d as b,b as p,g as W,J as w,K as Ae,L as ue,n as de,M as at,t as ee,h as te,N as ve,O as we,P as lt,Q as be,l as _e,j as pe,R as tt,T as ye,U as ot,V as rt,x as Re,y as Be,z as De,r as ne,p as ie,C as Ne,q as Se,f as me,W as st,w as it,X as ct,o as Ce}from"../chunks/index-ad2956d2.js";var ae=(l=>(l[l.INITIAL=0]="INITIAL",l.CORRECT="correct",l.PRESENT="present",l.ABSENT="absent",l))(ae||{});function ut(l,e){const r=[...l],t=r[e];for(const n of[...t].reverse())if(n.letter){n.letter="";break}return r}function ft(l,e,r){const t=[...l],n=t[e];for(const a of n)if(!a.letter){a.letter=r;break}return t}const Ue={[ae.CORRECT]:"#00b81a",[ae.PRESENT]:"#ffc80a",[ae.ABSENT]:"#d9d9d9",[ae.INITIAL]:"#5d5d5d"};function Ve(l,e,r){const t=l.slice();return t[4]=e[r],t[6]=r,t}function ze(l,e,r){const t=l.slice();return t[7]=e[r],t}function ht(l){let e,r=l[7]+"",t;return{c(){e=V("span"),t=ee(r)},l(n){e=z(n,"SPAN",{});var a=D(e);t=te(a,r),a.forEach(b)},m(n,a){W(n,e,a),w(e,t)},p:de,d(n){n&&b(e)}}}function mt(l){let e,r;return{c(){e=V("span"),r=ee("Space")},l(t){e=z(t,"SPAN",{});var n=D(e);r=te(n,"Space"),n.forEach(b)},m(t,n){W(t,e,n),w(e,r)},p:de,d(t){t&&b(e)}}}function dt(l){let e,r;return{c(){e=ve("svg"),r=ve("path"),this.h()},l(t){e=we(t,"svg",{xmlns:!0,height:!0,viewBox:!0,width:!0});var n=D(e);r=we(n,"path",{fill:!0,d:!0}),D(r).forEach(b),n.forEach(b),this.h()},h(){p(r,"fill","currentColor"),p(r,"d","M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H7.07L2.4 12l4.66-7H22v14zm-11.59-2L14 13.41 17.59 17 19 15.59 15.41 12 19 8.41 17.59 7 14 10.59 10.41 7 9 8.41 12.59 12 9 15.59z"),p(e,"xmlns","http://www.w3.org/2000/svg"),p(e,"height","24"),p(e,"viewBox","0 0 24 24"),p(e,"width","24")},m(t,n){W(t,e,n),w(e,r)},p:de,d(t){t&&b(e)}}}function Le(l){let e,r,t,n;function a(y,C){return y[7]==="Backspace"?dt:y[7]===" "?mt:ht}let u=a(l)(l);function m(){return l[3](l[7])}return{c(){e=V("button"),u.c(),this.h()},l(y){e=z(y,"BUTTON",{class:!0});var C=D(e);u.l(C),C.forEach(b),this.h()},h(){p(e,"class",r=l[0][l[7]]+" "+(l[7].length>1&&"big")+" svelte-1bl9l4p")},m(y,C){W(y,e,C),u.m(e,null),t||(n=Ae(e,"click",m),t=!0)},p(y,C){l=y,u.p(l,C),C&1&&r!==(r=l[0][l[7]]+" "+(l[7].length>1&&"big")+" svelte-1bl9l4p")&&p(e,"class",r)},d(y){y&&b(e),u.d(),t=!1,n()}}}function je(l){let e,r,t=l[4],n=[];for(let a=0;a<t.length;a+=1)n[a]=Le(ze(l,t,a));return{c(){e=V("div");for(let a=0;a<n.length;a+=1)n[a].c();r=K(),this.h()},l(a){e=z(a,"DIV",{class:!0});var o=D(e);for(let u=0;u<n.length;u+=1)n[u].l(o);r=Z(o),o.forEach(b),this.h()},h(){p(e,"class","row svelte-1bl9l4p")},m(a,o){W(a,e,o);for(let u=0;u<n.length;u+=1)n[u].m(e,null);w(e,r)},p(a,o){if(o&7){t=a[4];let u;for(u=0;u<t.length;u+=1){const m=ze(a,t,u);n[u]?n[u].p(m,o):(n[u]=Le(m),n[u].c(),n[u].m(e,r))}for(;u<n.length;u+=1)n[u].d(1);n.length=t.length}},d(a){a&&b(e),ue(n,a)}}}function pt(l){let e,r=l[2],t=[];for(let n=0;n<r.length;n+=1)t[n]=je(Ve(l,r,n));return{c(){e=V("div");for(let n=0;n<t.length;n+=1)t[n].c();this.h()},l(n){e=z(n,"DIV",{class:!0});var a=D(e);for(let o=0;o<t.length;o+=1)t[o].l(a);a.forEach(b),this.h()},h(){p(e,"class","my-3 mx-auto select-none max-w-md")},m(n,a){W(n,e,a);for(let o=0;o<t.length;o+=1)t[o].m(e,null)},p(n,[a]){if(a&7){r=n[2];let o;for(o=0;o<r.length;o+=1){const u=Ve(n,r,o);t[o]?t[o].p(u,a):(t[o]=je(u),t[o].c(),t[o].m(e,null))}for(;o<t.length;o+=1)t[o].d(1);t.length=r.length}},i:de,o:de,d(n){n&&b(e),ue(t,n)}}}function gt(l,e,r){let{letterStates:t}=e;const n=at(),a=["qwertyuiop".split(""),[..."asdfghjkl".split(""),"Backspace"],[..."zxcvbnm".split(""),"Enter"],[" "]],o=u=>n("keyup",u);return l.$$set=u=>{"letterStates"in u&&r(0,t=u.letterStates)},[t,n,a,o]}class vt extends xe{constructor(e){super(),Ee(this,e,gt,pt,Pe,{letterStates:0})}}function ke(l,{delay:e=0,duration:r=400,easing:t=lt}={}){const n=+getComputedStyle(l).opacity;return{delay:e,duration:r,easing:t,css:a=>`opacity: ${a*n}`}}var nt={exports:{}};(function(l){(function(e){var r=J(),t=M(),n=Q(),a=L(),o={imagePlaceholder:void 0,cacheBust:!1},u={toSvg:m,toPng:C,toJpeg:T,toBlob:I,toPixelData:y,impl:{fontFaces:n,images:a,util:r,inliner:t,options:{}}};l.exports=u;function m(s,i){return i=i||{},X(i),Promise.resolve(s).then(function(c){return R(c,i.filter,!0)}).then(A).then(q).then(f).then(function(c){return j(c,i.width||r.width(s),i.height||r.height(s))});function f(c){return i.bgcolor&&(c.style.backgroundColor=i.bgcolor),i.width&&(c.style.width=i.width+"px"),i.height&&(c.style.height=i.height+"px"),i.style&&Object.keys(i.style).forEach(function(v){c.style[v]=i.style[v]}),c}}function y(s,i){return x(s,i||{}).then(function(f){return f.getContext("2d").getImageData(0,0,r.width(s),r.height(s)).data})}function C(s,i){return x(s,i||{}).then(function(f){return f.toDataURL()})}function T(s,i){return i=i||{},x(s,i).then(function(f){return f.toDataURL("image/jpeg",i.quality||1)})}function I(s,i){return x(s,i||{}).then(r.canvasToBlob)}function X(s){typeof s.imagePlaceholder=="undefined"?u.impl.options.imagePlaceholder=o.imagePlaceholder:u.impl.options.imagePlaceholder=s.imagePlaceholder,typeof s.cacheBust=="undefined"?u.impl.options.cacheBust=o.cacheBust:u.impl.options.cacheBust=s.cacheBust}function x(s,i){return m(s,i).then(r.makeImage).then(r.delay(100)).then(function(c){var v=f(s);return v.getContext("2d").drawImage(c,0,0),v});function f(c){var v=document.createElement("canvas");if(v.width=i.width||r.width(c),v.height=i.height||r.height(c),i.bgcolor){var E=v.getContext("2d");E.fillStyle=i.bgcolor,E.fillRect(0,0,v.width,v.height)}return v}}function R(s,i,f){if(!f&&i&&!i(s))return Promise.resolve();return Promise.resolve(s).then(c).then(function(g){return v(s,g,i)}).then(function(g){return E(s,g)});function c(g){return g instanceof HTMLCanvasElement?r.makeImage(g.toDataURL()):g.cloneNode(!1)}function v(g,k,N){var G=g.childNodes;if(G.length===0)return Promise.resolve(k);return S(k,r.asArray(G),N).then(function(){return k});function S(_,O,d){var H=Promise.resolve();return O.forEach(function(Y){H=H.then(function(){return R(Y,d)}).then(function($){$&&_.appendChild($)})}),H}}function E(g,k){if(!(k instanceof Element))return k;return Promise.resolve().then(N).then(G).then(S).then(_).then(function(){return k});function N(){O(window.getComputedStyle(g),k.style);function O(d,H){d.cssText?H.cssText=d.cssText:Y(d,H);function Y($,re){r.asArray($).forEach(function(h){re.setProperty(h,$.getPropertyValue(h),$.getPropertyPriority(h))})}}}function G(){[":before",":after"].forEach(function(d){O(d)});function O(d){var H=window.getComputedStyle(g,d),Y=H.getPropertyValue("content");if(Y===""||Y==="none")return;var $=r.uid();k.className=k.className+" "+$;var re=document.createElement("style");re.appendChild(h($,d,H)),k.appendChild(re);function h(P,U,B){var F="."+P+":"+U,le=B.cssText?Te(B):Ie(B);return document.createTextNode(F+"{"+le+"}");function Te(oe){var se=oe.getPropertyValue("content");return oe.cssText+" content: "+se+";"}function Ie(oe){return r.asArray(oe).map(se).join("; ")+";";function se(he){return he+": "+oe.getPropertyValue(he)+(oe.getPropertyPriority(he)?" !important":"")}}}}}function S(){g instanceof HTMLTextAreaElement&&(k.innerHTML=g.value),g instanceof HTMLInputElement&&k.setAttribute("value",g.value)}function _(){k instanceof SVGElement&&(k.setAttribute("xmlns","http://www.w3.org/2000/svg"),k instanceof SVGRectElement&&["width","height"].forEach(function(O){var d=k.getAttribute(O);!d||k.style.setProperty(O,d)}))}}}function A(s){return n.resolveAll().then(function(i){var f=document.createElement("style");return s.appendChild(f),f.appendChild(document.createTextNode(i)),s})}function q(s){return a.inlineAll(s).then(function(){return s})}function j(s,i,f){return Promise.resolve(s).then(function(c){return c.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),new XMLSerializer().serializeToString(c)}).then(r.escapeXhtml).then(function(c){return'<foreignObject x="0" y="0" width="100%" height="100%">'+c+"</foreignObject>"}).then(function(c){return'<svg xmlns="http://www.w3.org/2000/svg" width="'+i+'" height="'+f+'">'+c+"</svg>"}).then(function(c){return"data:image/svg+xml;charset=utf-8,"+c})}function J(){return{escape:_,parseExtension:i,mimeType:f,dataAsUrl:S,isDataUrl:c,canvasToBlob:E,resolveUrl:g,getAndEncode:G,uid:k(),delay:O,asArray:d,escapeXhtml:H,makeImage:N,width:Y,height:$};function s(){var h="application/font-woff",P="image/jpeg";return{woff:h,woff2:h,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:P,jpeg:P,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}function i(h){var P=/\.([^\.\/]*?)$/g.exec(h);return P?P[1]:""}function f(h){var P=i(h).toLowerCase();return s()[P]||""}function c(h){return h.search(/^(data:)/)!==-1}function v(h){return new Promise(function(P){for(var U=window.atob(h.toDataURL().split(",")[1]),B=U.length,F=new Uint8Array(B),le=0;le<B;le++)F[le]=U.charCodeAt(le);P(new Blob([F],{type:"image/png"}))})}function E(h){return h.toBlob?new Promise(function(P){h.toBlob(P)}):v(h)}function g(h,P){var U=document.implementation.createHTMLDocument(),B=U.createElement("base");U.head.appendChild(B);var F=U.createElement("a");return U.body.appendChild(F),B.href=P,F.href=h,F.href}function k(){var h=0;return function(){return"u"+P()+h++;function P(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}}}function N(h){return new Promise(function(P,U){var B=new Image;B.onload=function(){P(B)},B.onerror=U,B.src=h})}function G(h){var P=3e4;return u.impl.options.cacheBust&&(h+=(/\?/.test(h)?"&":"?")+new Date().getTime()),new Promise(function(U){var B=new XMLHttpRequest;B.onreadystatechange=Te,B.ontimeout=Ie,B.responseType="blob",B.timeout=P,B.open("GET",h,!0),B.send();var F;if(u.impl.options.imagePlaceholder){var le=u.impl.options.imagePlaceholder.split(/,/);le&&le[1]&&(F=le[1])}function Te(){if(B.readyState===4){if(B.status!==200){F?U(F):oe("cannot fetch resource: "+h+", status: "+B.status);return}var se=new FileReader;se.onloadend=function(){var he=se.result.split(/,/)[1];U(he)},se.readAsDataURL(B.response)}}function Ie(){F?U(F):oe("timeout of "+P+"ms occured while fetching resource: "+h)}function oe(se){console.error(se),U("")}})}function S(h,P){return"data:"+P+";base64,"+h}function _(h){return h.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")}function O(h){return function(P){return new Promise(function(U){setTimeout(function(){U(P)},h)})}}function d(h){for(var P=[],U=h.length,B=0;B<U;B++)P.push(h[B]);return P}function H(h){return h.replace(/#/g,"%23").replace(/\n/g,"%0A")}function Y(h){var P=re(h,"border-left-width"),U=re(h,"border-right-width");return h.scrollWidth+P+U}function $(h){var P=re(h,"border-top-width"),U=re(h,"border-bottom-width");return h.scrollHeight+P+U}function re(h,P){var U=window.getComputedStyle(h).getPropertyValue(P);return parseFloat(U.replace("px",""))}}function M(){var s=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:v,shouldProcess:i,impl:{readUrls:f,inline:c}};function i(E){return E.search(s)!==-1}function f(E){for(var g=[],k;(k=s.exec(E))!==null;)g.push(k[1]);return g.filter(function(N){return!r.isDataUrl(N)})}function c(E,g,k,N){return Promise.resolve(g).then(function(S){return k?r.resolveUrl(S,k):S}).then(N||r.getAndEncode).then(function(S){return r.dataAsUrl(S,r.mimeType(g))}).then(function(S){return E.replace(G(g),"$1"+S+"$3")});function G(S){return new RegExp(`(url\\(['"]?)(`+r.escape(S)+`)(['"]?\\))`,"g")}}function v(E,g,k){if(N())return Promise.resolve(E);return Promise.resolve(E).then(f).then(function(G){var S=Promise.resolve(E);return G.forEach(function(_){S=S.then(function(O){return c(O,_,g,k)})}),S});function N(){return!i(E)}}}function Q(){return{resolveAll:s,impl:{readAll:i}};function s(){return i().then(function(f){return Promise.all(f.map(function(c){return c.resolve()}))}).then(function(f){return f.join(`
|
2 |
+
`)})}function i(){return Promise.resolve(r.asArray(document.styleSheets)).then(c).then(f).then(function(E){return E.map(v)});function f(E){return E.filter(function(g){return g.type===CSSRule.FONT_FACE_RULE}).filter(function(g){return t.shouldProcess(g.style.getPropertyValue("src"))})}function c(E){var g=[];return E.forEach(function(k){try{r.asArray(k.cssRules||[]).forEach(g.push.bind(g))}catch(N){console.log("Error while reading CSS rules from "+k.href,N.toString())}}),g}function v(E){return{resolve:function(){var k=(E.parentStyleSheet||{}).href;return t.inlineAll(E.cssText,k)},src:function(){return E.style.getPropertyValue("src")}}}}}function L(){return{inlineAll:i,impl:{newImage:s}};function s(f){return{inline:c};function c(v){return r.isDataUrl(f.src)?Promise.resolve():Promise.resolve(f.src).then(v||r.getAndEncode).then(function(E){return r.dataAsUrl(E,r.mimeType(f.src))}).then(function(E){return new Promise(function(g,k){f.onload=g,f.onerror=k,f.src=E})})}}function i(f){if(!(f instanceof Element))return Promise.resolve(f);return c(f).then(function(){return f instanceof HTMLImageElement?s(f).inline():Promise.all(r.asArray(f.childNodes).map(function(v){return i(v)}))});function c(v){var E=v.style.getPropertyValue("background");return E?t.inlineAll(E).then(function(g){v.style.setProperty("background",g,v.style.getPropertyPriority("background"))}).then(function(){return v}):Promise.resolve(v)}}}})()})(nt);var wt=nt.exports;function Oe(l,e,r){const t=l.slice();return t[11]=e[r],t[13]=r,t}function Me(l,e,r){const t=l.slice();return t[14]=e[r],t[16]=r,t}function Fe(l,e,r){const t=l.slice();return t[17]=e[r],t}function He(l){let e,r,t,n;return{c(){e=V("div"),r=V("img"),n=K(),this.h()},l(a){e=z(a,"DIV",{});var o=D(e);r=z(o,"IMG",{src:!0,alt:!0,class:!0}),n=Z(o),o.forEach(b),this.h()},h(){be(r.src,t=l[17])||p(r,"src",t),p(r,"alt",""),p(r,"class","w-full h-full")},m(a,o){W(a,e,o),w(e,r),w(e,n)},p(a,o){o&4&&!be(r.src,t=a[17])&&p(r,"src",t)},d(a){a&&b(e)}}}function Xe(l){let e,r;return{c(){e=ve("rect"),this.h()},l(t){e=we(t,"rect",{fill:!0,x:!0,y:!0,width:!0,height:!0,rx:!0}),D(e).forEach(b),this.h()},h(){p(e,"fill",r=Ue[l[14].state]),p(e,"x",l[16]*(ce+fe)),p(e,"y",l[13]*(ce+fe)),p(e,"width",ce),p(e,"height",ce),p(e,"rx",l[6])},m(t,n){W(t,e,n)},p(t,n){n&2&&r!==(r=Ue[t[14].state])&&p(e,"fill",r)},d(t){t&&b(e)}}}function Ge(l){let e,r=l[11],t=[];for(let n=0;n<r.length;n+=1)t[n]=Xe(Me(l,r,n));return{c(){for(let n=0;n<t.length;n+=1)t[n].c();e=_e()},l(n){for(let a=0;a<t.length;a+=1)t[a].l(n);e=_e()},m(n,a){for(let o=0;o<t.length;o+=1)t[o].m(n,a);W(n,e,a)},p(n,a){if(a&66){r=n[11];let o;for(o=0;o<r.length;o+=1){const u=Me(n,r,o);t[o]?t[o].p(u,a):(t[o]=Xe(u),t[o].c(),t[o].m(e.parentNode,e))}for(;o<t.length;o+=1)t[o].d(1);t.length=r.length}},d(n){ue(t,n),n&&b(e)}}}function bt(l){let e,r,t,n,a,o,u,m,y,C,T,I,X,x,R,A,q=l[4]?"Copied":"Copy",j,J,M,Q,L,s,i,f,c,v,E,g,k=l[2],N=[];for(let _=0;_<k.length;_+=1)N[_]=He(Fe(l,k,_));let G=l[1],S=[];for(let _=0;_<G.length;_+=1)S[_]=Ge(Oe(l,G,_));return{c(){e=V("div"),r=V("div"),t=ee(l[0]),n=K(),a=V("div"),o=V("div"),u=V("div");for(let _=0;_<N.length;_+=1)N[_].c();m=K(),y=V("pre"),C=K(),T=ve("svg");for(let _=0;_<S.length;_+=1)S[_].c();X=K(),x=V("p"),R=ee(`Copy the result to clipboard
|
3 |
+
`),A=V("button"),j=ee(q),J=K(),M=ee(`. Then go to Twitter and Share
|
4 |
+
`),Q=V("a"),L=ee("Share on Twitter"),s=ee(`
|
5 |
+
or `),i=V("button"),f=ee("Try again"),this.h()},l(_){e=z(_,"DIV",{class:!0});var O=D(e);r=z(O,"DIV",{class:!0});var d=D(r);t=te(d,l[0]),n=Z(d),a=z(d,"DIV",{class:!0});var H=D(a);o=z(H,"DIV",{});var Y=D(o);u=z(Y,"DIV",{class:!0});var $=D(u);for(let F=0;F<N.length;F+=1)N[F].l($);$.forEach(b),m=Z(Y),y=z(Y,"PRE",{class:!0}),D(y).forEach(b),C=Z(Y),T=we(Y,"svg",{class:!0,viewBox:!0,xmlns:!0});var re=D(T);for(let F=0;F<S.length;F+=1)S[F].l(re);re.forEach(b),Y.forEach(b),H.forEach(b),X=Z(d),x=z(d,"P",{});var h=D(x);R=te(h,`Copy the result to clipboard
|
6 |
+
`),A=z(h,"BUTTON",{class:!0});var P=D(A);j=te(P,q),J=Z(P),P.forEach(b),M=te(h,`. Then go to Twitter and Share
|
7 |
+
`),Q=z(h,"A",{class:!0,target:!0,rel:!0,href:!0});var U=D(Q);L=te(U,"Share on Twitter"),U.forEach(b),s=te(h,`
|
8 |
+
or `),i=z(h,"BUTTON",{class:!0});var B=D(i);f=te(B,"Try again"),B.forEach(b),h.forEach(b),d.forEach(b),O.forEach(b),this.h()},h(){p(u,"class","grid grid-cols-3 gap-2 max-w-md mx-auto p-3"),p(y,"class","text-[0.5rem]"),p(T,"class","w-full"),p(T,"viewBox",I="0 0 "+l[1][0].length*(fe+ce)+" "+l[1].length*(fe+ce)),p(T,"xmlns","http://www.w3.org/2000/svg"),p(a,"class","max-w-xs border-0 p-3 mx-auto"),p(A,"class","min-w-[6ch] svelte-1u0no68"),p(Q,"class","go-tweet svelte-1u0no68"),p(Q,"target","_blank"),p(Q,"rel","noopener noreferrer"),p(Q,"href","https://twitter.com/intent/tweet?url=https%3A%2F%2Fhuggingface.co%2Fspaces%2Fosanseviero%2Fwordalle&via=huggingface&hashtags=dallemini"),p(i,"class","min-w-[6ch] svelte-1u0no68"),p(r,"class","message svelte-1u0no68"),p(e,"class","modal relative z-2 svelte-1u0no68")},m(_,O){W(_,e,O),w(e,r),w(r,t),w(r,n),w(r,a),w(a,o),w(o,u);for(let d=0;d<N.length;d+=1)N[d].m(u,null);w(o,m),w(o,y),w(o,C),w(o,T);for(let d=0;d<S.length;d+=1)S[d].m(T,null);l[8](o),w(r,X),w(r,x),w(x,R),w(x,A),w(A,j),w(A,J),w(x,M),w(x,Q),w(Q,L),w(x,s),w(x,i),w(i,f),v=!0,E||(g=[Ae(A,"click",l[9]),Ae(i,"click",l[10])],E=!0)},p(_,[O]){if((!v||O&1)&&pe(t,_[0]),O&4){k=_[2];let d;for(d=0;d<k.length;d+=1){const H=Fe(_,k,d);N[d]?N[d].p(H,O):(N[d]=He(H),N[d].c(),N[d].m(u,null))}for(;d<N.length;d+=1)N[d].d(1);N.length=k.length}if(O&66){G=_[1];let d;for(d=0;d<G.length;d+=1){const H=Oe(_,G,d);S[d]?S[d].p(H,O):(S[d]=Ge(H),S[d].c(),S[d].m(T,null))}for(;d<S.length;d+=1)S[d].d(1);S.length=G.length}(!v||O&2&&I!==(I="0 0 "+_[1][0].length*(fe+ce)+" "+_[1].length*(fe+ce)))&&p(T,"viewBox",I),(!v||O&16)&&q!==(q=_[4]?"Copied":"Copy")&&pe(j,q)},i(_){v||(tt(()=>{c||(c=ye(e,ke,{},!0)),c.run(1)}),v=!0)},o(_){c||(c=ye(e,ke,{},!1)),c.run(0),v=!1},d(_){_&&b(e),ue(N,_),ue(S,_),l[8](null),_&&c&&c.end(),E=!1,ot(g)}}}const ce=10,fe=1;function _t(l,e,r){let{message:t=null}=e,{board:n}=e,{currentRowIndex:a}=e,{imagePaths:o}=e,u,m=!1;async function y(x){try{await navigator.clipboard.write([new ClipboardItem({"image/png":wt.toBlob(x)})]),r(4,m=!0),setTimeout(()=>r(4,m=!1),1e3),console.log("Fetched image copied.")}catch(R){console.log(R.name,R.message)}}const C=ce/10;function T(x){rt[x?"unshift":"push"](()=>{u=x,r(3,u)})}const I=()=>y(u),X=()=>window.location.reload();return l.$$set=x=>{"message"in x&&r(0,t=x.message),"board"in x&&r(1,n=x.board),"currentRowIndex"in x&&r(7,a=x.currentRowIndex),"imagePaths"in x&&r(2,o=x.imagePaths)},[t,n,o,u,m,y,C,a,T,I,X]}class yt extends xe{constructor(e){super(),Ee(this,e,_t,bt,Pe,{message:0,board:1,currentRowIndex:7,imagePaths:2})}}function kt(l){let e,r,t,n;return{c(){e=V("div"),r=ee(l[0]),this.h()},l(a){e=z(a,"DIV",{class:!0});var o=D(e);r=te(o,l[0]),o.forEach(b),this.h()},h(){p(e,"class","message svelte-1upiv4")},m(a,o){W(a,e,o),w(e,r),n=!0},p(a,[o]){(!n||o&1)&&pe(r,a[0])},i(a){n||(tt(()=>{t||(t=ye(e,ke,{},!0)),t.run(1)}),n=!0)},o(a){t||(t=ye(e,ke,{},!1)),t.run(0),n=!1},d(a){a&&b(e),a&&t&&t.end()}}}function xt(l,e,r){let{message:t=null}=e;return l.$$set=n=>{"message"in n&&r(0,t=n.message)},[t]}class Et extends xe{constructor(e){super(),Ee(this,e,xt,kt,Pe,{message:0})}}function qe(l,e,r){const t=l.slice();return t[19]=e[r],t[21]=r,t}function We(l,e,r){const t=l.slice();return t[22]=e[r],t[21]=r,t}function Ye(l,e,r){const t=l.slice();return t[24]=e[r],t}function Ke(l){let e,r,t,n,a,o,u,m,y,C,T,I,X,x,R=l[5]&&Ze(l),A=l[6]&&l[8]&&Je(l),q=l[0],j=[];for(let s=0;s<q.length;s+=1)j[s]=Qe(Ye(l,q,s));let J=l[3],M=[];for(let s=0;s<J.length;s+=1)M[s]=et(qe(l,J,s));function Q(s){l[10](s)}let L={};return l[2]!==void 0&&(L.letterStates=l[2]),I=new vt({props:L}),rt.push(()=>ct(I,"letterStates",Q)),I.$on("keyup",l[11]),{c(){e=V("div"),R&&R.c(),r=K(),A&&A.c(),t=K(),n=V("header"),a=V("h1"),o=ee("WORDALLE"),u=K(),m=V("div");for(let s=0;s<j.length;s+=1)j[s].c();y=K(),C=V("div");for(let s=0;s<M.length;s+=1)M[s].c();T=K(),Re(I.$$.fragment),this.h()},l(s){e=z(s,"DIV",{class:!0});var i=D(e);R&&R.l(i),r=Z(i),A&&A.l(i),t=Z(i),n=z(i,"HEADER",{class:!0});var f=D(n);a=z(f,"H1",{class:!0});var c=D(a);o=te(c,"WORDALLE"),c.forEach(b),f.forEach(b),u=Z(i),m=z(i,"DIV",{class:!0});var v=D(m);for(let g=0;g<j.length;g+=1)j[g].l(v);v.forEach(b),y=Z(i),C=z(i,"DIV",{class:!0});var E=D(C);for(let g=0;g<M.length;g+=1)M[g].l(E);E.forEach(b),T=Z(i),Be(I.$$.fragment,i),i.forEach(b),this.h()},h(){p(a,"class","text-3xl font-bold text-center"),p(n,"class","border-b-2"),p(m,"class","grid grid-cols-3 gap-2 max-w-md mx-auto p-3"),p(C,"class","board svelte-1ah7mm7"),p(e,"class","max-w-screen-lg mx-auto px-1 relative z-0")},m(s,i){W(s,e,i),R&&R.m(e,null),w(e,r),A&&A.m(e,null),w(e,t),w(e,n),w(n,a),w(a,o),w(e,u),w(e,m);for(let f=0;f<j.length;f+=1)j[f].m(m,null);w(e,y),w(e,C);for(let f=0;f<M.length;f+=1)M[f].m(C,null);w(e,T),De(I,e,null),x=!0},p(s,i){if(s[5]?R?(R.p(s,i),i&32&&ne(R,1)):(R=Ze(s),R.c(),ne(R,1),R.m(e,r)):R&&(Ce(),ie(R,1,1,()=>{R=null}),Se()),s[6]&&s[8]?A?(A.p(s,i),i&320&&ne(A,1)):(A=Je(s),A.c(),ne(A,1),A.m(e,t)):A&&(Ce(),ie(A,1,1,()=>{A=null}),Se()),i&1){q=s[0];let c;for(c=0;c<q.length;c+=1){const v=Ye(s,q,c);j[c]?j[c].p(v,i):(j[c]=Qe(v),j[c].c(),j[c].m(m,null))}for(;c<j.length;c+=1)j[c].d(1);j.length=q.length}if(i&410){J=s[3];let c;for(c=0;c<J.length;c+=1){const v=qe(s,J,c);M[c]?M[c].p(v,i):(M[c]=et(v),M[c].c(),M[c].m(C,null))}for(;c<M.length;c+=1)M[c].d(1);M.length=J.length}const f={};!X&&i&4&&(X=!0,f.letterStates=s[2],st(()=>X=!1)),I.$set(f)},i(s){x||(ne(R),ne(A),ne(I.$$.fragment,s),x=!0)},o(s){ie(R),ie(A),ie(I.$$.fragment,s),x=!1},d(s){s&&b(e),R&&R.d(),A&&A.d(),ue(j,s),ue(M,s),Ne(I)}}}function Ze(l){let e,r;return e=new Et({props:{message:l[5]}}),{c(){Re(e.$$.fragment)},l(t){Be(e.$$.fragment,t)},m(t,n){De(e,t,n),r=!0},p(t,n){const a={};n&32&&(a.message=t[5]),e.$set(a)},i(t){r||(ne(e.$$.fragment,t),r=!0)},o(t){ie(e.$$.fragment,t),r=!1},d(t){Ne(e,t)}}}function Je(l){let e,r;return e=new yt({props:{board:l[3],currentRowIndex:l[4],imagePaths:l[0],message:l[6]}}),{c(){Re(e.$$.fragment)},l(t){Be(e.$$.fragment,t)},m(t,n){De(e,t,n),r=!0},p(t,n){const a={};n&8&&(a.board=t[3]),n&16&&(a.currentRowIndex=t[4]),n&1&&(a.imagePaths=t[0]),n&64&&(a.message=t[6]),e.$set(a)},i(t){r||(ne(e.$$.fragment,t),r=!0)},o(t){ie(e.$$.fragment,t),r=!1},d(t){Ne(e,t)}}}function Qe(l){let e,r,t,n;return{c(){e=V("div"),r=V("img"),n=K(),this.h()},l(a){e=z(a,"DIV",{});var o=D(e);r=z(o,"IMG",{src:!0,alt:!0,class:!0}),n=Z(o),o.forEach(b),this.h()},h(){be(r.src,t=l[24])||p(r,"src",t),p(r,"alt",""),p(r,"class","w-full h-full")},m(a,o){W(a,e,o),w(e,r),w(e,n)},p(a,o){o&1&&!be(r.src,t=a[24])&&p(r,"src",t)},d(a){a&&b(e)}}}function $e(l){let e,r,t=l[22].letter+"",n,a,o,u=l[22].letter+"",m,y,C;return{c(){e=V("div"),r=V("div"),n=ee(t),a=K(),o=V("div"),m=ee(u),this.h()},l(T){e=z(T,"DIV",{class:!0});var I=D(e);r=z(I,"DIV",{class:!0,style:!0});var X=D(r);n=te(X,t),X.forEach(b),a=Z(I),o=z(I,"DIV",{class:!0,style:!0});var x=D(o);m=te(x,u),x.forEach(b),I.forEach(b),this.h()},h(){p(r,"class","front svelte-1ah7mm7"),me(r,"transition-delay",l[21]*l[1]+"ms"),p(o,"class",y="back "+l[22].state+" svelte-1ah7mm7"),me(o,"transition-delay",l[21]*l[1]+"ms"),me(o,"animation-delay",l[21]*100+"ms"),p(e,"class",C="tile "+(l[22].letter&&"filled")+" "+(l[22].state&&"revealed")+" svelte-1ah7mm7")},m(T,I){W(T,e,I),w(e,r),w(r,n),w(e,a),w(e,o),w(o,m)},p(T,I){I&8&&t!==(t=T[22].letter+"")&&pe(n,t),I&2&&me(r,"transition-delay",T[21]*T[1]+"ms"),I&8&&u!==(u=T[22].letter+"")&&pe(m,u),I&8&&y!==(y="back "+T[22].state+" svelte-1ah7mm7")&&p(o,"class",y),I&2&&me(o,"transition-delay",T[21]*T[1]+"ms"),I&8&&C!==(C="tile "+(T[22].letter&&"filled")+" "+(T[22].state&&"revealed")+" svelte-1ah7mm7")&&p(e,"class",C)},d(T){T&&b(e)}}}function et(l){let e,r,t,n=l[19],a=[];for(let o=0;o<n.length;o+=1)a[o]=$e(We(l,n,o));return{c(){e=V("div");for(let o=0;o<a.length;o+=1)a[o].c();r=K(),this.h()},l(o){e=z(o,"DIV",{class:!0});var u=D(e);for(let m=0;m<a.length;m+=1)a[m].l(u);r=Z(u),u.forEach(b),this.h()},h(){p(e,"class",t="row "+(l[7]===l[21]&&"shake")+" "+(l[8]&&l[4]===l[21]&&"jump")+" svelte-1ah7mm7")},m(o,u){W(o,e,u);for(let m=0;m<a.length;m+=1)a[m].m(e,null);w(e,r)},p(o,u){if(u&10){n=o[19];let m;for(m=0;m<n.length;m+=1){const y=We(o,n,m);a[m]?a[m].p(y,u):(a[m]=$e(y),a[m].c(),a[m].m(e,r))}for(;m<a.length;m+=1)a[m].d(1);a.length=n.length}u&400&&t!==(t="row "+(o[7]===o[21]&&"shake")+" "+(o[8]&&o[4]===o[21]&&"jump")+" svelte-1ah7mm7")&&p(e,"class",t)},d(o){o&&b(e),ue(a,o)}}}function Pt(l){let e,r,t=l[3]!==void 0&&Ke(l);return{c(){t&&t.c(),e=_e()},l(n){t&&t.l(n),e=_e()},m(n,a){t&&t.m(n,a),W(n,e,a),r=!0},p(n,[a]){n[3]!==void 0?t?(t.p(n,a),a&8&&ne(t,1)):(t=Ke(n),t.c(),ne(t,1),t.m(e.parentNode,e)):t&&(Ce(),ie(t,1,1,()=>{t=null}),Se())},i(n){r||(ne(t),r=!0)},o(n){ie(t),r=!1},d(n){t&&t.d(n),n&&b(e)}}}const ge=1e3;function Tt(l,e,r){let t,n,a,o,u={},m,y=0,C="",T="",I=-1,X=!1,x=!0;it(async()=>{const L=await fetch("data").then(f=>f.json()),s=Object.keys(L),i=s[~~(Math.random()*s.length)];return t=i.replace(/_/g," "),r(0,n=L[i].slice(0,6)),console.log(t),a=i.length,r(1,o=ge/a),r(3,m=Array.from({length:6},()=>Array.from({length:a},()=>({letter:"",state:ae.INITIAL})))),window.addEventListener("keyup",R),document.body.style.setProperty("--cols",`${a}`),()=>window.removeEventListener("keyup",R)});const R=L=>{A(L.key)};function A(L){!x||(/^[a-zA-Z ]$/.test(L)?r(3,m=ft(m,y,L.toLowerCase())):L==="Backspace"?r(3,m=ut(m,y)):L==="Enter"&&q())}function q(){const L=[...m],s=L[y],i={};if(s.every(f=>f.letter)){s.map(c=>c.letter).join("");const f=t.split("");s.forEach((c,v)=>{f[v]===c.letter&&(c.state=i[c.letter]=ae.CORRECT,f[v]=null)}),s.forEach(c=>{!c.state&&f.includes(c.letter)&&(c.state=ae.PRESENT,f[f.indexOf(c.letter)]=null,i[c.letter]||(i[c.letter]=ae.PRESENT))}),s.forEach(c=>{c.state||(c.state=ae.ABSENT,i[c.letter]||(i[c.letter]=ae.ABSENT))}),x=!1,s.every(c=>c.state===ae.CORRECT)?setTimeout(()=>{r(6,T=["Genius","Magnificent","Impressive","Splendid","Great","Phew"][y]),r(8,X=!0)},ge):y<m.length-1?(r(4,y++,y),setTimeout(()=>{x=!0},ge)):setTimeout(()=>{j(t.toUpperCase(),-1)},ge)}else J(),j("Not enough letters");r(3,m=L),r(2,u=i)}function j(L,s=1e3){r(5,C=L),s>0&&setTimeout(()=>{r(5,C="")},s)}function J(){r(7,I=y),setTimeout(()=>{r(7,I=-1)},1e3)}function M(L){u=L,r(2,u)}return[n,o,u,m,y,C,T,I,X,A,M,({detail:L})=>A(L)]}class At extends xe{constructor(e){super(),Ee(this,e,Tt,Pt,Pe,{})}}export{At as default};
|
static/_app/immutable/start-eafcc13c.js
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
var rt=Object.defineProperty,it=Object.defineProperties;var at=Object.getOwnPropertyDescriptors;var ue=Object.getOwnPropertySymbols;var Ve=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable;var ze=(n,e,t)=>e in n?rt(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,x=(n,e)=>{for(var t in e||(e={}))Ve.call(e,t)&&ze(n,t,e[t]);if(ue)for(var t of ue(e))qe.call(e,t)&&ze(n,t,e[t]);return n},se=(n,e)=>it(n,at(e));var Je=(n,e)=>{var t={};for(var r in n)Ve.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&ue)for(var r of ue(n))e.indexOf(r)<0&&qe.call(n,r)&&(t[r]=n[r]);return t};import{s as tt,n as ye,S as ot,i as ct,e as lt,c as ft,a as ut,d as z,b as ve,f as B,g as V,t as dt,h as pt,j as ht,k as _t,l as C,m as mt,o as G,p as T,q as M,r as j,u as gt,v as wt,w as Re,x as q,y as ie,z as J,A as ae,B as oe,C as K,D as ce,E as Ke}from"./chunks/index-ad2956d2.js";const H=[];function de(n,e=ye){let t;const r=new Set;function l(s){if(tt(n,s)&&(n=s,t)){const i=!H.length;for(const a of r)a[1](),H.push(a,n);if(i){for(let a=0;a<H.length;a+=2)H[a][0](H[a+1]);H.length=0}}}function c(s){l(s(n))}function f(s,i=ye){const a=[s,i];return r.add(a),r.size===1&&(t=e(l)||ye),s(n),()=>{r.delete(a),r.size===0&&(t(),t=null)}}return{set:l,update:c,subscribe:f}}let Be="",nt="";function bt(n){Be=n.base,nt=n.assets||Be}function yt(n){let e,t,r;const l=[n[1]||{}];var c=n[0][0];function f(s){let i={};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return c&&(e=new c(f())),{c(){e&&q(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),V(s,t,i),r=!0},p(s,i){const a=i&2?ae(l,[oe(s[1]||{})]):{};if(c!==(c=s[0][0])){if(e){G();const d=e;T(d.$$.fragment,1,0,()=>{K(d,1)}),M()}c?(e=new c(f()),q(e.$$.fragment),j(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(s){r||(e&&j(e.$$.fragment,s),r=!0)},o(s){e&&T(e.$$.fragment,s),r=!1},d(s){s&&z(t),e&&K(e,s)}}}function vt(n){let e,t,r;const l=[n[1]||{}];var c=n[0][0];function f(s){let i={$$slots:{default:[Rt]},$$scope:{ctx:s}};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return c&&(e=new c(f(n))),{c(){e&&q(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),V(s,t,i),r=!0},p(s,i){const a=i&2?ae(l,[oe(s[1]||{})]):{};if(i&525&&(a.$$scope={dirty:i,ctx:s}),c!==(c=s[0][0])){if(e){G();const d=e;T(d.$$.fragment,1,0,()=>{K(d,1)}),M()}c?(e=new c(f(s)),q(e.$$.fragment),j(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(s){r||(e&&j(e.$$.fragment,s),r=!0)},o(s){e&&T(e.$$.fragment,s),r=!1},d(s){s&&z(t),e&&K(e,s)}}}function $t(n){let e,t,r;const l=[n[2]||{}];var c=n[0][1];function f(s){let i={};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return c&&(e=new c(f())),{c(){e&&q(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),V(s,t,i),r=!0},p(s,i){const a=i&4?ae(l,[oe(s[2]||{})]):{};if(c!==(c=s[0][1])){if(e){G();const d=e;T(d.$$.fragment,1,0,()=>{K(d,1)}),M()}c?(e=new c(f()),q(e.$$.fragment),j(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(s){r||(e&&j(e.$$.fragment,s),r=!0)},o(s){e&&T(e.$$.fragment,s),r=!1},d(s){s&&z(t),e&&K(e,s)}}}function kt(n){let e,t,r;const l=[n[2]||{}];var c=n[0][1];function f(s){let i={$$slots:{default:[Et]},$$scope:{ctx:s}};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return c&&(e=new c(f(n))),{c(){e&&q(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),V(s,t,i),r=!0},p(s,i){const a=i&4?ae(l,[oe(s[2]||{})]):{};if(i&521&&(a.$$scope={dirty:i,ctx:s}),c!==(c=s[0][1])){if(e){G();const d=e;T(d.$$.fragment,1,0,()=>{K(d,1)}),M()}c?(e=new c(f(s)),q(e.$$.fragment),j(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(s){r||(e&&j(e.$$.fragment,s),r=!0)},o(s){e&&T(e.$$.fragment,s),r=!1},d(s){s&&z(t),e&&K(e,s)}}}function Et(n){let e,t,r;const l=[n[3]||{}];var c=n[0][2];function f(s){let i={};for(let a=0;a<l.length;a+=1)i=ce(i,l[a]);return{props:i}}return c&&(e=new c(f())),{c(){e&&q(e.$$.fragment),t=C()},l(s){e&&ie(e.$$.fragment,s),t=C()},m(s,i){e&&J(e,s,i),V(s,t,i),r=!0},p(s,i){const a=i&8?ae(l,[oe(s[3]||{})]):{};if(c!==(c=s[0][2])){if(e){G();const d=e;T(d.$$.fragment,1,0,()=>{K(d,1)}),M()}c?(e=new c(f()),q(e.$$.fragment),j(e.$$.fragment,1),J(e,t.parentNode,t)):e=null}else c&&e.$set(a)},i(s){r||(e&&j(e.$$.fragment,s),r=!0)},o(s){e&&T(e.$$.fragment,s),r=!1},d(s){s&&z(t),e&&K(e,s)}}}function Rt(n){let e,t,r,l;const c=[kt,$t],f=[];function s(i,a){return i[0][2]?0:1}return e=s(n),t=f[e]=c[e](n),{c(){t.c(),r=C()},l(i){t.l(i),r=C()},m(i,a){f[e].m(i,a),V(i,r,a),l=!0},p(i,a){let d=e;e=s(i),e===d?f[e].p(i,a):(G(),T(f[d],1,1,()=>{f[d]=null}),M(),t=f[e],t?t.p(i,a):(t=f[e]=c[e](i),t.c()),j(t,1),t.m(r.parentNode,r))},i(i){l||(j(t),l=!0)},o(i){T(t),l=!1},d(i){f[e].d(i),i&&z(r)}}}function We(n){let e,t=n[5]&&Ye(n);return{c(){e=lt("div"),t&&t.c(),this.h()},l(r){e=ft(r,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var l=ut(e);t&&t.l(l),l.forEach(z),this.h()},h(){ve(e,"id","svelte-announcer"),ve(e,"aria-live","assertive"),ve(e,"aria-atomic","true"),B(e,"position","absolute"),B(e,"left","0"),B(e,"top","0"),B(e,"clip","rect(0 0 0 0)"),B(e,"clip-path","inset(50%)"),B(e,"overflow","hidden"),B(e,"white-space","nowrap"),B(e,"width","1px"),B(e,"height","1px")},m(r,l){V(r,e,l),t&&t.m(e,null)},p(r,l){r[5]?t?t.p(r,l):(t=Ye(r),t.c(),t.m(e,null)):t&&(t.d(1),t=null)},d(r){r&&z(e),t&&t.d()}}}function Ye(n){let e;return{c(){e=dt(n[6])},l(t){e=pt(t,n[6])},m(t,r){V(t,e,r)},p(t,r){r&64&&ht(e,t[6])},d(t){t&&z(e)}}}function St(n){let e,t,r,l,c;const f=[vt,yt],s=[];function i(d,L){return d[0][1]?0:1}e=i(n),t=s[e]=f[e](n);let a=n[4]&&We(n);return{c(){t.c(),r=_t(),a&&a.c(),l=C()},l(d){t.l(d),r=mt(d),a&&a.l(d),l=C()},m(d,L){s[e].m(d,L),V(d,r,L),a&&a.m(d,L),V(d,l,L),c=!0},p(d,[L]){let E=e;e=i(d),e===E?s[e].p(d,L):(G(),T(s[E],1,1,()=>{s[E]=null}),M(),t=s[e],t?t.p(d,L):(t=s[e]=f[e](d),t.c()),j(t,1),t.m(r.parentNode,r)),d[4]?a?a.p(d,L):(a=We(d),a.c(),a.m(l.parentNode,l)):a&&(a.d(1),a=null)},i(d){c||(j(t),c=!0)},o(d){T(t),c=!1},d(d){s[e].d(d),d&&z(r),a&&a.d(d),d&&z(l)}}}function Lt(n,e,t){let{stores:r}=e,{page:l}=e,{components:c}=e,{props_0:f=null}=e,{props_1:s=null}=e,{props_2:i=null}=e;gt("__svelte__",r),wt(r.page.notify);let a=!1,d=!1,L=null;return Re(()=>{const E=r.page.subscribe(()=>{a&&(t(5,d=!0),t(6,L=document.title||"untitled page"))});return t(4,a=!0),E}),n.$$set=E=>{"stores"in E&&t(7,r=E.stores),"page"in E&&t(8,l=E.page),"components"in E&&t(0,c=E.components),"props_0"in E&&t(1,f=E.props_0),"props_1"in E&&t(2,s=E.props_1),"props_2"in E&&t(3,i=E.props_2)},n.$$.update=()=>{n.$$.dirty&384&&r.page.set(l)},[c,f,s,i,a,d,L,r,l]}class Ut extends ot{constructor(e){super(),ct(this,e,Lt,St,tt,{stores:7,page:8,components:0,props_0:1,props_1:2,props_2:3})}}const At="modulepreload",Ge={},Nt="/embed/radames/wordalle/static/_app/immutable/",$e=function(e,t){return!t||t.length===0?e():Promise.all(t.map(r=>{if(r=`${Nt}${r}`,r in Ge)return;Ge[r]=!0;const l=r.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${r}"]${c}`))return;const f=document.createElement("link");if(f.rel=l?"stylesheet":At,l||(f.as="script",f.crossOrigin=""),f.href=r,document.head.appendChild(f),l)return new Promise((s,i)=>{f.addEventListener("load",s),f.addEventListener("error",()=>i(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>e())},Ot={},pe=[()=>$e(()=>import("./pages/__layout.svelte-97f324f7.js"),["pages/__layout.svelte-97f324f7.js","assets/pages/__layout.svelte-650f13bc.css","chunks/index-ad2956d2.js"]),()=>$e(()=>import("./error.svelte-fca57afa.js"),["error.svelte-fca57afa.js","chunks/index-ad2956d2.js"]),()=>$e(()=>import("./pages/index.svelte-8599330f.js"),["pages/index.svelte-8599330f.js","assets/pages/index.svelte-8f5988fc.css","chunks/index-ad2956d2.js"])],Pt={"":[[0,2],[1]]};function xt(n){n.client}function Me(n){return n instanceof Error||n&&n.name&&n.message?n:new Error(JSON.stringify(n))}function Fe(n){if(n.fallthrough)throw new Error("fallthrough is no longer supported. Use matchers instead: https://kit.svelte.dev/docs/routing#advanced-routing-matching");if("maxage"in n)throw new Error("maxage should be replaced with cache: { maxage }");const e=n.status&&n.status>=400&&n.status<=599&&!n.redirect;if(n.error||e){const t=n.status;if(!n.error&&e)return{status:t||500,error:new Error};const r=typeof n.error=="string"?new Error(n.error):n.error;return r instanceof Error?!t||t<400||t>599?(console.warn('"error" returned from load() without a valid status code \u2014 defaulting to 500'),{status:500,error:r}):{status:t,error:r}:{status:500,error:new Error(`"error" property returned from load() must be a string or instance of Error, received type "${typeof r}"`)}}if(n.redirect){if(!n.status||Math.floor(n.status/100)!==3)throw new Error('"redirect" property returned from load() must be accompanied by a 3xx status code');if(typeof n.redirect!="string")throw new Error('"redirect" property returned from load() must be a string')}if(n.dependencies&&(!Array.isArray(n.dependencies)||n.dependencies.some(t=>typeof t!="string")))throw new Error('"dependencies" property returned from load() must be of type string[]');if(n.context)throw new Error('You are returning "context" from a load function. "context" was renamed to "stuff", please adjust your code accordingly.');return n}function Ct(n,e){return n==="/"||e==="ignore"?n:e==="never"?n.endsWith("/")?n.slice(0,-1):n:e==="always"&&!n.endsWith("/")?n+"/":n}function Xe(n){let e=n.baseURI;if(!e){const t=n.getElementsByTagName("base");e=t.length?t[0].href:n.URL}return e}function Se(){return{x:pageXOffset,y:pageYOffset}}function He(n){return n.composedPath().find(t=>t instanceof Node&&t.nodeName.toUpperCase()==="A")}function Ze(n){return n instanceof SVGAElement?new URL(n.href.baseVal,document.baseURI):new URL(n.href)}function Qe(n){const e=de(n);let t=!0;function r(){t=!0,e.update(f=>f)}function l(f){t=!1,e.set(f)}function c(f){let s;return e.subscribe(i=>{(s===void 0||t&&i!==s)&&f(s=i)})}return{notify:r,set:l,subscribe:c}}function Tt(){const{set:n,subscribe:e}=de(!1),t="1655276222143";let r;async function l(){clearTimeout(r);const f=await fetch(`${nt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(f.ok){const{version:s}=await f.json(),i=s!==t;return i&&(n(!0),clearTimeout(r)),i}else throw new Error(`Version check failed: ${f.status}`)}return{subscribe:e,check:l}}function jt(n){let e=5381,t=n.length;if(typeof n=="string")for(;t;)e=e*33^n.charCodeAt(--t);else for(;t;)e=e*33^n[--t];return(e>>>0).toString(36)}const Le=window.fetch;function It(n,e){let r=`script[sveltekit\\:data-type="data"][sveltekit\\:data-url=${JSON.stringify(typeof n=="string"?n:n.url)}]`;e&&typeof e.body=="string"&&(r+=`[sveltekit\\:data-body="${jt(e.body)}"]`);const l=document.querySelector(r);if(l&&l.textContent){const c=JSON.parse(l.textContent),{body:f}=c,s=Je(c,["body"]);return Promise.resolve(new Response(f,s))}return Le(n,e)}const Dt=/^(\.\.\.)?(\w+)(?:=(\w+))?$/;function zt(n){const e=[],t=[];let r=!0;return{pattern:n===""?/^\/$/:new RegExp(`^${decodeURIComponent(n).split(/(?:@[a-zA-Z0-9_-]+)?(?:\/|$)/).map((c,f,s)=>{const i=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(c);if(i)return e.push(i[1]),t.push(i[2]),"(?:/(.*))?";const a=f===s.length-1;return c&&"/"+c.split(/\[(.+?)\]/).map((d,L)=>{if(L%2){const[,E,Z,F]=Dt.exec(d);return e.push(Z),t.push(F),E?"(.*?)":"([^/]+?)"}return a&&d.includes(".")&&(r=!1),d.normalize().replace(/%5[Bb]/g,"[").replace(/%5[Dd]/g,"]").replace(/#/g,"%23").replace(/\?/g,"%3F").replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}).join("")}).join("")}${r?"/?":""}$`),names:e,types:t}}function Vt(n,e,t,r){const l={};for(let c=0;c<e.length;c+=1){const f=e[c],s=t[c],i=n[c+1]||"";if(s){const a=r[s];if(!a)throw new Error(`Missing "${s}" param matcher`);if(!a(i))return}l[f]=i}return l}function qt(n,e,t){return Object.entries(e).map(([l,[c,f,s]])=>{const{pattern:i,names:a,types:d}=zt(l);return{id:l,exec:L=>{const E=i.exec(L);if(E)return Vt(E,a,d,t)},a:c.map(L=>n[L]),b:f.map(L=>n[L]),has_shadow:!!s}})}const st="sveltekit:scroll",W="sveltekit:index",ke=qt(pe,Pt,Ot),Jt=pe[0](),Kt=pe[1](),et={};let re={};try{re=JSON.parse(sessionStorage[st])}catch{}function Ee(n){re[n]=Se()}function Bt({target:n,session:e,base:t,trailing_slash:r}){var Ie;const l=new Map,c=[],f={url:Qe({}),page:Qe({}),navigating:de(null),session:de(e),updated:Tt()},s={id:null,promise:null},i={before_navigate:[],after_navigate:[]};let a={branch:[],error:null,session_id:0,stuff:et,url:null},d=!1,L=!0,E=!1,Z=1,F=null,Ue,Ae,Ne=!1;f.session.subscribe(async o=>{Ae=o,Ne&&(Z+=1,ge(new URL(location.href),[],!0))}),Ne=!0;let X=!0,I=(Ie=history.state)==null?void 0:Ie[W];I||(I=Date.now(),history.replaceState(se(x({},history.state),{[W]:I}),"",location.href));const he=re[I];he&&(history.scrollRestoration="manual",scrollTo(he.x,he.y));let _e=!1,me,Oe;async function Pe(o,{noscroll:p=!1,replaceState:g=!1,keepfocus:u=!1,state:h={}},w){const $=new URL(o,Xe(document));if(X)return be({url:$,scroll:p?Se():null,keepfocus:u,redirect_chain:w,details:{state:h,replaceState:g},accepted:()=>{},blocked:()=>{}});await te($)}async function xe(o){const p=je(o);if(!p)throw new Error("Attempted to prefetch a URL that does not belong to this app");return s.promise=Te(p,!1),s.id=p.id,s.promise}async function ge(o,p,g,u,h){var R,U,A;const w=je(o),$=Oe={};let _=w&&await Te(w,g);if(!_&&o.origin===location.origin&&o.pathname===location.pathname&&(_=await ee({status:404,error:new Error(`Not found: ${o.pathname}`),url:o,routeId:null})),!_)return await te(o),!1;if(Oe!==$)return!1;if(c.length=0,_.redirect)if(p.length>10||p.includes(o.pathname))_=await ee({status:500,error:new Error("Redirect loop"),url:o,routeId:null});else return X?Pe(new URL(_.redirect,o).href,{},[...p,o.pathname]):await te(new URL(_.redirect,location.href)),!1;else((U=(R=_.props)==null?void 0:R.page)==null?void 0:U.status)>=400&&await f.updated.check()&&await te(o);if(E=!0,u&&u.details){const{details:y}=u,v=y.replaceState?0:1;y.state[W]=I+=v,history[y.replaceState?"replaceState":"pushState"](y.state,"",o)}if(d?(a=_.state,_.props.page&&(_.props.page.url=o),Ue.$set(_.props)):Ce(_),u){const{scroll:y,keepfocus:v}=u;if(!v){const b=document.body,k=b.getAttribute("tabindex");(A=getSelection())==null||A.removeAllRanges(),b.tabIndex=-1,b.focus({preventScroll:!0}),k!==null?b.setAttribute("tabindex",k):b.removeAttribute("tabindex")}if(await Ke(),L){const b=o.hash&&document.getElementById(o.hash.slice(1));y?scrollTo(y.x,y.y):b?b.scrollIntoView():scrollTo(0,0)}}else await Ke();s.promise=null,s.id=null,L=!0,_.props.page&&(me=_.props.page);const m=_.state.branch[_.state.branch.length-1];X=(m==null?void 0:m.module.router)!==!1,h&&h(),E=!1}function Ce(o){a=o.state;const p=document.querySelector("style[data-sveltekit]");if(p&&p.remove(),me=o.props.page,Ue=new Ut({target:n,props:se(x({},o.props),{stores:f}),hydrate:!0}),X){const g={from:null,to:new URL(location.href)};i.after_navigate.forEach(u=>u(g))}d=!0}async function we({url:o,params:p,stuff:g,branch:u,status:h,error:w,routeId:$}){var v,b;const _=u.filter(Boolean),m=_.find(k=>{var N;return(N=k.loaded)==null?void 0:N.redirect}),R={redirect:(v=m==null?void 0:m.loaded)==null?void 0:v.redirect,state:{url:o,params:p,branch:u,error:w,stuff:g,session_id:Z},props:{components:_.map(k=>k.module.default)}};for(let k=0;k<_.length;k+=1){const N=_[k].loaded;R.props[`props_${k}`]=N?await N.props:null}if(!a.url||o.href!==a.url.href||a.error!==w||a.stuff!==g){R.props.page={error:w,params:p,routeId:$,status:h,stuff:g,url:o};const k=(N,S)=>{Object.defineProperty(R.props.page,N,{get:()=>{throw new Error(`$page.${N} has been replaced by $page.url.${S}`)}})};k("origin","origin"),k("path","pathname"),k("query","searchParams")}const A=_[_.length-1],y=(b=A==null?void 0:A.loaded)==null?void 0:b.cache;if(y){const k=o.pathname+o.search;let N=!1;const S=()=>{l.get(k)===R&&l.delete(k),P(),clearTimeout(O)},O=setTimeout(S,y.maxage*1e3),P=f.session.subscribe(()=>{N&&S()});N=!0,l.set(k,R)}return R}async function Q({status:o,error:p,module:g,url:u,params:h,stuff:w,props:$,routeId:_}){const m={module:g,uses:{params:new Set,url:!1,session:!1,stuff:!1,dependencies:new Set},loaded:null,stuff:w};function R(y){const{href:v}=new URL(y,u);m.uses.dependencies.add(v)}$&&m.uses.dependencies.add(u.href);const U={};for(const y in h)Object.defineProperty(U,y,{get(){return m.uses.params.add(y),h[y]},enumerable:!0});const A=Ae;if(g.load){const y={routeId:_,params:U,props:$||{},get url(){return m.uses.url=!0,new Proxy(u,{get:(b,k)=>{if(k==="hash")throw new Error("url.hash is inaccessible from load. Consider accessing hash from the page store within the script tag of your component.");return Reflect.get(b,k,b)}})},get session(){return m.uses.session=!0,A},get stuff(){return m.uses.stuff=!0,x({},w)},async fetch(b,k){let N;typeof b=="string"?N=b:(N=b.url,k=x({body:b.method==="GET"||b.method==="HEAD"?void 0:await b.blob(),cache:b.cache,credentials:b.credentials,headers:b.headers,integrity:b.integrity,keepalive:b.keepalive,method:b.method,mode:b.mode,redirect:b.redirect,referrer:b.referrer,referrerPolicy:b.referrerPolicy,signal:b.signal},k));const S=new URL(N,u).href;return R(S),d?Le(S,k):It(N,k)},status:o!=null?o:null,error:p!=null?p:null};let v;if(v=await g.load.call(null,y),!v)throw new Error("load function must return a value");m.loaded=Fe(v),m.loaded.stuff&&(m.stuff=m.loaded.stuff),m.loaded.dependencies&&m.loaded.dependencies.forEach(R)}else $&&(m.loaded=Fe({props:$}));return m}async function Te({id:o,url:p,params:g,route:u},h){var b,k,N;if(s.id===o&&s.promise)return s.promise;if(!h){const S=l.get(o);if(S)return S}const{a:w,b:$,has_shadow:_}=u,m=a.url&&{url:o!==a.url.pathname+a.url.search,params:Object.keys(g).filter(S=>a.params[S]!==g[S]),session:Z!==a.session_id};let R=[],U=et,A=!1,y=200,v=null;w.forEach(S=>S().catch(()=>{}));e:for(let S=0;S<w.length;S+=1){let O;try{if(!w[S])continue;const P=await w[S](),D=a.branch[S];if(!D||P!==D.module||m.url&&D.uses.url||m.params.some(Y=>D.uses.params.has(Y))||m.session&&D.uses.session||Array.from(D.uses.dependencies).some(Y=>c.some(fe=>fe(Y)))||A&&D.uses.stuff){let Y={};const fe=_&&S===w.length-1;if(fe){const ne=await Le(`${p.pathname}${p.pathname.endsWith("/")?"":"/"}__data.json${p.search}`,{headers:{"x-sveltekit-load":"true"}});if(ne.ok){const De=ne.headers.get("x-sveltekit-location");if(De)return{redirect:De,props:{},state:a};Y=ne.status===204?{}:await ne.json()}else y=ne.status,v=new Error("Failed to load data")}if(v||(O=await Q({module:P,url:p,params:g,props:Y,stuff:U,routeId:u.id})),O&&(fe&&(O.uses.url=!0),O.loaded)){if(O.loaded.error&&(y=O.loaded.status,v=O.loaded.error),O.loaded.redirect)return{redirect:O.loaded.redirect,props:{},state:a};O.loaded.stuff&&(A=!0)}}else O=D}catch(P){y=500,v=Me(P)}if(v){for(;S--;)if($[S]){let P,D,le=S;for(;!(D=R[le]);)le-=1;try{if(P=await Q({status:y,error:v,module:await $[S](),url:p,params:g,stuff:D.stuff,routeId:u.id}),(b=P==null?void 0:P.loaded)!=null&&b.error)continue;(k=P==null?void 0:P.loaded)!=null&&k.stuff&&(U=x(x({},U),P.loaded.stuff)),R=R.slice(0,le+1).concat(P);break e}catch{continue}}return await ee({status:y,error:v,url:p,routeId:u.id})}else(N=O==null?void 0:O.loaded)!=null&&N.stuff&&(U=x(x({},U),O.loaded.stuff)),R.push(O)}return await we({url:p,params:g,stuff:U,branch:R,status:y,error:v,routeId:u.id})}async function ee({status:o,error:p,url:g,routeId:u}){var _,m;const h={},w=await Q({module:await Jt,url:g,params:h,stuff:{},routeId:u}),$=await Q({status:o,error:p,module:await Kt,url:g,params:h,stuff:w&&w.loaded&&w.loaded.stuff||{},routeId:u});return await we({url:g,params:h,stuff:x(x({},(_=w==null?void 0:w.loaded)==null?void 0:_.stuff),(m=$==null?void 0:$.loaded)==null?void 0:m.stuff),branch:[w,$],status:o,error:p,routeId:u})}function je(o){if(o.origin!==location.origin||!o.pathname.startsWith(t))return;const p=decodeURI(o.pathname.slice(t.length)||"/");for(const g of ke){const u=g.exec(p);if(u)return{id:o.pathname+o.search,route:g,params:u,url:o}}}async function be({url:o,scroll:p,keepfocus:g,redirect_chain:u,details:h,accepted:w,blocked:$}){const _=a.url;let m=!1;const R={from:_,to:o,cancel:()=>m=!0};if(i.before_navigate.forEach(y=>y(R)),m){$();return}const U=Ct(o.pathname,r),A=new URL(o.origin+U+o.search+o.hash);Ee(I),w(),d&&f.navigating.set({from:a.url,to:A}),await ge(A,u,!1,{scroll:p,keepfocus:g,details:h},()=>{const y={from:_,to:A};i.after_navigate.forEach(v=>v(y)),f.navigating.set(null)})}function te(o){return location.href=o.href,new Promise(()=>{})}return{after_navigate:o=>{Re(()=>(i.after_navigate.push(o),()=>{const p=i.after_navigate.indexOf(o);i.after_navigate.splice(p,1)}))},before_navigate:o=>{Re(()=>(i.before_navigate.push(o),()=>{const p=i.before_navigate.indexOf(o);i.before_navigate.splice(p,1)}))},disable_scroll_handling:()=>{(E||!d)&&(L=!1)},goto:(o,p={})=>Pe(o,p,[]),invalidate:o=>{if(typeof o=="function")c.push(o);else{const{href:p}=new URL(o,location.href);c.push(g=>g===p)}return F||(F=Promise.resolve().then(async()=>{await ge(new URL(location.href),[],!0),F=null})),F},prefetch:async o=>{const p=new URL(o,Xe(document));await xe(p)},prefetch_routes:async o=>{const g=(o?ke.filter(u=>o.some(h=>u.exec(h))):ke).map(u=>Promise.all(u.a.map(h=>h())));await Promise.all(g)},_start_router:()=>{history.scrollRestoration="manual",addEventListener("beforeunload",u=>{let h=!1;const w={from:a.url,to:null,cancel:()=>h=!0};i.before_navigate.forEach($=>$(w)),h?(u.preventDefault(),u.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden"){Ee(I);try{sessionStorage[st]=JSON.stringify(re)}catch{}}});const o=u=>{const h=He(u);h&&h.href&&h.hasAttribute("sveltekit:prefetch")&&xe(Ze(h))};let p;const g=u=>{clearTimeout(p),p=setTimeout(()=>{var h;(h=u.target)==null||h.dispatchEvent(new CustomEvent("sveltekit:trigger_prefetch",{bubbles:!0}))},20)};addEventListener("touchstart",o),addEventListener("mousemove",g),addEventListener("sveltekit:trigger_prefetch",o),addEventListener("click",u=>{if(!X||u.button||u.which!==1||u.metaKey||u.ctrlKey||u.shiftKey||u.altKey||u.defaultPrevented)return;const h=He(u);if(!h||!h.href)return;const w=h instanceof SVGAElement,$=Ze(h);if(!w&&$.origin==="null")return;const _=(h.getAttribute("rel")||"").split(/\s+/);if(h.hasAttribute("download")||_.includes("external")||h.hasAttribute("sveltekit:reload")||(w?h.target.baseVal:h.target))return;const[m,R]=$.href.split("#");if(R!==void 0&&m===location.href.split("#")[0]){_e=!0,Ee(I),f.page.set(se(x({},me),{url:$})),f.page.notify();return}be({url:$,scroll:h.hasAttribute("sveltekit:noscroll")?Se():null,keepfocus:!1,redirect_chain:[],details:{state:{},replaceState:$.href===location.href},accepted:()=>u.preventDefault(),blocked:()=>u.preventDefault()})}),addEventListener("popstate",u=>{if(u.state&&X){if(u.state[W]===I)return;be({url:new URL(location.href),scroll:re[u.state[W]],keepfocus:!1,redirect_chain:[],details:null,accepted:()=>{I=u.state[W]},blocked:()=>{const h=I-u.state[W];history.go(h)}})}}),addEventListener("hashchange",()=>{_e&&(_e=!1,history.replaceState(se(x({},history.state),{[W]:++I}),"",location.href))})},_hydrate:async({status:o,error:p,nodes:g,params:u,routeId:h})=>{const w=new URL(location.href),$=[];let _={},m,R;try{for(let U=0;U<g.length;U+=1){const A=U===g.length-1;let y;if(A){const b=document.querySelector('script[sveltekit\\:data-type="props"]');b&&(y=JSON.parse(b.textContent))}const v=await Q({module:await pe[g[U]](),url:w,params:u,stuff:_,status:A?o:void 0,error:A?p:void 0,props:y,routeId:h});if(y&&(v.uses.dependencies.add(w.href),v.uses.url=!0),$.push(v),v&&v.loaded)if(v.loaded.error){if(p)throw v.loaded.error;R={status:v.loaded.status,error:v.loaded.error,url:w,routeId:h}}else v.loaded.stuff&&(_=x(x({},_),v.loaded.stuff))}m=R?await ee(R):await we({url:w,params:u,stuff:_,branch:$,status:o,error:p,routeId:h})}catch(U){if(p)throw U;m=await ee({status:500,error:Me(U),url:w,routeId:h})}m.redirect&&await te(new URL(m.redirect,location.href)),Ce(m)}}}async function Gt({paths:n,target:e,session:t,route:r,spa:l,trailing_slash:c,hydrate:f}){const s=Bt({target:e,session:t,base:n.base,trailing_slash:c});xt({client:s}),bt(n),f&&await s._hydrate(f),r&&(l&&s.goto(location.href,{replaceState:!0}),s._start_router()),dispatchEvent(new CustomEvent("sveltekit:start"))}export{Gt as start};
|
static/_app/version.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"version":"1655276222143"}
|
static/index.html
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="utf-8" />
|
5 |
+
<!-- <link rel="icon" href="/embed/radames/wordalle/static/favicon.png" /> -->
|
6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
7 |
+
<meta http-equiv="content-security-policy" content="">
|
8 |
+
<link rel="stylesheet" href="/embed/radames/wordalle/static/_app/immutable/assets/pages/__layout.svelte-650f13bc.css">
|
9 |
+
<link rel="stylesheet" href="/embed/radames/wordalle/static/_app/immutable/assets/pages/index.svelte-8f5988fc.css">
|
10 |
+
<link rel="modulepreload" href="/embed/radames/wordalle/static/_app/immutable/start-eafcc13c.js">
|
11 |
+
<link rel="modulepreload" href="/embed/radames/wordalle/static/_app/immutable/chunks/index-ad2956d2.js">
|
12 |
+
<link rel="modulepreload" href="/embed/radames/wordalle/static/_app/immutable/pages/__layout.svelte-97f324f7.js">
|
13 |
+
<link rel="modulepreload" href="/embed/radames/wordalle/static/_app/immutable/pages/index.svelte-8599330f.js">
|
14 |
+
</head>
|
15 |
+
<body>
|
16 |
+
<div>
|
17 |
+
|
18 |
+
|
19 |
+
|
20 |
+
|
21 |
+
|
22 |
+
<script type="module" data-sveltekit-hydrate="2eq20f">
|
23 |
+
import { start } from "/embed/radames/wordalle/static/_app/immutable/start-eafcc13c.js";
|
24 |
+
start({
|
25 |
+
target: document.querySelector('[data-sveltekit-hydrate="2eq20f"]').parentNode,
|
26 |
+
paths: {"base":"/embed/radames/wordalle/static","assets":"/embed/radames/wordalle/static"},
|
27 |
+
session: {},
|
28 |
+
route: true,
|
29 |
+
spa: false,
|
30 |
+
trailing_slash: "never",
|
31 |
+
hydrate: {
|
32 |
+
status: 200,
|
33 |
+
error: null,
|
34 |
+
nodes: [0, 2],
|
35 |
+
params: {},
|
36 |
+
routeId: ""
|
37 |
+
}
|
38 |
+
});
|
39 |
+
</script></div>
|
40 |
+
</body>
|
41 |
+
</html>
|