aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/support/+page.svelte
blob: 0d2c2e5b551937855df5a0e5c88a198c68a81e4d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<script>
	import { enhance } from '$app/forms';
	import { scale } from 'svelte/transition';
	import { AppHeader, Icon } from '$comp';
	import { t } from '$lib/translations';

	export let data, form;

	let { user } = data;
	$: if (user) {
		data.subject = { ...user };
	}

	let email;
	let message;
</script>

{#if user}
	<AppHeader {data} />
{/if}

{#if form?.error}
	<div class="text-red-600 text-center">
		{form.error}
	</div>
{/if}

<div class="container px-4 max-w-lg mx-auto mt-20 space-y-5">
	{#if form?.success}
		<h1 class="text-center text-3xl md:text-4xl font-semibold mb-8">Thank you!</h1>
		<p class="text-center mb-8">Someone will be in touch shortly.</p>

		<a href={user ? `/${user.username}/dashboard` : '/'}>
			<button class="rounded-full border py-2 px-5 font-bold hover:opacity-80 w-full mb-2"
				>Done</button
			>
		</a>
	{:else}
		<h1 class="text-center text-3xl md:text-4xl font-semibold mb-8">
			{$t('user.support.header')}
		</h1>

		<p class="text-secondary">
			Fill out this form or email us directly at <a
				class="underline"
				href="mailto:[email protected]">[email protected]</a
			> and we'll do our best to get back to you in a timely manner.
		</p>

		<form method="POST" use:enhance>
			<div class="mb-4">
				<label for="account" class="font-semibold">{$t('user.support.accountName')}</label>
				<input
					class="bg-primary"
					type="text"
					name="account"
					required
					value={user?.username || ''}
				/>
			</div>

			<div class="mb-4">
				<label for="email" class="font-semibold">{$t('user.support.email')}</label>
				<input class="bg-primary" type="email" name="email" bind:value={email} required />
			</div>

			<div class="mb-4">
				<label for="message" class="font-semibold">{$t('user.support.message')}</label>
				<textarea
					rows={5}
					class="bg-primary"
					type="text"
					name="message"
					bind:value={message}
					required
				/>
			</div>

			<button
				type="submit"
				disabled={!email || !message}
				class="{!email || !message
					? 'opacity-50'
					: 'opacity-100'} bg-black text-white font-bold rounded-xl py-3 w-full mx-auto {email &&
				message
					? 'hover:opacity-80'
					: ''}">{$t('user.support.send')}</button
			>
		</form>
	{/if}
</div>