diff --git a/src/src/components/404/glitched-text.tsx b/src/src/components/404/glitched-text.tsx index bd0ef07..4c6933b 100644 --- a/src/src/components/404/glitched-text.tsx +++ b/src/src/components/404/glitched-text.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from "react"; +import { useState, useEffect } from "react"; const GlitchText = () => { const originalText = 'Error 404'; diff --git a/src/src/components/about/intro.tsx b/src/src/components/about/intro.tsx index 3eaff7f..9f373dc 100644 --- a/src/src/components/about/intro.tsx +++ b/src/src/components/about/intro.tsx @@ -1,5 +1,5 @@ -import React, { useEffect, useRef, useState } from "react"; -import { ChevronDownIcon } from "@/components/icons"; +import { useEffect, useRef, useState } from "react"; +import { ChevronDown } from "lucide-react"; export default function Intro() { const [visible, setVisible] = useState(false); @@ -97,7 +97,7 @@ export default function Intro() { className="text-foreground/50 hover:text-yellow-bright transition-colors duration-300" aria-label="Scroll to next section" > - + diff --git a/src/src/components/about/stats-activity.tsx b/src/src/components/about/stats-activity.tsx index 01f265b..165a3a1 100644 --- a/src/src/components/about/stats-activity.tsx +++ b/src/src/components/about/stats-activity.tsx @@ -1,4 +1,3 @@ -import React from "react"; interface ActivityDay { grand_total: { total_seconds: number }; diff --git a/src/src/components/animate-in.tsx b/src/src/components/animate-in.tsx index b2208da..3e9f01f 100644 --- a/src/src/components/animate-in.tsx +++ b/src/src/components/animate-in.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useRef, useState } from "react"; +import { useEffect, useRef, useState } from "react"; interface AnimateInProps { children: React.ReactNode; diff --git a/src/src/components/background/engines/shuffle.ts b/src/src/components/background/engines/shuffle.ts index aff60a0..fcae949 100644 --- a/src/src/components/background/engines/shuffle.ts +++ b/src/src/components/background/engines/shuffle.ts @@ -1,9 +1,9 @@ import type { AnimationEngine } from "@/lib/animations/types"; -import { GameOfLifeEngine } from "./game-of-life"; -import { LavaLampEngine } from "./lava-lamp"; -import { ConfettiEngine } from "./confetti"; -import { AsciiquariumEngine } from "./asciiquarium"; -import { PipesEngine } from "./pipes"; +import { GameOfLifeEngine } from "@/components/background/engines/game-of-life"; +import { LavaLampEngine } from "@/components/background/engines/lava-lamp"; +import { ConfettiEngine } from "@/components/background/engines/confetti"; +import { AsciiquariumEngine } from "@/components/background/engines/asciiquarium"; +import { PipesEngine } from "@/components/background/engines/pipes"; type ChildId = "game-of-life" | "lava-lamp" | "confetti" | "asciiquarium" | "pipes"; diff --git a/src/src/components/background/index.tsx b/src/src/components/background/index.tsx index c3f8287..b250ff1 100644 --- a/src/src/components/background/index.tsx +++ b/src/src/components/background/index.tsx @@ -1,10 +1,10 @@ import { useEffect, useRef } from "react"; -import { GameOfLifeEngine } from "./engines/game-of-life"; -import { LavaLampEngine } from "./engines/lava-lamp"; -import { ConfettiEngine } from "./engines/confetti"; -import { AsciiquariumEngine } from "./engines/asciiquarium"; -import { PipesEngine } from "./engines/pipes"; -import { ShuffleEngine } from "./engines/shuffle"; +import { GameOfLifeEngine } from "@/components/background/engines/game-of-life"; +import { LavaLampEngine } from "@/components/background/engines/lava-lamp"; +import { ConfettiEngine } from "@/components/background/engines/confetti"; +import { AsciiquariumEngine } from "@/components/background/engines/asciiquarium"; +import { PipesEngine } from "@/components/background/engines/pipes"; +import { ShuffleEngine } from "@/components/background/engines/shuffle"; import { getStoredAnimationId } from "@/lib/animations/engine"; import type { AnimationEngine } from "@/lib/animations/types"; import type { AnimationId } from "@/lib/animations"; diff --git a/src/src/components/blog/header.tsx b/src/src/components/blog/header.tsx index f0af492..7a342b7 100644 --- a/src/src/components/blog/header.tsx +++ b/src/src/components/blog/header.tsx @@ -1,4 +1,3 @@ -import React from "react"; import { RssIcon, TagIcon, TrendingUpIcon } from "lucide-react"; import { AnimateIn } from "@/components/animate-in"; diff --git a/src/src/components/blog/post-list.tsx b/src/src/components/blog/post-list.tsx index 8c6e5f1..5adfcba 100644 --- a/src/src/components/blog/post-list.tsx +++ b/src/src/components/blog/post-list.tsx @@ -1,4 +1,3 @@ -import React from "react"; import { AnimateIn } from "@/components/animate-in"; type BlogPost = { diff --git a/src/src/components/footer/index.tsx b/src/src/components/footer/index.tsx index a57d068..59da59c 100644 --- a/src/src/components/footer/index.tsx +++ b/src/src/components/footer/index.tsx @@ -1,4 +1,3 @@ -import React from "react"; import { Links } from "@/components/footer/links"; export default function Footer({ fixed = false }) { diff --git a/src/src/components/header/index.tsx b/src/src/components/header/index.tsx index 32dde6b..7851da9 100644 --- a/src/src/components/header/index.tsx +++ b/src/src/components/header/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from "react"; +import { useState, useEffect, useRef } from "react"; import { Links } from "@/components/header/links"; export default function Header({ transparent = false }: { transparent?: boolean }) { diff --git a/src/src/components/hero/index.tsx b/src/src/components/hero/index.tsx index bb6ad69..cbce879 100644 --- a/src/src/components/hero/index.tsx +++ b/src/src/components/hero/index.tsx @@ -1,4 +1,3 @@ -import React from "react"; import Typewriter from "typewriter-effect"; const html = (strings: TemplateStringsArray, ...values: any[]) => { diff --git a/src/src/components/icons/chevron-down.tsx b/src/src/components/icons/chevron-down.tsx deleted file mode 100644 index b00c0d5..0000000 --- a/src/src/components/icons/chevron-down.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from "react"; - -import { ChevronDown } from "lucide-react"; - -export const ChevronDownIcon = (props: React.ComponentProps) => { - return ; -}; diff --git a/src/src/components/icons/index.ts b/src/src/components/icons/index.ts deleted file mode 100644 index df3870e..0000000 --- a/src/src/components/icons/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { ChevronDownIcon } from "@/components/icons/chevron-down"; diff --git a/src/src/components/projects/project-list.tsx b/src/src/components/projects/project-list.tsx index e6c02fe..caf0717 100644 --- a/src/src/components/projects/project-list.tsx +++ b/src/src/components/projects/project-list.tsx @@ -1,4 +1,3 @@ -import React from "react"; import type { CollectionEntry } from "astro:content"; import { AnimateIn } from "@/components/animate-in"; diff --git a/src/src/layouts/index.astro b/src/src/layouts/index.astro index ccadd62..42e1b8e 100644 --- a/src/src/layouts/index.astro +++ b/src/src/layouts/index.astro @@ -1,6 +1,4 @@ --- -const { content } = Astro.props; - import "@/style/globals.css"; import { ClientRouter } from "astro:transitions"; diff --git a/src/src/lib/animations/engine.ts b/src/src/lib/animations/engine.ts index 918f432..0dd0ca8 100644 --- a/src/src/lib/animations/engine.ts +++ b/src/src/lib/animations/engine.ts @@ -1,5 +1,5 @@ -import { ANIMATION_IDS, DEFAULT_ANIMATION_ID } from "./index"; -import type { AnimationId } from "./index"; +import { ANIMATION_IDS, DEFAULT_ANIMATION_ID } from "@/lib/animations"; +import type { AnimationId } from "@/lib/animations"; export function getStoredAnimationId(): AnimationId { if (typeof window === "undefined") return DEFAULT_ANIMATION_ID; diff --git a/src/src/lib/animations/loader.ts b/src/src/lib/animations/loader.ts index 38fcfdc..f2378f2 100644 --- a/src/src/lib/animations/loader.ts +++ b/src/src/lib/animations/loader.ts @@ -1,4 +1,4 @@ -import { ANIMATION_IDS, DEFAULT_ANIMATION_ID } from "./index"; +import { ANIMATION_IDS, DEFAULT_ANIMATION_ID } from "@/lib/animations"; const VALID_IDS = JSON.stringify(ANIMATION_IDS); diff --git a/src/src/lib/getPostData.ts b/src/src/lib/getPostData.ts deleted file mode 100644 index af13a1e..0000000 --- a/src/src/lib/getPostData.ts +++ /dev/null @@ -1,14 +0,0 @@ -import readingTime from "reading-time"; - -type Post = { - title: string - file: string - rawContent: () => string -} - -export default function getPostData(post: Post) { - return { - slug: post.file.split('/').pop().split('.').shift(), - readingTime: readingTime(post.rawContent()).text, - } -} diff --git a/src/src/lib/themes/engine.ts b/src/src/lib/themes/engine.ts index 6cf5fb2..deaadb3 100644 --- a/src/src/lib/themes/engine.ts +++ b/src/src/lib/themes/engine.ts @@ -1,6 +1,6 @@ -import { THEMES, DEFAULT_THEME_ID } from "./index"; -import { CSS_PROPS } from "./props"; -import type { Theme } from "./types"; +import { THEMES, DEFAULT_THEME_ID } from "@/lib/themes"; +import { CSS_PROPS } from "@/lib/themes/props"; +import type { Theme } from "@/lib/themes/types"; export function getStoredThemeId(): string { if (typeof window === "undefined") return DEFAULT_THEME_ID; diff --git a/src/src/lib/themes/loader.ts b/src/src/lib/themes/loader.ts index 9b02159..d039059 100644 --- a/src/src/lib/themes/loader.ts +++ b/src/src/lib/themes/loader.ts @@ -3,8 +3,8 @@ * Called at build time in Astro frontmatter. * The script reads "theme" from localStorage, looks up colors, injects a