← knowledge.oriz.in

Footer per-app design + universal legal section (refines maximalist-footer)

decision decisionfooterlegalper-apprefinement

Footer per-app + universal legal section

Pattern

Each app's footer = <AppFooter> (per-app component, drawn to that app's design brief) + <LegalFooter> (shared sub-component from @chirag127/astro-chrome/legal/LegalFooter.astro).

<!-- per-app Footer.astro -->
<footer class="janaushdhi-footer">
  <!-- per-app links: Browse / Find substitute / Stores / etc -->
  <section class="app-section">...</section>
  <!-- per-app brand block: wordmark, tagline, social -->
  <section class="brand-section">...</section>
  <!-- universal legal section (shared sub-component) -->
  <LegalFooter />
</footer>

What's per-app

What's universal (via <LegalFooter />)

Legal pages CONTENT is customized per app

User mandate: "But the legal pages will also be specified specifically for all of them, and made specifically for all of them."

@chirag127/astro-chrome/legal/Privacy.astro provides the GENERIC scaffold; each app overrides per-app legal content. Mechanism:

  1. Each app has its own src/pages/privacy.astro (already exists per legal-pages-package decision)
  2. The page imports Privacy from astro-chrome BUT passes app-specific props (appName, appDomain, jurisdiction, specific-data-collected, third-parties, contact email)
  3. The Privacy.astro component renders the boilerplate text + injects app-specific sections via props
  4. Customization: each app can OVERRIDE the entire <Privacy /> with its own page if the standard template doesn't fit (e.g. janaushdhi has medical-data-specific clauses)

Supersedes-in-part

Cross-refs