Skip to content

Commit 07de139

Browse files
committed
fix: series ordering and hovering
1 parent 3eb1afa commit 07de139

File tree

5 files changed

+52
-37
lines changed

5 files changed

+52
-37
lines changed

public/posts/posts.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
"slug": "introduction",
1111
"title": "Introduction - The Examined Life",
1212
"filename": "/philosophy-101/01-introduction.txt",
13-
"date": "2026-02-07",
14-
"updated": "2026-02-07",
13+
"date": "2026-02-01",
14+
"updated": "2026-02-01",
1515
"category": "rant",
1616
"tags": ["philosophy", "education", "series", "rant", "intro"],
1717
"authors": ["fezcode"],
@@ -21,7 +21,7 @@
2121
"slug": "logic-and-arguments",
2222
"title": "Logic - The Toolbox",
2323
"filename": "/philosophy-101/02-logic-and-arguments.txt",
24-
"date": "2026-02-07",
24+
"date": "2026-02-01",
2525
"category": "rant",
2626
"tags": ["philosophy", "logic", "arguments", "critical-thinking"],
2727
"authors": ["fezcode"],
@@ -31,7 +31,7 @@
3131
"slug": "epistemology",
3232
"title": "Epistemology - How Do You Know That?",
3333
"filename": "/philosophy-101/03-epistemology.txt",
34-
"date": "2026-02-07",
34+
"date": "2026-02-01",
3535
"category": "rant",
3636
"tags": ["philosophy", "epistemology", "knowledge", "matrix"],
3737
"authors": ["fezcode"],
@@ -41,7 +41,7 @@
4141
"slug": "metaphysics",
4242
"title": "Metaphysics - What is Real?",
4343
"filename": "/philosophy-101/04-metaphysics.txt",
44-
"date": "2026-02-07",
44+
"date": "2026-02-01",
4545
"category": "rant",
4646
"tags": ["philosophy", "metaphysics", "reality", "ontology"],
4747
"authors": ["fezcode"],
@@ -51,7 +51,7 @@
5151
"slug": "ethics",
5252
"title": "Ethics - What Should We Do?",
5353
"filename": "/philosophy-101/05-ethics.txt",
54-
"date": "2026-02-07",
54+
"date": "2026-02-02",
5555
"category": "rant",
5656
"tags": ["philosophy", "ethics", "morality", "trolley-problem"],
5757
"authors": ["fezcode"],
@@ -61,7 +61,7 @@
6161
"slug": "the-big-three",
6262
"title": "The Big Three - Socrates, Plato, Aristotle",
6363
"filename": "/philosophy-101/06-socrates-plato-aristotle.txt",
64-
"date": "2026-02-07",
64+
"date": "2026-02-02",
6565
"category": "rant",
6666
"tags": ["philosophy", "socrates", "plato", "aristotle", "history"],
6767
"authors": ["fezcode"],
@@ -71,7 +71,7 @@
7171
"slug": "al-ghazali",
7272
"title": "Al-Ghazali - The Incoherence of the Philosophers",
7373
"filename": "/philosophy-101/06-al-ghazali-and-skepticism.txt",
74-
"date": "2026-02-07",
74+
"date": "2026-02-02",
7575
"category": "rant",
7676
"tags": ["philosophy", "al-ghazali", "skepticism", "occasionalism", "islamic-golden-age"],
7777
"authors": ["fezcode"],
@@ -81,7 +81,7 @@
8181
"slug": "descartes",
8282
"title": "René Descartes - The Father of Modern Philosophy",
8383
"filename": "/philosophy-101/07-descartes-and-modern-philosophy.txt",
84-
"date": "2026-02-07",
84+
"date": "2026-02-03",
8585
"category": "rant",
8686
"tags": ["philosophy", "descartes", "modern-philosophy", "dualism"],
8787
"authors": ["fezcode"],
@@ -91,7 +91,7 @@
9191
"slug": "kant",
9292
"title": "Immanuel Kant - The Thing-in-Itself",
9393
"filename": "/philosophy-101/10-kant-and-the-thing-in-itself.txt",
94-
"date": "2026-02-07",
94+
"date": "2026-02-03",
9595
"category": "rant",
9696
"tags": ["philosophy", "kant", "transcendental-idealism", "categorical-imperative"],
9797
"authors": ["fezcode"],
@@ -101,7 +101,7 @@
101101
"slug": "hegel",
102102
"title": "Hegel - The Dialectic and World Spirit",
103103
"filename": "/philosophy-101/11-hegel-and-the-dialectic.txt",
104-
"date": "2026-02-07",
104+
"date": "2026-02-04",
105105
"category": "rant",
106106
"tags": ["philosophy", "hegel", "dialectic", "geist", "history"],
107107
"authors": ["fezcode"],
@@ -111,7 +111,7 @@
111111
"slug": "schopenhauer",
112112
"title": "Schopenhauer - The Will and Pessimism",
113113
"filename": "/philosophy-101/12-schopenhauer-and-pessimism.txt",
114-
"date": "2026-02-07",
114+
"date": "2026-02-04",
115115
"category": "rant",
116116
"tags": ["philosophy", "schopenhauer", "pessimism", "will", "art"],
117117
"authors": ["fezcode"],
@@ -121,7 +121,7 @@
121121
"slug": "kierkegaard",
122122
"title": "Kierkegaard - The Leap of Faith",
123123
"filename": "/philosophy-101/13-kierkegaard-and-faith.txt",
124-
"date": "2026-02-07",
124+
"date": "2026-02-05",
125125
"category": "rant",
126126
"tags": ["philosophy", "kierkegaard", "faith", "existentialism", "anxiety"],
127127
"authors": ["fezcode"],
@@ -131,7 +131,7 @@
131131
"slug": "nietzsche",
132132
"title": "Nietzsche - The Death of God and the Übermensch",
133133
"filename": "/philosophy-101/08-nietzsche-and-nihilism.txt",
134-
"date": "2026-02-07",
134+
"date": "2026-02-06",
135135
"category": "rant",
136136
"tags": ["philosophy", "nietzsche", "nihilism", "ubermensch"],
137137
"authors": ["fezcode"],
@@ -141,7 +141,7 @@
141141
"slug": "heidegger",
142142
"title": "Heidegger - Being and Time",
143143
"filename": "/philosophy-101/14-heidegger-and-being.txt",
144-
"date": "2026-02-07",
144+
"date": "2026-02-06",
145145
"category": "rant",
146146
"tags": ["philosophy", "heidegger", "dasein", "phenomenology", "being"],
147147
"authors": ["fezcode"],

src/components/PostItem.jsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const PostItem = ({
1818
image,
1919
isActive,
2020
onHover = () => {},
21+
...rest
2122
}) => {
2223
const formattedDate = new Date(date).toLocaleDateString('en-GB', {
2324
day: '2-digit',
@@ -69,6 +70,7 @@ const PostItem = ({
6970
tags,
7071
authors,
7172
image,
73+
...rest,
7274
})
7375
}
7476
className="relative mr-4 md:mr-12"

src/pages/blog-views/BrutalistBlogPage.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ const BrutalistBlogPage = () => {
4646
seriesMap.set(post.series.slug, {
4747
title: post.series.title,
4848
slug: post.series.slug,
49-
date: post.date,
50-
updated: post.updated,
49+
date: post.series.date || post.date,
50+
updated: post.series.updated || post.updated,
5151
image: post.series.image,
5252
isSeries: true,
5353
posts: [],

src/pages/brutalist-views/BrutalistSeriesPage.jsx

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,24 @@ import React, { useState, useEffect } from 'react';
22
import { useParams, Link } from 'react-router-dom';
33
import { motion, AnimatePresence } from 'framer-motion';
44
import PostItem from '../../components/PostItem';
5-
import { ArrowLeftIcon, ClockIcon, TagIcon, BookOpenIcon } from '@phosphor-icons/react';
5+
import { ArrowLeftIcon, TagIcon, BookOpenIcon, CalendarIcon } from '@phosphor-icons/react';
66
import Seo from '../../components/Seo';
77
import { fetchAllBlogPosts } from '../../utils/dataUtils';
88
import GenerativeArt from '../../components/GenerativeArt';
99

10+
const SpecItem = ({ icon: Icon, label, value, isAccent }) => (
11+
<div className="flex flex-col gap-1">
12+
<span className="flex items-center gap-2 font-mono text-[9px] uppercase tracking-widest text-gray-500">
13+
<Icon size={14} /> {label}
14+
</span>
15+
<span
16+
className={`font-mono text-sm uppercase ${isAccent ? 'text-emerald-400 font-bold' : 'text-white'}`}
17+
>
18+
{value}
19+
</span>
20+
</div>
21+
);
22+
1023
const BrutalistSeriesPage = () => {
1124
const { seriesSlug } = useParams();
1225
const [seriesPosts, setSeriesPosts] = useState([]);
@@ -144,27 +157,27 @@ const BrutalistSeriesPage = () => {
144157
</div>
145158

146159
{/* Details Overlay */}
147-
<div className="absolute bottom-0 left-0 w-full p-16 z-10 flex flex-col gap-8">
148-
<div className="flex items-center gap-6">
149-
<div className="flex items-center gap-2 text-emerald-400 font-mono text-[10px] tracking-widest uppercase">
150-
<ClockIcon size={16} />
151-
<span>
152-
{new Date(
153-
activePost.updated || activePost.date,
154-
).toLocaleDateString('en-GB')}
155-
</span>
156-
</div>
157-
<div className="flex items-center gap-2 text-white font-mono text-[10px] tracking-widest uppercase bg-white/10 px-2 py-1 border border-white/10 rounded-sm">
158-
<TagIcon size={14} />
159-
<span>{activePost.category || 'Episode'}</span>
160-
</div>
160+
<div className="absolute bottom-0 left-0 w-full p-16 z-10 flex flex-col gap-12">
161+
162+
<div className="space-y-6 border-l border-white/10 pl-6">
163+
<SpecItem
164+
icon={CalendarIcon}
165+
label="Date"
166+
value={new Date(activePost.updated || activePost.date).toLocaleDateString('en-GB')}
167+
/>
168+
<SpecItem
169+
icon={TagIcon}
170+
label="Category"
171+
value={activePost.category || 'Episode'}
172+
isAccent
173+
/>
161174
</div>
162175

163176
<div className="flex flex-col gap-4">
164-
<h2 className="text-4xl font-black text-white uppercase tracking-tighter leading-none">
177+
<h2 className="text-4xl md:text-5xl font-medium font-playfairDisplay text-white uppercase tracking-tighter leading-none">
165178
{activePost.title}
166179
</h2>
167-
<p className="text-lg text-gray-300 font-light leading-relaxed max-w-xl">
180+
<p className="text-lg text-gray-300 font-light leading-relaxed max-w-xl font-arvo">
168181
{activePost.description ||
169182
'Part of a sequential data stream. Analysis and implementation logs curated for technical review.'}
170183
</p>
@@ -174,7 +187,7 @@ const BrutalistSeriesPage = () => {
174187
initial={{ opacity: 0, y: 10 }}
175188
animate={{ opacity: 1, y: 0 }}
176189
transition={{ delay: 0.2 }}
177-
className="mt-8"
190+
className="mt-4"
178191
>
179192
<Link
180193
to={`/blog/series/${seriesSlug}/${activePost.slug}`}

src/pages/luxe-views/LuxeBlogPage.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ const LuxeBlogPage = () => {
4848
seriesMap.set(post.series.slug, {
4949
title: post.series.title,
5050
slug: post.series.slug,
51-
date: post.date,
52-
updated: post.updated,
51+
date: post.series.date || post.date,
52+
updated: post.series.updated || post.updated,
5353
image: post.series.image,
5454
isSeries: true,
5555
posts: [],

0 commit comments

Comments
 (0)