diff --git a/README.md b/README.md index 0ede2c5..0e122ad 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@

+ Discord License: AGPL v3 Docker Pulls GitHub Stars diff --git a/client/src/i18n/translations/ar.ts b/client/src/i18n/translations/ar.ts index cd22c0c..dee4b2e 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 b22072d..762b6ee 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 559e547..77b1736 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 c118948..85c4df7 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 5be3f50..86bd28a 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 381ab28..a72bfe0 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 da25c20..c2b53c3 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 a567d1c..98d71d0 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 fac9285..b6edd83 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 6c88ef6..4c97a6c 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 9e1bb55..096a7b0 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 2f6eade..4cc8cb8 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 */}