made basic nav bar and intigrated the worldle options in it! will do rest intigrations lalter
This commit is contained in:
parent
923c7e9624
commit
b98141bda0
4 changed files with 99 additions and 95 deletions
|
@ -4,19 +4,19 @@
|
||||||
|
|
||||||
import { Toaster } from "svelte-5-french-toast";
|
import { Toaster } from "svelte-5-french-toast";
|
||||||
let { children } = $props();
|
let { children } = $props();
|
||||||
|
|
||||||
|
import { page } from "$app/stores";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Toaster />
|
<Toaster />
|
||||||
<div class="h-full">
|
{#if $page.url.pathname == "/"}
|
||||||
<!--
|
<div class="h-full">
|
||||||
will be used for the nav bar later as i asked my friend to
|
|
||||||
make a design for it and the whole app so ill make it
|
|
||||||
functional once he gives me the design
|
|
||||||
|
|
||||||
<div class="m-3 flex w-[calc(100%-1.5rem)] items-center justify-between rounded border-2 p-1">
|
|
||||||
<Nav />
|
|
||||||
</div>
|
|
||||||
-->
|
|
||||||
|
|
||||||
{@render children()}
|
{@render children()}
|
||||||
</div>
|
</div>
|
||||||
|
{:else}
|
||||||
|
<div class="flex h-full flex-col">
|
||||||
|
<Nav />
|
||||||
|
|
||||||
|
<div class="flex-1">{@render children()}</div>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
|
|
@ -1,13 +1,86 @@
|
||||||
<button class="btn compact dull text-4xl">
|
<script>
|
||||||
|
import { page } from "$app/stores";
|
||||||
|
|
||||||
|
let CurrentPage = $state();
|
||||||
|
CurrentPage = $page.url.pathname;
|
||||||
|
$effect(() => {
|
||||||
|
CurrentPage = $page.url.pathname;
|
||||||
|
});
|
||||||
|
|
||||||
|
let details = {
|
||||||
|
"/kahootclone": {
|
||||||
|
title: "Quizlet Home",
|
||||||
|
conformOnBack: null,
|
||||||
|
},
|
||||||
|
"/kahootclone/create": {
|
||||||
|
title: "Create Quiz",
|
||||||
|
conformOnBack: "Are you sure you want to go back? You will lose all currently entered Q&As.",
|
||||||
|
},
|
||||||
|
"/kahootclone/play": {
|
||||||
|
title: "Play Quiz",
|
||||||
|
conformOnBack: "Are you sure you want to leave the game? you wont be able to rejoin it.",
|
||||||
|
},
|
||||||
|
"/kahootclone/host": {
|
||||||
|
title: "Host Quiz",
|
||||||
|
conformOnBack: "Are you sure you want to leave the game? if you leave, the game will end.",
|
||||||
|
},
|
||||||
|
"/kahootclone/join": {
|
||||||
|
title: "Join Quiz",
|
||||||
|
conformOnBack: null,
|
||||||
|
},
|
||||||
|
"/kahootclone/results": {
|
||||||
|
title: "Leaderboard of Quiz Played",
|
||||||
|
conformOnBack: null,
|
||||||
|
},
|
||||||
|
"/wordle": {
|
||||||
|
title: "Play wordle",
|
||||||
|
conformOnBack:
|
||||||
|
"Are you sure you want to leave the game? you will lose your current game progress.",
|
||||||
|
},
|
||||||
|
"/randomname": {
|
||||||
|
title: "select a random name",
|
||||||
|
conformOnBack: null,
|
||||||
|
},
|
||||||
|
"/announcer": {
|
||||||
|
title: "Announcer something",
|
||||||
|
conformOnBack: null,
|
||||||
|
},
|
||||||
|
"/IdleScreen": {
|
||||||
|
title: "A Idle Screen",
|
||||||
|
conformOnBack: null,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
import { OpenTab } from "./wordle/InfoAndSetings/main.svelte";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="mb-1 flex items-center justify-between rounded border-2">
|
||||||
|
<button
|
||||||
|
class="btn mini dull"
|
||||||
|
onclick={() => {
|
||||||
|
if (
|
||||||
|
details[CurrentPage].conformOnBack == null
|
||||||
|
? true
|
||||||
|
: confirm(details[CurrentPage].conformOnBack)
|
||||||
|
) {
|
||||||
|
window.location.href = "../";
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
<img
|
<img
|
||||||
src="https://hc-cdn.hel1.your-objectstorage.com/s/v3/4a82e0c815624c7786ca2a5addbcc74487da8940_group_8__2_.svg"
|
src="https://hc-cdn.hel1.your-objectstorage.com/s/v3/4a82e0c815624c7786ca2a5addbcc74487da8940_group_8__2_.svg"
|
||||||
class="h-12"
|
class="h-6"
|
||||||
alt=""
|
alt=""
|
||||||
/>Go back
|
/>Go back
|
||||||
<i class="nf nf-md-keyboard_backspace"></i>
|
<i class="nf nf-md-keyboard_backspace"></i>
|
||||||
</button>
|
|
||||||
<div>
|
|
||||||
<button class="btn compact dull circular text-4xl" aria-label="Settings">
|
|
||||||
<i class="nf nf-seti-config"></i>
|
|
||||||
</button>
|
</button>
|
||||||
|
<span class="text-lg font-medium">
|
||||||
|
{details[CurrentPage].title}
|
||||||
|
</span>
|
||||||
|
<div class="flex gap-2">
|
||||||
|
{#if CurrentPage == "/wordle"}
|
||||||
|
<button class="btn dull mini" onclick={() => OpenTab("WordLength")}> Change word legnth </button>
|
||||||
|
<button class="btn dull mini" onclick={() => OpenTab("Stats")}>Stats </button>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -17,6 +17,9 @@
|
||||||
&.slim {
|
&.slim {
|
||||||
@apply px-1 py-3;
|
@apply px-1 py-3;
|
||||||
}
|
}
|
||||||
|
&.mini {
|
||||||
|
@apply px-0.5 py-0.5;
|
||||||
|
}
|
||||||
|
|
||||||
&.green {
|
&.green {
|
||||||
@apply bg-green-600 hover:bg-green-500;
|
@apply bg-green-600 hover:bg-green-500;
|
||||||
|
|
|
@ -27,40 +27,6 @@
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div id="nav">
|
|
||||||
<div></div>
|
|
||||||
<div>
|
|
||||||
<button aria-label="Back to main menu" onclick={() => OpenTab("WordLength")}
|
|
||||||
><span class="front"
|
|
||||||
><svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
height="24px"
|
|
||||||
viewBox="0 -960 960 960"
|
|
||||||
width="24px"
|
|
||||||
fill="#FFFFFF"
|
|
||||||
><path
|
|
||||||
d="M320-80 160-240l160-160 57 56-64 64h334l-63-64 56-56 160 160L640-80l-57-56 64-64H313l63 64-56 56ZM200-480v-400h80v400h-80Zm240 0v-400h80v400h-80Zm240 0v-400h80v400h-80Z"
|
|
||||||
/></svg
|
|
||||||
> Change word legnth
|
|
||||||
</span></button
|
|
||||||
>
|
|
||||||
<button aria-label="Back to main menu" onclick={() => OpenTab("Stats")}
|
|
||||||
><span class="front"
|
|
||||||
><svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
height="24px"
|
|
||||||
viewBox="0 -960 960 960"
|
|
||||||
width="24px"
|
|
||||||
fill="#FFFFFF"
|
|
||||||
><path
|
|
||||||
d="m105-399-65-47 200-320 120 140 160-260 120 180 135-214 65 47-198 314-119-179-152 247-121-141-145 233Zm475 159q42 0 71-29t29-71q0-42-29-71t-71-29q-42 0-71 29t-29 71q0 42 29 71t71 29ZM784-80 676-188q-21 14-45.5 21t-50.5 7q-75 0-127.5-52.5T400-340q0-75 52.5-127.5T580-520q75 0 127.5 52.5T760-340q0 26-7 50.5T732-244l108 108-56 56Z"
|
|
||||||
/></svg
|
|
||||||
> Stats
|
|
||||||
</span></button
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="root">
|
<div id="root">
|
||||||
<div id="left">
|
<div id="left">
|
||||||
<Display />
|
<Display />
|
||||||
|
@ -70,48 +36,10 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
#nav {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
background-color: #121212;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
background: #292929;
|
|
||||||
border-radius: 12px;
|
|
||||||
border: none;
|
|
||||||
margin: 10px;
|
|
||||||
padding: 2px 0px;
|
|
||||||
cursor: pointer;
|
|
||||||
outline-offset: 4px;
|
|
||||||
max-width: 400px;
|
|
||||||
}
|
|
||||||
button:hover .front {
|
|
||||||
transform: translateY(-7px);
|
|
||||||
}
|
|
||||||
|
|
||||||
button:active .front {
|
|
||||||
transform: translateY(-2px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.front {
|
|
||||||
display: flex;
|
|
||||||
text-align: center;
|
|
||||||
align-items: center;
|
|
||||||
padding: 5px;
|
|
||||||
border-radius: 12px;
|
|
||||||
|
|
||||||
background: #4d4d4d;
|
|
||||||
color: white;
|
|
||||||
transform: translateY(-4px);
|
|
||||||
transition: all 0.1s ease-in-out;
|
|
||||||
font-size: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#root {
|
#root {
|
||||||
height: 90%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
background-color: #121212;
|
background-color: #121212;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue