|
1 | 1 | <template>
|
2 | 2 | <div :class="[
|
3 |
| - event?.album ? 'col-span-1' : 'md:col-span-1 col-span-2', |
| 3 | + event?.album ? 'col-span-2 md:col-span-1' : 'md:col-span-1 col-span-2', |
4 | 4 | isNextMeetup ? 'border-green-600 dark:border-green-500' : 'border-verse-50 dark:border-white/10 ',
|
5 | 5 | 'group group/event in-card bg-white dark:bg-verse-700/30 dark:backdrop-blur-sm border-2 rounded-xl overflow-hidden hover:border-verse-500 transition-all duration-300',
|
6 | 6 | ]">
|
|
11 | 11 | <CardAlbum :currentAlbum="currentAlbum" :source="photoAlbumSource" />
|
12 | 12 | </div>
|
13 | 13 |
|
14 |
| - <div class="inset-0 absolute z-0 bg-gradient-to-r from-white via-white to-transparent" /> |
| 14 | + <div |
| 15 | + class="inset-0 absolute z-0 bg-gradient-to-r from-white via-white dark:from-verse-900 dark:via-verse-900 to-transparent" /> |
15 | 16 |
|
16 | 17 | <NuxtLink class="absolute inset-0 z-10" :href="`/meetup/${event.id}`">
|
17 | 18 | <span class="sr-only">View details for {{ event?.title }}</span>
|
|
28 | 29 |
|
29 | 30 | <!-- Title -->
|
30 | 31 | <h3
|
31 |
| - class="leading-2 text-2xl font-semibold text-verse-500 dark:text-verse-100 group-hover[.in-card]:text-verse-500"> |
| 32 | + class="leading-2 text-2xl font-semibold text-verse-500 dark:text-white group-hover[.in-card]:text-verse-500"> |
32 | 33 | <div class="w-[300px] md:w-96 focus:outline-none" :title="`Meetup ${event?.title}`">
|
33 | 34 | {{ event?.title }}
|
34 | 35 | </div>
|
|
62 | 63 | </template>
|
63 | 64 |
|
64 | 65 | <div class="flex justify-between items-end">
|
65 |
| - <div class="flex"> |
66 |
| - <template v-for="speaker in allSpeakersForEvent(event)"> |
67 |
| - <div |
68 |
| - class="group-hover/event:-ml-1 transition-all duration-200 -ml-4 flex first:ml-0 group-hover/event:first:ml-0"> |
69 |
| - <Avatar size="base"> |
70 |
| - <AvatarImage :src="`https://github.com/${speaker?.github_account}.png`" |
71 |
| - :alt="speaker?.github_account" /> |
72 |
| - <AvatarFallback>CN</AvatarFallback> |
73 |
| - </Avatar> |
| 66 | + <SpeakerList :event="event" /> |
| 67 | + |
| 68 | + <template v-if="event.Attendees"> |
| 69 | + <div class="flex items-center border-gray-100 bg-white/70 dark:bg-verse-950/60 rounded-full px-2" |
| 70 | + title="Attendees"> |
| 71 | + <Icon name="carbon:group" class="mr-1.5 h-4 w-4 flex-shrink-0 truncate " aria-hidden="true" /> |
| 72 | + <div class="pt-[2px] line-clamp-1 md:line-clamp-0"> |
| 73 | + {{ event?.Attendees === 0 ? 'No' : event?.Attendees }} |
74 | 74 | </div>
|
75 |
| - </template> |
76 |
| - </div> |
77 |
| - |
78 |
| - |
79 |
| - <div class="flex gap-4 border-gray-100 bg-white/70 rounded-full px-2"> |
80 |
| - <template v-if="event.Attendees"> |
81 |
| - <div class="flex items-center" title="Attendees"> |
82 |
| - <Icon name="carbon:group" class="mr-1.5 h-4 w-4 flex-shrink-0 truncate " aria-hidden="true" /> |
83 |
| - <div class="pt-[2px] line-clamp-1 md:line-clamp-0"> |
84 |
| - {{ event?.Attendees === 0 ? 'No' : event?.Attendees }} |
85 |
| - </div> |
86 |
| - </div> |
87 |
| - </template> |
88 |
| - </div> |
| 75 | + </div> |
| 76 | + </template> |
89 | 77 | </div>
|
90 |
| - |
91 |
| - |
92 |
| - |
93 |
| - |
94 | 78 | </div>
|
95 | 79 |
|
96 | 80 | </div>
|
|
100 | 84 | <script setup lang="ts">
|
101 | 85 | import { defineProps } from 'vue';
|
102 | 86 | import { format } from 'date-fns';
|
103 |
| -// import IconLocation from '~icons/carbon/location'; |
104 |
| -// import IconCalendar from '~icons/carbon/calendar'; |
105 |
| -// import IconGroup from '~icons/solar/users-group-rounded-bold'; |
106 | 87 | import photosResponse from '../../../frontendmu-astro/src/data/photos-raw.json';
|
107 | 88 | import CardAlbum from './CardAlbum.vue';
|
108 |
| -// import { vTransitionName } from '@utils/helpers'; |
109 | 89 |
|
110 | 90 | const appConfig = useAppConfig();
|
111 | 91 | const photoAlbumSource = appConfig.photoAlbumSource
|
112 |
| -interface Meetup { |
113 |
| - id: string; |
114 |
| - accepting_rsvp: boolean; |
115 |
| - title: string; |
116 |
| - Date: string; |
117 |
| - Attendees: number; |
118 |
| - Venue: string; |
119 |
| - description: string; |
120 |
| - Location: string; |
121 |
| - Time: string; |
122 |
| - images?: []; |
123 |
| - gallery?: []; |
124 |
| - album?: string; |
125 |
| - sessions: Session[]; |
126 |
| -} |
127 | 92 |
|
128 |
| -interface Session { |
129 |
| - id: number; |
130 |
| - Events_id: Event; |
131 |
| - Session_id?: SessionDetail; |
132 |
| -} |
133 |
| -
|
134 |
| -interface SessionDetail { |
135 |
| - title: string; |
136 |
| - speakers: Speaker; |
137 |
| -} |
138 |
| -
|
139 |
| -interface Speaker { |
140 |
| - name: string; |
141 |
| - id: string; |
142 |
| - github_account: string; |
143 |
| -} |
144 |
| -
|
145 |
| -interface Speaker { |
146 |
| -
|
147 |
| -} |
148 | 93 |
|
149 | 94 | interface Props {
|
150 | 95 | event: Meetup;
|
|
0 commit comments