Files
ui/tests/i18n-allowlist.json
T
Armen Rohalov 434854bf3c admin v2: implement design from ui_design/v2/plugin/admin.html
- Design system: v2 CSS variables (surface-0/1/2, border-hair, accent-amber/cyan/red/green/blue)
  and utility classes (.btn, .inp, .pill, .chip, .bracket, .panel, .seg, .swatch,
  .type-sq, .grid-bg, .ibtn, .checkbox, .tab); v1 az-* names aliased to v2 vars
  so other pages still render. Google Fonts (IBM Plex Sans + JetBrains Mono)
  loaded via <link> in index.html <head> to avoid FOUT.
- Header rebuilt to v2: amber wordmark + // divider, amber-bordered flight pill
  with cyan live dot, tab-style nav with amber underline on active, LINK status
  pill, cog + sign-out icon buttons.
- AdminPage rewritten to 3-column layout (340 / flex / 280):
  - Detection Classes: search + ADD button, table with #/Name/Hex/Ops columns,
    name-only inline edit with ringed swatch, sibling-row error alert.
  - AI Recognition Engine + GPS Device Link panels with corner-bracket borders,
    number steppers, segmented protocol control, dashed telemetry footers.
    Hooks (useAiSettings, useGpsSettings) seed factory defaults so the UI is
    interactive when GET fails (no backend).
  - Default Aircrafts: P/C/F type chips, isDefault star toggle, + ADD AIRCRAFT
    modal with model/type/resolution/maxMinutes/default fields.
- Co-located components: Modal (backdrop + ESC + body-scroll-lock),
  NumberStepper (▲▼ with clamp on click but not on typing), ClassEditRow.
- Types: Aircraft extended with FixedWing + optional resolution/maxMinutes;
  new AiRecognitionSettings/Telemetry, GpsDeviceSettings/Telemetry, GpsProtocol.
- Endpoints: /api/admin/ai-settings, /api/admin/gps-settings (+ /ping, /reconnect).
  POST /api/flights/aircrafts (plural REST collection).
- MSW: stateful admin-settings handler with resetAdminSettingsSeed() wired into
  tests/setup.ts. Aircraft seed expanded to 6 entries matching the mockup.
- i18n: full admin.{classes,aiEngine,gpsDevice,aircrafts} key sets in en+ua;
  nav.dataset shortened to "Dataset"; obsolete users-management keys removed.
- Tests: new AdminPage AI/GPS/aircraft test suites; admin_class_edit selectors
  updated for the name-only inline editor and the modal-based add flow.
2026-05-19 02:01:20 +03:00

88 lines
1.9 KiB
JSON

{
"$schema_note": "AZ-465 FT-P-23 allow-list. Grouped by repo-relative path; '*' is the global allow-list (brand names, acronyms, units). Constraint per AZ-465: this file MUST NOT grow without a code-review reason. Pre-populated entries reflect the codebase state at the time AZ-465 landed; tightening the list (extracting a string into an i18n key, replacing with a t() call, then removing the entry) is Phase B i18n-migration work tracked under epic AZ-455 follow-ups.",
"*": [
"AZAION",
"OSM",
"TCP",
"UDP",
"Esc",
"OK",
"//",
"|",
"▾",
"▲",
"▼",
"—"
],
"src/components/Header.tsx": [
"No flights",
"Filter...",
"— SELECT —",
"LINK",
"Toggle language",
"UA",
"EN",
"⚙"
],
"src/components/HelpModal.tsx": [
"How to Annotate",
"Keyboard Shortcuts",
"Space",
"Play / Pause",
"Frame step",
"Ctrl + \u2190 \u2192",
"5 second skip",
"Enter",
"Save annotation",
"Delete",
"Delete selected",
"Delete all detections",
"Select detection class",
"Mute / Unmute",
"Ctrl + Scroll",
"Zoom canvas",
"Close dialog / editor",
"Validate (Dataset)",
"PageUp/Down",
"Navigate media / pages"
],
"src/features/admin/AdminPage.tsx": [
"Name",
"#",
"+",
"0.0.0.0",
"P",
"C",
"F",
"%",
"NMEA",
"UBX",
"MAVLINK",
"SAT",
"MIN",
"Increment",
"Decrement"
],
"src/features/annotations/AnnotationsSidebar.tsx": [
"Download annotation"
],
"src/features/annotations/VideoPlayer.tsx": [
"Previous frame",
"Next frame",
"Stop"
],
"src/features/dataset/DatasetPage.tsx": [
"Prev",
"Next"
],
"src/features/flights/FlightListSidebar.tsx": [
"Flight name"
],
"src/features/flights/FlightsPage.tsx": [
"Status:",
"Waiting for GPS signal...",
"Expand",
"Collapse"
]
}