DEVELOPER REFERENCE — LIBRARY LOOT
Library Loot
Developer Reference
← Index

Source: components/Footer.jsx

// src/components/Footer.jsx
//
// Persistent site footer. Carries the Luckey Logic credit, top-level legal
// links, and the Epic Games trademark disclaimer (required on every page
// per the Fan Content Policy stance — see SPEC.md §7).
//
// Created by Miguel Brown on 5/12/26.
// Copyright (c) 2026 Luckey Logic LLC. All rights reserved.

import React                  from 'react'
import { Link }               from 'react-router-dom'

import siteContent            from '../data/siteContent.js'

import styles                 from './Footer.module.css'

/**
 * Footer — site-wide footer with credit, nav, and the trademark disclaimer.
 *
 * @returns {JSX.Element}
 */
export default function Footer() {

  const { brand, footer, legal } = siteContent

  return (
    <footer className={styles.footerWrap}>
      <div className={`container ${styles.footerInner}`}>

        <div className={styles.col}>
          <p className={styles.brand}>{brand.name}</p>
          <p className={styles.tagline}>{brand.tagline}</p>
          <p className={styles.credit}>
            {footer.credit}
            {' '}
            <a href={footer.sourceUrl} target="_blank" rel="noreferrer">
              Source on GitHub
            </a>
          </p>
        </div>

        <nav className={styles.col} aria-label="Footer navigation">
          <p className={styles.colTitle}>Site</p>
          <Link to="/">Home</Link>
          <Link to="/books">Books</Link>
          <Link to="/about">About the program</Link>
          <Link to="/for-parents">For Parents</Link>
          <Link to="/donors">Donors</Link>
          <Link to="/faq">FAQ</Link>
        </nav>

        <nav className={styles.col} aria-label="Legal">
          <p className={styles.colTitle}>Legal</p>
          <Link to="/terms">Terms of Service</Link>
          <Link to="/privacy">Privacy Policy</Link>
        </nav>

      </div>

      <div className={`container ${styles.legalBlock}`}>
        <p className="legal-fine">{legal.epicGamesDisclaimer}</p>
        <p className="legal-fine">
          © {footer.copyrightYear} {brand.operatedBy}. Released under the MIT License.
        </p>
      </div>
    </footer>
  )
}