// src/App.jsx import { createContext, useContext, useState } from "react"; const AuthContext = createContext(null); function AuthProvider({ children }) { const [user, setUser] = useState(null); function login() { setUser({ name: "Philip" }); } function logout() { setUser(null); } return ( {children} ); } function Header() { const { user, login, logout } = useContext(AuthContext); if (user) { return (

Welcome, {user.name}

); } return (
); } function Dashboard() { const { user } = useContext(AuthContext); if (!user) { return

Please log in to see your dashboard.

; } return

Dashboard content for {user.name}.

; } function App() { return (
); } export default App; /* Notes: - user starts as null (logged out); login() sets it to a fake user object, logout() resets it back to null. - Both Header and Dashboard branch their rendering on the same user value from context — neither needs user passed to it as a prop. */