import React, { useState } from "react";
type ResourceType = "transcript" | "slides" | "pdf";
interface Resource {
id: string;
title: string;
fileName: string;
type: ResourceType;
url: string; // TODO: replace with real PDF URLs
}
interface Module {
id: string;
title: string;
category: string;
description: string;
resources: Resource[];
}
const modules: Module[] = [
{
id: "cycles-duality-duat",
title: "Cycles, Duality, Duat, Calendar, Neteru",
category: "Foundations",
description:
"Introduces the Kemetic cycle of time, the law of duality, and the Ba’s journey through the Duat.",
resources: [
{
id: "003-cycles",
title: "003 – Cycles Transcript",
fileName: "003-Cycles Transcript.pdf",
type: "transcript",
url: "/pdfs/003-cycles.pdf",
},
{
id: "004-duality",
title: "004 – Duality Transcript",
fileName: "004-Duality Transcript.pdf",
type: "transcript",
url: "/pdfs/004-duality.pdf",
},
{
id: "005-duat",
title: "005 – Duat Transcript",
fileName: "005-Duat Transcript.pdf",
type: "transcript",
url: "/pdfs/005-duat.pdf",
},
],
},
{
id: "planetary-energies",
title: "Planetary Energies & Planet Neteru",
category: "Cosmology",
description:
"Maps the visible planets to the Neteru, their cycles, and how they affect character and timing.",
resources: [
{
id: "class6-planetary-energies",
title: "Class 6 – Planetary Energies (Slides)",
fileName: "_Class 6 – Planetary Energies.pdf",
type: "slides",
url: "/pdfs/class6-planetary-energies.pdf",
},
{
id: "006-planet-neteru",
title: "006 – Planet Neteru Transcript",
fileName: "006-Planet Neteru Transcript.pdf",
type: "transcript",
url: "/pdfs/006-planet-neteru.pdf",
},
],
},
{
id: "calendars-months",
title: "Calendars & Kemetic Months",
category: "Timekeeping",
description:
"Connects Roman months, Kemetic month names, colors, and psychological energies of the year.",
resources: [
{
id: "001-8-kemetic-months-slides",
title: "001-8 – Kemetic Months (Slides)",
fileName: "001-8-Class-Kemetic Months Slides.pdf",
type: "slides",
url: "/pdfs/001-8-kemetic-months-slides.pdf",
},
{
id: "008-kemetic-months-transcript",
title: "008 – Kemetic Months Transcript",
fileName: "008-Kemetic Months Transcript.pdf",
type: "transcript",
url: "/pdfs/008-kemetic-months-transcript.pdf",
},
{
id: "007-roman-months-transcript",
title: "007 – Roman Months Transcript",
fileName: "007-Roman Months Transcript.pdf",
type: "transcript",
url: "/pdfs/007-roman-months-transcript.pdf",
},
],
},
{
id: "sebau-constellations",
title: "Sebau / Constellations",
category: "Star Lore",
description:
"Explains Seba and Sebau, the Kemetic constellations, and how they mark the seasonal work on Earth.",
resources: [
{
id: "class12-sebau",
title: "Class 12 – Sebau (Slides)",
fileName: "01-10-Class-12 Sebau.pdf",
type: "slides",
url: "/pdfs/01-10-class-12-sebau.pdf",
},
{
id: "009-sebau-transcript",
title: "009 – Sebau Transcript",
fileName: "009-Sebau Transcript.pdf",
type: "transcript",
url: "/pdfs/009-sebau-transcript.pdf",
},
],
},
{
id: "four-goddesses",
title: "Four Goddesses / Four Pillars",
category: "Psychology",
description:
"Neith, Auset, Serqet, and Nebet as the four pillars holding up heaven (the head) and their inner meanings.",
resources: [
{
id: "010-4-goddesses-transcript",
title: "010 – 4 Goddesses Transcript",
fileName: "010-4 Goddesses Transcript.pdf",
type: "transcript",
url: "/pdfs/010-4-goddesses-transcript.pdf",
},
],
},
{
id: "timekeeping-module",
title: "Timekeeping Module",
category: "Foundations",
description:
"The history of timekeeping from bones and megaliths to Kemetic calendars, weeks, and star clocks.",
resources: [
{
id: "01-1-timekeeping",
title: "01-1 – Our Story of Timekeeping (Transcript)",
fileName: "01-1 Class — Our Story of Timekeeping Transcribed.pdf",
type: "transcript",
url: "/pdfs/01-1-timekeeping.pdf",
},
],
},
{
id: "temperaments-module",
title: "Temperaments Module",
category: "Psychology",
description:
"The four temperaments as energetic patterns in Kemetic Sacred Science and how they map to behavior.",
resources: [
{
id: "01-2-4-temperaments-class",
title: "01-2 – Class: 4 Temperaments",
fileName: "01-2 Class: 4 Temperaments.pdf",
type: "transcript",
url: "/pdfs/01-2-four-temperaments-class.pdf",
},
{
id: "four-temperaments-doc",
title: "The Four Temperaments (Text)",
fileName: "The Four Temperaments.pdf",
type: "pdf",
url: "/pdfs/the-four-temperaments.pdf",
},
],
},
];
const typeLabel: Record
= {
transcript: "Transcript",
slides: "Slides",
pdf: "Document",
};
const App: React.FC = () => {
const [selectedModuleId, setSelectedModuleId] = useState(
modules[0]?.id
);
const [selectedResource, setSelectedResource] = useState(
null
);
const selectedModule = modules.find((m) => m.id === selectedModuleId)!;
return (
{/* Sidebar */}
{/* Main content */}
{/* Header */}
{/* Resource list */}
Resources
{selectedModule.resources.map((res) => {
const isActive = selectedResource?.id === res.id;
return (
);
})}
{/* Reader / Details */}
{selectedResource ? (
<>
{selectedResource.title}
{typeLabel[selectedResource.type]} •{" "}
{selectedResource.fileName}
{/* PDF viewer */}
{/* If URL is a PDF, you can embed it: */}
{/* Side panel for notes / key ideas */}
Key Ideas (fill in later)
- Add 3–5 bullet points from this resource.
- Highlight key Netjeru, symbols, or cycles.
- Note how it ties back to the Kemetic Calendar.
Reflection Prompts
- What did you learn about yourself from this?
- How does this change how you see time/cycles?
- What action will you take before the next class?
>
) : (
Select a resource on the left to view its content.
)}
);
};
export default App;