configuration/icons/home.icons.ts
configuration/icons/home.icons.ts is a file in Bane's Lab Site. 55 lines of code and 9 definitions.
import {
ANATOMY_ACCENT,
ARCHITECTURE_ACCENT,
FAQ_ACCENT,
GRAMMAR_ACCENT,
METHODOLOGY_ACCENT,
ONTOLOGY_ACCENT,
} from "#configuration/constants/page.constants";
import {
ANATOMY_ICON,
ARCHITECTURE_ICON,
FAQ_ICON,
GRAMMAR_ICON,
METHODOLOGY_ICON,
ONTOLOGY_ICON,
} from "#configuration/icons/page.icons";
import {
ANATOMY_PAGE,
ARCHITECTURE_PAGE,
FAQ_PAGE,
GRAMMAR_PAGE,
METHODOLOGY_PAGE,
ONTOLOGY_PAGE,
} from "#core/ids/page.ids";
import type { HomeRowLink } from "#types/home.types";
import { UNLINKED_PAGE } from "#configuration/strings/report.strings";
export const GRAMMAR_CARD_LINK: HomeRowLink = { accent: GRAMMAR_ACCENT, icon: GRAMMAR_ICON, page: GRAMMAR_PAGE };
export const METHODOLOGY_CARD_LINK: HomeRowLink = {
accent: METHODOLOGY_ACCENT,
icon: METHODOLOGY_ICON,
page: METHODOLOGY_PAGE,
};
export const ARCHITECTURE_CARD_LINK: HomeRowLink = {
accent: ARCHITECTURE_ACCENT,
icon: ARCHITECTURE_ICON,
page: ARCHITECTURE_PAGE,
};
export const ONTOLOGY_CARD_LINK: HomeRowLink = { accent: ONTOLOGY_ACCENT, icon: ONTOLOGY_ICON, page: ONTOLOGY_PAGE };
export const ANATOMY_CARD_LINK: HomeRowLink = { accent: ANATOMY_ACCENT, icon: ANATOMY_ICON, page: ANATOMY_PAGE };
export const FAQ_CARD_LINK: HomeRowLink = { accent: FAQ_ACCENT, icon: FAQ_ICON, page: FAQ_PAGE };
export const HOME_ROW_LINKS: readonly HomeRowLink[] = [
GRAMMAR_CARD_LINK,
METHODOLOGY_CARD_LINK,
ARCHITECTURE_CARD_LINK,
ONTOLOGY_CARD_LINK,
ANATOMY_CARD_LINK,
FAQ_CARD_LINK,
];
export const linkFor = function linkFor(page: string): HomeRowLink {
const link = HOME_ROW_LINKS.find((candidate) => candidate.page === page);
if (link === undefined) {
throw new Error(UNLINKED_PAGE + page);
}
return link;
};