"use client" import { useState, useEffect } from 'react' import { Shield, Sun, Moon, Download, Menu, X } from 'lucide-react' import { useTheme } from 'next-themes' import { motion } from 'framer-motion' import Link from 'next/link' export function Header() { const { theme, setTheme } = useTheme() const [mounted, setMounted] = useState(false) const [showInstallPrompt, setShowInstallPrompt] = useState(false) const [deferredPrompt, setDeferredPrompt] = useState(null) const [mobileMenuOpen, setMobileMenuOpen] = useState(false) useEffect(() => { setMounted(true) // Listen for PWA install prompt window.addEventListener('beforeinstallprompt', (e) => { e.preventDefault() setDeferredPrompt(e) setShowInstallPrompt(true) }) }, []) const handleInstallClick = async () => { if (deferredPrompt) { deferredPrompt.prompt() const { outcome } = await deferredPrompt.userChoice if (outcome === 'accepted') { setShowInstallPrompt(false) setDeferredPrompt(null) } } } const toggleTheme = () => { setTheme(theme === 'dark' ? 'light' : 'dark') } if (!mounted) { return null } return (
{/* Logo */} PassMaster {/* Desktop Navigation */} {/* Mobile menu button */}
{/* Mobile Navigation */} {mobileMenuOpen && (
setMobileMenuOpen(false)} > Privacy Policy {showInstallPrompt && ( )}
)}
) }