|
import { Switch, Route, useLocation } from "wouter"; |
|
import { Home } from "@/pages/Home"; |
|
import { Search } from "@/pages/Search"; |
|
import { Card, CardContent } from "@/components/ui/card"; |
|
import { AlertCircle } from "lucide-react"; |
|
import { AnimatePresence } from "framer-motion"; |
|
|
|
function App() { |
|
const [location] = useLocation(); |
|
|
|
return ( |
|
<AnimatePresence mode="wait"> |
|
<Switch location={location} key={location}> |
|
<Route path="/" component={Home} /> |
|
<Route path="/search" component={Search} /> |
|
<Route component={NotFound} /> |
|
</Switch> |
|
</AnimatePresence> |
|
); |
|
} |
|
|
|
function NotFound() { |
|
return ( |
|
<div className="min-h-screen w-full flex items-center justify-center bg-background"> |
|
<Card className="w-full max-w-md mx-4"> |
|
<CardContent className="pt-6"> |
|
<div className="flex mb-4 gap-2"> |
|
<AlertCircle className="h-8 w-8 text-destructive" /> |
|
<h1 className="text-2xl font-bold">404 Page Not Found</h1> |
|
</div> |
|
|
|
<p className="mt-4 text-muted-foreground"> |
|
The page you're looking for doesn't exist. |
|
</p> |
|
</CardContent> |
|
</Card> |
|
</div> |
|
); |
|
} |
|
|
|
export default App; |