fix(admin-ui): translate field labels + responsive header + modal max-h

Issues:
- Field labels (ORBIT/STATUS/COUNTRY/MASS_KG/...) показывались raw'ом потому
  что backend schema не присылает title. Добавил humanize() (snake_case → 'Snake Case')
  + i18n fallback t('field.$key') для известных полей spacecraft/satellite_type/
  ground_station: name, designator, norad_id, status, country, operator, mass_kg,
  mission, orbit, launch_date, decay_date, spectrum_bands, satellite_type_code, etc.
- Modal panel рос в высоту бесконечно (nstart-ui Modal не клампит max-h),
  на iPad портрете форма уходила за viewport. panelClassName=max-h-[calc(100vh-2rem)]
  flex flex-col + bodyClassName=overflow-y-auto flex-1.
- Header в __root: padding/gap responsive (px-4 sm:px-6, py-3 sm:py-4, gap-3 sm:gap-6),
  flex-wrap чтобы LanguageSwitch на узких экранах переносился под навигацию.
- Main container: px-4 sm:px-6 + py-4 sm:py-8.
This commit is contained in:
Zimin A.N.
2026-05-04 02:47:06 +03:00
parent 7aed67fce5
commit 43a06d1a7b
4 changed files with 50 additions and 5 deletions
+36
View File
@@ -40,6 +40,24 @@ i18n
'form.save': 'Сохранить',
'form.saving': 'Сохранение...',
'form.error.required': 'Обязательное поле',
'field.name': 'Наименование',
'field.designator': 'Designator (COSPAR)',
'field.norad_id': 'NORAD ID',
'field.status': 'Статус',
'field.country': 'Страна',
'field.operator': 'Оператор',
'field.mass_kg': 'Масса (кг)',
'field.mission': 'Миссия',
'field.orbit': 'Орбита',
'field.launch_date': 'Дата запуска',
'field.decay_date': 'Дата схода',
'field.spectrum_bands': 'Спектральные диапазоны',
'field.satellite_type_code': 'Тип КА (код)',
'field.code': 'Код',
'field.description': 'Описание',
'field.location': 'Местоположение',
'field.coordinates': 'Координаты',
'field.frequency_bands': 'Частотные диапазоны',
'loading': 'Загрузка...',
'error.failed': 'Не удалось загрузить данные',
},
@@ -74,6 +92,24 @@ i18n
'form.save': 'Save',
'form.saving': 'Saving...',
'form.error.required': 'Required field',
'field.name': 'Name',
'field.designator': 'Designator (COSPAR)',
'field.norad_id': 'NORAD ID',
'field.status': 'Status',
'field.country': 'Country',
'field.operator': 'Operator',
'field.mass_kg': 'Mass (kg)',
'field.mission': 'Mission',
'field.orbit': 'Orbit',
'field.launch_date': 'Launch date',
'field.decay_date': 'Decay date',
'field.spectrum_bands': 'Spectrum bands',
'field.satellite_type_code': 'Satellite type code',
'field.code': 'Code',
'field.description': 'Description',
'field.location': 'Location',
'field.coordinates': 'Coordinates',
'field.frequency_bands': 'Frequency bands',
'loading': 'Loading...',
'error.failed': 'Failed to load data',
},