diff --git a/src/modules/events/components/EventCard.vue b/src/modules/events/components/EventCard.vue index b26976d..91ccb0b 100644 --- a/src/modules/events/components/EventCard.vue +++ b/src/modules/events/components/EventCard.vue @@ -6,6 +6,7 @@ import { Card, CardContent } from '@/components/ui/card' import { Badge } from '@/components/ui/badge' import { MapPin, Calendar, Ticket, User, CheckCircle2, History } from 'lucide-vue-next' import BookmarkButton from './BookmarkButton.vue' +import OrganizerCard from './OrganizerCard.vue' import { useDateLocale } from '../composables/useDateLocale' import { useOwnedTickets } from '../composables/useOwnedTickets' import type { Event } from '../types/event' @@ -208,6 +209,15 @@ const isNonApproved = computed(

+ + +
diff --git a/src/modules/events/components/OrganizerCard.vue b/src/modules/events/components/OrganizerCard.vue index 66030ea..dea6c4f 100644 --- a/src/modules/events/components/OrganizerCard.vue +++ b/src/modules/events/components/OrganizerCard.vue @@ -3,15 +3,37 @@ import { Avatar, AvatarImage, AvatarFallback } from '@/components/ui/avatar' import { User } from 'lucide-vue-next' import { useOrganizerProfile } from '../composables/useOrganizerProfile' -const props = defineProps<{ - pubkey: string -}>() +const props = withDefaults( + defineProps<{ + pubkey: string + /** Compact row variant — small avatar, single-line "By ". + * Used on the events feed card where the organizer is a hint, not + * the focus. Default (full) is used on the detail page. */ + compact?: boolean + }>(), + { compact: false }, +) const { profile, displayName, isLoading } = useOrganizerProfile(props.pubkey)