Skip to content

Commit 646f91b

Browse files
committed
feat: add footer component with disclaimer text
1 parent 46fb515 commit 646f91b

File tree

7 files changed

+107
-8
lines changed

7 files changed

+107
-8
lines changed
13.6 KB
Loading
18.5 KB
Loading
18.6 KB
Loading

src/app/page.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { AppSidebar } from '@/components/app-sidebar'
22
import { BackgroundBeams } from '@/components/ui/background-beams'
33
import { Button } from '@/components/ui/button'
4+
import { Footer } from '@/components/ui/footer'
45
import { cn } from '@/lib/utils'
56
import Link from 'next/link'
67
import Image from 'next/image'
@@ -15,7 +16,7 @@ export default function Home() {
1516
<BackgroundBeams className="absolute inset-0 z-0" />
1617

1718
{/* Hero Content */}
18-
<div className="relative z-10 flex flex-col items-center justify-center h-full px-4 md:px-8">
19+
<div className="relative z-10 flex flex-col items-center justify-center flex-1 px-4 md:px-8">
1920
<div className="text-center bg-white/5 dark:bg-white/3 backdrop-blur-sm rounded-2xl p-6 md:p-8 lg:p-10 shadow-lg border border-white/20 dark:border-white/10">
2021
{/* Brand Title */}
2122
<h1 className="text-4xl md:text-6xl lg:text-7xl font-bold text-neutral-900 dark:text-neutral-100 mb-8 md:mb-10 tracking-tight">
@@ -56,6 +57,9 @@ export default function Home() {
5657
</p>
5758
</div>
5859
</div>
60+
61+
{/* Footer */}
62+
<Footer />
5963
</div>
6064
</div>
6165
</div>

src/components/app-sidebar.tsx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import React from "react"
44
import { cn } from "@/lib/utils"
55
import { Sidebar, SidebarBody } from "@/components/ui/sidebar"
6+
import Image from "next/image"
7+
import Link from "next/link"
68
import {
79
Home,
810
BookOpen,
@@ -13,27 +15,27 @@ import {
1315

1416
const links = [
1517
{
16-
label: "Home",
18+
label: "HOME",
1719
href: "/",
1820
icon: <Home className="h-5 w-5 flex-shrink-0" />,
1921
},
2022
{
21-
label: "Agency",
23+
label: "AGENCY",
2224
href: "/agency",
2325
icon: <Users className="h-5 w-5 flex-shrink-0" />,
2426
},
2527
{
26-
label: "Atlas",
28+
label: "ATLAS",
2729
href: "/atlas",
2830
icon: <BookOpen className="h-5 w-5 flex-shrink-0" />,
2931
},
3032
{
31-
label: "Explore",
33+
label: "EXPLORE",
3234
href: "/explore",
3335
icon: <Search className="h-5 w-5 flex-shrink-0" />,
3436
},
3537
{
36-
label: "About",
38+
label: "ABOUT",
3739
href: "/about",
3840
icon: <Info className="h-5 w-5 flex-shrink-0" />,
3941
},
@@ -46,7 +48,7 @@ export function AppSidebar() {
4648
<div className="flex flex-col flex-1 overflow-y-auto overflow-x-hidden">
4749
<div className="mt-8 flex flex-col gap-2">
4850
{links.map((link, idx) => (
49-
<a
51+
<Link
5052
key={idx}
5153
href={link.href}
5254
className={cn(
@@ -57,7 +59,7 @@ export function AppSidebar() {
5759
<span className="text-sm group-hover/sidebar:translate-x-1 transition duration-150 whitespace-pre inline-block !p-0 !m-0">
5860
{link.label}
5961
</span>
60-
</a>
62+
</Link>
6163
))}
6264
</div>
6365
</div>

src/components/ui/footer.tsx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { cn } from "@/lib/utils"
2+
3+
interface FooterProps {
4+
className?: string
5+
}
6+
7+
export function Footer({ className }: FooterProps) {
8+
return (
9+
<footer className={cn(
10+
"relative z-10 mt-auto py-3 px-4 md:px-8 border-t border-neutral-200/50 dark:border-neutral-700/50 bg-white/80 dark:bg-neutral-900/80 backdrop-blur-sm",
11+
className
12+
)}>
13+
<div className="max-w-4xl mx-auto text-center">
14+
<p className="text-xs text-neutral-500 dark:text-neutral-400 font-light leading-tight">
15+
The personas, dialogues, and quotes presented here are simulated reconstructions.<br />
16+
Please verify with original sources where accuracy matters.
17+
</p>
18+
</div>
19+
</footer>
20+
)
21+
}

src/data/personas.ts

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,6 +711,78 @@ export const personas: Persona[] = [
711711
nobel: false,
712712
featured: false
713713
},
714+
{
715+
id: "plato",
716+
name: "Plato",
717+
title: "Philosopher & Founder of the Academy",
718+
era: "428-348 BCE",
719+
videoSrc: "/video/portraits/plato_s01_optimized.mp4",
720+
imageSrc: "/images/portraits/plato_s01_optimized.jpg",
721+
bio: "Ancient Greek philosopher and student of Socrates who founded the Academy in Athens. His dialogues and theory of Forms have profoundly influenced Western philosophy, politics, and education.",
722+
keyContributions: [
723+
"Theory of Forms",
724+
"Socratic dialogues",
725+
"The Republic political philosophy",
726+
"Academy founding",
727+
"Allegory of the Cave"
728+
],
729+
famousQuotes: [
730+
"The unexamined life is not worth living.",
731+
"We can easily forgive a child who is afraid of the dark; the real tragedy of life is when men are afraid of the light.",
732+
"At the touch of love everyone becomes a poet."
733+
],
734+
expertise: ["Philosophy", "Political Theory", "Education", "Ethics", "Metaphysics"],
735+
nobel: false,
736+
featured: false
737+
},
738+
{
739+
id: "seneca",
740+
name: "Seneca",
741+
title: "Stoic Philosopher & Roman Statesman",
742+
era: "4 BCE-65 CE",
743+
videoSrc: "/video/portraits/seneca_s01_optimized.mp4",
744+
imageSrc: "/images/portraits/seneca_s01_optimized.jpg",
745+
bio: "Roman Stoic philosopher, statesman, and advisor to Emperor Nero. His letters and essays on ethics, virtue, and practical wisdom have influenced moral philosophy for over two millennia.",
746+
keyContributions: [
747+
"Stoic moral philosophy",
748+
"Letters to Lucilius",
749+
"Moral Essays",
750+
"Political advisory role",
751+
"Practical wisdom teachings"
752+
],
753+
famousQuotes: [
754+
"It is not that we have a short time to live, but that we waste a lot of it.",
755+
"Every change of fortune is either a trial or a reward.",
756+
"We suffer more often in imagination than in reality."
757+
],
758+
expertise: ["Philosophy", "Stoicism", "Ethics", "Politics", "Rhetoric"],
759+
nobel: false,
760+
featured: false
761+
},
762+
{
763+
id: "niccolo_machiavelli",
764+
name: "Niccolò Machiavelli",
765+
title: "Political Theorist & Renaissance Writer",
766+
era: "1469-1527",
767+
videoSrc: "/video/portraits/machiavelli_s01_optimized.mp4",
768+
imageSrc: "/images/portraits/machiavelli_s01_optimized.jpg",
769+
bio: "Italian Renaissance political theorist whose works on statecraft and power politics fundamentally changed how we understand governance. His pragmatic approach to politics continues to influence leaders and thinkers.",
770+
keyContributions: [
771+
"The Prince political treatise",
772+
"Discourses on Livy",
773+
"Republican political theory",
774+
"Realist approach to politics",
775+
"Military strategy insights"
776+
],
777+
famousQuotes: [
778+
"It is better to be feared than loved, if you cannot be both.",
779+
"Everyone sees what you appear to be, few experience what you really are.",
780+
"The lion cannot protect himself from traps, and the fox cannot defend himself from wolves."
781+
],
782+
expertise: ["Political Science", "Strategy", "Statecraft", "Military Theory", "Renaissance Politics"],
783+
nobel: false,
784+
featured: false
785+
},
714786
{
715787
id: "ruixen",
716788
name: "Ruixen",

0 commit comments

Comments
 (0)