diff --git a/frontend/src/components/Layout.tsx b/frontend/src/components/Layout.tsx index aafacbe..fc0e42b 100644 --- a/frontend/src/components/Layout.tsx +++ b/frontend/src/components/Layout.tsx @@ -124,7 +124,7 @@ export function Layout(): JSX.Element { {/* footer — fixed dark slab, never inverts */} diff --git a/frontend/src/components/SimulationStatusBadge.tsx b/frontend/src/components/SimulationStatusBadge.tsx index 0438e18..0545e07 100644 --- a/frontend/src/components/SimulationStatusBadge.tsx +++ b/frontend/src/components/SimulationStatusBadge.tsx @@ -1,5 +1,5 @@ +import { useTranslation } from 'react-i18next'; import type { SimulationStatus } from '@/api/types'; -import { simulationStatusLabel } from '@/i18n/status'; const STYLES: Record = { pending: 'bg-cloud text-graphite border border-hairline', @@ -9,13 +9,14 @@ const STYLES: Record = { }; export function SimulationStatusBadge({ status }: { status: SimulationStatus }): JSX.Element { + const { t } = useTranslation(); return ( - {simulationStatusLabel(status)} + {t(`status.simulation.${status}`)} ); } diff --git a/frontend/src/components/StatusBadge.tsx b/frontend/src/components/StatusBadge.tsx index 075105a..9c35831 100644 --- a/frontend/src/components/StatusBadge.tsx +++ b/frontend/src/components/StatusBadge.tsx @@ -1,5 +1,5 @@ +import { useTranslation } from 'react-i18next'; import type { EngagementStatus } from '@/api/types'; -import { engagementStatusLabel } from '@/i18n/status'; const STYLES: Record = { planned: 'bg-warn-soft text-warn border border-warn', @@ -8,13 +8,14 @@ const STYLES: Record = { }; export function StatusBadge({ status }: { status: EngagementStatus }): JSX.Element { + const { t } = useTranslation(); return ( - {engagementStatusLabel(status)} + {t(`status.engagement.${status}`)} ); } diff --git a/frontend/src/i18n/fr.json b/frontend/src/i18n/fr.json index 593966d..f55d719 100644 --- a/frontend/src/i18n/fr.json +++ b/frontend/src/i18n/fr.json @@ -23,7 +23,8 @@ "templates": "Templates", "users": "Utilisateurs", "signOut": "Se déconnecter", - "brand": "Mimic" + "brand": "Mimic", + "footer": "Mimic — Outillage interne Purple Team. Engagements autorisés uniquement." }, "auth": { "login": { diff --git a/frontend/src/pages/EngagementDetailPage.tsx b/frontend/src/pages/EngagementDetailPage.tsx index d8216d4..5a134a2 100644 --- a/frontend/src/pages/EngagementDetailPage.tsx +++ b/frontend/src/pages/EngagementDetailPage.tsx @@ -12,7 +12,7 @@ import { SimulationList } from '@/components/SimulationList'; import { ExportEngagementButton } from '@/components/ExportEngagementButton'; import { BackLink } from '@/components/BackLink'; import { Tabs } from '@/components/Tabs'; -import { formatDateTime } from '@/lib/format'; +import { formatDate } from '@/lib/format'; type TabId = 'description' | 'simulations'; @@ -78,13 +78,13 @@ export function EngagementDetailPage(): JSX.Element {
{t('engagement.detail.schedule.startDate')}
-
{eng.start_date}
+
{formatDate(eng.start_date)}
{t('engagement.detail.schedule.endDate')}
-
{eng.end_date ?? '—'}
+
{eng.end_date ? formatDate(eng.end_date) : '—'}
{t('engagement.detail.schedule.status')}
{t('engagement.detail.schedule.createdAt')}
-
{formatDateTime(eng.created_at)}
+
{formatDate(eng.created_at)}
{canEditEngagements ? ( diff --git a/frontend/src/pages/UsersAdminPage.tsx b/frontend/src/pages/UsersAdminPage.tsx index ba33d41..bc9b8d1 100644 --- a/frontend/src/pages/UsersAdminPage.tsx +++ b/frontend/src/pages/UsersAdminPage.tsx @@ -1,4 +1,5 @@ import { Fragment, useState, type FormEvent } from 'react'; +import { formatDate } from '@/lib/format'; import { useTranslation } from 'react-i18next'; import { extractApiError } from '@/api/client'; import type { Role, User } from '@/api/types'; @@ -225,7 +226,7 @@ export function UsersAdminPage(): JSX.Element { disabled={patchMutation.isPending} /> - {u.created_at} + {formatDate(u.created_at)}