diff --git a/client/src/i18n/translations/ar.ts b/client/src/i18n/translations/ar.ts index 39e2dfc..83c3ce8 100644 --- a/client/src/i18n/translations/ar.ts +++ b/client/src/i18n/translations/ar.ts @@ -85,6 +85,7 @@ const ar: Record = { 'dashboard.sharedBy': 'شاركها {name}', 'dashboard.days': 'الأيام', 'dashboard.places': 'الأماكن', + 'dashboard.members': 'ال חברים', 'dashboard.archive': 'أرشفة', 'dashboard.restore': 'استعادة', 'dashboard.archived': 'مؤرشفة', diff --git a/client/src/i18n/translations/br.ts b/client/src/i18n/translations/br.ts index 073f83e..4965b18 100644 --- a/client/src/i18n/translations/br.ts +++ b/client/src/i18n/translations/br.ts @@ -80,6 +80,7 @@ const br: Record = { 'dashboard.sharedBy': 'Compartilhada por {name}', 'dashboard.days': 'Dias', 'dashboard.places': 'Lugares', + 'dashboard.members': 'Parceiros de viagem', 'dashboard.archive': 'Arquivar', 'dashboard.restore': 'Restaurar', 'dashboard.archived': 'Arquivada', diff --git a/client/src/i18n/translations/cs.ts b/client/src/i18n/translations/cs.ts index b4c1bc6..e0d8eb7 100644 --- a/client/src/i18n/translations/cs.ts +++ b/client/src/i18n/translations/cs.ts @@ -81,6 +81,7 @@ const cs: Record = { 'dashboard.sharedBy': 'Sdílí {name}', 'dashboard.days': 'Dní', 'dashboard.places': 'Míst', + 'dashboard.members': 'Cestovní parťáci', 'dashboard.archive': 'Archivovat', 'dashboard.restore': 'Obnovit', 'dashboard.archived': 'Archivováno', diff --git a/client/src/i18n/translations/de.ts b/client/src/i18n/translations/de.ts index fba93d6..a378d80 100644 --- a/client/src/i18n/translations/de.ts +++ b/client/src/i18n/translations/de.ts @@ -80,6 +80,7 @@ const de: Record = { 'dashboard.sharedBy': 'Geteilt von {name}', 'dashboard.days': 'Tage', 'dashboard.places': 'Orte', + 'dashboard.members': 'Reise-Buddies', 'dashboard.archive': 'Archivieren', 'dashboard.restore': 'Wiederherstellen', 'dashboard.archived': 'Archiviert', diff --git a/client/src/i18n/translations/en.ts b/client/src/i18n/translations/en.ts index 39d848b..84e99d1 100644 --- a/client/src/i18n/translations/en.ts +++ b/client/src/i18n/translations/en.ts @@ -80,6 +80,7 @@ const en: Record = { 'dashboard.sharedBy': 'Shared by {name}', 'dashboard.days': 'Days', 'dashboard.places': 'Places', + 'dashboard.members': 'Buddies', 'dashboard.archive': 'Archive', 'dashboard.restore': 'Restore', 'dashboard.archived': 'Archived', diff --git a/client/src/i18n/translations/es.ts b/client/src/i18n/translations/es.ts index 3076e04..f8c6da4 100644 --- a/client/src/i18n/translations/es.ts +++ b/client/src/i18n/translations/es.ts @@ -81,6 +81,7 @@ const es: Record = { 'dashboard.sharedBy': 'Compartido por {name}', 'dashboard.days': 'Días', 'dashboard.places': 'Lugares', + 'dashboard.members': 'Compañeros de viaje', 'dashboard.archive': 'Archivar', 'dashboard.restore': 'Restaurar', 'dashboard.archived': 'Archivado', diff --git a/client/src/i18n/translations/fr.ts b/client/src/i18n/translations/fr.ts index eadad57..0de6b1d 100644 --- a/client/src/i18n/translations/fr.ts +++ b/client/src/i18n/translations/fr.ts @@ -80,6 +80,7 @@ const fr: Record = { 'dashboard.sharedBy': 'Partagé par {name}', 'dashboard.days': 'Jours', 'dashboard.places': 'Lieux', + 'dashboard.members': 'Compagnons de voyage', 'dashboard.archive': 'Archiver', 'dashboard.restore': 'Restaurer', 'dashboard.archived': 'Archivé', diff --git a/client/src/i18n/translations/hu.ts b/client/src/i18n/translations/hu.ts index 2d577f9..1e49c8c 100644 --- a/client/src/i18n/translations/hu.ts +++ b/client/src/i18n/translations/hu.ts @@ -80,6 +80,7 @@ const hu: Record = { 'dashboard.sharedBy': 'Megosztotta: {name}', 'dashboard.days': 'nap', 'dashboard.places': 'hely', + 'dashboard.members': 'Útitársak', 'dashboard.archive': 'Archiválás', 'dashboard.restore': 'Visszaállítás', 'dashboard.archived': 'Archivált', diff --git a/client/src/i18n/translations/it.ts b/client/src/i18n/translations/it.ts index e77cd5e..9216114 100644 --- a/client/src/i18n/translations/it.ts +++ b/client/src/i18n/translations/it.ts @@ -80,6 +80,7 @@ const it: Record = { 'dashboard.sharedBy': 'Condiviso da {name}', 'dashboard.days': 'Giorni', 'dashboard.places': 'Luoghi', + 'dashboard.members': 'Compagni di viaggio', 'dashboard.archive': 'Archivia', 'dashboard.restore': 'Ripristina', 'dashboard.archived': 'Archiviati', diff --git a/client/src/i18n/translations/nl.ts b/client/src/i18n/translations/nl.ts index 8bdcee8..f9aa9be 100644 --- a/client/src/i18n/translations/nl.ts +++ b/client/src/i18n/translations/nl.ts @@ -80,6 +80,7 @@ const nl: Record = { 'dashboard.sharedBy': 'Gedeeld door {name}', 'dashboard.days': 'Dagen', 'dashboard.places': 'Plaatsen', + 'dashboard.members': 'Reisgenoten', 'dashboard.archive': 'Archiveren', 'dashboard.restore': 'Herstellen', 'dashboard.archived': 'Gearchiveerd', diff --git a/client/src/i18n/translations/ru.ts b/client/src/i18n/translations/ru.ts index c4a56e4..6e23c94 100644 --- a/client/src/i18n/translations/ru.ts +++ b/client/src/i18n/translations/ru.ts @@ -80,6 +80,7 @@ const ru: Record = { 'dashboard.sharedBy': 'Поделился {name}', 'dashboard.days': 'Дни', 'dashboard.places': 'Места', + 'dashboard.members': 'Попутчики', 'dashboard.archive': 'Архивировать', 'dashboard.restore': 'Восстановить', 'dashboard.archived': 'В архиве', diff --git a/client/src/i18n/translations/zh.ts b/client/src/i18n/translations/zh.ts index 285375f..5f32b1b 100644 --- a/client/src/i18n/translations/zh.ts +++ b/client/src/i18n/translations/zh.ts @@ -80,6 +80,7 @@ const zh: Record = { 'dashboard.sharedBy': '由 {name} 分享', 'dashboard.days': '天', 'dashboard.places': '地点', + 'dashboard.members': '旅伴', 'dashboard.archive': '归档', 'dashboard.restore': '恢复', 'dashboard.archived': '已归档', diff --git a/client/src/pages/DashboardPage.tsx b/client/src/pages/DashboardPage.tsx index 6272fe8..c2db567 100644 --- a/client/src/pages/DashboardPage.tsx +++ b/client/src/pages/DashboardPage.tsx @@ -14,7 +14,7 @@ import ConfirmDialog from '../components/shared/ConfirmDialog' import { useToast } from '../components/shared/Toast' import { Plus, Calendar, Trash2, Edit2, Map, ChevronDown, ChevronUp, - Archive, ArchiveRestore, Clock, MapPin, Settings, X, ArrowRightLeft, + Archive, ArchiveRestore, Clock, MapPin, Settings, X, ArrowRightLeft, Users, LayoutGrid, List, } from 'lucide-react' import { useCanDo } from '../store/permissionsStore' @@ -31,6 +31,7 @@ interface DashboardTrip { owner_username?: string day_count?: number place_count?: number + shared_count?: number [key: string]: string | number | boolean | null | undefined } @@ -224,6 +225,9 @@ function SpotlightCard({ trip, onEdit, onDelete, onArchive, onClick, t, locale,
{trip.place_count || 0} {t('dashboard.places')}
+
+ {trip.shared_count+1 || 0} {t('dashboard.members')} +
@@ -307,6 +311,7 @@ function TripCard({ trip, onEdit, onDelete, onArchive, onClick, t, locale }: Omi
+
{(onEdit || onArchive || onDelete) && ( @@ -406,6 +411,9 @@ function TripListItem({ trip, onEdit, onDelete, onArchive, onClick, t, locale }:
{trip.place_count || 0}
+
+ {trip.shared_count+1 || 0} +
{/* Actions */}