import { ChangeDetectionStrategy, Component } from '@angular/core';
import { RouterLink } from '@angular/router';
import { LocaleSwitcher } from '../locale-switcher/locale-switcher';
import { ThemeSwitcher } from '../theme-switcher/theme-switcher';

/**
 * Thin full-width footer pinned to the bottom of the shell.
 *
 * Layout — two clusters separated by `justify-between`:
 *   - **Left cluster** — APF France handicap copyright + accessibility
 *     statement link, joined by a typographic separator. Static
 *     informational content that anchors the page (who owns it, where
 *     to find legal info).
 *   - **Right cluster** — device preferences the reader controls:
 *     locale switcher (per ADR-0019) and theme switcher (light / dark
 *     / system). The theme switcher is in the footer rather than the
 *     header so the same trigger location works for anonymous and
 *     authenticated readers; moving it between auth states would
 *     break consistency for a control whose purpose (changing read
 *     conditions) is identical across both.
 *
 * A dev-only version badge lands here once `SERVICE_VERSION` is wired
 * to a build-time injection.
 */
@Component({
  selector: 'app-footer',
  imports: [RouterLink, LocaleSwitcher, ThemeSwitcher],
  templateUrl: './footer.html',
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class Footer {
  protected readonly year = new Date().getFullYear();
}
