This repository has been archived on 2024-08-06. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
chellaris-sign-up-site/src/routes/Settings.svelte

83 lines
1.9 KiB
Svelte
Raw Normal View History

2023-08-28 07:28:20 +02:00
<script lang="ts">
import { browser } from "$app/environment";
import Modal from "$lib/components/Modal.svelte";
2023-08-28 07:42:02 +02:00
import { fade } from "svelte/transition";
2023-08-28 07:28:20 +02:00
export let showSettings: boolean;
let showAuthSaved = false;
2023-08-28 07:42:02 +02:00
let showFiller = true;
2023-08-28 07:28:20 +02:00
const saveAuth = () => {
showAuthSaved = true;
2023-08-28 07:42:02 +02:00
showFiller = false;
setTimeout(function() {
showAuthSaved = false;
setTimeout(function() {
showFiller = true;
}, 200);
}, 2000);
2023-08-28 07:28:20 +02:00
document.cookie = "authToken=" + authToken;
}
let authToken: string;
$: console.log(authToken);
$: {
if (browser) {
authToken = document.cookie.split("=")[document.cookie.split("=").length - 1];
}
}
const toggleSettings = () => {
showSettings = !showSettings;
}
const handleSubmit = () => {
console.log("submitted ", gameGroupSettings);
showSettings = false;
}
let gameGroupSettings: [] = [];
</script>
<Modal showModal={showSettings} on:click={toggleSettings}>
<h3>Settings</h3>
<div class="settings-modal">
<form on:submit|preventDefault={handleSubmit}>
<label for="authTokenInput">Auth Token:</label>
<input id="authTokenInput" bind:value={authToken} on:input={saveAuth} type="text">
{#if showAuthSaved}
2023-08-28 07:42:02 +02:00
<div in:fade={{duration: 200}} out:fade={{duration: 200}}>Saved!</div>
{:else if showFiller}
<br>
<br>
2023-08-28 07:28:20 +02:00
{/if}
<b>Show Game Groups:</b><br>
<input type="checkbox" bind:group={gameGroupSettings} value="b">Group B<br>
<input type="checkbox" bind:group={gameGroupSettings} value="-">Ungrouped<br>
<div class="settings-modal-save">
<button>Save</button>
</div>
</form>
</div>
</Modal>
<style>
.settings-modal {
text-align: left;
}
.settings-modal input {
margin-left: 1rem;
}
.settings-modal-save {
text-align: center;
}
</style>