fix(frontend): i18n reactive badges + fr-FR dates on detail/admin + FR footer (design-review)

- StatusBadge/SimulationStatusBadge: swap bare i18n.t() helper for
  useTranslation() hook so badges re-render reactively on i18n init
- EngagementDetailPage: formatDate() on start_date/end_date/created_at
  (was: raw ISO string, formatDateTime with noisy 00:00:00)
- UsersAdminPage: formatDate() on created_at column (was: raw ISO string)
- Layout footer: t('nav.footer') with FR string in fr.json

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Knacky
2026-06-22 00:18:05 +02:00
parent 6648d1cc2e
commit ac0bc8d1b2
6 changed files with 15 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
import { useTranslation } from 'react-i18next';
import type { SimulationStatus } from '@/api/types';
import { simulationStatusLabel } from '@/i18n/status';
const STYLES: Record<SimulationStatus, string> = {
pending: 'bg-cloud text-graphite border border-hairline',
@@ -9,13 +9,14 @@ const STYLES: Record<SimulationStatus, string> = {
};
export function SimulationStatusBadge({ status }: { status: SimulationStatus }): JSX.Element {
const { t } = useTranslation();
return (
<span
className={`inline-flex items-center rounded-pill px-3 py-[6px] text-[14px] leading-[1.3] font-medium ${STYLES[status]}`}
data-testid="simulation-status-badge"
data-status={status}
>
{simulationStatusLabel(status)}
{t(`status.simulation.${status}`)}
</span>
);
}