configuration/strings/site.strings.ts

configuration/strings/site.strings.ts is a file in Bane's Lab Site. 38 lines of code and 5 definitions.

import { ANATOMY_PAGE, ARCHITECTURE_PAGE, GRAMMAR_PAGE, METHODOLOGY_PAGE } from "#core/ids/page.ids";
import type { BakedTabs, LinkedPage, PageContent } from "#types/vocabulary.types";
import { ANATOMY } from "#core/generated/anatomy.generated";
import { ANATOMY_CONTENT } from "#configuration/strings/anatomy.strings";
import { ANATOMY_MEASURES } from "#core/generated/anatomy.measures.generated";
import { ANATOMY_TREES } from "#core/registries/anatomy.registry";
import { ARCHITECTURE_CONTENT } from "#configuration/strings/architecture.strings";
import type { AnatomyIndex } from "#types/record.types";
import { GRAMMAR_CONTENT } from "#configuration/strings/grammar.strings";
import { METHODOLOGY_CONTENT } from "#configuration/strings/methodology.strings";
import { TREE_TAB_STEM } from "#configuration/constants/anatomy.constants";
import { anatomyChapter } from "#domain/converters/anatomy.fragment.converter";
import { anatomyIndexOf } from "#domain/converters/anatomy.reference.converter";
import { treeTab } from "#domain/converters/anatomy.converter";

const ANATOMY_STEM = "anatomy.page";

export const CHAPTER_PAGES: readonly PageContent[] = [
    { page: METHODOLOGY_PAGE, tabs: METHODOLOGY_CONTENT },
    { page: ARCHITECTURE_PAGE, tabs: ARCHITECTURE_CONTENT },
    { page: GRAMMAR_PAGE, tabs: GRAMMAR_CONTENT },
    { page: ANATOMY_PAGE, tabs: ANATOMY_CONTENT },
];

export const LINKED_PAGES: readonly LinkedPage[] = [
    { name: "METHODOLOGY_TABS", page: METHODOLOGY_PAGE, stem: "methodology.page", tabs: METHODOLOGY_CONTENT },
    { name: "ARCHITECTURE_TABS", page: ARCHITECTURE_PAGE, stem: "architecture.page", tabs: ARCHITECTURE_CONTENT },
    { name: "GRAMMAR_TABS", page: GRAMMAR_PAGE, stem: "grammar.page", tabs: GRAMMAR_CONTENT },
    {
        name: "ANATOMY_READING_TABS",
        page: ANATOMY_PAGE,
        stem: ANATOMY_STEM,
        tabs: ANATOMY_CONTENT.map((tab) => ({ ...tab, sections: anatomyChapter(ANATOMY, ANATOMY_MEASURES) })),
    },
];

export const BAKED_TABS: readonly BakedTabs[] = ANATOMY_TREES.map((tree) => ({
    name: "ANATOMY_TREE_TAB",
    stem: TREE_TAB_STEM + tree.tab,
    tabs: [treeTab(tree)],
}));

export const ANATOMY_INDEX: AnatomyIndex = anatomyIndexOf(ANATOMY_TREES.map((tree) => tree.snapshot.tree));