From 826427d0141d20b2dd12822de078d67f48c8e1f2 Mon Sep 17 00:00:00 2001 From: Bao Dang Date: Mon, 21 Apr 2025 15:29:45 -0400 Subject: [PATCH 1/5] fix: title animation --- src/routes/+page.svelte | 67 +++++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 23 deletions(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 996bed8..a7e3f5b 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -5,6 +5,7 @@ import { gsap } from "gsap"; import { TextPlugin } from "gsap/TextPlugin"; import { ScrollTrigger } from "gsap/ScrollTrigger"; + import { cn } from "$lib/utils"; gsap.registerPlugin(TextPlugin); gsap.registerPlugin(ScrollTrigger); @@ -25,6 +26,7 @@ import ScrollUpButton from "$components/misc/scroll-up-button.svelte"; let { data }: PageProps = $props(); + let mounted = $state(false); let img1: HTMLElement; let img2: HTMLElement; @@ -63,29 +65,36 @@ ]; onMount(() => { - if (data.user) { - goto("/home"); - } - - // Text animation + mounted = true; const tl = gsap.timeline(); - tl.from(".hero-title", { - scale: 0.5, + // Use query selectors for the words + const titleSelectors = [1, 2, 3, 4].map((i) => `.word-${i}`); + tl.from(titleSelectors, { opacity: 0, - duration: 1, - ease: "ease.out" - }); - tl.to(".header-3", { + y: 10, + filter: "blur(10px)", duration: 0.5, + ease: "ease.out", + stagger: 0.2 + }); + tl.from(".word-5", { + duration: 0.1, + opacity: 0 + }); + tl.to(".word-5", { + duration: 0.3, text: "magic", ease: "none" }); + gsap.from([img1, img2], { opacity: 0, y: 20, duration: 1, - ease: "ease.out" + ease: "ease.out", + delay: 0.3 }); + gsap.from(".feature-card", { scrollTrigger: { trigger: ".features-section", @@ -106,22 +115,34 @@ Head-to-head coding battle with magic -
+
- +
From e787e45f46ffc0dde7668628fc26f0d3c162e9ca Mon Sep 17 00:00:00 2001 From: Bao Dang Date: Mon, 21 Apr 2025 15:30:21 -0400 Subject: [PATCH 2/5] add page.server.ts for redirect --- src/routes/+page.server.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/routes/+page.server.ts diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts new file mode 100644 index 0000000..e69de29 From f2549a1e7bcfdc128f1f8d100fbee30aeb1a8d27 Mon Sep 17 00:00:00 2001 From: Bao Dang Date: Mon, 21 Apr 2025 15:31:13 -0400 Subject: [PATCH 3/5] add redirect --- src/routes/+page.server.ts | 8 ++++++++ src/routes/+page.svelte | 1 - 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index e69de29..582b3d7 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -0,0 +1,8 @@ +import type { PageServerLoad } from "./$types"; +import { redirect } from "@sveltejs/kit"; + +export const load: PageServerLoad = async ({ locals }) => { + if (locals.user) { + redirect(302, "/home"); + } +}; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index a7e3f5b..49a7630 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,7 +1,6 @@