feat: Implement AI Chat Agent, Email Notifications, and UI enhancements
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -1,20 +1,56 @@
|
||||
|
||||
import { Card, CardContent } from "@/components/ui/card";
|
||||
import { AlertCircle } from "lucide-react";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { AlertCircle, ArrowLeft } from "lucide-react";
|
||||
import { Link } from "wouter";
|
||||
// This image would ideally be imported, but for now we reference the public asset we would have (conceptually) or generated
|
||||
// Since we generated it to an artifact, we need to move it to proper location or assume a path.
|
||||
// For now, I will assume it's copied to /public/404-illustration.png by a separate command or use a placeholder if not.
|
||||
// But as I am an agent, I will rely on the user to see the artifact.
|
||||
// Wait, I can't easily reference the artifact URL in the code unless I copy it to the public dir.
|
||||
// I'll assume for this design I use a standard nice layout, and if I could I would put the image there.
|
||||
// I will use a placeholder styling or the generated image if I can move it.
|
||||
// Let's copy the generated image to the public folder first!
|
||||
|
||||
export default function NotFound() {
|
||||
return (
|
||||
<div className="min-h-screen w-full flex items-center justify-center bg-gray-50">
|
||||
<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-red-500" />
|
||||
<h1 className="text-2xl font-bold text-gray-900">404 Page Not Found</h1>
|
||||
<div className="min-h-screen w-full flex items-center justify-center bg-background p-4">
|
||||
<Card className="w-full max-w-2xl mx-auto shadow-xl border-dashed border-2 overflow-hidden bg-card text-card-foreground">
|
||||
<div className="md:flex">
|
||||
<div className="md:w-1/2 bg-muted/30 flex items-center justify-center p-8">
|
||||
{/*
|
||||
In a real app, I'd move the generated image to public/assets/404.png
|
||||
For now, I'll use a high-quality SVG placeholder or just the <img> tag pointing to where I'll put it.
|
||||
I'll Move the artifact to client/public/404.png in the next step.
|
||||
*/}
|
||||
<img
|
||||
src="/404-illustration.png"
|
||||
alt="Damaged Task List"
|
||||
className="w-full h-auto object-contain drop-shadow-lg transform rotate-3 hover:rotate-0 transition-transform duration-500"
|
||||
/>
|
||||
</div>
|
||||
<div className="md:w-1/2 p-8 flex flex-col justify-center">
|
||||
<div className="flex items-center gap-2 mb-4">
|
||||
<AlertCircle className="h-6 w-6 text-destructive" />
|
||||
<span className="text-sm font-semibold text-destructive tracking-wider uppercase">Error 404</span>
|
||||
</div>
|
||||
|
||||
<p className="mt-4 text-sm text-gray-600">
|
||||
Did you forget to add the page to the router?
|
||||
</p>
|
||||
</CardContent>
|
||||
<h1 className="text-4xl font-extrabold text-foreground mb-4 tracking-tight">
|
||||
Page Not Found
|
||||
</h1>
|
||||
|
||||
<p className="text-muted-foreground mb-8 leading-relaxed">
|
||||
Oops! It looks like this task got lost in the shuffle. The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.
|
||||
</p>
|
||||
|
||||
<Link href="/">
|
||||
<Button className="w-full sm:w-auto gap-2 group">
|
||||
<ArrowLeft className="h-4 w-4 group-hover:-translate-x-1 transition-transform" />
|
||||
Back to Dashboard
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user