diff --git a/src/modules/activities/components/ActivityCard.vue b/src/modules/activities/components/ActivityCard.vue index 7c156e6..5eb919c 100644 --- a/src/modules/activities/components/ActivityCard.vue +++ b/src/modules/activities/components/ActivityCard.vue @@ -12,6 +12,10 @@ import type { Activity } from '../types/activity' const props = defineProps<{ activity: Activity + /** Render a compact row: no hero image, no summary, single-line + * title, tighter padding. Used by the Hosting view where the + * host already knows what their events look like. */ + compact?: boolean }>() const emit = defineEmits<{ @@ -65,12 +69,12 @@ const isPast = computed(() => { class="overflow-hidden cursor-pointer hover:shadow-lg transition-shadow duration-200 flex flex-col" @click="emit('click', activity)" > - -
+ +
{
- - -
+ + +
{{ categoryLabel }} {{ priceDisplay }} - + Yours @@ -167,26 +174,34 @@ const isPast = computed(() => {
- +
-

+

{{ activity.title }}

- +

{{ activity.summary }}

-
+
diff --git a/src/modules/activities/components/ActivityList.vue b/src/modules/activities/components/ActivityList.vue index 726f09e..1e59110 100644 --- a/src/modules/activities/components/ActivityList.vue +++ b/src/modules/activities/components/ActivityList.vue @@ -7,6 +7,10 @@ import type { Activity } from '../types/activity' defineProps<{ activities: Activity[] isLoading?: boolean + /** Render compact rows instead of full-image cards. Used by the + * Hosting view so an operator can scan their roster of events + * without the visual weight of hero images they already recognize. */ + compact?: boolean }>() const emit = defineEmits<{ @@ -47,12 +51,17 @@ const { t } = useI18n()

- -
+ +
diff --git a/src/modules/activities/views/ActivitiesPage.vue b/src/modules/activities/views/ActivitiesPage.vue index 3687e5a..b820560 100644 --- a/src/modules/activities/views/ActivitiesPage.vue +++ b/src/modules/activities/views/ActivitiesPage.vue @@ -90,8 +90,10 @@ function openCalendar() { -
+ strip so the tabs row stays focused on the primary views. + Hidden in the Hosting view — operators don't need calendar + navigation when they're managing their own roster. --> +
- + past-events toggle + category chips below. Hidden in the + Hosting view — the operator's roster doesn't need them. --> +
@@ -185,10 +188,13 @@ function openCalendar() { {{ error }}
- +
diff --git a/src/modules/activities/views/ActivityDetailPage.vue b/src/modules/activities/views/ActivityDetailPage.vue index 6d46e9c..dfd2d2b 100644 --- a/src/modules/activities/views/ActivityDetailPage.vue +++ b/src/modules/activities/views/ActivityDetailPage.vue @@ -170,36 +170,14 @@ function goToMyTickets() {