import React, { useEffect } from 'react'; import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom'; import { AuthProvider, useAuth } from './context/AuthContext'; import Dashboard from './pages/Dashboard'; import Login from './pages/Login'; import Register from './pages/Register'; import CreateRecipe from './pages/CreateRecipe'; import EditRecipe from './pages/EditRecipe'; import './App.css'; // Protected Route component const ProtectedRoute: React.FC<{ children: React.ReactNode }> = ({ children }) => { const { user, loading } = useAuth(); if (loading) { return (

Loading...

); } return user ? <>{children} : ; }; // Public Route component (redirect to dashboard if already logged in) const PublicRoute: React.FC<{ children: React.ReactNode }> = ({ children }) => { const { user, loading } = useAuth(); if (loading) { return (

Loading...

); } return user ? : <>{children}; }; function App() { useEffect(() => { // Update document title document.title = 'Scoffer - Recipe Management'; // Create and set favicon const favicon = document.querySelector("link[rel*='icon']") as HTMLLinkElement || document.createElement('link'); favicon.type = 'image/svg+xml'; favicon.rel = 'shortcut icon'; favicon.href = 'data:image/svg+xml;base64,' + btoa(` `); document.getElementsByTagName('head')[0].appendChild(favicon); }, []); return (
} /> } /> } /> } /> } /> } />
); } export default App;