Skip to content

Commit 10eda6a

Browse files
committed
feat(about): wire Terracotta about view into dispatcher and switcher
1 parent e01279b commit 10eda6a

1 file changed

Lines changed: 27 additions & 7 deletions

File tree

src/pages/AboutPage.jsx

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@ import ClassifiedDossier from './about-views/ClassifiedDossier';
1919
import Brutalist from './about-views/Brutalist';
2020
import SkillDeck from './about-views/SkillDeck';
2121
import LuxeAboutView from './about-views/LuxeAboutView';
22+
import TerracottaAboutView from './about-views/Terracotta';
2223
import { useAchievements } from '../context/AchievementContext';
2324
import Seo from '../components/Seo';
2425

2526
const ViewSwitcher = ({ currentView }) => {
2627
const views = [
28+
{ id: 'terracotta', icon: BookBookmarkIcon, label: 'Terracotta' },
2729
{ id: 'luxe', icon: IdentificationCardIcon, label: 'Luxe' },
2830
{ id: 'brutalist', icon: BugIcon, label: 'Brutalist' },
2931
{ id: 'skills', icon: IdentificationCardIcon, label: 'Skill Deck' },
@@ -34,20 +36,30 @@ const ViewSwitcher = ({ currentView }) => {
3436
];
3537

3638
return (
37-
<div className="fixed bottom-8 left-1/2 -translate-x-1/2 z-50 bg-black/50 backdrop-blur-md p-2 rounded-full border border-white/10 shadow-2xl flex gap-2">
39+
<div
40+
className={`fixed bottom-8 left-1/2 -translate-x-1/2 z-50 p-2 shadow-2xl flex gap-2 ${
41+
currentView === 'terracotta'
42+
? 'bg-[#F3ECE0] border border-[#1A161320] backdrop-blur-md'
43+
: 'bg-black/50 backdrop-blur-md rounded-full border border-white/10'
44+
}`}
45+
>
3846
{views.map((view) => (
3947
<Link
4048
key={view.id}
4149
to={`/about/${view.id}`}
42-
className={`relative px-4 py-2 rounded-full flex items-center gap-2 transition-all ${
43-
currentView === view.id
44-
? 'bg-white text-black font-bold shadow-lg'
45-
: 'text-white/60 hover:text-white hover:bg-white/10'
50+
className={`relative px-4 py-2 flex items-center gap-2 transition-all ${
51+
currentView === 'terracotta'
52+
? view.id === currentView
53+
? 'bg-[#1A1613] text-[#F3ECE0]'
54+
: 'text-[#2E2620]/70 hover:text-[#1A1613] hover:bg-[#E8DECE]/80'
55+
: view.id === currentView
56+
? 'bg-white text-black font-bold shadow-lg rounded-full'
57+
: 'text-white/60 hover:text-white hover:bg-white/10 rounded-full'
4658
}`}
4759
>
4860
<view.icon size={20} />
4961
<span className="text-sm hidden md:inline">{view.label}</span>
50-
{currentView === view.id && (
62+
{currentView === view.id && currentView !== 'terracotta' && (
5163
<motion.div
5264
layoutId="view-pill"
5365
className="absolute inset-0 bg-white rounded-full mix-blend-difference -z-10"
@@ -62,6 +74,7 @@ const ViewSwitcher = ({ currentView }) => {
6274
const AboutPage = () => {
6375
const { viewId } = useParams();
6476
const validViews = [
77+
'terracotta',
6578
'luxe',
6679
'dossier',
6780
'hud',
@@ -85,6 +98,8 @@ const AboutPage = () => {
8598

8699
const getButtonStyle = (currentView) => {
87100
switch (currentView) {
101+
case 'terracotta':
102+
return 'bg-[#F3ECE0] text-[#1A1613] border border-[#1A161320] font-ibm-plex-mono uppercase tracking-widest text-[10px] hover:bg-[#1A1613] hover:text-[#F3ECE0] hover:border-[#1A1613] rounded-none shadow-none';
88103
case 'luxe':
89104
return 'bg-white/80 text-black border-black/10 border font-outfit uppercase tracking-widest text-[10px] hover:bg-black hover:text-white rounded-full shadow-sm backdrop-blur-md';
90105
case 'dossier':
@@ -104,7 +119,11 @@ const AboutPage = () => {
104119
};
105120

106121
return (
107-
<div className="min-h-screen bg-black relative">
122+
<div
123+
className={`min-h-screen relative ${
124+
view === 'terracotta' ? 'bg-[#F3ECE0]' : 'bg-black'
125+
}`}
126+
>
108127
<Seo
109128
title="Fezcodex | About"
110129
description="Learn more about the creator of Fezcodex."
@@ -167,6 +186,7 @@ const AboutPage = () => {
167186
transition={{ duration: 0.5 }}
168187
className="w-full h-full"
169188
>
189+
{view === 'terracotta' && <TerracottaAboutView />}
170190
{view === 'luxe' && <LuxeAboutView />}
171191
{view === 'hud' && <NeuromancerHUD />}
172192
{view === 'blueprint' && <SystemArchitecture />}

0 commit comments

Comments
 (0)