diff --git a/src/components/layout/Header.tsx b/src/components/layout/Header.tsx index c058e8c..aeb280d 100644 --- a/src/components/layout/Header.tsx +++ b/src/components/layout/Header.tsx @@ -9,71 +9,95 @@ export function Header() { const isActive = (path: string) => location.pathname === path; return ( -
+
-
- +
+ Snigdha OS - + SNIGDHA OS {/* Mobile menu button */} {/* Desktop navigation */} -
{/* Mobile navigation */} - {isMenuOpen && ( - - )} +
+ {isMenuOpen && ( + + )} +
); } -function NavLinks({ isActive, closeMenu }: { isActive: (path: string) => boolean; closeMenu: () => void }) { +function NavLinks({ + isActive, + closeMenu, + animate, +}: { + isActive: (path: string) => boolean; + closeMenu: () => void; + animate?: boolean; +}) { return ( - <> + ); } diff --git a/tailwind.config.js b/tailwind.config.js index d21f1cd..90ab4c4 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -6,3 +6,36 @@ export default { }, plugins: [], }; + +module.exports = { + theme: { + extend: { + animation: { + 'fade-in-up': 'fadeInUp 0.5s ease-out', + 'fade-in-down': 'fadeInDown 0.5s ease-out', + 'fade-out-up': 'fadeOutUp 0.5s ease-in', + 'spin': 'spin 0.5s linear', + 'spin-reverse': 'spinReverse 0.5s linear', + }, + keyframes: { + fadeInUp: { + '0%': { opacity: 0, transform: 'translateY(20px)' }, + '100%': { opacity: 1, transform: 'translateY(0)' }, + }, + fadeInDown: { + '0%': { opacity: 0, transform: 'translateY(-20px)' }, + '100%': { opacity: 1, transform: 'translateY(0)' }, + }, + fadeOutUp: { + '0%': { opacity: 1, transform: 'translateY(0)' }, + '100%': { opacity: 0, transform: 'translateY(-20px)' }, + }, + spinReverse: { + '0%': { transform: 'rotate(0deg)' }, + '100%': { transform: 'rotate(-360deg)' }, + }, + }, + }, + }, + plugins: [], +};