Created Footer Component and Configure Theme

This commit is contained in:
aftabrehan
2024-02-02 12:23:05 +05:00
parent 757f581fe8
commit 306ae685d6
17 changed files with 206 additions and 20 deletions

View File

@@ -0,0 +1,37 @@
'use client'
import { useEffect, useState } from 'react'
import { useTheme } from 'next-themes'
import clsx from 'clsx'
import { Button } from '@/components/button'
import MoonIcon from '@/public/moon.svg'
import SunIcon from '@/public/sun.svg'
interface toggleThemeButtonProps {
className?: string
}
export const ToggleThemeButton = ({ className }: toggleThemeButtonProps) => {
const [isMounted, setIsMounted] = useState(false)
const { resolvedTheme, setTheme } = useTheme()
console.log(resolvedTheme, 'resolvedTheme')
useEffect(() => {
setIsMounted(true)
}, [])
if (!isMounted) return null
return (
resolvedTheme && (
<Button
variant="secondary"
icon={resolvedTheme === 'dark' ? <SunIcon /> : <MoonIcon />}
onClick={() => setTheme(resolvedTheme === 'dark' ? 'light' : 'dark')}
className={clsx('w-12 h-12 rounded-full !px-1 bg-[#dedede]', className)}
/>
)
)
}