mirror of
https://github.com/danbulant/Portfolio
synced 2026-06-08 01:00:16 +00:00
feat: add password textfield
This commit is contained in:
parent
f238679398
commit
5096f8ddca
2 changed files with 38 additions and 13 deletions
30
frontend/src/lib/components/textfield/PasswordField.svelte
Normal file
30
frontend/src/lib/components/textfield/PasswordField.svelte
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import Lock from '../icons/Lock.svelte';
|
||||||
|
import TextField from './TextField.svelte';
|
||||||
|
|
||||||
|
export let placeholder: string = '';
|
||||||
|
export let value: string = '';
|
||||||
|
export let error: string = '';
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<TextField
|
||||||
|
bind:error
|
||||||
|
bind:value
|
||||||
|
on:click
|
||||||
|
on:keydown
|
||||||
|
on:keyup
|
||||||
|
{placeholder}
|
||||||
|
on:change
|
||||||
|
type="password"
|
||||||
|
icon
|
||||||
|
>
|
||||||
|
<div slot="icon" class="flex items-center justify-center">
|
||||||
|
<Lock />
|
||||||
|
</div>
|
||||||
|
</TextField>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div {
|
||||||
|
@apply text-sspsBlue;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -7,14 +7,16 @@
|
||||||
import Lock from '$lib/components/icons/Lock.svelte';
|
import Lock from '$lib/components/icons/Lock.svelte';
|
||||||
import { apiLogin } from '$lib/@api/admin';
|
import { apiLogin } from '$lib/@api/admin';
|
||||||
import { goto } from '$app/navigation';
|
import { goto } from '$app/navigation';
|
||||||
|
import Submit from '$lib/components/button/Submit.svelte';
|
||||||
|
import PasswordField from '$lib/components/textfield/PasswordField.svelte';
|
||||||
|
|
||||||
let adminIdValue = '';
|
let adminIdValue = '';
|
||||||
let adminPasswordValue = '';
|
let adminPasswordValue = '';
|
||||||
|
|
||||||
const login = async () => {
|
const login = async () => {
|
||||||
try {
|
try {
|
||||||
await apiLogin({adminId: Number(adminIdValue), password: adminPasswordValue});
|
await apiLogin({ adminId: Number(adminIdValue), password: adminPasswordValue });
|
||||||
goto("/admin/dashboard");
|
goto('/admin/dashboard');
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
}
|
}
|
||||||
|
|
@ -37,19 +39,12 @@
|
||||||
<TextField bind:value={adminIdValue} placeholder="Admin id" type="number" />
|
<TextField bind:value={adminIdValue} placeholder="Admin id" type="number" />
|
||||||
</span>
|
</span>
|
||||||
<span class="mt-8">
|
<span class="mt-8">
|
||||||
<TextField bind:value={adminPasswordValue} placeholder="Heslo" type="password" icon>
|
<PasswordField bind:value={adminPasswordValue} placeholder="Heslo" />
|
||||||
<div slot="icon" class="flex items-center justify-center">
|
|
||||||
<Lock />
|
|
||||||
</div>
|
|
||||||
</TextField>
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<input
|
<div class="mt-8 w-3/5">
|
||||||
class="bg-sspsBlue hover:bg-sspsBlueDark mt-8 w-3/5 rounded-lg p-3 text-xl font-semibold text-white transition-colors duration-300"
|
<Submit value="Odeslat" on:click={login} />
|
||||||
type="submit"
|
</div>
|
||||||
value="Odeslat"
|
|
||||||
on:click={login}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</SplitLayout>
|
</SplitLayout>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue