diff --git a/frontend/components/shared/Footer.tsx b/frontend/components/shared/Footer.tsx index 1143b8f8..f052df3b 100644 --- a/frontend/components/shared/Footer.tsx +++ b/frontend/components/shared/Footer.tsx @@ -46,7 +46,10 @@ export default function Footer() {

{t('builtWith')}{' '} - + DevLovers {' '} {t('byCommunity')} @@ -55,14 +58,14 @@ export default function Footer() {

{t('privacyPolicy')} | {t('termsOfService')} @@ -94,11 +97,12 @@ export default function Footer() { bg-white/40 text-slate-600 transition-all - hover:-translate-y-0.5 hover:text-blue-600 hover:border-blue-300/60 + hover:-translate-y-0.5 dark:border-neutral-800/60 dark:bg-neutral-950/30 dark:text-slate-300 - dark:hover:text-blue-400 dark:hover:border-blue-500/40 + [&:hover]:!text-[var(--accent-primary)] + [&:hover]:!border-[var(--accent-primary)] " > diff --git a/frontend/components/theme/ThemeToggle.tsx b/frontend/components/theme/ThemeToggle.tsx index f2b973e7..4b028509 100644 --- a/frontend/components/theme/ThemeToggle.tsx +++ b/frontend/components/theme/ThemeToggle.tsx @@ -1,34 +1,37 @@ -"use client" +'use client'; -import { useTheme } from "next-themes" -import { Monitor, Sun, Moon } from "lucide-react" -import { motion } from "framer-motion" -import { useEffect, useState } from "react" +import { useTheme } from 'next-themes'; +import { Monitor, Sun, Moon } from 'lucide-react'; +import { motion } from 'framer-motion'; +import { useEffect, useState } from 'react'; const themes = [ - { value: "system", icon: Monitor, label: "System theme" }, - { value: "light", icon: Sun, label: "Light theme" }, - { value: "dark", icon: Moon, label: "Dark theme" }, -] as const + { value: 'system', icon: Monitor, label: 'System theme' }, + { value: 'light', icon: Sun, label: 'Light theme' }, + { value: 'dark', icon: Moon, label: 'Dark theme' }, +] as const; export function ThemeToggle() { - const { theme, setTheme } = useTheme() - const [mounted, setMounted] = useState(false) + const { theme, setTheme } = useTheme(); + const [mounted, setMounted] = useState(false); useEffect(() => { - setMounted(true) - }, []) + setMounted(true); + }, []); if (!mounted) { return (

{themes.map(({ value, icon: Icon }) => ( -
+
))}
- ) + ); } return ( @@ -38,18 +41,25 @@ export function ThemeToggle() { key={value} onClick={() => setTheme(value)} aria-label={label} - className="relative flex h-7 w-7 items-center justify-center rounded-full" + className="theme-toggle-btn relative flex h-7 w-7 items-center justify-center rounded-full" > {theme === value && ( )} - + ))} + +
- ) -} \ No newline at end of file + ); +}