feat(collections): detail redesign + categories, close-on-map, highlight fix (#1081)

- Rebuild the place detail as a clean, opaque, sectioned sheet (cover → meta →
  status segment → description → links) with a proper footer action bar — the
  loose "white lower half" is gone.
- Assign a place to a central (admin-defined) category, both in the detail edit
  and when adding a place; categories are fetched once for the page.
- Add-place now sets category + description (markdown) + links + status in the
  same step, closer to the trip's place form.
- Switching to the full-map view now closes the (list-docked) detail.
- Fix the selected-row highlight: it was clipped by the column's overflow — use
  an inset ring and only clip during the map-collapse animation; a picked row
  now scrolls into view above the detail sheet.
- New category strings across all 22 locales.
This commit is contained in:
Maurice
2026-07-01 12:34:35 +02:00
committed by Maurice
parent 0910c90e7f
commit f97e284592
27 changed files with 245 additions and 97 deletions
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'الفئة',
'collections.noCategory': 'بدون فئة',
'collections.editListTitle': 'تعديل القائمة',
'collections.coverImage': 'صورة الغلاف',
'collections.addCover': 'إضافة غلاف',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Categoria',
'collections.noCategory': 'Sem categoria',
'collections.editListTitle': 'Editar lista',
'collections.coverImage': 'Imagem de capa',
'collections.addCover': 'Adicionar capa',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Kategorie',
'collections.noCategory': 'Bez kategorie',
'collections.editListTitle': 'Upravit seznam',
'collections.coverImage': 'Obrázek na obálku',
'collections.addCover': 'Přidat obálku',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Kategorie',
'collections.noCategory': 'Keine Kategorie',
'collections.editListTitle': 'Liste bearbeiten',
'collections.coverImage': 'Titelbild',
'collections.addCover': 'Titelbild hinzufügen',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Category',
'collections.noCategory': 'No category',
'collections.editListTitle': 'Edit list',
'collections.coverImage': 'Cover image',
'collections.addCover': 'Add cover',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Categoría',
'collections.noCategory': 'Sin categoría',
'collections.editListTitle': 'Editar lista',
'collections.coverImage': 'Imagen de portada',
'collections.addCover': 'Añadir portada',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Catégorie',
'collections.noCategory': 'Aucune catégorie',
'collections.editListTitle': 'Modifier la liste',
'collections.coverImage': 'Image de couverture',
'collections.addCover': 'Ajouter une couverture',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Κατηγορία',
'collections.noCategory': 'Χωρίς κατηγορία',
'collections.editListTitle': 'Επεξεργασία λίστας',
'collections.coverImage': 'Εικόνα εξωφύλλου',
'collections.addCover': 'Προσθήκη εξωφύλλου',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Kategória',
'collections.noCategory': 'Nincs kategória',
'collections.editListTitle': 'Lista szerkesztése',
'collections.coverImage': 'Borítókép',
'collections.addCover': 'Borító hozzáadása',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Kategori',
'collections.noCategory': 'Tanpa kategori',
'collections.editListTitle': 'Edit daftar',
'collections.coverImage': 'Gambar sampul',
'collections.addCover': 'Tambah sampul',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Categoria',
'collections.noCategory': 'Nessuna categoria',
'collections.editListTitle': 'Modifica elenco',
'collections.coverImage': 'Immagine di copertina',
'collections.addCover': 'Aggiungi copertina',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'カテゴリ',
'collections.noCategory': 'カテゴリなし',
'collections.editListTitle': 'リストを編集',
'collections.coverImage': 'カバー画像',
'collections.addCover': 'カバーを追加',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': '카테고리',
'collections.noCategory': '카테고리 없음',
'collections.editListTitle': '목록 편집',
'collections.coverImage': '커버 이미지',
'collections.addCover': '커버 추가',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Categorie',
'collections.noCategory': 'Geen categorie',
'collections.editListTitle': 'Lijst bewerken',
'collections.coverImage': 'Omslagafbeelding',
'collections.addCover': 'Omslag toevoegen',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Kategoria',
'collections.noCategory': 'Bez kategorii',
'collections.editListTitle': 'Edytuj listę',
'collections.coverImage': 'Obraz okładki',
'collections.addCover': 'Dodaj okładkę',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Категория',
'collections.noCategory': 'Без категории',
'collections.editListTitle': 'Изменить список',
'collections.coverImage': 'Обложка',
'collections.addCover': 'Добавить обложку',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Kategori',
'collections.noCategory': 'Ingen kategori',
'collections.editListTitle': 'Redigera lista',
'collections.coverImage': 'Omslagsbild',
'collections.addCover': 'Lägg till omslag',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Kategori',
'collections.noCategory': 'Kategori yok',
'collections.editListTitle': 'Listeyi düzenle',
'collections.coverImage': 'Kapak resmi',
'collections.addCover': 'Kapak ekle',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Категорія',
'collections.noCategory': 'Без категорії',
'collections.editListTitle': 'Редагувати список',
'collections.coverImage': 'Обкладинка',
'collections.addCover': 'Додати обкладинку',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': 'Danh mục',
'collections.noCategory': 'Không có danh mục',
'collections.editListTitle': 'Chỉnh sửa danh sách',
'collections.coverImage': 'Ảnh bìa',
'collections.addCover': 'Thêm ảnh bìa',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': '類別',
'collections.noCategory': '無類別',
'collections.editListTitle': '編輯清單',
'collections.coverImage': '封面圖片',
'collections.addCover': '新增封面',
+2
View File
@@ -1,6 +1,8 @@
import type { TranslationStrings } from '../types';
const collection: TranslationStrings = {
'collections.category': '类别',
'collections.noCategory': '无类别',
'collections.editListTitle': '编辑清单',
'collections.coverImage': '封面图片',
'collections.addCover': '添加封面',