diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-10-05 14:45:21 +0200 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-10-05 14:45:21 +0200 |
| commit | b7e39b59fd0fc7b5610ebff29035bf622079e0d8 (patch) | |
| tree | 64be84ebbdac9f7ceced983390c53b10d575af5c /apps/kit/src/routes/(main)/(public)/reset-password | |
| parent | 2001c035fbb417ab0a3d42cfb04d17420bde4086 (diff) | |
| download | greatoffice-b7e39b59fd0fc7b5610ebff29035bf622079e0d8.tar.xz greatoffice-b7e39b59fd0fc7b5610ebff29035bf622079e0d8.zip | |
refactor: Change file structure
Diffstat (limited to 'apps/kit/src/routes/(main)/(public)/reset-password')
3 files changed, 0 insertions, 225 deletions
diff --git a/apps/kit/src/routes/(main)/(public)/reset-password/+page.svelte b/apps/kit/src/routes/(main)/(public)/reset-password/+page.svelte deleted file mode 100644 index aa26892..0000000 --- a/apps/kit/src/routes/(main)/(public)/reset-password/+page.svelte +++ /dev/null @@ -1,82 +0,0 @@ -<script lang="ts"> - import { create_forgot_password_request } from "$lib/api/user"; - import { Alert, Input, Button } from "$lib/components"; - import LL from "$lib/i18n/i18n-svelte"; - import type { ErrorResult } from "$lib/models/ErrorResult"; - - const formData = { - email: "", - }; - - $: showErrorAlert = - (errorData?.text.length ?? 0 + errorData?.title.length ?? 0) > 0 && - !showSuccessAlert; - - const errorData = { - text: "", - title: "", - } as ErrorResult; - - let loading = false; - let showSuccessAlert = false; - - async function submitFormAsync() { - errorData.text = ""; - errorData.title = ""; - showSuccessAlert = false; - loading = true; - const request = await create_forgot_password_request(formData.email); - loading = false; - if (!request.ok) { - errorData.text = request.data.text ?? $LL.tryAgainSoon(); - errorData.title = request.data.title ?? $LL.unexpectedError(); - return; - } - showSuccessAlert = true; - } -</script> - -<div class="min-h-full flex flex-col justify-center py-12 sm:px-6 lg:px-8"> - <div class="sm:mx-auto sm:w-full p-2 sm:p-0 sm:max-w-md"> - <h2 class="mt-6 text-3xl tracking-tight font-bold text-gray-900"> - {$LL.resetPasswordPage.requestAPasswordReset()} - </h2> - <p class="mt-2 text-sm text-gray-600"> - {$LL.or().toLowerCase()} - <a href="/sign-in" class="link"> - {$LL.signIntoYourAccount().toLowerCase()} - </a> - </p> - </div> - - <div class="mt-8 sm:mx-auto sm:w-full sm:max-w-md"> - <div class="bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10"> - <form class="space-y-6" on:submit|preventDefault={submitFormAsync}> - <Alert - title={errorData.title} - message={errorData.text} - type="error" - visible={showErrorAlert} - /> - - <Alert - type="success" - title={$LL.success()} - message={$LL.resetPasswordPage.requestSentMessage()} - visible={showSuccessAlert} - /> - - <Input - id="email" - name="email" - type="email" - autocomplete="email" - required - bind:value={formData.email} - label={$LL.emailAddress()} - /> - <Button text={$LL.submit()} type="submit" {loading} fullWidth /> - </form> - </div> - </div> -</div> diff --git a/apps/kit/src/routes/(main)/(public)/reset-password/[id]/+page.server.ts b/apps/kit/src/routes/(main)/(public)/reset-password/[id]/+page.server.ts deleted file mode 100644 index 389d04c..0000000 --- a/apps/kit/src/routes/(main)/(public)/reset-password/[id]/+page.server.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { is_guid } from '$lib/helpers'; -import { redirect } from '@sveltejs/kit'; -import type { PageServerLoad } from './$types'; - -export const load: PageServerLoad = async ({ params }) => { - const resetRequestId = params.id ?? ""; - if (!is_guid(resetRequestId)) throw redirect(302, "/reset-password"); - return { - resetRequestId - }; -};
\ No newline at end of file diff --git a/apps/kit/src/routes/(main)/(public)/reset-password/[id]/+page.svelte b/apps/kit/src/routes/(main)/(public)/reset-password/[id]/+page.svelte deleted file mode 100644 index 562d902..0000000 --- a/apps/kit/src/routes/(main)/(public)/reset-password/[id]/+page.svelte +++ /dev/null @@ -1,132 +0,0 @@ -<script lang="ts"> - import { - check_forgot_password_request, - fulfill_forgot_password_request, - } from "$lib/api/user"; - import { onMount } from "svelte"; - import LL from "$lib/i18n/i18n-svelte"; - import { Alert, Input, Button } from "$lib/components"; - import type { PageServerData } from "./$types"; - import type { ErrorResult } from "$lib/models/ErrorResult"; - import { goto } from "$app/navigation"; - import { Message, messageQueryKey } from "../../sign-in/+page.svelte"; - - export let data: PageServerData; - - const formData = { - newPassword: "", - }; - - const errorData = { - text: "", - title: "", - } as ErrorResult; - - let errorState: undefined | "expired" | "404" | "unknown"; - - let finishedPreliminaryLoading = false; - let loading = false; - let canSubmit = true; - - async function submitFormAsync() { - if (!canSubmit) return; - loading = true; - const request = await fulfill_forgot_password_request( - data.resetRequestId, - formData.newPassword - ); - if (request.ok) { - goto( - "/sign-in?" + - messageQueryKey + - "=" + - Message.AFTER_PASSWORD_RESET - ); - } - - loading = false; - } - - onMount(async () => { - errorState = undefined; - const isValidRequest = await check_forgot_password_request( - data.resetRequestId - ); - if (!isValidRequest.ok && isValidRequest.status !== 404) { - errorState = "unknown"; - canSubmit = false; - } - if (isValidRequest.status === 404) { - errorState = "404"; - canSubmit = false; - } - if (isValidRequest.ok && isValidRequest.data !== true) { - errorState = "expired"; - canSubmit = false; - } - finishedPreliminaryLoading = true; - }); -</script> - -<div class="min-h-full flex flex-col justify-center py-12 sm:px-6 lg:px-8"> - {#if finishedPreliminaryLoading} - <div class="sm:mx-auto sm:w-full p-2 sm:p-0 sm:max-w-md"> - <h2 class="mt-6 text-3xl tracking-tight font-bold text-gray-900"> - {$LL.resetPasswordPage.setANewPassword()} - </h2> - <p class="mt-2 text-sm text-gray-600"> - {$LL.or().toLowerCase()} - <a href="/sign-in" class="link"> - {$LL.signIntoYourAccount().toLowerCase()} - </a> - </p> - </div> - - <div class="mt-8 sm:mx-auto sm:w-full sm:max-w-md"> - <div class="bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10"> - <form - class="space-y-6" - on:submit|preventDefault={submitFormAsync} - > - {#if errorState === "404"} - <Alert - title={$LL.notFound()} - message={$LL.resetPasswordPage.requestNotFound()} - /> - {:else if errorState === "expired"} - <Alert - title={$LL.resetPasswordPage.expired()} - message={$LL.resetPasswordPage.requestHasExpired()} - rightLinkHref="/reset-password" - rightLinkText={$LL.resetPasswordPage.requestANewReset()} - /> - {:else if errorState === "unknown"} - <Alert - title={$LL.unexpectedError()} - message={$LL.tryAgainSoon()} - /> - {/if} - - <Input - id="password" - name="password" - type="password" - autocomplete="new-password" - required - bind:value={formData.newPassword} - label={$LL.resetPasswordPage.newPassword()} - /> - - <Button - text={$LL.submit()} - type="submit" - {loading} - fullWidth - /> - </form> - </div> - </div> - {:else} - <p>Checking your request...</p> - {/if} -</div> |
