Skip to content

Commit 42fa48c

Browse files
committed
feat: update channel definitions and dialogue categories for improved organization and clarity
1 parent 55275f9 commit 42fa48c

14 files changed

+72
-61
lines changed

src/components/channel-badge.tsx

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import {
55
Calculator,
66
Dna,
77
Scale,
8-
Zap,
9-
MessageCircle
8+
Zap
109
} from "lucide-react";
1110

1211
interface Channel {
@@ -18,15 +17,16 @@ interface Channel {
1817

1918

2019
// Centralized channel definitions (matches channels-sidebar.tsx)
21-
export const CHANNELS: Record<string, Channel> = {
22-
conversations: { id: "conversations", name: "Conversations", icon: MessageCircle, color: "#8b5cf6" },
23-
biology: { id: "biology", name: "Biology", icon: Dna, color: "#f59e0b" },
24-
physics: { id: "physics", name: "Physics", icon: Atom, color: "#3b82f6" },
25-
mathematics: { id: "mathematics", name: "Mathematics", icon: Calculator, color: "#10b981" },
26-
ethics: { id: "ethics", name: "Ethics", icon: Scale, color: "#ef4444" },
27-
editorial: { id: "editorial", name: "Editorial", icon: Zap, color: "#ec4899" },
28-
philosophy: { id: "philosophy", name: "Philosophy", icon: Brain, color: "#6b7280" }
29-
};
20+
const CHANNELS = {
21+
editorial: { name: "Editorial", color: "#ec4899", icon: "⚡" },
22+
biology: { name: "Biology", color: "#f59e0b", icon: "🧬" },
23+
physics: { name: "Physics", color: "#3b82f6", icon: "⚛️" },
24+
mathematics: { name: "Mathematics", color: "#10b981", icon: "🧮" },
25+
ethics: { name: "Ethics", color: "#ef4444", icon: "⚖️" },
26+
philosophy: { name: "Philosophy", color: "#a855f7", icon: "🤔" }
27+
} as const;
28+
29+
type ChannelId = keyof typeof CHANNELS;
3030

3131
interface ChannelBadgeProps {
3232
channelId: string;
@@ -43,7 +43,7 @@ export function ChannelBadge({
4343
showName = true,
4444
className
4545
}: ChannelBadgeProps) {
46-
const channel = CHANNELS[channelId];
46+
const channel = CHANNELS[channelId as ChannelId];
4747

4848
if (!channel) {
4949
return null;
@@ -77,7 +77,7 @@ export function ChannelBadge({
7777
}}
7878
>
7979
{showIcon && (
80-
<channel.icon className={iconSizeClasses[size]} />
80+
<span className={iconSizeClasses[size]}>{channel.icon}</span>
8181
)}
8282
{showName && (
8383
<span className="font-medium">
@@ -90,5 +90,5 @@ export function ChannelBadge({
9090

9191
// Simple helper for single channel display
9292
export function getChannelInfo(channelId: string) {
93-
return CHANNELS[channelId] || null;
93+
return CHANNELS[channelId as ChannelId] || null;
9494
}

src/components/channels-sidebar.tsx

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ import {
88
Calculator,
99
Dna,
1010
Scale,
11-
Zap,
12-
MessageCircle
11+
Zap
1312
} from "lucide-react";
1413

1514
interface Channel {
@@ -23,7 +22,6 @@ interface Channel {
2322
// Base channel definitions (counts will be calculated dynamically)
2423
const baseChannels: Omit<Channel, 'count'>[] = [
2524
{ id: "editorial", name: "Editorial", icon: Zap, color: "#ec4899" },
26-
{ id: "conversations", name: "Discussions", icon: MessageCircle, color: "#8b5cf6" },
2725
{ id: "biology", name: "Biology", icon: Dna, color: "#f59e0b" },
2826
{ id: "physics", name: "Physics", icon: Atom, color: "#3b82f6" },
2927
{ id: "mathematics", name: "Mathematics", icon: Calculator, color: "#10b981" },
@@ -59,11 +57,6 @@ export function ChannelsSidebar({
5957
const content = article.content.toLowerCase();
6058
const title = article.frontmatter.title.toLowerCase();
6159

62-
// Conversations (highest priority for dialogues)
63-
if (article.frontmatter.type === 'dialogue') {
64-
return 'conversations';
65-
}
66-
6760
// Biology (high priority for evolution/life sciences)
6861
if (tags.some(tag => ['biology', 'evolution', 'life', 'natural-selection'].includes(tag.toLowerCase())) ||
6962
content.includes('evolution') || content.includes('darwin') || title.includes('evolution')) {
@@ -106,7 +99,6 @@ export function ChannelsSidebar({
10699
// Calculate automatic counts if articles are provided
107100
const channelCounts = articles.length > 0 ? (() => {
108101
const counts: Record<string, number> = {
109-
conversations: 0,
110102
biology: 0,
111103
physics: 0,
112104
mathematics: 0,

src/components/recent-updates.tsx

Lines changed: 46 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,31 +15,31 @@ interface RecentUpdate {
1515
slug: string;
1616
}
1717

18-
// Mock data - in real app this would be generated from article dates
18+
// Recent updates - actual latest content from Atlas
1919
const recentUpdates: RecentUpdate[] = [
2020
{
2121
type: "new",
22-
title: "Evolution from Field to Theory",
23-
author: "Charles Darwin",
22+
title: "When Ada Meets Shannon: Mathematical Method as Information Architecture",
23+
author: "Ada Lovelace & Claude Shannon",
2424
time: "2h",
25-
channel: "biology",
26-
slug: "evolution-field-to-theory-darwin"
25+
channel: "mathematics",
26+
slug: "ada-shannon-information-mathematical-method-dialogue"
2727
},
2828
{
29-
type: "trending",
30-
title: "Consciousness Adaptation",
31-
author: "Richard Feynman",
29+
type: "new",
30+
title: "When e Meets Einstein: The Exponential Geometry of Spacetime",
31+
author: "e & Albert Einstein",
3232
time: "4h",
3333
channel: "physics",
34-
slug: "consciousness-adaptation-feynman"
34+
slug: "e-einstein-exponential-spacetime-dialogue"
3535
},
3636
{
37-
type: "active",
38-
title: "Cybernetic Governance",
39-
author: "Elinor Ostrom & Norbert Wiener",
37+
type: "trending",
38+
title: "When π Meets e: The Infinite Dance of Computation and Story",
39+
author: "π & e",
4040
time: "6h",
41-
channel: "philosophy",
42-
slug: "cybernetic-governance-commons-dialogue"
41+
channel: "mathematics",
42+
slug: "pi-e-infinity-computation-dialogue"
4343
}
4444
];
4545

@@ -82,8 +82,8 @@ export function RecentUpdates({ className }: RecentUpdatesProps) {
8282
{/* Updates List */}
8383
<div className="p-2 space-y-1">
8484
{recentUpdates.map((update, index) => {
85-
const mainAuthor = update.author.split('&')[0].trim();
86-
const persona = personaMap[mainAuthor];
85+
const authors = update.author.split('&').map(a => a.trim());
86+
const isDialogue = authors.length > 1;
8787

8888
// Determine correct route based on channel/content type
8989
const getArticleRoute = (slug: string) => {
@@ -125,19 +125,38 @@ export function RecentUpdates({ className }: RecentUpdatesProps) {
125125

126126
{/* Author and Channel Tag - bottom row */}
127127
<div className="flex items-center justify-between">
128-
{/* Author */}
129-
<div className="flex items-center gap-2">
130-
{persona ? (
131-
<PersonaBadge
132-
imageSrc={persona.imageSrc}
133-
size="sm"
134-
/>
128+
{/* Author badges */}
129+
<div className="flex items-center gap-1">
130+
{isDialogue ? (
131+
// Show both personas for dialogues
132+
<>
133+
{authors.map((author, authorIndex) => {
134+
const persona = personaMap[author];
135+
return persona ? (
136+
<PersonaBadge
137+
key={authorIndex}
138+
imageSrc={persona.imageSrc}
139+
size="sm"
140+
/>
141+
) : (
142+
<div key={authorIndex} className="w-6 h-6 rounded-full bg-neutral-200 dark:bg-neutral-700" />
143+
);
144+
})}
145+
</>
135146
) : (
136-
<div className="w-6 h-6 rounded-full bg-neutral-200 dark:bg-neutral-700" />
147+
// Single author
148+
(() => {
149+
const persona = personaMap[authors[0]];
150+
return persona ? (
151+
<PersonaBadge
152+
imageSrc={persona.imageSrc}
153+
size="sm"
154+
/>
155+
) : (
156+
<div className="w-6 h-6 rounded-full bg-neutral-200 dark:bg-neutral-700" />
157+
);
158+
})()
137159
)}
138-
<span className="text-xs text-neutral-600 dark:text-neutral-400 truncate">
139-
{mainAuthor}
140-
</span>
141160
</div>
142161

143162
{/* Channel tag */}

src/content/dialogues/ada-turing-modular-manifolds-dialogue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "When Lovelace Meets Turing: Modular Manifolds as Computational Architecture"
33
date: "2025-09-28"
44
tags: ["ada-lovelace", "alan-turing", "modularity", "manifolds", "analytical-engine", "computation", "interfaces", "contracts", "epistemology"]
5-
channel: "conversations"
5+
channel: "mathematics"
66
summary: "Ada Lovelace and Alan Turing explore how modular computational architectures reflect deeper geometric and epistemological principles, bridging mechanical calculation with modern machine learning"
77
type: "dialogue"
88
tier: "free"

src/content/dialogues/aristotle-feynman-categorical-ai-dialogue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "When Aristotle Meets Feynman: Categories as AI Architecture"
33
date: "2025-09-26"
44
tags: ["aristotle", "feynman", "categories", "ai-architecture", "neural-networks", "pattern-recognition", "classification", "systematic-philosophy", "neurosymbolic-systems", "logical-reasoning"]
5-
channel: "conversations"
5+
channel: "mathematics"
66
summary: "Aristotle and Feynman explore how categorical thinking and systematic classification could inform neural network architecture and pattern recognition AI"
77
type: "dialogue"
88
tier: "free"

src/content/dialogues/borges-turing-infinity-computation-dialogue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "When Borges Meets Turing: Infinity and Computation as Literary Architecture"
33
date: "2025-09-27"
44
tags: ["borges", "turing", "infinity", "computation", "literature", "algorithms", "labyrinths", "undecidability", "narrative-theory", "meaning-generation", "bounded-constraints", "interpretive-spaces"]
5-
channel: "conversations"
5+
channel: "mathematics"
66
summary: "Jorge Luis Borges and Alan Turing explore how infinite literary structures and computational theory intersect to create narratives that produce meaning without exhausting it"
77
type: "dialogue"
88
tier: "free"

src/content/dialogues/cybernetic-governance-commons-dialogue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Cybernetic Governance of the Commons"
33
date: "2024-09-20"
44
tags: ["governance", "cybernetics", "commons", "institutional-design"]
5-
channel: "conversations"
5+
channel: "ethics"
66
summary: "A conversation between Elinor Ostrom and Norbert Wiener on balancing transparency and autonomy in institutional design"
77
type: "dialogue"
88
tier: "premium"

src/content/dialogues/darwin-turing-dialogue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "A Conversation Across Centuries: Darwin and Turing on Intelligence"
33
date: "2025-09-21"
44
tags: ["evolution", "computation", "darwin", "turing", "artificial_intelligence", "dialogue"]
5-
channel: "conversations"
5+
channel: "biology"
66
summary: "A dialogue exploring computation in biology and the evolutionary foundations of artificial intelligence."
77
type: "dialogue"
88
tier: "free"

src/content/dialogues/darwin-turing-evolution-computation-dialogue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "When Darwin Meets Turing: Evolution and Computation as Learning Architecture"
33
date: "2025-09-27"
44
tags: ["darwin", "turing", "evolution", "computation", "learning-architecture", "selection-algorithms", "meta-learning", "fitness-landscapes", "neurosymbolic-systems", "universal-computation"]
5-
channel: "conversations"
5+
channel: "biology"
66
summary: "Charles Darwin and Alan Turing explore how evolutionary selection and computational learning represent manifestations of the same underlying information-processing principles"
77
type: "dialogue"
88
tier: "free"

src/content/dialogues/fuller-da-vinci-aesthetic-mechanics-dialogue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "When Fuller Meets Da Vinci: Aesthetic Mechanics as Structural Intelligence"
33
date: "2025-09-27"
44
tags: ["fuller", "da-vinci", "aesthetic-mechanics", "tensegrity", "structural-intelligence", "information-geometry", "design-optimization", "architectural-beauty", "mathematical-elegance", "geodesic-design"]
5-
channel: "conversations"
5+
channel: "mathematics"
66
summary: "Buckminster Fuller and Leonardo da Vinci explore how mathematical elegance and structural efficiency create beauty across design, architecture, and biology"
77
type: "dialogue"
88
tier: "free"

0 commit comments

Comments
 (0)