# haiere/raia-footer architecture

> Architecture diagram of the GitHub repository haiere/raia-footer, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/haiere/raia-footer
- Repository: https://github.com/haiere/raia-footer

## Overview

This is a static legal and navigation website. Visitors open the page, browse four legal or sitemap tabs, and can switch language and theme, navigate document sections, and print. The implementation is split among page markup, styling, and browser-side interactions; preferences are persisted locally. The README documents additional content and capabilities, while the sampled JavaScript is partial, so uncertain implementation links are omitted.

Main entry points: [`index.html`](https://github.com/haiere/raia-footer/blob/main/index.html) (Legal hub page), [`script.js`](https://github.com/haiere/raia-footer/blob/main/script.js) (Interaction controller), [`style.css`](https://github.com/haiere/raia-footer/blob/main/style.css) (Layout and themes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Page experience"]
  node_page["Legal hub page<br/>[index.html]"]
  node_styles["Layout and themes<br/>[style.css]"]
end

subgraph group_content["Legal and sitemap content"]
  node_legal_tabs["Legal document tabs<br/>[index.html]"]
  node_privacy["Privacy policy<br/>[index.html]"]
  node_terms["Terms and conditions<br/>[index.html]"]
  node_cookie_policy["Cookie policy<br/>[index.html]"]
  node_sitemap["Ecosystem sitemap<br/>[index.html]"]
end

subgraph group_behavior["Browser interactions"]
  node_controller["Interaction controller<br/>[script.js]"]
  node_translations["Bilingual content<br/>[script.js]"]
  node_section_nav["TOC and scroll spy<br/>[script.js]"]
  node_theme["Theme switching<br/>[script.js]"]
  node_preferences["Saved preferences<br/>[script.js]"]
end

node_visitor(("Visitor"))
node_local_storage[("Browser localStorage")]
node_browser_preferences["Browser language and theme"]
node_external_services["External services"]

node_visitor -->|"opens"| node_page
node_page -->|"loads styles"| node_styles
node_page -->|"loads script"| node_controller
node_page -->|"displays"| node_legal_tabs
node_page -->|"displays"| node_sitemap
node_legal_tabs -->|"includes"| node_privacy
node_legal_tabs -->|"includes"| node_terms
node_legal_tabs -->|"includes"| node_cookie_policy
node_visitor -->|"operates tabs"| node_controller
node_controller -->|"switches panels"| node_legal_tabs
node_visitor -->|"chooses language"| node_translations
node_controller -->|"applies language"| node_translations
node_translations -->|"updates text"| node_page
node_visitor -->|"chooses theme"| node_theme
node_controller -->|"handles toggle"| node_theme
node_theme -->|"updates appearance"| node_page
node_visitor -->|"navigates sections"| node_section_nav
node_controller -->|"handles navigation"| node_section_nav
node_section_nav -->|"scrolls and highlights"| node_page
node_controller -->|"loads and saves"| node_preferences
node_preferences -->|"reads and writes"| node_local_storage
node_browser_preferences -.->|"provides defaults"| node_theme
node_browser_preferences -.->|"provides language"| node_translations
node_page -.->|"links and references"| node_external_services

click node_page "https://github.com/haiere/raia-footer/blob/main/index.html"
click node_styles "https://github.com/haiere/raia-footer/blob/main/style.css"
click node_controller "https://github.com/haiere/raia-footer/blob/main/script.js"
click node_legal_tabs "https://github.com/haiere/raia-footer/blob/main/index.html"
click node_privacy "https://github.com/haiere/raia-footer/blob/main/index.html"
click node_terms "https://github.com/haiere/raia-footer/blob/main/index.html"
click node_cookie_policy "https://github.com/haiere/raia-footer/blob/main/index.html"
click node_sitemap "https://github.com/haiere/raia-footer/blob/main/index.html"
click node_translations "https://github.com/haiere/raia-footer/blob/main/script.js"
click node_section_nav "https://github.com/haiere/raia-footer/blob/main/script.js"
click node_theme "https://github.com/haiere/raia-footer/blob/main/script.js"
click node_preferences "https://github.com/haiere/raia-footer/blob/main/script.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_page,node_styles,node_browser_preferences toneBlue
class node_legal_tabs,node_privacy,node_terms,node_cookie_policy,node_sitemap,node_local_storage toneAmber
class node_controller,node_translations,node_section_nav,node_theme,node_preferences toneMint
class node_visitor,node_external_services toneIndigo
```

## Components

### Page experience

- [Legal hub page](https://github.com/haiere/raia-footer/blob/main/index.html): `index.html`
- [Layout and themes](https://github.com/haiere/raia-footer/blob/main/style.css): `style.css`

### Legal and sitemap content

- [Legal document tabs](https://github.com/haiere/raia-footer/blob/main/index.html): `index.html`
- [Privacy policy](https://github.com/haiere/raia-footer/blob/main/index.html): `index.html`
- [Terms and conditions](https://github.com/haiere/raia-footer/blob/main/index.html): `index.html`
- [Cookie policy](https://github.com/haiere/raia-footer/blob/main/index.html): `index.html`
- [Ecosystem sitemap](https://github.com/haiere/raia-footer/blob/main/index.html): `index.html`

### Browser interactions

- [Interaction controller](https://github.com/haiere/raia-footer/blob/main/script.js): `script.js`
- [Bilingual content](https://github.com/haiere/raia-footer/blob/main/script.js): `script.js`
- [TOC and scroll spy](https://github.com/haiere/raia-footer/blob/main/script.js): `script.js`
- [Theme switching](https://github.com/haiere/raia-footer/blob/main/script.js): `script.js`
- [Saved preferences](https://github.com/haiere/raia-footer/blob/main/script.js): `script.js`

### Other components

- **Visitor**
- **Browser localStorage**
- **Browser language and theme**
- **External services**

## Connections

- Visitor → Legal hub page: opens
- Legal hub page → Layout and themes: loads styles
- Legal hub page → Interaction controller: loads script
- Legal hub page → Legal document tabs: displays
- Legal hub page → Ecosystem sitemap: displays
- Legal document tabs → Privacy policy: includes
- Legal document tabs → Terms and conditions: includes
- Legal document tabs → Cookie policy: includes
- Visitor → Interaction controller: operates tabs
- Interaction controller → Legal document tabs: switches panels
- Visitor → Bilingual content: chooses language
- Interaction controller → Bilingual content: applies language
- Bilingual content → Legal hub page: updates text
- Visitor → Theme switching: chooses theme
- Interaction controller → Theme switching: handles toggle
- Theme switching → Legal hub page: updates appearance
- Visitor → TOC and scroll spy: navigates sections
- Interaction controller → TOC and scroll spy: handles navigation
- TOC and scroll spy → Legal hub page: scrolls and highlights
- Interaction controller → Saved preferences: loads and saves
- Saved preferences → Browser localStorage: reads and writes
- Browser language and theme → Theme switching: provides defaults
- Browser language and theme → Bilingual content: provides language
- Legal hub page → External services: links and references
