Init back project

This commit is contained in:
Laurent
2024-10-22 11:21:32 +02:00
parent f200cbfd1d
commit e496383d25
115 changed files with 11028 additions and 0 deletions

3
back/.gitattributes vendored Normal file
View File

@@ -0,0 +1,3 @@
/gradlew text eol=lf
*.bat text eol=crlf
*.jar binary

37
back/.gitignore vendored Normal file
View File

@@ -0,0 +1,37 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/

28
back/build.gradle Normal file
View File

@@ -0,0 +1,28 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.4'
id 'io.spring.dependency-management' version '1.1.6'
}
group = 'be.naaturel'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
tasks.named('test') {
useJUnitPlatform()
}

BIN
back/gradle/wrapper/gradle-wrapper.jar vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

252
back/gradlew vendored Normal file
View File

@@ -0,0 +1,252 @@
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

94
back/gradlew.bat vendored Normal file
View File

@@ -0,0 +1,94 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

1
back/settings.gradle Normal file
View File

@@ -0,0 +1 @@
rootProject.name = 'unluckiest'

View File

@@ -0,0 +1,13 @@
package be.naaturel.unluckiest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class UnluckiestApplication {
public static void main(String[] args) {
SpringApplication.run(UnluckiestApplication.class, args);
}
}

View File

@@ -0,0 +1 @@
spring.application.name=unluckiest

View File

@@ -0,0 +1,13 @@
package be.naaturel.unluckiest;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class UnluckiestApplicationTests {
@Test
void contextLoads() {
}
}

View File

8
front/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

6
front/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_X" project-jdk-name="21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
front/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/unluckiest.iml" filepath="$PROJECT_DIR$/.idea/unluckiest.iml" />
</modules>
</component>
</project>

9
front/.idea/unluckiest.iml generated Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
front/.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

231
front/.svelte-kit/ambient.d.ts vendored Normal file
View File

@@ -0,0 +1,231 @@
// this file is generated — do not edit it
/// <reference types="@sveltejs/kit" />
/**
* Environment variables [loaded by Vite](https://vitejs.dev/guide/env-and-mode.html#env-files) from `.env` files and `process.env`. Like [`$env/dynamic/private`](https://kit.svelte.dev/docs/modules#$env-dynamic-private), this module cannot be imported into client-side code. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://kit.svelte.dev/docs/configuration#env) (if configured).
*
* _Unlike_ [`$env/dynamic/private`](https://kit.svelte.dev/docs/modules#$env-dynamic-private), the values exported from this module are statically injected into your bundle at build time, enabling optimisations like dead code elimination.
*
* ```ts
* import { API_KEY } from '$env/static/private';
* ```
*
* Note that all environment variables referenced in your code should be declared (for example in an `.env` file), even if they don't have a value until the app is deployed:
*
* ```
* MY_FEATURE_FLAG=""
* ```
*
* You can override `.env` values from the command line like so:
*
* ```bash
* MY_FEATURE_FLAG="enabled" npm run dev
* ```
*/
declare module '$env/static/private' {
export const ALLUSERSPROFILE: string;
export const APPDATA: string;
export const CLion: string;
export const COLOR: string;
export const CommonProgramFiles: string;
export const CommonProgramW6432: string;
export const COMPUTERNAME: string;
export const ComSpec: string;
export const configsetroot: string;
export const DB_PASSWORD: string;
export const DB_URL: string;
export const DB_USER: string;
export const DriverData: string;
export const EDITOR: string;
export const EFC_10816: string;
export const ffmpeg: string;
export const FPS_BROWSER_APP_PROFILE_STRING: string;
export const FPS_BROWSER_USER_PROFILE_STRING: string;
export const HOME: string;
export const HOMEDRIVE: string;
export const HOMEPATH: string;
export const IDEA_INITIAL_DIRECTORY: string;
export const INIT_CWD: string;
export const LOCALAPPDATA: string;
export const LOGONSERVER: string;
export const NODE: string;
export const NODE_ENV: string;
export const npm_command: string;
export const npm_config_cache: string;
export const npm_config_engine_strict: string;
export const npm_config_globalconfig: string;
export const npm_config_global_prefix: string;
export const npm_config_init_module: string;
export const npm_config_local_prefix: string;
export const npm_config_node_gyp: string;
export const npm_config_noproxy: string;
export const npm_config_npm_version: string;
export const npm_config_prefix: string;
export const npm_config_userconfig: string;
export const npm_config_user_agent: string;
export const npm_execpath: string;
export const npm_lifecycle_event: string;
export const npm_lifecycle_script: string;
export const npm_node_execpath: string;
export const npm_package_json: string;
export const npm_package_name: string;
export const npm_package_version: string;
export const NUMBER_OF_PROCESSORS: string;
export const OneDrive: string;
export const OS: string;
export const Path: string;
export const PATHEXT: string;
export const PROCESSOR_ARCHITECTURE: string;
export const PROCESSOR_IDENTIFIER: string;
export const PROCESSOR_LEVEL: string;
export const PROCESSOR_REVISION: string;
export const ProgramData: string;
export const ProgramFiles: string;
export const ProgramW6432: string;
export const PROMPT: string;
export const PSModulePath: string;
export const PUBLIC: string;
export const SESSIONNAME: string;
export const SystemDrive: string;
export const SystemRoot: string;
export const TEMP: string;
export const TERMINAL_EMULATOR: string;
export const TERM_SESSION_ID: string;
export const TMP: string;
export const USERDOMAIN: string;
export const USERDOMAIN_ROAMINGPROFILE: string;
export const USERNAME: string;
export const USERPROFILE: string;
export const windir: string;
export const ZES_ENABLE_SYSMAN: string;
}
/**
* Similar to [`$env/static/private`](https://kit.svelte.dev/docs/modules#$env-static-private), except that it only includes environment variables that begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code.
*
* Values are replaced statically at build time.
*
* ```ts
* import { PUBLIC_BASE_URL } from '$env/static/public';
* ```
*/
declare module '$env/static/public' {
}
/**
* This module provides access to runtime environment variables, as defined by the platform you're running on. For example if you're using [`adapter-node`](https://github.com/sveltejs/kit/tree/main/packages/adapter-node) (or running [`vite preview`](https://kit.svelte.dev/docs/cli)), this is equivalent to `process.env`. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://kit.svelte.dev/docs/configuration#env) (if configured).
*
* This module cannot be imported into client-side code.
*
* Dynamic environment variables cannot be used during prerendering.
*
* ```ts
* import { env } from '$env/dynamic/private';
* console.log(env.DEPLOYMENT_SPECIFIC_VARIABLE);
* ```
*
* > In `dev`, `$env/dynamic` always includes environment variables from `.env`. In `prod`, this behavior will depend on your adapter.
*/
declare module '$env/dynamic/private' {
export const env: {
ALLUSERSPROFILE: string;
APPDATA: string;
CLion: string;
COLOR: string;
CommonProgramFiles: string;
CommonProgramW6432: string;
COMPUTERNAME: string;
ComSpec: string;
configsetroot: string;
DB_PASSWORD: string;
DB_URL: string;
DB_USER: string;
DriverData: string;
EDITOR: string;
EFC_10816: string;
ffmpeg: string;
FPS_BROWSER_APP_PROFILE_STRING: string;
FPS_BROWSER_USER_PROFILE_STRING: string;
HOME: string;
HOMEDRIVE: string;
HOMEPATH: string;
IDEA_INITIAL_DIRECTORY: string;
INIT_CWD: string;
LOCALAPPDATA: string;
LOGONSERVER: string;
NODE: string;
NODE_ENV: string;
npm_command: string;
npm_config_cache: string;
npm_config_engine_strict: string;
npm_config_globalconfig: string;
npm_config_global_prefix: string;
npm_config_init_module: string;
npm_config_local_prefix: string;
npm_config_node_gyp: string;
npm_config_noproxy: string;
npm_config_npm_version: string;
npm_config_prefix: string;
npm_config_userconfig: string;
npm_config_user_agent: string;
npm_execpath: string;
npm_lifecycle_event: string;
npm_lifecycle_script: string;
npm_node_execpath: string;
npm_package_json: string;
npm_package_name: string;
npm_package_version: string;
NUMBER_OF_PROCESSORS: string;
OneDrive: string;
OS: string;
Path: string;
PATHEXT: string;
PROCESSOR_ARCHITECTURE: string;
PROCESSOR_IDENTIFIER: string;
PROCESSOR_LEVEL: string;
PROCESSOR_REVISION: string;
ProgramData: string;
ProgramFiles: string;
ProgramW6432: string;
PROMPT: string;
PSModulePath: string;
PUBLIC: string;
SESSIONNAME: string;
SystemDrive: string;
SystemRoot: string;
TEMP: string;
TERMINAL_EMULATOR: string;
TERM_SESSION_ID: string;
TMP: string;
USERDOMAIN: string;
USERDOMAIN_ROAMINGPROFILE: string;
USERNAME: string;
USERPROFILE: string;
windir: string;
ZES_ENABLE_SYSMAN: string;
[key: `PUBLIC_${string}`]: undefined;
[key: `${string}`]: string | undefined;
}
}
/**
* Similar to [`$env/dynamic/private`](https://kit.svelte.dev/docs/modules#$env-dynamic-private), but only includes variables that begin with [`config.kit.env.publicPrefix`](https://kit.svelte.dev/docs/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code.
*
* Note that public dynamic environment variables must all be sent from the server to the client, causing larger network requests — when possible, use `$env/static/public` instead.
*
* Dynamic environment variables cannot be used during prerendering.
*
* ```ts
* import { env } from '$env/dynamic/public';
* console.log(env.PUBLIC_DEPLOYMENT_SPECIFIC_VARIABLE);
* ```
*/
declare module '$env/dynamic/public' {
export const env: {
[key: `PUBLIC_${string}`]: string | undefined;
}
}

View File

@@ -0,0 +1,25 @@
export { matchers } from './matchers.js';
export const nodes = [
() => import('./nodes/0'),
() => import('./nodes/1'),
() => import('./nodes/2'),
() => import('./nodes/3'),
() => import('./nodes/4')
];
export const server_loads = [];
export const dictionary = {
"/": [2],
"/about": [3],
"/play": [4]
};
export const hooks = {
handleError: (({ error }) => { console.error(error) }),
reroute: (() => {})
};
export { default as root } from '../root.svelte';

View File

@@ -0,0 +1 @@
export const matchers = {};

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/+layout.svelte";

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/svelte-4/error.svelte";

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/+page.svelte";

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/about/+page.svelte";

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/play/+page.svelte";

View File

@@ -0,0 +1,25 @@
export { matchers } from './matchers.js';
export const nodes = [
() => import('./nodes/0'),
() => import('./nodes/1'),
() => import('./nodes/2'),
() => import('./nodes/3'),
() => import('./nodes/4')
];
export const server_loads = [];
export const dictionary = {
"/": [2],
"/about": [3],
"/play": [4]
};
export const hooks = {
handleError: (({ error }) => { console.error(error) }),
reroute: (() => {})
};
export { default as root } from '../root.svelte';

View File

@@ -0,0 +1 @@
export const matchers = {};

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/+layout.svelte";

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/svelte-4/error.svelte";

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/+page.svelte";

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/about/+page.svelte";

View File

@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/play/+page.svelte";

View File

@@ -0,0 +1,61 @@
<!-- This file is generated by @sveltejs/kit — do not edit it! -->
<script>
import { setContext, afterUpdate, onMount, tick } from 'svelte';
import { browser } from '$app/environment';
// stores
export let stores;
export let page;
export let constructors;
export let components = [];
export let form;
export let data_0 = null;
export let data_1 = null;
if (!browser) {
setContext('__svelte__', stores);
}
$: stores.page.set(page);
afterUpdate(stores.page.notify);
let mounted = false;
let navigated = false;
let title = null;
onMount(() => {
const unsubscribe = stores.page.subscribe(() => {
if (mounted) {
navigated = true;
tick().then(() => {
title = document.title || 'untitled page';
});
}
});
mounted = true;
return unsubscribe;
});
</script>
{#if constructors[1]}
<svelte:component this={constructors[0]} bind:this={components[0]} data={data_0}>
<svelte:component this={constructors[1]} bind:this={components[1]} data={data_1} {form} />
</svelte:component>
{:else}
<svelte:component this={constructors[0]} bind:this={components[0]} data={data_0} {form} />
{/if}
{#if mounted}
<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px">
{#if navigated}
{title}
{/if}
</div>
{/if}

View File

@@ -0,0 +1,34 @@
import root from '../root.svelte';
import { set_building, set_prerendering } from '__sveltekit/environment';
import { set_assets } from '__sveltekit/paths';
import { set_manifest, set_read_implementation } from '__sveltekit/server';
import { set_private_env, set_public_env, set_safe_public_env } from '../../../node_modules/@sveltejs/kit/src/runtime/shared-server.js';
export const options = {
app_dir: "_app",
app_template_contains_nonce: false,
csp: {"mode":"auto","directives":{"upgrade-insecure-requests":false,"block-all-mixed-content":false},"reportOnly":{"upgrade-insecure-requests":false,"block-all-mixed-content":false}},
csrf_check_origin: true,
embedded: false,
env_public_prefix: 'PUBLIC_',
env_private_prefix: '',
hooks: null, // added lazily, via `get_hooks`
preload_strategy: "modulepreload",
root,
service_worker: false,
templates: {
app: ({ head, body, assets, nonce, env }) => "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>Unluckiest</title>\n\n\t\t<link rel=\"stylesheet\"\n\t\t\t href=\"https://fonts.googleapis.com/css?family=Afacad+Flux\">\n\t\t<style>\n\t\t\tbody {\n\t\t\t\tfont-family: 'Afacad Flux', serif;\n\t\t\t\tfont-size: 48px;\n\t\t\t}\n\t\t</style>\n\n\t\t<meta charset=\"utf-8\" />\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n\n\t\t<link rel=\"stylesheet\" href=\"" + assets + "/style/app.css\" />\n\t\t<link rel=\"stylesheet\" href=\"" + assets + "/style/menu.css\" />\n\n\t\t<link rel=\"icon\" href=\"" + assets + "/favicon.png\" />\n\n\t\t" + head + "\n\t</head>\n\t<body data-sveltekit-preload-data=\"hover\">\n\t\t<div style=\"display: contents\">" + body + "</div>\n\t</body>\n</html>\n",
error: ({ status, message }) => "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<title>" + message + "</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">" + status + "</span>\n\t\t\t<div class=\"message\">\n\t\t\t\t<h1>" + message + "</h1>\n\t\t\t</div>\n\t\t</div>\n\t</body>\n</html>\n"
},
version_hash: "i17ecb"
};
export async function get_hooks() {
return {
};
}
export { set_assets, set_building, set_manifest, set_prerendering, set_private_env, set_public_env, set_read_implementation, set_safe_public_env };

25
front/.svelte-kit/non-ambient.d.ts vendored Normal file
View File

@@ -0,0 +1,25 @@
// this file is generated — do not edit it
declare module "svelte/elements" {
export interface HTMLAttributes<T> {
'data-sveltekit-keepfocus'?: true | '' | 'off' | undefined | null;
'data-sveltekit-noscroll'?: true | '' | 'off' | undefined | null;
'data-sveltekit-preload-code'?:
| true
| ''
| 'eager'
| 'viewport'
| 'hover'
| 'tap'
| 'off'
| undefined
| null;
'data-sveltekit-preload-data'?: true | '' | 'hover' | 'tap' | 'off' | undefined | null;
'data-sveltekit-reload'?: true | '' | 'off' | undefined | null;
'data-sveltekit-replacestate'?: true | '' | 'off' | undefined | null;
}
}
export {};

View File

@@ -0,0 +1,143 @@
{
".svelte-kit/generated/client-optimized/app.js": {
"file": "_app/immutable/entry/app.BB-guR1A.js",
"name": "entry/app",
"src": ".svelte-kit/generated/client-optimized/app.js",
"isEntry": true,
"imports": [
"_preload-helper.C1FmrZbK.js",
"_scheduler.t-3xYmlC.js",
"_index.Dz99_Qdh.js"
],
"dynamicImports": [
".svelte-kit/generated/client-optimized/nodes/0.js",
".svelte-kit/generated/client-optimized/nodes/1.js",
".svelte-kit/generated/client-optimized/nodes/2.js",
".svelte-kit/generated/client-optimized/nodes/3.js",
".svelte-kit/generated/client-optimized/nodes/4.js"
]
},
".svelte-kit/generated/client-optimized/nodes/0.js": {
"file": "_app/immutable/nodes/0.BLjvgh0X.js",
"name": "nodes/0",
"src": ".svelte-kit/generated/client-optimized/nodes/0.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_preload-helper.C1FmrZbK.js",
"_scheduler.t-3xYmlC.js",
"_index.Dz99_Qdh.js"
],
"dynamicImports": [
"_jquery.DayQ7gTg.js"
]
},
".svelte-kit/generated/client-optimized/nodes/1.js": {
"file": "_app/immutable/nodes/1.DltsNqkt.js",
"name": "nodes/1",
"src": ".svelte-kit/generated/client-optimized/nodes/1.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_scheduler.t-3xYmlC.js",
"_index.Dz99_Qdh.js",
"_entry.CWTQmo3s.js"
]
},
".svelte-kit/generated/client-optimized/nodes/2.js": {
"file": "_app/immutable/nodes/2.B0UqQsDX.js",
"name": "nodes/2",
"src": ".svelte-kit/generated/client-optimized/nodes/2.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_scheduler.t-3xYmlC.js",
"_index.Dz99_Qdh.js",
"_scoreStore.BJlEo5Dk.js"
],
"css": [
"_app/immutable/assets/2.DxlxdAfj.css"
]
},
".svelte-kit/generated/client-optimized/nodes/3.js": {
"file": "_app/immutable/nodes/3.vi6sie8m.js",
"name": "nodes/3",
"src": ".svelte-kit/generated/client-optimized/nodes/3.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_scheduler.t-3xYmlC.js",
"_index.Dz99_Qdh.js"
]
},
".svelte-kit/generated/client-optimized/nodes/4.js": {
"file": "_app/immutable/nodes/4.69oG6wwC.js",
"name": "nodes/4",
"src": ".svelte-kit/generated/client-optimized/nodes/4.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_preload-helper.C1FmrZbK.js",
"_scheduler.t-3xYmlC.js",
"_index.Dz99_Qdh.js",
"_scoreStore.BJlEo5Dk.js"
],
"dynamicImports": [
"_jquery.DayQ7gTg.js"
],
"css": [
"_app/immutable/assets/4.T_78NcA1.css"
]
},
"_entry.CWTQmo3s.js": {
"file": "_app/immutable/chunks/entry.CWTQmo3s.js",
"name": "entry",
"imports": [
"_scheduler.t-3xYmlC.js",
"_index.BEtjop6e.js"
]
},
"_index.BEtjop6e.js": {
"file": "_app/immutable/chunks/index.BEtjop6e.js",
"name": "index",
"imports": [
"_scheduler.t-3xYmlC.js"
]
},
"_index.Dz99_Qdh.js": {
"file": "_app/immutable/chunks/index.Dz99_Qdh.js",
"name": "index",
"imports": [
"_scheduler.t-3xYmlC.js"
]
},
"_jquery.DayQ7gTg.js": {
"file": "_app/immutable/chunks/jquery.DayQ7gTg.js",
"name": "jquery",
"isDynamicEntry": true
},
"_preload-helper.C1FmrZbK.js": {
"file": "_app/immutable/chunks/preload-helper.C1FmrZbK.js",
"name": "preload-helper"
},
"_scheduler.t-3xYmlC.js": {
"file": "_app/immutable/chunks/scheduler.t-3xYmlC.js",
"name": "scheduler"
},
"_scoreStore.BJlEo5Dk.js": {
"file": "_app/immutable/chunks/scoreStore.BJlEo5Dk.js",
"name": "scoreStore",
"imports": [
"_index.BEtjop6e.js"
]
},
"node_modules/@sveltejs/kit/src/runtime/client/entry.js": {
"file": "_app/immutable/entry/start.Dk8EHlvX.js",
"name": "entry/start",
"src": "node_modules/@sveltejs/kit/src/runtime/client/entry.js",
"isEntry": true,
"imports": [
"_entry.CWTQmo3s.js"
]
}
}

View File

@@ -0,0 +1 @@
.leaderboard.svelte-13k6dxr{display:flex;flex-direction:column;width:60vw;height:65vh;padding:0 2vw 2vw;overflow:scroll;overflow-x:hidden}.leaderboard.svelte-13k6dxr::-webkit-scrollbar{display:none}li.svelte-13k6dxr{display:flex;justify-content:space-around;padding:1.25vh;margin:1.5vh;border:2px solid #A1674A;border-radius:10px;background-color:#f1ecec;box-shadow:0 0 10px #343232}li.svelte-13k6dxr:hover{transform:scale(1.075);background-color:#f5f5f5}.name.svelte-13k6dxr,.score.svelte-13k6dxr{color:#000;margin-left:3vh}.name.svelte-13k6dxr{flex-grow:100;border-right:1px solid #A1674A}.score.svelte-13k6dxr{flex-grow:20;text-align:center}

View File

@@ -0,0 +1 @@
.container.svelte-31d80g,.player.svelte-31d80g{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.disabled.svelte-31d80g{display:none}.player.svelte-31d80g{gap:2vh}.name.svelte-31d80g{width:17vw;height:6vh;border:2px solid #A1674A;border-radius:10px;box-shadow:0 0 10px #343232}.circular-loader.svelte-31d80g{stroke-dasharray:100,125;stroke-dashoffset:-5;animation:svelte-31d80g-rotate 2s ease-in-out infinite;stroke-linecap:round}.loader-path.svelte-31d80g{width:25vw;height:25vh}button.svelte-31d80g{color:#000;width:18vw;height:15vh;border-radius:10px;background-color:#f1ecec;border:2px solid #A1674A;background-size:1800% 1800%;box-shadow:0 0 10px #343232}.name.svelte-31d80g:hover,button.svelte-31d80g:hover{transform:scale(1.1)}@keyframes svelte-31d80g-rotate{to{transform:rotate(360deg)}}

View File

@@ -0,0 +1 @@
.leaderboard.svelte-13k6dxr{display:flex;flex-direction:column;width:60vw;height:65vh;padding:0 2vw 2vw;overflow:scroll;overflow-x:hidden}.leaderboard.svelte-13k6dxr::-webkit-scrollbar{display:none}li.svelte-13k6dxr{display:flex;justify-content:space-around;padding:1.25vh;margin:1.5vh;border:2px solid #A1674A;border-radius:10px;background-color:#f1ecec;box-shadow:0 0 10px #343232}li.svelte-13k6dxr:hover{transform:scale(1.075);background-color:#f5f5f5}.name.svelte-13k6dxr,.score.svelte-13k6dxr{color:#000;margin-left:3vh}.name.svelte-13k6dxr{flex-grow:100;border-right:1px solid #A1674A}.score.svelte-13k6dxr{flex-grow:20;text-align:center}

View File

@@ -0,0 +1 @@
.container.svelte-31d80g,.player.svelte-31d80g{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.disabled.svelte-31d80g{display:none}.player.svelte-31d80g{gap:2vh}.name.svelte-31d80g{width:17vw;height:6vh;border:2px solid #A1674A;border-radius:10px;box-shadow:0 0 10px #343232}.circular-loader.svelte-31d80g{stroke-dasharray:100,125;stroke-dashoffset:-5;animation:svelte-31d80g-rotate 2s ease-in-out infinite;stroke-linecap:round}.loader-path.svelte-31d80g{width:25vw;height:25vh}button.svelte-31d80g{color:#000;width:18vw;height:15vh;border-radius:10px;background-color:#f1ecec;border:2px solid #A1674A;background-size:1800% 1800%;box-shadow:0 0 10px #343232}.name.svelte-31d80g:hover,button.svelte-31d80g:hover{transform:scale(1.1)}@keyframes svelte-31d80g-rotate{to{transform:rotate(360deg)}}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{n as f,s as l}from"./scheduler.t-3xYmlC.js";const e=[];function h(n,b=f){let i;const o=new Set;function r(t){if(l(n,t)&&(n=t,i)){const c=!e.length;for(const s of o)s[1](),e.push(s,n);if(c){for(let s=0;s<e.length;s+=2)e[s][0](e[s+1]);e.length=0}}}function u(t){r(t(n))}function p(t,c=f){const s=[t,c];return o.add(s),o.size===1&&(i=b(r,u)||f),t(n),()=>{o.delete(s),o.size===0&&i&&(i(),i=null)}}return{set:r,update:u,subscribe:p}}export{h as w};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
const E="modulepreload",y=function(a,l){return new URL(a,l).href},m={},g=function(l,c,u){let f=Promise.resolve();if(c&&c.length>0){const r=document.getElementsByTagName("link"),e=document.querySelector("meta[property=csp-nonce]"),h=(e==null?void 0:e.nonce)||(e==null?void 0:e.getAttribute("nonce"));f=Promise.allSettled(c.map(t=>{if(t=y(t,u),t in m)return;m[t]=!0;const o=t.endsWith(".css"),v=o?'[rel="stylesheet"]':"";if(!!u)for(let s=r.length-1;s>=0;s--){const i=r[s];if(i.href===t&&(!o||i.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${v}`))return;const n=document.createElement("link");if(n.rel=o?"stylesheet":E,o||(n.as="script"),n.crossOrigin="",n.href=t,h&&n.setAttribute("nonce",h),document.head.appendChild(n),o)return new Promise((s,i)=>{n.addEventListener("load",s),n.addEventListener("error",()=>i(new Error(`Unable to preload CSS for ${t}`)))})}))}function d(r){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=r,window.dispatchEvent(e),!e.defaultPrevented)throw r}return f.then(r=>{for(const e of r||[])e.status==="rejected"&&d(e.reason);return l().catch(d)})};export{g as _};

View File

@@ -0,0 +1 @@
function x(){}function w(t,n){for(const e in n)t[e]=n[e];return t}function j(t){return t()}function F(){return Object.create(null)}function E(t){t.forEach(j)}function P(t){return typeof t=="function"}function S(t,n){return t!=t?n==n:t!==n||t&&typeof t=="object"||typeof t=="function"}let i;function U(t,n){return t===n?!0:(i||(i=document.createElement("a")),i.href=n,t===i.href)}function A(t){return Object.keys(t).length===0}function q(t,...n){if(t==null){for(const r of n)r(void 0);return x}const e=t.subscribe(...n);return e.unsubscribe?()=>e.unsubscribe():e}function B(t,n,e){t.$$.on_destroy.push(q(n,e))}function C(t,n,e,r){if(t){const o=m(t,n,e,r);return t[0](o)}}function m(t,n,e,r){return t[1]&&r?w(e.ctx.slice(),t[1](r(n))):e.ctx}function D(t,n,e,r){if(t[2]&&r){const o=t[2](r(e));if(n.dirty===void 0)return o;if(typeof o=="object"){const l=[],_=Math.max(n.dirty.length,o.length);for(let s=0;s<_;s+=1)l[s]=n.dirty[s]|o[s];return l}return n.dirty|o}return n.dirty}function G(t,n,e,r,o,l){if(o){const _=m(n,e,r,l);t.p(_,o)}}function H(t){if(t.ctx.length>32){const n=[],e=t.ctx.length/32;for(let r=0;r<e;r++)n[r]=-1;return n}return-1}let f;function h(t){f=t}function y(){if(!f)throw new Error("Function called outside component initialization");return f}function I(t){y().$$.on_mount.push(t)}function J(t){y().$$.after_update.push(t)}const a=[],g=[];let u=[];const p=[],k=Promise.resolve();let b=!1;function v(){b||(b=!0,k.then(M))}function K(){return v(),k}function O(t){u.push(t)}function L(t){p.push(t)}const d=new Set;let c=0;function M(){if(c!==0)return;const t=f;do{try{for(;c<a.length;){const n=a[c];c++,h(n),z(n.$$)}}catch(n){throw a.length=0,c=0,n}for(h(null),a.length=0,c=0;g.length;)g.pop()();for(let n=0;n<u.length;n+=1){const e=u[n];d.has(e)||(d.add(e),e())}u.length=0}while(a.length);for(;p.length;)p.pop()();b=!1,d.clear(),h(t)}function z(t){if(t.fragment!==null){t.update(),E(t.before_update);const n=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,n),t.after_update.forEach(O)}}function N(t){const n=[],e=[];u.forEach(r=>t.indexOf(r)===-1?n.push(r):e.push(r)),e.forEach(r=>r()),u=n}export{J as a,g as b,B as c,C as d,D as e,U as f,H as g,L as h,F as i,M as j,P as k,A as l,O as m,x as n,I as o,N as p,f as q,E as r,S as s,K as t,G as u,h as v,j as w,a as x,v as y};

View File

@@ -0,0 +1 @@
var S=Object.defineProperty;var p=(t,e,r)=>e in t?S(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var a=(t,e,r)=>p(t,typeof e!="symbol"?e+"":e,r);import{w}from"./index.BEtjop6e.js";class g{constructor({playerName:e="",value:r=0}){a(this,"playerName");a(this,"value");this.playerName=e,this.value=r}}let n="scores";function c(){return typeof window<"u"&&typeof window.localStorage<"u"}function m(){const t=c()?localStorage.getItem(n):null,{set:e,update:r,subscribe:l}=w(t?JSON.parse(t):[]);return c()&&l(o=>localStorage.setItem(n,JSON.stringify(o))),{update:r,subscribe:l,set:o=>e(o||[]),reset:()=>e([]),add:(o,i)=>{r(u=>{let s=[...u,new g({playerName:o,value:i})];return s.length>=2&&s.sort((d,f)=>d.value-f.value),s})}}}const b=m();export{b as s};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{a as t}from"../chunks/entry.CWTQmo3s.js";export{t as start};

View File

@@ -0,0 +1 @@
import{_ as $}from"../chunks/preload-helper.C1FmrZbK.js";import{s as b,d as y,u as x,g as F,e as L,o as M}from"../chunks/scheduler.t-3xYmlC.js";import{S as T,i as j,e as _,s as v,c as p,g as C,h as w,b as k,d as c,n as g,a as d,v as E,r as H}from"../chunks/index.Dz99_Qdh.js";const D="data:image/svg+xml,%3csvg%20width='98'%20height='96'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M48.854%200C21.839%200%200%2022%200%2049.217c0%2021.756%2013.993%2040.172%2033.405%2046.69%202.427.49%203.316-1.059%203.316-2.362%200-1.141-.08-5.052-.08-9.127-13.59%202.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015%204.934.326%207.523%205.052%207.523%205.052%204.367%207.496%2011.404%205.378%2014.235%204.074.404-3.178%201.699-5.378%203.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283%200-5.378%201.94-9.778%205.014-13.2-.485-1.222-2.184-6.275.486-13.038%200%200%204.125-1.304%2013.426%205.052a46.97%2046.97%200%200%201%2012.214-1.63c4.125%200%208.33.571%2012.213%201.63%209.302-6.356%2013.427-5.052%2013.427-5.052%202.67%206.763.97%2011.816.485%2013.038%203.155%203.422%205.015%207.822%205.015%2013.2%200%2018.905-11.404%2023.06-22.324%2024.283%201.78%201.548%203.316%204.481%203.316%209.126%200%206.6-.08%2011.897-.08%2013.526%200%201.304.89%202.853%203.316%202.364%2019.412-6.52%2033.405-24.935%2033.405-46.691C97.707%2022%2075.788%200%2048.854%200z'%20fill='%23fff'/%3e%3c/svg%3e",I="data:image/svg+xml,%3csvg%20fill='%23FFFFFF'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2050%2050'%20width='50px'%20height='50px'%3e%3cpath%20d='M%2050.0625%2010.4375%20C%2048.214844%2011.257813%2046.234375%2011.808594%2044.152344%2012.058594%20C%2046.277344%2010.785156%2047.910156%208.769531%2048.675781%206.371094%20C%2046.691406%207.546875%2044.484375%208.402344%2042.144531%208.863281%20C%2040.269531%206.863281%2037.597656%205.617188%2034.640625%205.617188%20C%2028.960938%205.617188%2024.355469%2010.21875%2024.355469%2015.898438%20C%2024.355469%2016.703125%2024.449219%2017.488281%2024.625%2018.242188%20C%2016.078125%2017.8125%208.503906%2013.71875%203.429688%207.496094%20C%202.542969%209.019531%202.039063%2010.785156%202.039063%2012.667969%20C%202.039063%2016.234375%203.851563%2019.382813%206.613281%2021.230469%20C%204.925781%2021.175781%203.339844%2020.710938%201.953125%2019.941406%20C%201.953125%2019.984375%201.953125%2020.027344%201.953125%2020.070313%20C%201.953125%2025.054688%205.5%2029.207031%2010.199219%2030.15625%20C%209.339844%2030.390625%208.429688%2030.515625%207.492188%2030.515625%20C%206.828125%2030.515625%206.183594%2030.453125%205.554688%2030.328125%20C%206.867188%2034.410156%2010.664063%2037.390625%2015.160156%2037.472656%20C%2011.644531%2040.230469%207.210938%2041.871094%202.390625%2041.871094%20C%201.558594%2041.871094%200.742188%2041.824219%20-0.0585938%2041.726563%20C%204.488281%2044.648438%209.894531%2046.347656%2015.703125%2046.347656%20C%2034.617188%2046.347656%2044.960938%2030.679688%2044.960938%2017.09375%20C%2044.960938%2016.648438%2044.949219%2016.199219%2044.933594%2015.761719%20C%2046.941406%2014.3125%2048.683594%2012.5%2050.0625%2010.4375%20Z'/%3e%3c/svg%3e";function O(r){let a,f='<div class="burger"></div> <nav><a href="/">Leaderboard</a> <a href="/play">Play</a> <a href="/about">About</a></nav>',o,i,n,l,h=`<a href="https://github.com/naaturel"><img src="${D}" height="30" width="30" alt="Github mark"/></a> <a href="https://twitter.com/naaturel_"><img src="${I}" height="30" width="30" alt="Twitter mark"/></a>`,u;const m=r[1].default,e=y(m,r,r[0],null);return{c(){a=_("div"),a.innerHTML=f,o=v(),i=_("div"),e&&e.c(),n=v(),l=_("footer"),l.innerHTML=h,this.h()},l(t){a=p(t,"DIV",{class:!0,"data-svelte-h":!0}),C(a)!=="svelte-1e7h1m1"&&(a.innerHTML=f),o=w(t),i=p(t,"DIV",{class:!0});var s=k(i);e&&e.l(s),s.forEach(c),n=w(t),l=p(t,"FOOTER",{"data-svelte-h":!0}),C(l)!=="svelte-1urjbwz"&&(l.innerHTML=h),this.h()},h(){g(a,"class","menu-collapsed"),g(i,"class","container")},m(t,s){d(t,a,s),d(t,o,s),d(t,i,s),e&&e.m(i,null),d(t,n,s),d(t,l,s),u=!0},p(t,[s]){e&&e.p&&(!u||s&1)&&x(e,m,t,t[0],u?L(m,t[0],s,null):F(t[0]),null)},i(t){u||(E(e,t),u=!0)},o(t){H(e,t),u=!1},d(t){t&&(c(a),c(o),c(i),c(n),c(l)),e&&e.d(t)}}}function P(r,a,f){let{$$slots:o={},$$scope:i}=a;return M(async()=>{const l=(await $(()=>import("../chunks/jquery.DayQ7gTg.js").then(h=>h.j),[],import.meta.url)).default;window.$=l,window.jQuery=l,window.$(".menu-collapsed").click(function(){window.$(this).toggleClass("menu-expanded")})}),r.$$set=n=>{"$$scope"in n&&f(0,i=n.$$scope)},[i,o]}class A extends T{constructor(a){super(),j(this,a,P,O,b,{})}}export{A as component};

View File

@@ -0,0 +1 @@
import{s as S,n as _,c as x}from"../chunks/scheduler.t-3xYmlC.js";import{S as j,i as k,e as f,t as d,s as q,c as g,b as h,f as v,d as u,h as y,a as m,j as $,k as E}from"../chunks/index.Dz99_Qdh.js";import{s as C}from"../chunks/entry.CWTQmo3s.js";const H=()=>{const s=C;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},P={subscribe(s){return H().page.subscribe(s)}};function w(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",l;return{c(){t=f("h1"),o=d(r),n=q(),i=f("p"),l=d(c)},l(e){t=g(e,"H1",{});var a=h(t);o=v(a,r),a.forEach(u),n=y(e),i=g(e,"P",{});var p=h(i);l=v(p,c),p.forEach(u)},m(e,a){m(e,t,a),$(t,o),m(e,n,a),m(e,i,a),$(i,l)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&E(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&E(l,c)},i:_,o:_,d(e){e&&(u(t),u(n),u(i))}}}function z(s,t,r){let o;return x(s,P,n=>r(0,o=n)),[o]}let F=class extends j{constructor(t){super(),k(this,t,z,w,S,{})}};export{F as component};

View File

@@ -0,0 +1 @@
import{s as j,n as q,f as M,b as P,h as U,c as y}from"../chunks/scheduler.t-3xYmlC.js";import{S as w,i as z,e as g,c as v,b as $,d as m,n as h,a as G,D as F,s as I,t as S,h as D,f as L,j as i,k as A,E as H,z as J,A as K,B as O,v as Q,r as R,C as T}from"../chunks/index.Dz99_Qdh.js";import{s as B}from"../chunks/scoreStore.BJlEo5Dk.js";function C(l){return(l==null?void 0:l.length)!==void 0?l:Array.from(l)}function N(l,t,a){const e=l.slice();return e[1]=t[a],e[3]=a,e}function V(l){let t,a,e,n,r,s=l[1].playerName+"",c,f,d,p=l[1].value+"",b,x,E;return{c(){t=g("li"),a=g("div"),e=g("img"),r=I(),c=S(s),f=I(),d=g("div"),b=S(p),x=S(" pts."),E=I(),this.h()},l(u){t=v(u,"LI",{class:!0});var o=$(t);a=v(o,"DIV",{class:!0});var _=$(a);e=v(_,"IMG",{src:!0,alt:!0}),r=D(_),c=L(_,s),f=D(_),_.forEach(m),d=v(o,"DIV",{class:!0});var k=$(d);b=L(k,p),x=L(k," pts."),k.forEach(m),E=D(o),o.forEach(m),this.h()},h(){M(e.src,n="")||h(e,"src",n),h(e,"alt",""),h(a,"class","name svelte-13k6dxr"),h(d,"class","score svelte-13k6dxr"),h(t,"class","item svelte-13k6dxr")},m(u,o){G(u,t,o),i(t,a),i(a,e),i(a,r),i(a,c),i(a,f),i(t,d),i(d,b),i(d,x),i(t,E)},p(u,o){o&1&&s!==(s=u[1].playerName+"")&&A(c,s),o&1&&p!==(p=u[1].value+"")&&A(b,p)},d(u){u&&m(t)}}}function W(l){let t,a=C(l[0]),e=[];for(let n=0;n<a.length;n+=1)e[n]=V(N(l,a,n));return{c(){t=g("ul");for(let n=0;n<e.length;n+=1)e[n].c();this.h()},l(n){t=v(n,"UL",{class:!0});var r=$(t);for(let s=0;s<e.length;s+=1)e[s].l(r);r.forEach(m),this.h()},h(){h(t,"class","leaderboard svelte-13k6dxr")},m(n,r){G(n,t,r);for(let s=0;s<e.length;s+=1)e[s]&&e[s].m(t,null)},p(n,[r]){if(r&1){a=C(n[0]);let s;for(s=0;s<a.length;s+=1){const c=N(n,a,s);e[s]?e[s].p(c,r):(e[s]=V(c),e[s].c(),e[s].m(t,null))}for(;s<e.length;s+=1)e[s].d(1);e.length=a.length}},i:q,o:q,d(n){n&&m(t),F(e,n)}}}function X(l,t,a){let{scores:e=[]}=t;return l.$$set=n=>{"scores"in n&&a(0,e=n.scores)},[e]}class Y extends w{constructor(t){super(),z(this,t,X,W,j,{scores:0})}}function Z(l){let t,a,e;function n(s){l[1](s)}let r={};return l[0]!==void 0&&(r.scores=l[0]),t=new Y({props:r}),P.push(()=>H(t,"scores",n)),{c(){J(t.$$.fragment)},l(s){K(t.$$.fragment,s)},m(s,c){O(t,s,c),e=!0},p(s,[c]){const f={};!a&&c&1&&(a=!0,f.scores=s[0],U(()=>a=!1)),t.$set(f)},i(s){e||(Q(t.$$.fragment,s),e=!0)},o(s){R(t.$$.fragment,s),e=!1},d(s){T(t,s)}}}function ee(l,t,a){let e;y(l,B,r=>a(0,e=r));function n(r){e=r,B.set(e)}return[e,n]}class ae extends w{constructor(t){super(),z(this,t,ee,Z,j,{})}}export{ae as component};

View File

@@ -0,0 +1 @@
import{s as r,n as a}from"../chunks/scheduler.t-3xYmlC.js";import{S as i,i as l,e as m,c,g as p,a as d,d as f}from"../chunks/index.Dz99_Qdh.js";function u(s){let e,n="It was revealed to me in a dream";return{c(){e=m("p"),e.textContent=n},l(t){e=c(t,"P",{"data-svelte-h":!0}),p(e)!=="svelte-nwzi5w"&&(e.textContent=n)},m(t,o){d(t,e,o)},p:a,i:a,o:a,d(t){t&&f(e)}}}class v extends i{constructor(e){super(),l(this,e,null,u,r,{})}}export{v as component};

View File

@@ -0,0 +1 @@
import{_ as A}from"../chunks/preload-helper.C1FmrZbK.js";import{s as Y,n as N,r as z,o as F}from"../chunks/scheduler.t-3xYmlC.js";import{S as G,i as H,e as m,l as Q,s as I,t as T,c as f,b as p,m as S,d as v,h as C,f as R,g as J,n as e,a as K,j as s,o as O,p as U}from"../chunks/index.Dz99_Qdh.js";import{s as W}from"../chunks/scoreStore.BJlEo5Dk.js";function X(w){let a,r,l,t,y,o,h,_,$,V,n,i,j,d,B="Let's roll !",k,b,P,L;return{c(){a=m("div"),r=m("div"),l=Q("svg"),t=Q("circle"),y=I(),o=m("div"),h=T("Rolling a random numbers within range 0-"),_=T(D),$=T("..."),V=I(),n=m("div"),i=m("input"),j=I(),d=m("button"),d.textContent=B,k=I(),b=m("div"),this.h()},l(c){a=f(c,"DIV",{class:!0});var u=p(a);r=f(u,"DIV",{class:!0});var x=p(r);l=S(x,"svg",{class:!0,viewBox:!0});var M=p(l);t=S(M,"circle",{class:!0,cx:!0,cy:!0,r:!0,fill:!0,stroke:!0,"stroke-width":!0}),p(t).forEach(v),M.forEach(v),y=C(x),o=f(x,"DIV",{class:!0});var E=p(o);h=R(E,"Rolling a random numbers within range 0-"),_=R(E,D),$=R(E,"..."),E.forEach(v),x.forEach(v),V=C(u),n=f(u,"DIV",{class:!0});var g=p(n);i=f(g,"INPUT",{class:!0,placeholder:!0}),j=C(g),d=f(g,"BUTTON",{class:!0,"data-svelte-h":!0}),J(d)!=="svelte-bef7me"&&(d.textContent=B),k=C(g),b=f(g,"DIV",{class:!0}),p(b).forEach(v),g.forEach(v),u.forEach(v),this.h()},h(){e(t,"class","loader-path svelte-31d80g"),e(t,"cx","15"),e(t,"cy","15"),e(t,"r","5"),e(t,"fill","none"),e(t,"stroke","#f1ecec"),e(t,"stroke-width","0.7"),e(l,"class","circular-loader svelte-31d80g"),e(l,"viewBox","0 0 30 30"),e(o,"class","info"),e(r,"class","loader disabled svelte-31d80g"),e(i,"class","name svelte-31d80g"),e(i,"placeholder","Your name"),e(d,"class","svelte-31d80g"),e(b,"class","result"),e(n,"class","player svelte-31d80g"),e(a,"class","container svelte-31d80g")},m(c,u){K(c,a,u),s(a,r),s(r,l),s(l,t),s(r,y),s(r,o),s(o,h),s(o,_),s(o,$),s(a,V),s(a,n),s(n,i),O(i,w[0]),s(n,j),s(n,d),s(n,k),s(n,b),P||(L=[U(i,"input",w[2]),U(d,"click",w[1])],P=!0)},p(c,[u]){u&1&&i.value!==c[0]&&O(i,c[0])},i:N,o:N,d(c){c&&v(a),P=!1,z(L)}}}let D=100;function q(){window.$(".loader").toggleClass("disabled"),window.$(".player").toggleClass("disabled")}function Z(w,a,r){let l,t=0;F(async()=>{const _=(await A(()=>import("../chunks/jquery.DayQ7gTg.js").then($=>$.j),[],import.meta.url)).default;window.$=_,window.jQuery=_});async function y(){q(),t=Math.floor(Math.random()*(D+1)),await new Promise(h=>setTimeout(h,3e3)),q(),window.$(".result").text(`Result : ${t}/${D}`),W.add(l,t)}function o(){l=this.value,r(0,l)}return[l,y,o]}class le extends G{constructor(a){super(),H(this,a,Z,X,Y,{})}}export{le as component};

View File

@@ -0,0 +1 @@
{"version":"1728922282538"}

View File

@@ -0,0 +1,105 @@
{
".svelte-kit/generated/server/internal.js": {
"file": "internal.js",
"name": "internal",
"src": ".svelte-kit/generated/server/internal.js",
"isEntry": true,
"imports": [
"_internal.js"
]
},
"_exports.js": {
"file": "chunks/exports.js",
"name": "exports"
},
"_index.js": {
"file": "chunks/index.js",
"name": "index",
"imports": [
"_ssr.js"
]
},
"_internal.js": {
"file": "chunks/internal.js",
"name": "internal",
"imports": [
"_ssr.js"
]
},
"_scoreStore.js": {
"file": "chunks/scoreStore.js",
"name": "scoreStore",
"imports": [
"_index.js"
]
},
"_ssr.js": {
"file": "chunks/ssr.js",
"name": "ssr"
},
"node_modules/@sveltejs/kit/src/runtime/components/svelte-4/error.svelte": {
"file": "entries/fallbacks/error.svelte.js",
"name": "entries/fallbacks/error.svelte",
"src": "node_modules/@sveltejs/kit/src/runtime/components/svelte-4/error.svelte",
"isEntry": true,
"imports": [
"_ssr.js",
"_exports.js"
]
},
"node_modules/@sveltejs/kit/src/runtime/server/index.js": {
"file": "index.js",
"name": "index",
"src": "node_modules/@sveltejs/kit/src/runtime/server/index.js",
"isEntry": true,
"imports": [
"_internal.js",
"_exports.js",
"_index.js"
]
},
"src/routes/+layout.svelte": {
"file": "entries/pages/_layout.svelte.js",
"name": "entries/pages/_layout.svelte",
"src": "src/routes/+layout.svelte",
"isEntry": true,
"imports": [
"_ssr.js"
]
},
"src/routes/+page.svelte": {
"file": "entries/pages/_page.svelte.js",
"name": "entries/pages/_page.svelte",
"src": "src/routes/+page.svelte",
"isEntry": true,
"imports": [
"_ssr.js",
"_scoreStore.js"
],
"css": [
"_app/immutable/assets/_page.DxlxdAfj.css"
]
},
"src/routes/about/+page.svelte": {
"file": "entries/pages/about/_page.svelte.js",
"name": "entries/pages/about/_page.svelte",
"src": "src/routes/about/+page.svelte",
"isEntry": true,
"imports": [
"_ssr.js"
]
},
"src/routes/play/+page.svelte": {
"file": "entries/pages/play/_page.svelte.js",
"name": "entries/pages/play/_page.svelte",
"src": "src/routes/play/+page.svelte",
"isEntry": true,
"imports": [
"_ssr.js",
"_scoreStore.js"
],
"css": [
"_app/immutable/assets/_page.T_78NcA1.css"
]
}
}

View File

@@ -0,0 +1 @@
.leaderboard.svelte-13k6dxr{display:flex;flex-direction:column;width:60vw;height:65vh;padding:0 2vw 2vw;overflow:scroll;overflow-x:hidden}.leaderboard.svelte-13k6dxr::-webkit-scrollbar{display:none}li.svelte-13k6dxr{display:flex;justify-content:space-around;padding:1.25vh;margin:1.5vh;border:2px solid #A1674A;border-radius:10px;background-color:#f1ecec;box-shadow:0 0 10px #343232}li.svelte-13k6dxr:hover{transform:scale(1.075);background-color:#f5f5f5}.name.svelte-13k6dxr,.score.svelte-13k6dxr{color:#000;margin-left:3vh}.name.svelte-13k6dxr{flex-grow:100;border-right:1px solid #A1674A}.score.svelte-13k6dxr{flex-grow:20;text-align:center}

View File

@@ -0,0 +1 @@
.container.svelte-31d80g,.player.svelte-31d80g{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.disabled.svelte-31d80g{display:none}.player.svelte-31d80g{gap:2vh}.name.svelte-31d80g{width:17vw;height:6vh;border:2px solid #A1674A;border-radius:10px;box-shadow:0 0 10px #343232}.circular-loader.svelte-31d80g{stroke-dasharray:100,125;stroke-dashoffset:-5;animation:svelte-31d80g-rotate 2s ease-in-out infinite;stroke-linecap:round}.loader-path.svelte-31d80g{width:25vw;height:25vh}button.svelte-31d80g{color:#000;width:18vw;height:15vh;border-radius:10px;background-color:#f1ecec;border:2px solid #A1674A;background-size:1800% 1800%;box-shadow:0 0 10px #343232}.name.svelte-31d80g:hover,button.svelte-31d80g:hover{transform:scale(1.1)}@keyframes svelte-31d80g-rotate{to{transform:rotate(360deg)}}

View File

@@ -0,0 +1,198 @@
const internal = new URL("sveltekit-internal://");
function resolve(base, path) {
if (path[0] === "/" && path[1] === "/") return path;
let url = new URL(base, internal);
url = new URL(path, url);
return url.protocol === internal.protocol ? url.pathname + url.search + url.hash : url.href;
}
function normalize_path(path, trailing_slash) {
if (path === "/" || trailing_slash === "ignore") return path;
if (trailing_slash === "never") {
return path.endsWith("/") ? path.slice(0, -1) : path;
} else if (trailing_slash === "always" && !path.endsWith("/")) {
return path + "/";
}
return path;
}
function decode_pathname(pathname) {
return pathname.split("%25").map(decodeURI).join("%25");
}
function decode_params(params) {
for (const key in params) {
params[key] = decodeURIComponent(params[key]);
}
return params;
}
const tracked_url_properties = (
/** @type {const} */
[
"href",
"pathname",
"search",
"toString",
"toJSON"
]
);
function make_trackable(url, callback, search_params_callback) {
const tracked = new URL(url);
Object.defineProperty(tracked, "searchParams", {
value: new Proxy(tracked.searchParams, {
get(obj, key) {
if (key === "get" || key === "getAll" || key === "has") {
return (param) => {
search_params_callback(param);
return obj[key](param);
};
}
callback();
const value = Reflect.get(obj, key);
return typeof value === "function" ? value.bind(obj) : value;
}
}),
enumerable: true,
configurable: true
});
for (const property of tracked_url_properties) {
Object.defineProperty(tracked, property, {
get() {
callback();
return url[property];
},
enumerable: true,
configurable: true
});
}
{
tracked[Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => {
return inspect(url, opts);
};
tracked.searchParams[Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => {
return inspect(url.searchParams, opts);
};
}
{
disable_hash(tracked);
}
return tracked;
}
function disable_hash(url) {
allow_nodejs_console_log(url);
Object.defineProperty(url, "hash", {
get() {
throw new Error(
"Cannot access event.url.hash. Consider using `$page.url.hash` inside a component instead"
);
}
});
}
function disable_search(url) {
allow_nodejs_console_log(url);
for (const property of ["search", "searchParams"]) {
Object.defineProperty(url, property, {
get() {
throw new Error(`Cannot access url.${property} on a page with prerendering enabled`);
}
});
}
}
function allow_nodejs_console_log(url) {
{
url[Symbol.for("nodejs.util.inspect.custom")] = (depth, opts, inspect) => {
return inspect(new URL(url), opts);
};
}
}
const DATA_SUFFIX = "/__data.json";
const HTML_DATA_SUFFIX = ".html__data.json";
function has_data_suffix(pathname) {
return pathname.endsWith(DATA_SUFFIX) || pathname.endsWith(HTML_DATA_SUFFIX);
}
function add_data_suffix(pathname) {
if (pathname.endsWith(".html")) return pathname.replace(/\.html$/, HTML_DATA_SUFFIX);
return pathname.replace(/\/$/, "") + DATA_SUFFIX;
}
function strip_data_suffix(pathname) {
if (pathname.endsWith(HTML_DATA_SUFFIX)) {
return pathname.slice(0, -HTML_DATA_SUFFIX.length) + ".html";
}
return pathname.slice(0, -DATA_SUFFIX.length);
}
function validator(expected) {
function validate(module, file) {
if (!module) return;
for (const key in module) {
if (key[0] === "_" || expected.has(key)) continue;
const values = [...expected.values()];
const hint = hint_for_supported_files(key, file?.slice(file.lastIndexOf("."))) ?? `valid exports are ${values.join(", ")}, or anything with a '_' prefix`;
throw new Error(`Invalid export '${key}'${file ? ` in ${file}` : ""} (${hint})`);
}
}
return validate;
}
function hint_for_supported_files(key, ext = ".js") {
const supported_files = [];
if (valid_layout_exports.has(key)) {
supported_files.push(`+layout${ext}`);
}
if (valid_page_exports.has(key)) {
supported_files.push(`+page${ext}`);
}
if (valid_layout_server_exports.has(key)) {
supported_files.push(`+layout.server${ext}`);
}
if (valid_page_server_exports.has(key)) {
supported_files.push(`+page.server${ext}`);
}
if (valid_server_exports.has(key)) {
supported_files.push(`+server${ext}`);
}
if (supported_files.length > 0) {
return `'${key}' is a valid export in ${supported_files.slice(0, -1).join(", ")}${supported_files.length > 1 ? " or " : ""}${supported_files.at(-1)}`;
}
}
const valid_layout_exports = /* @__PURE__ */ new Set([
"load",
"prerender",
"csr",
"ssr",
"trailingSlash",
"config"
]);
const valid_page_exports = /* @__PURE__ */ new Set([...valid_layout_exports, "entries"]);
const valid_layout_server_exports = /* @__PURE__ */ new Set([...valid_layout_exports]);
const valid_page_server_exports = /* @__PURE__ */ new Set([...valid_layout_server_exports, "actions", "entries"]);
const valid_server_exports = /* @__PURE__ */ new Set([
"GET",
"POST",
"PATCH",
"PUT",
"DELETE",
"OPTIONS",
"HEAD",
"fallback",
"prerender",
"trailingSlash",
"config",
"entries"
]);
const validate_layout_exports = validator(valid_layout_exports);
const validate_page_exports = validator(valid_page_exports);
const validate_layout_server_exports = validator(valid_layout_server_exports);
const validate_page_server_exports = validator(valid_page_server_exports);
const validate_server_exports = validator(valid_server_exports);
export {
add_data_suffix as a,
decode_pathname as b,
decode_params as c,
disable_search as d,
validate_layout_exports as e,
validate_page_server_exports as f,
validate_page_exports as g,
has_data_suffix as h,
validate_server_exports as i,
make_trackable as m,
normalize_path as n,
resolve as r,
strip_data_suffix as s,
validate_layout_server_exports as v
};

View File

@@ -0,0 +1,52 @@
import { n as noop, f as safe_not_equal } from "./ssr.js";
const subscriber_queue = [];
function readable(value, start) {
return {
subscribe: writable(value, start).subscribe
};
}
function writable(value, start = noop) {
let stop;
const subscribers = /* @__PURE__ */ new Set();
function set(new_value) {
if (safe_not_equal(value, new_value)) {
value = new_value;
if (stop) {
const run_queue = !subscriber_queue.length;
for (const subscriber of subscribers) {
subscriber[1]();
subscriber_queue.push(subscriber, value);
}
if (run_queue) {
for (let i = 0; i < subscriber_queue.length; i += 2) {
subscriber_queue[i][0](subscriber_queue[i + 1]);
}
subscriber_queue.length = 0;
}
}
}
}
function update(fn) {
set(fn(value));
}
function subscribe(run, invalidate = noop) {
const subscriber = [run, invalidate];
subscribers.add(subscriber);
if (subscribers.size === 1) {
stop = start(set, update) || noop;
}
run(value);
return () => {
subscribers.delete(subscriber);
if (subscribers.size === 0 && stop) {
stop();
stop = null;
}
};
}
return { set, update, subscribe };
}
export {
readable as r,
writable as w
};

View File

@@ -0,0 +1,230 @@
import { c as create_ssr_component, s as setContext, v as validate_component, m as missing_component } from "./ssr.js";
let base = "";
let assets = base;
const initial = { base, assets };
function override(paths) {
base = paths.base;
assets = paths.assets;
}
function reset() {
base = initial.base;
assets = initial.assets;
}
function set_assets(path) {
assets = initial.assets = path;
}
let public_env = {};
let safe_public_env = {};
function set_private_env(environment) {
}
function set_public_env(environment) {
public_env = environment;
}
function set_safe_public_env(environment) {
safe_public_env = environment;
}
function afterUpdate() {
}
let prerendering = false;
function set_building() {
}
function set_prerendering() {
prerendering = true;
}
const Root = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let { stores } = $$props;
let { page } = $$props;
let { constructors } = $$props;
let { components = [] } = $$props;
let { form } = $$props;
let { data_0 = null } = $$props;
let { data_1 = null } = $$props;
{
setContext("__svelte__", stores);
}
afterUpdate(stores.page.notify);
if ($$props.stores === void 0 && $$bindings.stores && stores !== void 0) $$bindings.stores(stores);
if ($$props.page === void 0 && $$bindings.page && page !== void 0) $$bindings.page(page);
if ($$props.constructors === void 0 && $$bindings.constructors && constructors !== void 0) $$bindings.constructors(constructors);
if ($$props.components === void 0 && $$bindings.components && components !== void 0) $$bindings.components(components);
if ($$props.form === void 0 && $$bindings.form && form !== void 0) $$bindings.form(form);
if ($$props.data_0 === void 0 && $$bindings.data_0 && data_0 !== void 0) $$bindings.data_0(data_0);
if ($$props.data_1 === void 0 && $$bindings.data_1 && data_1 !== void 0) $$bindings.data_1(data_1);
let $$settled;
let $$rendered;
let previous_head = $$result.head;
do {
$$settled = true;
$$result.head = previous_head;
{
stores.page.set(page);
}
$$rendered = ` ${constructors[1] ? `${validate_component(constructors[0] || missing_component, "svelte:component").$$render(
$$result,
{ data: data_0, this: components[0] },
{
this: ($$value) => {
components[0] = $$value;
$$settled = false;
}
},
{
default: () => {
return `${validate_component(constructors[1] || missing_component, "svelte:component").$$render(
$$result,
{ data: data_1, form, this: components[1] },
{
this: ($$value) => {
components[1] = $$value;
$$settled = false;
}
},
{}
)}`;
}
}
)}` : `${validate_component(constructors[0] || missing_component, "svelte:component").$$render(
$$result,
{ data: data_0, form, this: components[0] },
{
this: ($$value) => {
components[0] = $$value;
$$settled = false;
}
},
{}
)}`} ${``}`;
} while (!$$settled);
return $$rendered;
});
function set_read_implementation(fn) {
}
function set_manifest(_) {
}
const options = {
app_dir: "_app",
app_template_contains_nonce: false,
csp: { "mode": "auto", "directives": { "upgrade-insecure-requests": false, "block-all-mixed-content": false }, "reportOnly": { "upgrade-insecure-requests": false, "block-all-mixed-content": false } },
csrf_check_origin: true,
embedded: false,
env_public_prefix: "PUBLIC_",
env_private_prefix: "",
hooks: null,
// added lazily, via `get_hooks`
preload_strategy: "modulepreload",
root: Root,
service_worker: false,
templates: {
app: ({ head, body, assets: assets2, nonce, env }) => `<!doctype html>
<html lang="en">
<head>
<title>Unluckiest</title>
<link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Afacad+Flux">
<style>
body {
font-family: 'Afacad Flux', serif;
font-size: 48px;
}
</style>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="` + assets2 + '/style/app.css" />\n <link rel="stylesheet" href="' + assets2 + '/style/menu.css" />\n\n <link rel="icon" href="' + assets2 + '/favicon.png" />\n\n ' + head + '\n </head>\n <body data-sveltekit-preload-data="hover">\n <div style="display: contents">' + body + "</div>\n </body>\n</html>\n",
error: ({ status, message }) => '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="utf-8" />\n <title>' + message + `</title>
<style>
body {
--bg: white;
--fg: #222;
--divider: #ccc;
background: var(--bg);
color: var(--fg);
font-family:
system-ui,
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
Oxygen,
Ubuntu,
Cantarell,
'Open Sans',
'Helvetica Neue',
sans-serif;
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
margin: 0;
}
.error {
display: flex;
align-items: center;
max-width: 32rem;
margin: 0 1rem;
}
.status {
font-weight: 200;
font-size: 3rem;
line-height: 1;
position: relative;
top: -0.05rem;
}
.message {
border-left: 1px solid var(--divider);
padding: 0 0 0 1rem;
margin: 0 0 0 1rem;
min-height: 2.5rem;
display: flex;
align-items: center;
}
.message h1 {
font-weight: 400;
font-size: 1em;
margin: 0;
}
@media (prefers-color-scheme: dark) {
body {
--bg: #222;
--fg: #ddd;
--divider: #666;
}
}
</style>
</head>
<body>
<div class="error">
<span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
},
version_hash: "vmq992"
};
async function get_hooks() {
return {};
}
export {
assets as a,
base as b,
options as c,
set_private_env as d,
prerendering as e,
set_public_env as f,
get_hooks as g,
set_safe_public_env as h,
set_assets as i,
set_building as j,
set_manifest as k,
set_prerendering as l,
set_read_implementation as m,
override as o,
public_env as p,
reset as r,
safe_public_env as s
};

View File

@@ -0,0 +1,35 @@
import { w as writable } from "./index.js";
class Score {
playerName;
value;
constructor({ playerName = "", value = 0 }) {
this.playerName = playerName;
this.value = value;
}
}
let localStorageKey = "scores";
function isBrowser() {
return typeof window !== "undefined" && typeof window.localStorage !== "undefined";
}
function createStore() {
const storedValue = isBrowser() ? localStorage.getItem(localStorageKey) : null;
const { set, update, subscribe } = writable(!storedValue ? [] : JSON.parse(storedValue));
if (isBrowser()) subscribe((value) => localStorage.setItem(localStorageKey, JSON.stringify(value)));
return {
update,
subscribe,
set: (value) => set(!value ? [] : value),
reset: () => set([]),
add: (playerName, value) => {
update((scores) => {
let s = [...scores, new Score({ playerName, value })];
if (s.length >= 2) s.sort((s1, s2) => s1.value - s2.value);
return s;
});
}
};
}
const scoreStore = createStore();
export {
scoreStore as s
};

View File

@@ -0,0 +1,133 @@
function noop() {
}
function run(fn) {
return fn();
}
function blank_object() {
return /* @__PURE__ */ Object.create(null);
}
function run_all(fns) {
fns.forEach(run);
}
function safe_not_equal(a, b) {
return a != a ? b == b : a !== b || a && typeof a === "object" || typeof a === "function";
}
function subscribe(store, ...callbacks) {
if (store == null) {
for (const callback of callbacks) {
callback(void 0);
}
return noop;
}
const unsub = store.subscribe(...callbacks);
return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;
}
let current_component;
function set_current_component(component) {
current_component = component;
}
function get_current_component() {
if (!current_component) throw new Error("Function called outside component initialization");
return current_component;
}
function setContext(key, context) {
get_current_component().$$.context.set(key, context);
return context;
}
function getContext(key) {
return get_current_component().$$.context.get(key);
}
function ensure_array_like(array_like_or_iterator) {
return array_like_or_iterator?.length !== void 0 ? array_like_or_iterator : Array.from(array_like_or_iterator);
}
const ATTR_REGEX = /[&"<]/g;
const CONTENT_REGEX = /[&<]/g;
function escape(value, is_attr = false) {
const str = String(value);
const pattern = is_attr ? ATTR_REGEX : CONTENT_REGEX;
pattern.lastIndex = 0;
let escaped = "";
let last = 0;
while (pattern.test(str)) {
const i = pattern.lastIndex - 1;
const ch = str[i];
escaped += str.substring(last, i) + (ch === "&" ? "&amp;" : ch === '"' ? "&quot;" : "&lt;");
last = i + 1;
}
return escaped + str.substring(last);
}
function each(items, fn) {
items = ensure_array_like(items);
let str = "";
for (let i = 0; i < items.length; i += 1) {
str += fn(items[i], i);
}
return str;
}
const missing_component = {
$$render: () => ""
};
function validate_component(component, name) {
if (!component || !component.$$render) {
if (name === "svelte:component") name += " this={...}";
throw new Error(
`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules. Otherwise you may need to fix a <${name}>.`
);
}
return component;
}
let on_destroy;
function create_ssr_component(fn) {
function $$render(result, props, bindings, slots, context) {
const parent_component = current_component;
const $$ = {
on_destroy,
context: new Map(context || (parent_component ? parent_component.$$.context : [])),
// these will be immediately discarded
on_mount: [],
before_update: [],
after_update: [],
callbacks: blank_object()
};
set_current_component({ $$ });
const html = fn(result, props, bindings, slots);
set_current_component(parent_component);
return html;
}
return {
render: (props = {}, { $$slots = {}, context = /* @__PURE__ */ new Map() } = {}) => {
on_destroy = [];
const result = { title: "", head: "", css: /* @__PURE__ */ new Set() };
const html = $$render(result, props, {}, $$slots, context);
run_all(on_destroy);
return {
html,
css: {
code: Array.from(result.css).map((css) => css.code).join("\n"),
map: null
// TODO
},
head: result.title + result.head
};
},
$$render
};
}
function add_attribute(name, value, boolean) {
if (value == null || boolean) return "";
const assignment = `="${escape(value, true)}"`;
return ` ${name}${assignment}`;
}
export {
add_attribute as a,
subscribe as b,
create_ssr_component as c,
each as d,
escape as e,
safe_not_equal as f,
getContext as g,
missing_component as m,
noop as n,
setContext as s,
validate_component as v
};

View File

@@ -0,0 +1,42 @@
import { g as getContext, c as create_ssr_component, b as subscribe, e as escape } from "../../chunks/ssr.js";
import "../../chunks/exports.js";
function get(key, parse = JSON.parse) {
try {
return parse(sessionStorage[key]);
} catch {
}
}
const SNAPSHOT_KEY = "sveltekit:snapshot";
const SCROLL_KEY = "sveltekit:scroll";
get(SCROLL_KEY) ?? {};
get(SNAPSHOT_KEY) ?? {};
const getStores = () => {
const stores = getContext("__svelte__");
return {
/** @type {typeof page} */
page: {
subscribe: stores.page.subscribe
},
/** @type {typeof navigating} */
navigating: {
subscribe: stores.navigating.subscribe
},
/** @type {typeof updated} */
updated: stores.updated
};
};
const page = {
subscribe(fn) {
const store = getStores().page;
return store.subscribe(fn);
}
};
const Error$1 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let $page, $$unsubscribe_page;
$$unsubscribe_page = subscribe(page, (value) => $page = value);
$$unsubscribe_page();
return `<h1>${escape($page.status)}</h1> <p>${escape($page.error?.message)}</p>`;
});
export {
Error$1 as default
};

View File

@@ -0,0 +1,9 @@
import { c as create_ssr_component, a as add_attribute } from "../../chunks/ssr.js";
const github_mark = "data:image/svg+xml,%3csvg%20width='98'%20height='96'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M48.854%200C21.839%200%200%2022%200%2049.217c0%2021.756%2013.993%2040.172%2033.405%2046.69%202.427.49%203.316-1.059%203.316-2.362%200-1.141-.08-5.052-.08-9.127-13.59%202.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015%204.934.326%207.523%205.052%207.523%205.052%204.367%207.496%2011.404%205.378%2014.235%204.074.404-3.178%201.699-5.378%203.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283%200-5.378%201.94-9.778%205.014-13.2-.485-1.222-2.184-6.275.486-13.038%200%200%204.125-1.304%2013.426%205.052a46.97%2046.97%200%200%201%2012.214-1.63c4.125%200%208.33.571%2012.213%201.63%209.302-6.356%2013.427-5.052%2013.427-5.052%202.67%206.763.97%2011.816.485%2013.038%203.155%203.422%205.015%207.822%205.015%2013.2%200%2018.905-11.404%2023.06-22.324%2024.283%201.78%201.548%203.316%204.481%203.316%209.126%200%206.6-.08%2011.897-.08%2013.526%200%201.304.89%202.853%203.316%202.364%2019.412-6.52%2033.405-24.935%2033.405-46.691C97.707%2022%2075.788%200%2048.854%200z'%20fill='%23fff'/%3e%3c/svg%3e";
const twitter_mark = "data:image/svg+xml,%3csvg%20fill='%23FFFFFF'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2050%2050'%20width='50px'%20height='50px'%3e%3cpath%20d='M%2050.0625%2010.4375%20C%2048.214844%2011.257813%2046.234375%2011.808594%2044.152344%2012.058594%20C%2046.277344%2010.785156%2047.910156%208.769531%2048.675781%206.371094%20C%2046.691406%207.546875%2044.484375%208.402344%2042.144531%208.863281%20C%2040.269531%206.863281%2037.597656%205.617188%2034.640625%205.617188%20C%2028.960938%205.617188%2024.355469%2010.21875%2024.355469%2015.898438%20C%2024.355469%2016.703125%2024.449219%2017.488281%2024.625%2018.242188%20C%2016.078125%2017.8125%208.503906%2013.71875%203.429688%207.496094%20C%202.542969%209.019531%202.039063%2010.785156%202.039063%2012.667969%20C%202.039063%2016.234375%203.851563%2019.382813%206.613281%2021.230469%20C%204.925781%2021.175781%203.339844%2020.710938%201.953125%2019.941406%20C%201.953125%2019.984375%201.953125%2020.027344%201.953125%2020.070313%20C%201.953125%2025.054688%205.5%2029.207031%2010.199219%2030.15625%20C%209.339844%2030.390625%208.429688%2030.515625%207.492188%2030.515625%20C%206.828125%2030.515625%206.183594%2030.453125%205.554688%2030.328125%20C%206.867188%2034.410156%2010.664063%2037.390625%2015.160156%2037.472656%20C%2011.644531%2040.230469%207.210938%2041.871094%202.390625%2041.871094%20C%201.558594%2041.871094%200.742188%2041.824219%20-0.0585938%2041.726563%20C%204.488281%2044.648438%209.894531%2046.347656%2015.703125%2046.347656%20C%2034.617188%2046.347656%2044.960938%2030.679688%2044.960938%2017.09375%20C%2044.960938%2016.648438%2044.949219%2016.199219%2044.933594%2015.761719%20C%2046.941406%2014.3125%2048.683594%2012.5%2050.0625%2010.4375%20Z'/%3e%3c/svg%3e";
const Layout = create_ssr_component(($$result, $$props, $$bindings, slots) => {
return `<div class="menu-collapsed" data-svelte-h="svelte-1e7h1m1"><div class="burger"></div> <nav><a href="/">Leaderboard</a> <a href="/play">Play</a> <a href="/about">About</a></nav></div> <div class="container">${slots.default ? slots.default({}) : ``}</div> <footer data-svelte-h="svelte-1urjbwz"><a href="https://github.com/naaturel"><img${add_attribute("src", github_mark, 0)} height="30" width="30" alt="Github mark"></a> <a href="https://twitter.com/naaturel_"><img${add_attribute("src", twitter_mark, 0)} height="30" width="30" alt="Twitter mark"></a></footer>`;
});
export {
Layout as default
};

View File

@@ -0,0 +1,41 @@
import { c as create_ssr_component, d as each, e as escape, b as subscribe, v as validate_component } from "../../chunks/ssr.js";
import { s as scoreStore } from "../../chunks/scoreStore.js";
const css = {
code: ".leaderboard.svelte-13k6dxr{display:flex;flex-direction:column;width:60vw;height:65vh;padding:0 2vw 2vw 2vw;overflow:scroll;overflow-x:hidden}.leaderboard.svelte-13k6dxr::-webkit-scrollbar{display:none}li.svelte-13k6dxr{display:flex;justify-content:space-around;padding:1.25vh;margin:1.5vh;border:2px solid #A1674A;border-radius:10px;background-color:#f1ecec;box-shadow:0 0 10px #343232}li.svelte-13k6dxr:hover{transform:scale(1.075);background-color:#F5F5F5}.name.svelte-13k6dxr,.score.svelte-13k6dxr{color:black;margin-left:3vh}.name.svelte-13k6dxr{flex-grow:100;border-right:1px solid #A1674A}.score.svelte-13k6dxr{flex-grow:20;text-align:center}",
map: '{"version":3,"file":"LeaderBoard.svelte","sources":["LeaderBoard.svelte"],"sourcesContent":["<script>\\r\\n\\r\\n export let scores = []\\r\\n\\r\\n<\/script>\\r\\n\\r\\n<ul class=\\"leaderboard\\">\\r\\n\\r\\n {#each scores as score, i}\\r\\n <li class=\\"item\\">\\r\\n <div class=\\"name\\"><img src=\\"\\" alt=\\"\\"/> {score.playerName} </div><div class=\\"score\\"> {score.value} pts.</div>\\r\\n </li>\\r\\n {/each}\\r\\n\\r\\n</ul>\\r\\n\\r\\n<style>\\r\\n\\r\\n .leaderboard\\r\\n {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n\\r\\n width: 60vw;\\r\\n height: 65vh;\\r\\n\\r\\n padding: 0 2vw 2vw 2vw;\\r\\n overflow: scroll;\\r\\n overflow-x: hidden;\\r\\n }\\r\\n\\r\\n .leaderboard::-webkit-scrollbar {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n li\\r\\n {\\r\\n display: flex;\\r\\n justify-content: space-around;\\r\\n padding: 1.25vh;\\r\\n margin: 1.5vh;\\r\\n border: 2px solid #A1674A;\\r\\n border-radius: 10px;\\r\\n background-color: #f1ecec;\\r\\n box-shadow: 0 0 10px #343232;\\r\\n }\\r\\n\\r\\n li:hover\\r\\n {\\r\\n transform: scale(1.075);\\r\\n background-color: #F5F5F5;\\r\\n }\\r\\n\\r\\n .name, .score\\r\\n {\\r\\n color: black;\\r\\n margin-left: 3vh;\\r\\n }\\r\\n\\r\\n .name\\r\\n {\\r\\n flex-grow: 100;\\r\\n border-right: 1px solid #A1674A;\\r\\n }\\r\\n\\r\\n .score\\r\\n {\\r\\n flex-grow: 20;\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n</style>"],"names":[],"mappings":"AAkBI,2BACA,CACI,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CAEtB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAEZ,OAAO,CAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CACtB,QAAQ,CAAE,MAAM,CAChB,UAAU,CAAE,MAChB,CAEA,2BAAY,mBAAoB,CAC5B,OAAO,CAAE,IACb,CAEA,iBACA,CACI,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,YAAY,CAC7B,OAAO,CAAE,MAAM,CACf,MAAM,CAAE,KAAK,CACb,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CACzB,aAAa,CAAE,IAAI,CACnB,gBAAgB,CAAE,OAAO,CACzB,UAAU,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OACzB,CAEA,iBAAE,MACF,CACI,SAAS,CAAE,MAAM,KAAK,CAAC,CACvB,gBAAgB,CAAE,OACtB,CAEA,oBAAK,CAAE,qBACP,CACI,KAAK,CAAE,KAAK,CACZ,WAAW,CAAE,GACjB,CAEA,oBACA,CACI,SAAS,CAAE,GAAG,CACd,YAAY,CAAE,GAAG,CAAC,KAAK,CAAC,OAC5B,CAEA,qBACA,CACI,SAAS,CAAE,EAAE,CACb,UAAU,CAAE,MAChB"}'
};
const LeaderBoard = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let { scores = [] } = $$props;
if ($$props.scores === void 0 && $$bindings.scores && scores !== void 0) $$bindings.scores(scores);
$$result.css.add(css);
return `<ul class="leaderboard svelte-13k6dxr">${each(scores, (score, i) => {
return `<li class="item svelte-13k6dxr"><div class="name svelte-13k6dxr"><img src="" alt=""> ${escape(score.playerName)} </div><div class="score svelte-13k6dxr">${escape(score.value)} pts.</div> </li>`;
})} </ul>`;
});
const Page = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let $scoreStore, $$unsubscribe_scoreStore;
$$unsubscribe_scoreStore = subscribe(scoreStore, (value) => $scoreStore = value);
let $$settled;
let $$rendered;
let previous_head = $$result.head;
do {
$$settled = true;
$$result.head = previous_head;
$$rendered = `${validate_component(LeaderBoard, "LeaderBoard").$$render(
$$result,
{ scores: $scoreStore },
{
scores: ($$value) => {
$scoreStore = $$value;
$$settled = false;
}
},
{}
)}`;
} while (!$$settled);
$$unsubscribe_scoreStore();
return $$rendered;
});
export {
Page as default
};

View File

@@ -0,0 +1,7 @@
import { c as create_ssr_component } from "../../../chunks/ssr.js";
const Page = create_ssr_component(($$result, $$props, $$bindings, slots) => {
return `<p data-svelte-h="svelte-nwzi5w">It was revealed to me in a dream</p>`;
});
export {
Page as default
};

View File

@@ -0,0 +1,15 @@
import { c as create_ssr_component, e as escape, a as add_attribute } from "../../../chunks/ssr.js";
import "../../../chunks/scoreStore.js";
const css = {
code: ".container.svelte-31d80g,.player.svelte-31d80g{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.disabled.svelte-31d80g{display:none}.player.svelte-31d80g{gap:2vh}.name.svelte-31d80g{width:17vw;height:6vh;border:2px solid #A1674A;border-radius:10px;box-shadow:0 0 10px #343232}.circular-loader.svelte-31d80g{stroke-dasharray:100, 125;stroke-dashoffset:-5;animation:svelte-31d80g-rotate 2s ease-in-out infinite;stroke-linecap:round}.loader-path.svelte-31d80g{width:25vw;height:25vh}button.svelte-31d80g{color:black;width:18vw;height:15vh;border-radius:10px;background-color:#f1ecec;border:2px solid #A1674A;background-size:1800% 1800%;box-shadow:0 0 10px #343232}.name.svelte-31d80g:hover,button.svelte-31d80g:hover{transform:scale(1.1)}@keyframes svelte-31d80g-rotate{to{transform:rotate(360deg)}}",
map: '{"version":3,"file":"+page.svelte","sources":["+page.svelte"],"sourcesContent":["<script>\\r\\n\\r\\n import {onMount} from \\"svelte\\";\\r\\n import {scoreStore} from \\"$lib/stores/scoreStore.ts\\";\\r\\n\\r\\n let playerName = undefined;\\r\\n let range = 100;\\r\\n let result = 0;\\r\\n\\r\\n onMount(async () => {\\r\\n const jQuery = await import(\'jquery\');\\r\\n const $ = jQuery.default;\\r\\n\\r\\n window.$ = $;\\r\\n window.jQuery = $;\\r\\n });\\r\\n\\r\\n async function roll() {\\r\\n\\r\\n toggleLoading();\\r\\n\\r\\n result = Math.floor(Math.random() * (range + 1));\\r\\n\\r\\n await new Promise(r => setTimeout(r, 3000));\\r\\n\\r\\n toggleLoading();\\r\\n window.$(\\".result\\").text(`Result : ${result}/${range}`)\\r\\n\\r\\n scoreStore.add(playerName, result)\\r\\n }\\r\\n\\r\\n function toggleLoading(){\\r\\n window.$(\\".loader\\").toggleClass(\\"disabled\\");\\r\\n window.$(\\".player\\").toggleClass(\\"disabled\\");\\r\\n }\\r\\n\\r\\n<\/script>\\r\\n\\r\\n<div class=\\"container\\">\\r\\n <div class=\\"loader disabled\\">\\r\\n <svg class=\\"circular-loader\\" viewBox=\\"0 0 30 30\\">\\r\\n <circle class=\\"loader-path\\" cx=\\"15\\" cy=\\"15\\" r=\\"5\\" fill=\\"none\\" stroke=\\"#f1ecec\\" stroke-width=\\"0.7\\" />\\r\\n </svg>\\r\\n <div class=\\"info\\">Rolling a random numbers within range 0-{range}...</div>\\r\\n </div>\\r\\n\\r\\n <div class=\\"player\\">\\r\\n <input class=\\"name\\" placeholder=\\"Your name\\" bind:value={playerName}/>\\r\\n <button on:click={roll}>Let\'s roll !</button>\\r\\n <div class=\\"result\\"></div>\\r\\n </div>\\r\\n</div>\\r\\n\\r\\n<style>\\r\\n\\r\\n .container, .player\\r\\n {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n .disabled\\r\\n {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n .player\\r\\n {\\r\\n gap: 2vh;\\r\\n }\\r\\n\\r\\n .name\\r\\n {\\r\\n width: 17vw;\\r\\n height: 6vh;\\r\\n border: 2px solid #A1674A;\\r\\n border-radius: 10px;\\r\\n box-shadow: 0 0 10px #343232;\\r\\n }\\r\\n\\r\\n .circular-loader\\r\\n {\\r\\n stroke-dasharray: 100, 125;\\r\\n stroke-dashoffset: -5;\\r\\n animation: rotate 2s ease-in-out infinite;\\r\\n stroke-linecap: round;\\r\\n }\\r\\n\\r\\n .loader-path {\\r\\n width: 25vw;\\r\\n height: 25vh;\\r\\n }\\r\\n\\r\\n button\\r\\n {\\r\\n color: black;\\r\\n width: 18vw;\\r\\n height: 15vh;\\r\\n border-radius: 10px;\\r\\n background-color: #f1ecec;\\r\\n border: 2px solid #A1674A;\\r\\n background-size: 1800% 1800%;\\r\\n box-shadow: 0 0 10px #343232;\\r\\n }\\r\\n\\r\\n .name:hover, button:hover{\\r\\n transform: scale(1.1);\\r\\n }\\r\\n\\r\\n @keyframes rotate {\\r\\n to{transform: rotate(360deg)}\\r\\n }\\r\\n\\r\\n</style>"],"names":[],"mappings":"AAuDI,wBAAU,CAAE,qBACZ,CACI,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACtB,eAAe,CAAE,MAAM,CACvB,WAAW,CAAE,MAAM,CACnB,UAAU,CAAE,MAChB,CAEA,uBACA,CACI,OAAO,CAAE,IACb,CAEA,qBACA,CACI,GAAG,CAAE,GACT,CAEA,mBACA,CACI,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CACzB,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OACzB,CAEA,8BACA,CACI,gBAAgB,CAAE,GAAG,CAAC,CAAC,GAAG,CAC1B,iBAAiB,CAAE,EAAE,CACrB,SAAS,CAAE,oBAAM,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CACzC,cAAc,CAAE,KACpB,CAEA,0BAAa,CACT,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IACZ,CAEA,oBACA,CACI,KAAK,CAAE,KAAK,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,IAAI,CACnB,gBAAgB,CAAE,OAAO,CACzB,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CACzB,eAAe,CAAE,KAAK,CAAC,KAAK,CAC5B,UAAU,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OACzB,CAEA,mBAAK,MAAM,CAAE,oBAAM,MAAM,CACrB,SAAS,CAAE,MAAM,GAAG,CACxB,CAEA,WAAW,oBAAO,CACd,EAAE,CAAC,SAAS,CAAE,OAAO,MAAM,CAAC,CAChC"}'
};
let range = 100;
const Page = create_ssr_component(($$result, $$props, $$bindings, slots) => {
let playerName = void 0;
$$result.css.add(css);
return `<div class="container svelte-31d80g"><div class="loader disabled svelte-31d80g"><svg class="circular-loader svelte-31d80g" viewBox="0 0 30 30"><circle class="loader-path svelte-31d80g" cx="15" cy="15" r="5" fill="none" stroke="#f1ecec" stroke-width="0.7"></circle></svg> <div class="info">Rolling a random numbers within range 0-${escape(range)}...</div></div> <div class="player svelte-31d80g"><input class="name svelte-31d80g" placeholder="Your name"${add_attribute("value", playerName, 0)}> <button class="svelte-31d80g" data-svelte-h="svelte-bef7me">Let&#39;s roll !</button> <div class="result"></div></div> </div>`;
});
export {
Page as default
};

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,13 @@
import { g, c, i, j, k, l, d, f, m, h } from "./chunks/internal.js";
export {
g as get_hooks,
c as options,
i as set_assets,
j as set_building,
k as set_manifest,
l as set_prerendering,
d as set_private_env,
f as set_public_env,
m as set_read_implementation,
h as set_safe_public_env
};

View File

@@ -0,0 +1,51 @@
export const manifest = (() => {
function __memo(fn) {
let value;
return () => value ??= (value = fn());
}
return {
appDir: "_app",
appPath: "_app",
assets: new Set(["style/app.css","style/menu.css"]),
mimeTypes: {".css":"text/css"},
_: {
client: {"start":"_app/immutable/entry/start.Dk8EHlvX.js","app":"_app/immutable/entry/app.BB-guR1A.js","imports":["_app/immutable/entry/start.Dk8EHlvX.js","_app/immutable/chunks/entry.CWTQmo3s.js","_app/immutable/chunks/scheduler.t-3xYmlC.js","_app/immutable/chunks/index.BEtjop6e.js","_app/immutable/entry/app.BB-guR1A.js","_app/immutable/chunks/preload-helper.C1FmrZbK.js","_app/immutable/chunks/scheduler.t-3xYmlC.js","_app/immutable/chunks/index.Dz99_Qdh.js"],"stylesheets":[],"fonts":[],"uses_env_dynamic_public":false},
nodes: [
__memo(() => import('./nodes/0.js')),
__memo(() => import('./nodes/1.js')),
__memo(() => import('./nodes/2.js')),
__memo(() => import('./nodes/3.js')),
__memo(() => import('./nodes/4.js'))
],
routes: [
{
id: "/",
pattern: /^\/$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 2 },
endpoint: null
},
{
id: "/about",
pattern: /^\/about\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 3 },
endpoint: null
},
{
id: "/play",
pattern: /^\/play\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 4 },
endpoint: null
}
],
matchers: async () => {
return { };
},
server_assets: {}
}
}
})();

View File

@@ -0,0 +1,51 @@
export const manifest = (() => {
function __memo(fn) {
let value;
return () => value ??= (value = fn());
}
return {
appDir: "_app",
appPath: "_app",
assets: new Set(["style/app.css","style/menu.css"]),
mimeTypes: {".css":"text/css"},
_: {
client: {"start":"_app/immutable/entry/start.Dk8EHlvX.js","app":"_app/immutable/entry/app.BB-guR1A.js","imports":["_app/immutable/entry/start.Dk8EHlvX.js","_app/immutable/chunks/entry.CWTQmo3s.js","_app/immutable/chunks/scheduler.t-3xYmlC.js","_app/immutable/chunks/index.BEtjop6e.js","_app/immutable/entry/app.BB-guR1A.js","_app/immutable/chunks/preload-helper.C1FmrZbK.js","_app/immutable/chunks/scheduler.t-3xYmlC.js","_app/immutable/chunks/index.Dz99_Qdh.js"],"stylesheets":[],"fonts":[],"uses_env_dynamic_public":false},
nodes: [
__memo(() => import('./nodes/0.js')),
__memo(() => import('./nodes/1.js')),
__memo(() => import('./nodes/2.js')),
__memo(() => import('./nodes/3.js')),
__memo(() => import('./nodes/4.js'))
],
routes: [
{
id: "/",
pattern: /^\/$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 2 },
endpoint: null
},
{
id: "/about",
pattern: /^\/about\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 3 },
endpoint: null
},
{
id: "/play",
pattern: /^\/play\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 4 },
endpoint: null
}
],
matchers: async () => {
return { };
},
server_assets: {}
}
}
})();

View File

@@ -0,0 +1,8 @@
export const index = 0;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;
export const imports = ["_app/immutable/nodes/0.BLjvgh0X.js","_app/immutable/chunks/preload-helper.C1FmrZbK.js","_app/immutable/chunks/scheduler.t-3xYmlC.js","_app/immutable/chunks/index.Dz99_Qdh.js"];
export const stylesheets = [];
export const fonts = [];

View File

@@ -0,0 +1,8 @@
export const index = 1;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;
export const imports = ["_app/immutable/nodes/1.DltsNqkt.js","_app/immutable/chunks/scheduler.t-3xYmlC.js","_app/immutable/chunks/index.Dz99_Qdh.js","_app/immutable/chunks/entry.CWTQmo3s.js","_app/immutable/chunks/index.BEtjop6e.js"];
export const stylesheets = [];
export const fonts = [];

View File

@@ -0,0 +1,8 @@
export const index = 2;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/2.B0UqQsDX.js","_app/immutable/chunks/scheduler.t-3xYmlC.js","_app/immutable/chunks/index.Dz99_Qdh.js","_app/immutable/chunks/scoreStore.BJlEo5Dk.js","_app/immutable/chunks/index.BEtjop6e.js"];
export const stylesheets = ["_app/immutable/assets/2.DxlxdAfj.css"];
export const fonts = [];

View File

@@ -0,0 +1,8 @@
export const index = 3;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/about/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/3.vi6sie8m.js","_app/immutable/chunks/scheduler.t-3xYmlC.js","_app/immutable/chunks/index.Dz99_Qdh.js"];
export const stylesheets = [];
export const fonts = [];

View File

@@ -0,0 +1,8 @@
export const index = 4;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/play/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/4.69oG6wwC.js","_app/immutable/chunks/preload-helper.C1FmrZbK.js","_app/immutable/chunks/scheduler.t-3xYmlC.js","_app/immutable/chunks/index.Dz99_Qdh.js","_app/immutable/chunks/scoreStore.BJlEo5Dk.js","_app/immutable/chunks/index.BEtjop6e.js"];
export const stylesheets = ["_app/immutable/assets/4.T_78NcA1.css"];
export const fonts = [];

View File

@@ -0,0 +1,49 @@
{
"compilerOptions": {
"paths": {
"$lib": [
"../src/lib"
],
"$lib/*": [
"../src/lib/*"
]
},
"rootDirs": [
"..",
"./types"
],
"verbatimModuleSyntax": true,
"isolatedModules": true,
"lib": [
"esnext",
"DOM",
"DOM.Iterable"
],
"moduleResolution": "bundler",
"module": "esnext",
"noEmit": true,
"target": "esnext"
},
"include": [
"ambient.d.ts",
"non-ambient.d.ts",
"./types/**/$types.d.ts",
"../vite.config.js",
"../vite.config.ts",
"../src/**/*.js",
"../src/**/*.ts",
"../src/**/*.svelte",
"../tests/**/*.js",
"../tests/**/*.ts",
"../tests/**/*.svelte"
],
"exclude": [
"../node_modules/**",
"../src/service-worker.js",
"../src/service-worker/**/*.js",
"../src/service-worker.ts",
"../src/service-worker/**/*.ts",
"../src/service-worker.d.ts",
"../src/service-worker/**/*.d.ts"
]
}

View File

@@ -0,0 +1,5 @@
{
"/": [],
"/about": [],
"/play": []
}

View File

@@ -0,0 +1,22 @@
import type * as Kit from '@sveltejs/kit';
type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
// @ts-ignore
type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
type RouteParams = { };
type RouteId = '/';
type MaybeWithVoid<T> = {} extends T ? T | void : T;
export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
type EnsureDefined<T> = T extends null | undefined ? {} : T;
type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
export type Snapshot<T = any> = Kit.Snapshot<T>;
type PageParentData = EnsureDefined<LayoutData>;
type LayoutRouteId = RouteId | "/" | "/about" | "/play" | null
type LayoutParams = RouteParams & { }
type LayoutParentData = EnsureDefined<{}>;
export type PageServerData = null;
export type PageData = Expand<PageParentData>;
export type LayoutServerData = null;
export type LayoutData = Expand<LayoutParentData>;

View File

@@ -0,0 +1,17 @@
import type * as Kit from '@sveltejs/kit';
type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
// @ts-ignore
type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
type RouteParams = { };
type RouteId = '/about';
type MaybeWithVoid<T> = {} extends T ? T | void : T;
export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
type EnsureDefined<T> = T extends null | undefined ? {} : T;
type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
export type Snapshot<T = any> = Kit.Snapshot<T>;
type PageParentData = EnsureDefined<import('../$types.js').LayoutData>;
export type PageServerData = null;
export type PageData = Expand<PageParentData>;

View File

@@ -0,0 +1,17 @@
import type * as Kit from '@sveltejs/kit';
type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
// @ts-ignore
type MatcherParam<M> = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
type RouteParams = { };
type RouteId = '/play';
type MaybeWithVoid<T> = {} extends T ? T | void : T;
export type RequiredKeys<T> = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
type OutputDataShape<T> = MaybeWithVoid<Omit<App.PageData, RequiredKeys<T>> & Partial<Pick<App.PageData, keyof T & keyof App.PageData>> & Record<string, any>>
type EnsureDefined<T> = T extends null | undefined ? {} : T;
type OptionalUnion<U extends Record<string, any>, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude<A, keyof U>]?: never } & U : never;
export type Snapshot<T = any> = Kit.Snapshot<T>;
type PageParentData = EnsureDefined<import('../$types.js').LayoutData>;
export type PageServerData = null;
export type PageData = Expand<PageParentData>;

View File

@@ -0,0 +1,3 @@
{
"type": "module"
}

5671
front/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

View File

Before

Width:  |  Height:  |  Size: 960 B

After

Width:  |  Height:  |  Size: 960 B

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Some files were not shown because too many files have changed in this diff Show More