mirror of
https://github.com/dbgate/dbgate
synced 2024-11-15 08:16:28 +00:00
98 lines
2.0 KiB
Svelte
98 lines
2.0 KiB
Svelte
|
<script lang="ts">
|
||
|
import { onMount } from 'svelte';
|
||
|
import FormButton from './forms/FormButton.svelte';
|
||
|
import FormPasswordField from './forms/FormPasswordField.svelte';
|
||
|
import FormProvider from './forms/FormProvider.svelte';
|
||
|
import FormSubmit from './forms/FormSubmit.svelte';
|
||
|
import FormTextField from './forms/FormTextField.svelte';
|
||
|
|
||
|
onMount(() => {
|
||
|
const removed = document.getElementById('starting_dbgate_zero');
|
||
|
if (removed) removed.remove();
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<div class="root theme-light theme-type-light">
|
||
|
<div class="text">DbGate</div>
|
||
|
<div class="wrap">
|
||
|
<div class="logo">
|
||
|
<img class="img" src="logo192.png" />
|
||
|
</div>
|
||
|
<div class="box">
|
||
|
<div class="heading">Log In</div>
|
||
|
<FormProvider>
|
||
|
<FormTextField label="Username" name="login" />
|
||
|
<FormPasswordField label="Password" name="password" />
|
||
|
|
||
|
<div class="submit">
|
||
|
<FormSubmit
|
||
|
value="Log In"
|
||
|
on:click={e => {
|
||
|
console.log('log in', e);
|
||
|
}}
|
||
|
/>
|
||
|
</div>
|
||
|
</FormProvider>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<style>
|
||
|
.logo {
|
||
|
display: flex;
|
||
|
margin-bottom: 1rem;
|
||
|
align-items: center;
|
||
|
justify-content: center;
|
||
|
}
|
||
|
.img {
|
||
|
width: 80px;
|
||
|
}
|
||
|
.text {
|
||
|
position: fixed;
|
||
|
top: 1rem;
|
||
|
left: 1rem;
|
||
|
font-size: 40pt;
|
||
|
color: var(--theme-bg-2);
|
||
|
}
|
||
|
.submit {
|
||
|
margin: var(--dim-large-form-margin);
|
||
|
display: flex;
|
||
|
}
|
||
|
|
||
|
.submit :global(input) {
|
||
|
flex: 1;
|
||
|
font-size: larger;
|
||
|
}
|
||
|
|
||
|
.root {
|
||
|
color: var(--theme-font-1);
|
||
|
display: flex;
|
||
|
justify-content: center;
|
||
|
background-color: var(--theme-bg-1);
|
||
|
align-items: baseline;
|
||
|
position: fixed;
|
||
|
top: 0;
|
||
|
left: 0;
|
||
|
right: 0;
|
||
|
bottom: 0;
|
||
|
}
|
||
|
|
||
|
.box {
|
||
|
max-width: 600px;
|
||
|
width: 40vw;
|
||
|
border: 1px solid var(--theme-border);
|
||
|
border-radius: 4px;
|
||
|
background-color: var(--theme-bg-0);
|
||
|
}
|
||
|
|
||
|
.wrap {
|
||
|
margin-top: 20vh;
|
||
|
}
|
||
|
|
||
|
.heading {
|
||
|
text-align: center;
|
||
|
margin: 1em;
|
||
|
font-size: xx-large;
|
||
|
}
|
||
|
</style>
|