feat: formatting using linter

This commit is contained in:
Bart van der Braak 2024-02-21 03:16:22 +01:00
parent 68ae0e7d1e
commit f6c274b3cc
40 changed files with 298 additions and 313 deletions

View file

@ -9,59 +9,52 @@
</script>
<div class="flex flex-col space-y-2 text-center">
<h1 class="text-2xl font-semibold tracking-tight">Create your account</h1>
<p class="pb-6 text-sm text-muted-foreground">
Enter your details below to create a new account
</p>
<h1 class="text-2xl font-semibold tracking-tight">Create your account</h1>
<p class="pb-6 text-sm text-muted-foreground">Enter your details below to create a new account</p>
</div>
<div class={cn('grid gap-6')} {...$$restProps}>
<form
method="POST"
action="?/register"
use:enhance={() => {
isLoading = true;
return async ({ update }) => {
isLoading = false;
update();
};
}}
>
<div class="grid gap-2">
<div class="grid gap-2">
<Label for="email">Name</Label>
<Input id="name" name="name" type="name" disabled={isLoading} />
</div>
<div class="grid gap-2">
<Label for="email">Email</Label>
<Input
id="email"
name="email"
type="email"
autocapitalize="none"
autocomplete="email"
autocorrect="off"
disabled={isLoading}
/>
</div>
<div class="grid gap-2">
<Label for="password">Password</Label>
<Input id="password" name="password" type="password" disabled={isLoading} />
</div>
<div class="grid gap-2">
<Label for="passwordConfirm">Confirm password</Label>
<Input
id="passwordConfirm"
name="passwordConfirm"
type="password"
disabled={isLoading}
/>
</div>
<Button type="submit" disabled={isLoading}>
{#if isLoading}
<Icons.spinner class="mr-2 h-4 w-4 animate-spin" />
{/if}
Register
</Button>
</div>
</form>
<form
method="POST"
action="?/register"
use:enhance={() => {
isLoading = true;
return async ({ update }) => {
isLoading = false;
update();
};
}}
>
<div class="grid gap-2">
<div class="grid gap-2">
<Label for="email">Name</Label>
<Input id="name" name="name" type="name" disabled={isLoading} />
</div>
<div class="grid gap-2">
<Label for="email">Email</Label>
<Input
id="email"
name="email"
type="email"
autocapitalize="none"
autocomplete="email"
autocorrect="off"
disabled={isLoading}
/>
</div>
<div class="grid gap-2">
<Label for="password">Password</Label>
<Input id="password" name="password" type="password" disabled={isLoading} />
</div>
<div class="grid gap-2">
<Label for="passwordConfirm">Confirm password</Label>
<Input id="passwordConfirm" name="passwordConfirm" type="password" disabled={isLoading} />
</div>
<Button type="submit" disabled={isLoading}>
{#if isLoading}
<Icons.spinner class="mr-2 h-4 w-4 animate-spin" />
{/if}
Register
</Button>
</div>
</form>
</div>

View file

@ -1,19 +1,21 @@
<script lang="ts">
import { Icons } from "$lib/components/site";
import PocketBase from 'pocketbase';
import { Icons } from '$lib/components/site';
import PocketBase from 'pocketbase';
import { PUBLIC_CLIENT_PB } from '$env/static/public';
import { enhance } from "$app/forms";
import { Button } from "$lib/components/ui/button";
import { Separator } from "$lib/components/ui/separator";
import { enhance } from '$app/forms';
import { Button } from '$lib/components/ui/button';
import { Separator } from '$lib/components/ui/separator';
import * as DropdownMenu from '$lib/components/ui/dropdown-menu';
import { ChevronDown } from "radix-icons-svelte";
import { ChevronDown } from 'radix-icons-svelte';
export let isLoading = false;
export let providers: { name: string, icon?: any, displayName: string }[];
/* eslint-disable @typescript-eslint/no-explicit-any */
export let providers: { name: string; icon?: any; displayName: string }[];
let currentProvider = providers[0];
const pb = new PocketBase(PUBLIC_CLIENT_PB);
let oauth2Form: HTMLFormElement;
let oauth2Form: HTMLFormElement;
async function loginWithOauth2(provider: string) {
try {
await pb.collection('users').authWithOAuth2({ provider });

View file

@ -5,7 +5,7 @@
import type { PageData } from './$types.js';
import { LoginForm, RegisterForm, SSOForm } from './(components)';
export let form;
export let data: PageData;
export let data: PageData;
const { providers } = data;
const providersWithIcons = providers.map((provider) => ({
...provider,

View file

@ -1,9 +1,9 @@
<script lang="ts">
import { cn } from "$lib/utils";
import { page } from "$app/stores";
import { Button } from "$lib/components/ui/button";
import { cubicInOut } from "svelte/easing";
import { crossfade } from "svelte/transition";
import { cn } from '$lib/utils';
import { page } from '$app/stores';
import { Button } from '$lib/components/ui/button';
import { cubicInOut } from 'svelte/easing';
import { crossfade } from 'svelte/transition';
let className: string | undefined | null = undefined;
export let items: { href: string; title: string }[];
@ -11,28 +11,25 @@
const [send, receive] = crossfade({
duration: 250,
easing: cubicInOut,
easing: cubicInOut
});
</script>
<nav class={cn("flex space-x-2 lg:flex-col lg:space-x-0 lg:space-y-1", className)}>
<nav class={cn('flex space-x-2 lg:flex-col lg:space-x-0 lg:space-y-1', className)}>
{#each items as item}
{@const isActive = $page.url.pathname === item.href}
<Button
href={item.href}
variant="ghost"
class={cn(
!isActive && "hover:underline",
"relative justify-start hover:bg-transparent"
)}
class={cn(!isActive && 'hover:underline', 'relative justify-start hover:bg-transparent')}
data-sveltekit-noscroll
>
{#if isActive}
<div
class="absolute inset-0 rounded-md bg-muted"
in:send={{ key: "active-sidebar-tab" }}
out:receive={{ key: "active-sidebar-tab" }}
in:send={{ key: 'active-sidebar-tab' }}
out:receive={{ key: 'active-sidebar-tab' }}
/>
{/if}
<div class="relative">

View file

@ -1,29 +1,27 @@
<script lang="ts">
import { Separator } from "$lib/components/ui/separator";
import SidebarNav from "./(components)/sidebar-nav.svelte";
import { Separator } from '$lib/components/ui/separator';
import SidebarNav from './(components)/sidebar-nav.svelte';
const sidebarNavItems = [
{
title: "Profile",
href: "/settings",
title: 'Profile',
href: '/settings'
},
{
title: "Account",
href: "/settings/account",
title: 'Account',
href: '/settings/account'
},
{
title: "Appearance",
href: "/settings/appearance",
},
title: 'Appearance',
href: '/settings/appearance'
}
];
</script>
<div class="space-y-6 p-10 pb-16">
<div class="space-y-0.5">
<h2 class="text-2xl font-bold tracking-tight">Settings</h2>
<p class="text-muted-foreground">
Manage your account settings and set e-mail preferences.
</p>
<p class="text-muted-foreground">Manage your account settings and set e-mail preferences.</p>
</div>
<Separator class="my-6" />
<div class="flex flex-col space-y-8 lg:flex-row lg:space-x-12 lg:space-y-0">

View file

@ -1,12 +1,12 @@
import type { PageServerLoad } from "./$types";
import { superValidate } from "sveltekit-superforms";
import { zod } from "sveltekit-superforms/adapters";
import { profileFormSchema } from "./profile-form.svelte";
import { fail, type Actions } from "@sveltejs/kit";
import type { PageServerLoad } from './$types';
import { superValidate } from 'sveltekit-superforms';
import { zod } from 'sveltekit-superforms/adapters';
import { profileFormSchema } from './profile-form.svelte';
import { fail, type Actions } from '@sveltejs/kit';
export const load: PageServerLoad = async () => {
return {
form: await superValidate(zod(profileFormSchema)),
form: await superValidate(zod(profileFormSchema))
};
};
@ -15,12 +15,12 @@ export const actions: Actions = {
const form = await superValidate(request, zod(profileFormSchema));
if (!form.valid) {
return fail(400, {
form,
form
});
}
await locals.pocketBase.collection('users').update(locals.id, form.data);
return {
form,
form
};
},
}
};

View file

@ -1,7 +1,7 @@
<script lang="ts">
import type { PageData } from "./$types";
import ProfileForm from "./profile-form.svelte";
import { Separator } from "$lib/components/ui/separator";
import type { PageData } from './$types';
import ProfileForm from './profile-form.svelte';
import { Separator } from '$lib/components/ui/separator';
export let data: PageData;
</script>

View file

@ -1,17 +1,17 @@
import type { PageServerLoad } from "./$types";
import { superValidate } from "sveltekit-superforms";
import { zod } from "sveltekit-superforms/adapters";
import { usernameFormSchema } from "./username-form.svelte";
import { emailRequestFormSchema, emailConfirmFormSchema } from "./email-form.svelte";
import { passwordFormSchema } from "./password-form.svelte";
import { fail, type Actions } from "@sveltejs/kit";
import type { PageServerLoad } from './$types';
import { superValidate } from 'sveltekit-superforms';
import { zod } from 'sveltekit-superforms/adapters';
import { usernameFormSchema } from './username-form.svelte';
import { emailRequestFormSchema, emailConfirmFormSchema } from './email-form.svelte';
import { passwordFormSchema } from './password-form.svelte';
import { fail, type Actions } from '@sveltejs/kit';
export const load: PageServerLoad = async () => {
return {
usernameForm: await superValidate(zod(usernameFormSchema)),
emailRequestForm: await superValidate(zod(emailRequestFormSchema)),
emailConfirmForm: await superValidate(zod(emailConfirmFormSchema)),
passwordForm: await superValidate(zod(passwordFormSchema)),
passwordForm: await superValidate(zod(passwordFormSchema))
};
};
@ -20,50 +20,50 @@ export const actions: Actions = {
const form = await superValidate(request, zod(usernameFormSchema));
if (!form.valid) {
return fail(400, {
form,
form
});
}
await locals.pocketBase.collection('users').update(locals.id, form.data);
return {
form,
form
};
},
emailRequest: async ({ request, locals }) => {
const form = await superValidate(request, zod(emailRequestFormSchema));
if (!form.valid) {
return fail(400, {
form,
form
});
}
await locals.pocketBase.collection('users').requestEmailChange(form.data.newEmail);
return {
form,
form
};
},
emailConfirm: async ({ request, locals }) => {
const form = await superValidate(request, zod(emailConfirmFormSchema));
if (!form.valid) {
return fail(400, {
form,
form
});
}
await locals.pocketBase
.collection('users')
.confirmEmailChange(form.data.token, form.data.password);
return {
form,
form
};
},
password: async ({ request, locals }) => {
const form = await superValidate(request, zod(passwordFormSchema));
if (!form.valid) {
return fail(400, {
form,
form
});
}
await locals.pocketBase.collection('users').update(locals.id, form.data);
return {
form,
form
};
},
}
};

View file

@ -1,9 +1,9 @@
<script lang="ts">
import { Separator } from "$lib/components/ui/separator";
import type { PageData } from "./$types";
import UsernameForm from "./username-form.svelte";
import EmailForm from "./email-form.svelte";
import PasswordForm from "./password-form.svelte";
import { Separator } from '$lib/components/ui/separator';
import type { PageData } from './$types';
import UsernameForm from './username-form.svelte';
import EmailForm from './email-form.svelte';
import PasswordForm from './password-form.svelte';
export let data: PageData;
</script>
@ -11,12 +11,14 @@
<div class="space-y-6">
<div>
<h3 class="text-lg font-medium">Account</h3>
<p class="text-sm text-muted-foreground">
Update your account settings.
</p>
<p class="text-sm text-muted-foreground">Update your account settings.</p>
</div>
<Separator />
<UsernameForm user={data.user} data={data.usernameForm} />
<EmailForm user={data.user} requestData={data.emailRequestForm} confirmData={data.emailConfirmForm} />
<EmailForm
user={data.user}
requestData={data.emailRequestForm}
confirmData={data.emailConfirmForm}
/>
<PasswordForm data={data.passwordForm} />
</div>

View file

@ -1,12 +1,12 @@
import { superValidate } from "sveltekit-superforms";
import { zod } from "sveltekit-superforms/adapters";
import type { PageServerLoad } from "../$types";
import { appearanceFormSchema } from "./appearance-form.svelte";
import { fail, type Actions } from "@sveltejs/kit";
import { superValidate } from 'sveltekit-superforms';
import { zod } from 'sveltekit-superforms/adapters';
import type { PageServerLoad } from '../$types';
import { appearanceFormSchema } from './appearance-form.svelte';
import { fail, type Actions } from '@sveltejs/kit';
export const load: PageServerLoad = async () => {
return {
form: await superValidate(zod(appearanceFormSchema)),
form: await superValidate(zod(appearanceFormSchema))
};
};
@ -15,12 +15,12 @@ export const actions: Actions = {
const form = await superValidate(request, zod(appearanceFormSchema));
if (!form.valid) {
return fail(400, {
form,
form
});
}
await locals.pocketBase.collection('users').update(locals.id, form.data);
return {
form,
form
};
},
}
};

View file

@ -1,7 +1,7 @@
<script lang="ts">
import { Separator } from "$lib/components/ui/separator";
import type { PageData } from "./$types";
import AppearanceForm from "./appearance-form.svelte";
import { Separator } from '$lib/components/ui/separator';
import type { PageData } from './$types';
import AppearanceForm from './appearance-form.svelte';
export let data: PageData;
</script>

View file

@ -13,11 +13,7 @@
<script lang="ts">
import { browser, dev } from '$app/environment';
import { PUBLIC_DEBUG_FORMS } from '$env/static/public';
import SuperDebug, {
type SuperValidated,
type Infer,
superForm,
} from 'sveltekit-superforms';
import SuperDebug, { type SuperValidated, type Infer, superForm } from 'sveltekit-superforms';
import * as Card from '$lib/components/ui/card';
import * as Form from '$lib/components/ui/form';
import * as RadioGroup from '$lib/components/ui/radio-group';
@ -25,7 +21,7 @@
import { zodClient } from 'sveltekit-superforms/adapters';
import { toast } from 'svelte-sonner';
import { Icons } from '$lib/components/site';
import { resetMode, setMode } from 'mode-watcher';
import { setMode } from 'mode-watcher';
export let data: SuperValidated<Infer<AppearanceFormSchema>>;
let isLoading = false;
@ -38,7 +34,7 @@
},
onUpdated: ({ form: f }) => {
isLoading = false;
setMode(f.data.appearanceMode)
setMode(f.data.appearanceMode);
if (f.valid) {
toast.success('Appearance has been updated.');
} else {
@ -52,9 +48,7 @@
<Card.Root>
<Card.Header>
<Card.Title>Change your mode</Card.Title>
<Card.Description>
You can modify the mode for your theme preference.
</Card.Description>
<Card.Description>You can modify the mode for your theme preference.</Card.Description>
</Card.Header>
<Card.Content>
<form method="POST" use:enhance class="space-y-2">

View file

@ -7,10 +7,10 @@
import DataIndicator from '$lib/components/site/data-indicator.svelte';
import { fly } from 'svelte/transition';
import { Toaster } from 'svelte-sonner';
import { } from "mode-watcher";
import {} from 'mode-watcher';
export let data: LayoutData;
if (data.user?.appearanceMode) {
setMode(data.user.appearanceMode);
}