ae6db7e16f
Onboarding asks explicitly for one or two parents and shows one card per parent for balances; the balance form is per parent with inline validation; the partner can be filled from the FK deduction or added from it. Settings and Dashboard reuse the same form. CSS: bare buttons carry no colour any more; buttons, cards, choice cards, fields, alerts, badges, eyebrow and modal chrome are defined once in primitives.css. Media queries live only in responsive.css. A style guard test blocks hex, !important and stray media queries. Bilingual fixes: calendar selects size by content, header no longer wraps. Vitest is capped at four workers. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
16 lines
438 B
TypeScript
16 lines
438 B
TypeScript
import { ReactNode } from 'react'
|
|
import { useTranslation } from '@/i18n'
|
|
import './footer.css'
|
|
|
|
export function Footer(): ReactNode {
|
|
const { t } = useTranslation()
|
|
const currentYear = new Date().getFullYear()
|
|
return (
|
|
<footer role="contentinfo" data-testid="footer">
|
|
<div className="footer__inner">
|
|
<p data-testid="footer-text">{t('footer.copyright', { year: currentYear })}</p>
|
|
</div>
|
|
</footer>
|
|
)
|
|
}
|