Implement a common header and footer for all pages except interactive pages. The footer will initially contain placeholder text.
46 lines
No EOL
1.3 KiB
TypeScript
46 lines
No EOL
1.3 KiB
TypeScript
import Layout from "@/components/Layout";
|
|
import { Link } from "react-router-dom";
|
|
import { ArrowLeft, Wrench } from "lucide-react";
|
|
import { Button } from "@/components/ui/button";
|
|
|
|
interface ComingSoonProps {
|
|
title: string;
|
|
description?: string;
|
|
}
|
|
|
|
const ComingSoon = ({ title, description }: ComingSoonProps) => {
|
|
return (
|
|
<Layout>
|
|
<div className="flex items-center justify-center px-4 py-20">
|
|
<div className="text-center max-w-2xl mx-auto">
|
|
<div className="w-24 h-24 bg-surface-variant rounded-full flex items-center justify-center mx-auto mb-8">
|
|
<Wrench className="w-12 h-12 text-muted-foreground" />
|
|
</div>
|
|
|
|
<h1 className="text-4xl font-bold text-foreground mb-4">
|
|
{title}
|
|
</h1>
|
|
|
|
<h2 className="text-2xl font-semibold text-accent mb-6">
|
|
Coming Soon
|
|
</h2>
|
|
|
|
{description && (
|
|
<p className="text-lg text-muted-foreground mb-8">
|
|
{description}
|
|
</p>
|
|
)}
|
|
|
|
<Button asChild variant="outline">
|
|
<Link to="/" className="inline-flex items-center">
|
|
<ArrowLeft className="w-4 h-4 mr-2" />
|
|
Back to Home
|
|
</Link>
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
</Layout>
|
|
);
|
|
};
|
|
|
|
export default ComingSoon; |