Loggest thine Stuff
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
950 B

  1. <script lang="ts">
  2. import { Auth } from 'aws-amplify';
  3. import { goto } from '$app/navigation';
  4. import Modal from '$lib/components/common/Modal.svelte';
  5. import ModalBody from '$lib/components/common/ModalBody.svelte';
  6. let username = '';
  7. let password = '';
  8. let error: string;
  9. let loading = false;
  10. async function handleSignIn() {
  11. error = void(0);
  12. loading = true;
  13. try {
  14. const res = await Auth.signIn(username, password);
  15. goto('/', {replaceState: true});
  16. } catch (err) {
  17. error = err?.toString() || err;
  18. }
  19. loading = false;
  20. }
  21. </script>
  22. <form on:submit|preventDefault={handleSignIn}>
  23. <Modal disabled={loading} show verb="Login" noun="" error={error}>
  24. <ModalBody>
  25. <label for="name">Username</label>
  26. <input type="text" bind:value={username} />
  27. <label for="name">Password</label>
  28. <input type="password" bind:value={password} />
  29. </ModalBody>
  30. </Modal>
  31. </form>