Skip to content

Commit 458a161

Browse files
committed
refactor: about me page v2
1 parent b13aa1b commit 458a161

File tree

9 files changed

+685
-338
lines changed

9 files changed

+685
-338
lines changed

public/roadmap/roadmap.piml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,25 @@
115115
(priority) High
116116
(created_at) 2025-11-30T11:00:00+03:00
117117
(notes) A route for returning and rendering vocabulary components.
118+
119+
> (issues)
120+
(id) FEZ-11
121+
(title) Sprite Editor App.
122+
(description) A pixel art editor that allows transparency and exporting as .bmp and .png
123+
(category) Feature
124+
(status) Planned
125+
(priority) High
126+
(created_at) 2025-12-12T03:22:00+03:00
127+
(notes) App should use a artistic style, not default fezcodex style for the app.
128+
129+
> (issues)
130+
(id) FEZ-12
131+
(title) Re-imagine Home Page
132+
(description) Current state of the home page is too old w.r.t. the other parts of the system.
133+
(category) Feature
134+
(status) Planned
135+
(priority) High
136+
(created_at) 2025-12-12T03:22:00+03:00
137+
(notes) A hero or landing page using different styles must be implemented.
138+
139+

src/components/Navbar.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const Navbar = ({
5454
{!isSidebarOpen && (
5555
<Link to="/" className="flex items-center space-x-2">
5656
<Fez />
57-
<span className="text-2xl font-semibold tracking-tight">
57+
<span className="text-2xl tracking-tight font-mono">
5858
fez<span className="text-primary-400">codex</span>
5959
</span>
6060
</Link>

src/pages/AboutPage.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ import {
1111
import NeuromancerHUD from './about-views/NeuromancerHUD';
1212
import SystemArchitecture from './about-views/SystemArchitecture';
1313
import MindMapConstellation from './about-views/MindMapConstellation';
14-
import SimpleText from './about-views/SimpleText';
14+
import ClassifiedDossier from './about-views/ClassifiedDossier';
1515
import { useAchievements } from '../context/AchievementContext';
1616

1717
const ViewSwitcher = ({ currentView, setView }) => {
1818
const views = [
19-
{ id: 'simple', icon: Article, label: 'Simple' },
19+
{ id: 'dossier', icon: Article, label: 'Dossier' },
2020
{ id: 'hud', icon: Terminal, label: 'Terminal' },
2121
{ id: 'blueprint', icon: TreeStructure, label: 'Blueprint' },
2222
{ id: 'map', icon: Graph, label: 'Mind Map' },
@@ -49,7 +49,7 @@ const ViewSwitcher = ({ currentView, setView }) => {
4949
};
5050

5151
const AboutPage = () => {
52-
const [view, setView] = useState('simple');
52+
const [view, setView] = useState('dossier');
5353
const { unlockAchievement } = useAchievements();
5454

5555
useEffect(() => {
@@ -63,8 +63,8 @@ const AboutPage = () => {
6363

6464
const getButtonStyle = (currentView) => {
6565
switch (currentView) {
66-
case 'simple':
67-
return 'bg-transparent text-black border-black border-2 font-mono uppercase tracking-widest text-xs hover:bg-[#4a0404] hover:text-white hover:border-[#4a0404] rounded-none shadow-none';
66+
case 'dossier':
67+
return 'bg-white text-black border-black border-2 font-mono uppercase tracking-widest text-xs hover:bg-[#4a0404] hover:text-white hover:border-[#4a0404] rounded-none shadow-none';
6868
case 'hud':
6969
return 'bg-black text-green-500 border-green-500 border font-mono tracking-wider hover:bg-green-500 hover:text-black shadow-[0_0_10px_rgba(0,255,0,0.3)] rounded-sm';
7070
case 'blueprint':
@@ -101,12 +101,12 @@ const AboutPage = () => {
101101
animate={{ opacity: 1 }}
102102
exit={{ opacity: 0 }}
103103
transition={{ duration: 0.5 }}
104-
className="w-full h-full"
104+
className="w-full h-full overflow-y-auto"
105105
>
106106
{view === 'hud' && <NeuromancerHUD />}
107107
{view === 'blueprint' && <SystemArchitecture />}
108108
{view === 'map' && <MindMapConstellation />}
109-
{view === 'simple' && <SimpleText />}
109+
{view === 'dossier' && <ClassifiedDossier />}
110110
</motion.div>
111111
</AnimatePresence>
112112

src/pages/HomePage.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ const HomePage = () => {
152152
return (
153153
<div className="py-16 sm:py-24">
154154
<div className="mx-auto max-w-7xl px-6 lg:px-8">
155-
<div className="mx-auto max-w-2xl text-center">
155+
<div className="mx-auto max-w-2xl text-center font-mono">
156156
<h1 className="text-4xl font-semibold tracking-tight text-white sm:text-6xl">
157157
Welcome to fez<span className="text-primary-400">codex</span>
158158
</h1>

src/pages/about-views/SimpleText.js renamed to src/pages/about-views/ClassifiedDossier.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const LinkRenderer = ({href, children}) => {
2323
);
2424
};
2525

26-
const SimpleText = () => {
26+
const ClassifiedDossier = () => {
2727
const [content, setContent] = useState('');
2828
const [title, setTitle] = useState('');
2929
const [loading, setLoading] = useState(true);
@@ -144,4 +144,4 @@ const SimpleText = () => {
144144
);
145145
};
146146

147-
export default SimpleText;
147+
export default ClassifiedDossier;

src/pages/about-views/MindMapConstellation.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useState, useRef } from 'react';
22
import { motion, AnimatePresence } from 'framer-motion';
33
import { aboutData } from './aboutData';
4-
import { X, Sparkle } from '@phosphor-icons/react';
4+
import { X, Sparkle, Buildings } from '@phosphor-icons/react';
55

66
const NODE_COLORS = {
77
core: '#a78bfa', // purple
@@ -132,6 +132,7 @@ const MindMapConstellation = () => {
132132
label: e.company,
133133
color: NODE_COLORS.experience,
134134
type: 'Experience',
135+
icon: Buildings, // Added default icon
135136
description: e.desc,
136137
stats: { role: e.role, period: e.period }
137138
};
@@ -146,21 +147,29 @@ const MindMapConstellation = () => {
146147
<div ref={containerRef} className="relative w-full h-screen bg-[#0f172a] overflow-hidden">
147148
{/* Background Stars */}
148149
<div className="absolute inset-0" style={{ background: 'radial-gradient(circle at center, #1e293b 0%, #0f172a 100%)' }}>
149-
{[...Array(50)].map((_, i) => (
150+
{[...Array(150)].map((_, i) => (
150151
<div
151152
key={i}
152153
className="absolute bg-white rounded-full opacity-20 animate-pulse"
153154
style={{
154155
top: `${Math.random() * 100}%`,
155156
left: `${Math.random() * 100}%`,
156-
width: Math.random() * 3 + 'px',
157-
height: Math.random() * 3 + 'px',
157+
width: Math.random() * 2 + 'px',
158+
height: Math.random() * 2 + 'px',
158159
animationDelay: `${Math.random() * 5}s`
159160
}}
160161
/>
161162
))}
162163
</div>
163164

165+
{/* Background Planets */}
166+
<div className="absolute inset-0 pointer-events-none opacity-30">
167+
<div className="absolute top-[10%] left-[10%] w-32 h-32 rounded-full bg-purple-500 blur-3xl opacity-20" />
168+
<div className="absolute top-[80%] left-[20%] w-48 h-48 rounded-full bg-blue-600 blur-3xl opacity-10" />
169+
<div className="absolute top-[30%] right-[15%] w-24 h-24 rounded-full bg-cyan-400 blur-2xl opacity-20" />
170+
<div className="absolute bottom-[10%] right-[10%] w-64 h-64 rounded-full bg-indigo-900 blur-3xl opacity-30" />
171+
</div>
172+
164173
{/* SVG Layer for lines (simplified connection to center) */}
165174
<svg className="absolute inset-0 w-full h-full pointer-events-none opacity-20">
166175
{nodes.map((node, i) => {

0 commit comments

Comments
 (0)