From 20c0e3345cc997c80578fcfa6db2c8b111592430 Mon Sep 17 00:00:00 2001 From: pd0a6847 Date: Fri, 13 Jun 2025 15:51:16 +0900 Subject: [PATCH] Enhance layout and user experience by updating styles, adding toast notifications on login success, and modifying sidebar content --- src/app.css | 86 +++++++++++++-------------- src/lib/components/app-sidebar.svelte | 4 +- src/routes/+layout.svelte | 2 +- src/routes/login/+page.server.ts | 6 +- src/routes/login/+page.svelte | 2 +- src/routes/login/login-form.svelte | 13 +++- src/routes/register/+page.svelte | 2 +- 7 files changed, 65 insertions(+), 50 deletions(-) diff --git a/src/app.css b/src/app.css index e48f5f0..ac256d3 100644 --- a/src/app.css +++ b/src/app.css @@ -7,70 +7,70 @@ :root { --radius: 0.625rem; --background: oklch(1 0 0); - --foreground: oklch(0.129 0.042 264.695); + --foreground: oklch(0.145 0 0); --card: oklch(1 0 0); - --card-foreground: oklch(0.129 0.042 264.695); + --card-foreground: oklch(0.145 0 0); --popover: oklch(1 0 0); - --popover-foreground: oklch(0.129 0.042 264.695); - --primary: oklch(0.208 0.042 265.755); - --primary-foreground: oklch(0.984 0.003 247.858); - --secondary: oklch(0.968 0.007 247.896); - --secondary-foreground: oklch(0.208 0.042 265.755); - --muted: oklch(0.968 0.007 247.896); - --muted-foreground: oklch(0.554 0.046 257.417); - --accent: oklch(0.968 0.007 247.896); - --accent-foreground: oklch(0.208 0.042 265.755); + --popover-foreground: oklch(0.145 0 0); + --primary: oklch(0.205 0 0); + --primary-foreground: oklch(0.985 0 0); + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.556 0 0); + --accent: oklch(0.97 0 0); + --accent-foreground: oklch(0.205 0 0); --destructive: oklch(0.577 0.245 27.325); - --border: oklch(0.929 0.013 255.508); - --input: oklch(0.929 0.013 255.508); - --ring: oklch(0.704 0.04 256.788); + --border: oklch(0.922 0 0); + --input: oklch(0.922 0 0); + --ring: oklch(0.708 0 0); --chart-1: oklch(0.646 0.222 41.116); --chart-2: oklch(0.6 0.118 184.704); --chart-3: oklch(0.398 0.07 227.392); --chart-4: oklch(0.828 0.189 84.429); --chart-5: oklch(0.769 0.188 70.08); - --sidebar: oklch(0.984 0.003 247.858); - --sidebar-foreground: oklch(0.129 0.042 264.695); - --sidebar-primary: oklch(0.208 0.042 265.755); - --sidebar-primary-foreground: oklch(0.984 0.003 247.858); - --sidebar-accent: oklch(0.968 0.007 247.896); - --sidebar-accent-foreground: oklch(0.208 0.042 265.755); - --sidebar-border: oklch(0.929 0.013 255.508); - --sidebar-ring: oklch(0.704 0.04 256.788); + --sidebar: oklch(0.985 0 0); + --sidebar-foreground: oklch(0.145 0 0); + --sidebar-primary: oklch(0.205 0 0); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.97 0 0); + --sidebar-accent-foreground: oklch(0.205 0 0); + --sidebar-border: oklch(0.922 0 0); + --sidebar-ring: oklch(0.708 0 0); } .dark { - --background: oklch(0.129 0.042 264.695); - --foreground: oklch(0.984 0.003 247.858); - --card: oklch(0.208 0.042 265.755); - --card-foreground: oklch(0.984 0.003 247.858); - --popover: oklch(0.208 0.042 265.755); - --popover-foreground: oklch(0.984 0.003 247.858); - --primary: oklch(0.929 0.013 255.508); - --primary-foreground: oklch(0.208 0.042 265.755); - --secondary: oklch(0.279 0.041 260.031); - --secondary-foreground: oklch(0.984 0.003 247.858); - --muted: oklch(0.279 0.041 260.031); - --muted-foreground: oklch(0.704 0.04 256.788); - --accent: oklch(0.279 0.041 260.031); - --accent-foreground: oklch(0.984 0.003 247.858); + --background: oklch(0.145 0 0); + --foreground: oklch(0.985 0 0); + --card: oklch(0.205 0 0); + --card-foreground: oklch(0.985 0 0); + --popover: oklch(0.205 0 0); + --popover-foreground: oklch(0.985 0 0); + --primary: oklch(0.922 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); + --secondary-foreground: oklch(0.985 0 0); + --muted: oklch(0.269 0 0); + --muted-foreground: oklch(0.708 0 0); + --accent: oklch(0.269 0 0); + --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.704 0.191 22.216); --border: oklch(1 0 0 / 10%); --input: oklch(1 0 0 / 15%); - --ring: oklch(0.551 0.027 264.364); + --ring: oklch(0.556 0 0); --chart-1: oklch(0.488 0.243 264.376); --chart-2: oklch(0.696 0.17 162.48); --chart-3: oklch(0.769 0.188 70.08); --chart-4: oklch(0.627 0.265 303.9); --chart-5: oklch(0.645 0.246 16.439); - --sidebar: oklch(0.208 0.042 265.755); - --sidebar-foreground: oklch(0.984 0.003 247.858); + --sidebar: oklch(0.205 0 0); + --sidebar-foreground: oklch(0.985 0 0); --sidebar-primary: oklch(0.488 0.243 264.376); - --sidebar-primary-foreground: oklch(0.984 0.003 247.858); - --sidebar-accent: oklch(0.279 0.041 260.031); - --sidebar-accent-foreground: oklch(0.984 0.003 247.858); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.269 0 0); + --sidebar-accent-foreground: oklch(0.985 0 0); --sidebar-border: oklch(1 0 0 / 10%); - --sidebar-ring: oklch(0.551 0.027 264.364); + --sidebar-ring: oklch(0.556 0 0); } @theme inline { diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index 2d8bc7a..72a1125 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -24,7 +24,7 @@ user: { name: "shadcn", email: "m@example.com", - avatar: "/avatars/shadcn.jpg", + avatar: "https://shadcn-svelte.com/avatars/shadcn.jpg", }, navMain: [ { @@ -146,7 +146,7 @@ {#snippet child({ props })} - Acme Inc. + Frovide : Home {/snippet} diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 3e215ea..62430a3 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -7,7 +7,7 @@ import SiteHeader from "$lib/components/site-header.svelte"; - + diff --git a/src/routes/login/+page.server.ts b/src/routes/login/+page.server.ts index 7ccfa69..86ce0ee 100644 --- a/src/routes/login/+page.server.ts +++ b/src/routes/login/+page.server.ts @@ -12,6 +12,7 @@ import {formSchema} from "./schema"; + export const load: PageServerLoad = async (event) => { if (event.locals.user) { return redirect(302, '/demo/lucia'); @@ -57,7 +58,10 @@ export const actions: Actions = { const session = await auth.createSession(sessionToken, existingUser.id); auth.setSessionTokenCookie(event, sessionToken, session.expiresAt); - return redirect(302, '/demo/lucia'); + return { + form, + }; + // return redirect(302, '/demo/lucia'); }, }; diff --git a/src/routes/login/+page.svelte b/src/routes/login/+page.svelte index 0afee2b..5f7916c 100644 --- a/src/routes/login/+page.svelte +++ b/src/routes/login/+page.svelte @@ -4,7 +4,7 @@ let {data}: { data: PageData } = $props(); -
+
diff --git a/src/routes/login/login-form.svelte b/src/routes/login/login-form.svelte index 21afe12..64fd33b 100644 --- a/src/routes/login/login-form.svelte +++ b/src/routes/login/login-form.svelte @@ -14,19 +14,30 @@ import {Switch} from "@/components/ui/switch"; import {cn} from "@/utils.js"; import SuperDebug from 'sveltekit-superforms'; + import { toast } from "svelte-sonner"; let {data}: { data: { form: SuperValidated> } } = $props(); const form = superForm(data.form, { validators: zodClient(formSchema), + applyAction: false, + onResult({ result }) { + if (result.type === 'success') { + toast.success(`로그인: ${$formData.email}`, { + description: 'Monday, January 3rd at 6:00pm', + duration: 3000, + }); + // goto(result.location); + } + } }); const {form: formData, enhance} = form; -
+
LOGIN diff --git a/src/routes/register/+page.svelte b/src/routes/register/+page.svelte index e87a321..88f19c7 100644 --- a/src/routes/register/+page.svelte +++ b/src/routes/register/+page.svelte @@ -3,7 +3,7 @@ import RegisterForm from "./register-form.svelte"; let { data }: { data: PageData } = $props(); -
+