refactor: centralize section config — remove all hardcoded section lists
CI / typecheck + build (turbo) (push) Canceled after 0s
CI / typecheck + build (turbo) (push) Canceled after 0s
- New packages/config/src/sections.ts: SECTIONS, SECTIONS_BY_ID, SECTION_IDS (no Node.js built-in imports — safe for client components) - New package entrypoint: @mcpedia/config/sections (exports only sections.ts) - Client components import from @mcpedia/config/sections (no node:fs in bundle) - Server components import from @mcpedia/config (has env/fs, server-only) - Removed hardcoded SECTIONS/SECTION_LABEL/SECTION_ICON from: - [section]/page.tsx (was inline array) - [section]/[...slug]/page.tsx (was hardcoded Record maps) - Sidebar.tsx (was inline array) - layout.tsx (was inline array) - page.tsx (was inline array) - create/page.tsx (was inline array via SECTIONS import) - Added @mcpedia/config/sections entrypoint to package.json exports
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
import { useEffect, useState } from "react";
|
||||
import Link from "next/link";
|
||||
import { usePathname } from "next/navigation";
|
||||
import { SECTIONS } from "@mcpedia/config/sections";
|
||||
|
||||
interface Doc {
|
||||
slug: string;
|
||||
@@ -11,13 +12,6 @@ interface Doc {
|
||||
tags: string[];
|
||||
}
|
||||
|
||||
const SECTIONS = [
|
||||
{ id: "docs", label: "Documentation", icon: "📄" },
|
||||
{ id: "writeups", label: "Writeups", icon: "📝" },
|
||||
{ id: "research", label: "Research", icon: "🔬" },
|
||||
{ id: "notes", label: "Notes", icon: "📌" },
|
||||
] as const;
|
||||
|
||||
/**
|
||||
* Build a hierarchical folder tree from flat document slugs.
|
||||
* Each node is either a folder (has children) or a leaf doc.
|
||||
@@ -132,7 +126,7 @@ function renderTreeNode(
|
||||
</Link>
|
||||
{node.children.length > 0 && (
|
||||
<ul className="mt-0.5">
|
||||
{node.children.map((child) => renderTreeNode(child, 0, pathname))}
|
||||
{node.children.map((child) => renderTreeNode(child, depth + 1, pathname))}
|
||||
</ul>
|
||||
)}
|
||||
</li>
|
||||
|
||||
Reference in New Issue
Block a user