# configuration/icons/home.icons.ts

> 55 lines of code and 9 definitions.

Tree: Site tree
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/tree#file-configuration-icons-home-icons-ts
Source text: https://banes-lab.com/assets/sources/source.17b98b36922b5e93d517aa034c3304df3d439fca538a37940849999f514768d1.generated.txt

## Definitions

- `GRAMMAR_CARD_LINK` (lexical_declaration, line 28, exported)
- `METHODOLOGY_CARD_LINK` (lexical_declaration, line 30, exported)
- `ARCHITECTURE_CARD_LINK` (lexical_declaration, line 36, exported)
- `ONTOLOGY_CARD_LINK` (lexical_declaration, line 42, exported)
- `ANATOMY_CARD_LINK` (lexical_declaration, line 44, exported)
- `FAQ_CARD_LINK` (lexical_declaration, line 46, exported)
- `ROW_LINKS` (lexical_declaration, line 48)
- `linkFor` (lexical_declaration, line 57, exported)
- `link` (lexical_declaration, line 58, exported)

## Source

```typescript
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 };

const 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 = ROW_LINKS.find((candidate) => candidate.page === page);
    if (link === undefined) {
        throw new Error(UNLINKED_PAGE + page);
    }
    return link;
};
```
