Aethel Bot OSS repository!
aethel.xyz
bot
fun
ai
discord
discord-bot
aethel
1import { ReactNode } from 'react';
2import { Link } from 'react-router-dom';
3
4interface LegalLayoutProps {
5 title: string;
6 lastUpdated: string;
7 children: ReactNode;
8}
9
10export function LegalLayout({ title, lastUpdated, children }: LegalLayoutProps) {
11 return (
12 <div className="min-h-screen relative overflow-hidden bg-gradient-to-b from-white to-gray-50 dark:from-gray-900 dark:to-black transition-colors duration-300 p-8">
13 <div className="pointer-events-none absolute -top-32 -right-32 h-96 w-96 rounded-full blur-xl md:blur-3xl opacity-30 bg-gradient-to-tr from-pink-400 to-purple-500 dark:opacity-20" />
14 <div className="pointer-events-none absolute -bottom-32 -left-32 h-[28rem] w-[28rem] rounded-full blur-xl md:blur-3xl opacity-30 bg-gradient-to-tr from-indigo-400 to-sky-500 dark:opacity-20" />
15
16 <main className="max-w-4xl mx-auto relative">
17 <div className="text-center mb-16 pt-8">
18 <img
19 src="/bot_icon.png"
20 alt="Aethel Bot Logo"
21 width={160}
22 height={160}
23 className="mx-auto mb-8 w-40 h-40 rounded-2xl object-contain shadow-xl ring-1 ring-black/5 dark:ring-white/10"
24 style={{ imageRendering: 'auto' }}
25 />
26 <h1 className="text-4xl md:text-6xl font-extrabold tracking-tight mb-4 text-gray-900 dark:text-gray-100">
27 {title}
28 </h1>
29 <div className="w-24 h-1 bg-pink-500 mx-auto my-4 rounded-full"></div>
30 <p className="text-lg text-gray-600 dark:text-gray-300 mb-8">
31 Last Updated: {lastUpdated}
32 </p>
33
34 <Link
35 to="/"
36 className="inline-flex items-center px-6 py-3 bg-white/90 hover:bg-white dark:bg-gray-800/90 dark:hover:bg-gray-800 text-gray-800 dark:text-gray-100 font-medium rounded-full shadow-md hover:shadow-lg transition-all mb-8 backdrop-blur-sm"
37 >
38 <svg
39 className="w-4 h-4 mr-2"
40 fill="none"
41 stroke="currentColor"
42 viewBox="0 0 24 24"
43 >
44 <path
45 strokeLinecap="round"
46 strokeLinejoin="round"
47 strokeWidth={2}
48 d="M10 19l-7-7m0 0l7-7m-7 7h18"
49 />
50 </svg>
51 Back to Home
52 </Link>
53 </div>
54
55 <div className="bg-white/80 dark:bg-gray-800/80 backdrop-blur-sm rounded-lg shadow-lg p-8 sm:p-10 lg:p-12">
56 <div className="prose dark:prose-invert max-w-none">{children}</div>
57 </div>
58 </main>
59 </div>
60 );
61}
62
63export default LegalLayout;