login-games

This commit is contained in:
Ota Prokopec 2023-02-08 20:16:26 +01:00
parent 4bdc0b109d
commit 6b6a3bc7e5
4 changed files with 42 additions and 22 deletions

13
src/lib/utils/game.ts Normal file
View File

@ -0,0 +1,13 @@
import { databases } from '$lib/appwrite'
import { Query } from 'appwrite'
import database from 'svelte-appwrite-client/src/lib/database'
export const load = async (pathName: string) => {
const checkPoints = []
const game = (await databases.listDocuments('63cef30d6da945dd4250', '63cef4bd210fdf2e5888', [Query.equal('ExpURL', pathName.slice(1, pathName.length))])).documents[0]
const checkPointsIds = game.ExpCPsID
for (const checkPointId of checkPointsIds) {
checkPoints.push(await databases.getDocument('63cef30d6da945dd4250', '63cef84d908acf805758', checkPointId))
}
}

View File

@ -16,8 +16,11 @@
import collections from '$lib/collections'
import { Query } from 'appwrite'
export let gameurl
const [gameData, loading] = collections.expiriences.getDocument([Query.equal('ExpURL', gameurl)])
export let params
const [gameData, loading] = collections.expiriences.getDocument([Query.equal('ExpURL', params.gameurl)])
$: console.log($gameData)
$: $data = $loading ? $gameData : null

View File

@ -1,10 +1,21 @@
<script>
import { account } from '$lib/appwrite'
import { account, user } from '$lib/appwrite'
import { navigate } from 'svelte-routing'
import HiddenInput from '../lib/Components/Inputs/Hidden_Input.svelte'
import GoogleLogo from '../lib/svg/GoogleLogo.svelte'
import TopImage from '../lib/svg/Top-Image.svelte'
export let purpose = 'login' //possible values login, register
let email = 'otaprokopec@gmail.com'
let password = 'YoYoYoYo'
$: console.log($user)
const emailLogin = async () => {
await account.createEmailSession(email, password)
navigate('/')
}
</script>
<div class="main">
@ -24,21 +35,11 @@
<!--2 forms from components-->
<div class="form">
{#if purpose === 'login'}
<form>
<input type="text" placeholder="E-mail" autocomplete="email" required />
<HiddenInput placeholder="Password" />
<input type="submit" value="Sign in" />
</form>
{:else}
<form>
<input type="text" placeholder="Name" autocomplete="full-name" required />
<input type="text" placeholder="E-mail" autocomplete="email" required />
<HiddenInput placeholder="Password" />
<HiddenInput placeholder="Re-type password" />
<input type="submit" value="Sign up" />
</form>
{/if}
<form>
<input bind:value={email} type="text" placeholder="E-mail" autocomplete="email" required />
<HiddenInput bind:value={password} placeholder="Password" />
<input on:click={() => emailLogin()} type="button" value="Sign in" />
</form>
</div>
<div class="continue_with">
@ -192,7 +193,7 @@
line-height: 28px;
}
input[type='submit'] {
input[type='button'] {
background-color: #4263eb;
color: white;

View File

@ -13,6 +13,9 @@
import Point from '$lib/svg/Point.svelte'
import PointSmall from '$lib/svg/PointSmall.svelte'
import InputPicture from '$lib/Components/Inputs/InputPicture.svelte'
import { account, user } from '$lib/appwrite'
$: console.log($user)
const items = [
{
@ -32,7 +35,7 @@
itms: [
{ icon: Help, text: 'Help' },
{ icon: Warning, text: 'Terms & Conditions' },
{ icon: Logout, text: 'Log out' },
{ icon: Logout, text: 'Log out', onClick: () => user.deleteSessions() },
],
},
]
@ -52,10 +55,10 @@
<div class="w-full h-auto flex flex-wrap flex-row mt-4 gap-4">
{#each items as { title, itms }}
<div class="mb-4 text-[18px] text-[#61646B]">{title}</div>
{#each itms as { icon, text }}
{#each itms as { icon, text, onClick }}
<SettingRow>
<svelte:component this={icon} />
<Link class="font-semibold text-[18px]" to={'/'}>{text}</Link>
<button class="font-semibold text-[18px]" on:click={() => onClick()}>{text}</button>
</SettingRow>
<Line />
{/each}