@@ -50,40 +50,49 @@ function formatDate(date: Date, formatString: string) {
50
50
</script >
51
51
52
52
<template >
53
- <div class =" 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" :class =" [
54
- event?.album ? 'col-span-2 md:col-span-1' : 'md:col-span-1 col-span-2',
55
- isNextMeetup ? 'border-green-600 dark:border-green-500' : 'border-verse-50 dark:border-white/10 ',
56
- ]"
53
+ <div
54
+ class =" 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"
55
+ :class =" [
56
+ event?.album ? 'col-span-2 md:col-span-1' : 'md:col-span-1 col-span-2',
57
+ isNextMeetup ? 'border-green-600 dark:border-green-500' : 'border-verse-50 dark:border-white/10 ',
58
+ ]"
57
59
>
58
60
<div
59
61
class =" relative flex overflow-clip h-full flex-col md:flex-row justify-between w-full transition-all duration-300 group-hover[.in-card]:shadow-lg group-hover[.in-card]:border-red-400"
60
62
>
61
63
<div class =" absolute inset-0 z-0 " >
62
- <CardAlbum :current-album =" currentAlbum" :source =" photoAlbumSource" />
64
+ <CardAlbum
65
+ :current-album =" currentAlbum"
66
+ :source =" photoAlbumSource"
67
+ />
63
68
</div >
64
69
65
70
<div
66
71
class =" inset-0 absolute z-0 bg-gradient-to-r from-white via-white dark:from-verse-900 dark:via-verse-900 to-transparent"
67
72
/>
68
73
69
- <NuxtLink class =" absolute inset-0 z-10" :href =" `/meetup/${event.id}`" >
74
+ <NuxtLink
75
+ class =" absolute inset-0 z-10"
76
+ :href =" `/meetup/${event.id}`"
77
+ >
70
78
<span class =" sr-only" >View details for {{ event?.title }}</span >
71
79
</NuxtLink >
72
80
73
81
<div class =" relative z-5 flex flex-col p-4 w-full justify-between gap-4" >
74
82
<template v-if =" event .Date " >
75
- <div class =" flex flex-col font-mono text-sm font-medium gap-2 w-full justify-between" :class =" [
76
- isUpcoming(event.Date) ? 'text-green-600 font-bold' : 'text-verse-900 dark:text-verse-300',
77
- ]"
83
+ <div
84
+ class =" flex flex-col font-mono text-sm font-medium gap-2 w-full justify-between"
85
+ :class =" [
86
+ isUpcoming(event.Date) ? 'text-green-600 font-bold' : 'text-verse-900 dark:text-verse-300',
87
+ ]"
78
88
>
79
89
<!-- Title -->
80
90
<div class =" flex items-center justify-between" >
81
91
<h3
82
- class =" leading-2 text-2xl font-semibold text-verse-500 dark:text-white group-hover[.in-card]:text-verse-500"
92
+ class =" leading-2 text-2xl font-semibold text-verse-500 dark:text-white group-hover[.in-card]:text-verse-500 w-[300px] max-w-full md:w-96 focus:outline-none"
93
+ :title =" `Meetup ${event?.title}`"
83
94
>
84
- <div class =" w-[300px] md:w-96 focus:outline-none" :title =" `Meetup ${event?.title}`" >
85
- {{ event?.title }}
86
- </div >
95
+ {{ event?.title }}
87
96
</h3 >
88
97
89
98
<template v-if =" isNextMeetup " >
@@ -96,14 +105,22 @@ function formatDate(date: Date, formatString: string) {
96
105
<div class =" flex items-center gap-2" >
97
106
<!-- Date -->
98
107
<div >
99
- <Icon name =" carbon:calendar" class =" mr-2 h-4 w-4" />
108
+ <Icon
109
+ name =" carbon:calendar"
110
+ class =" mr-2 h-4 w-4"
111
+ />
100
112
<span >{{ formatDate(new Date(event.Date), 'dd MMM yyyy') }}</span >
101
113
</div >
102
114
103
- <div v-if =" event.Venue"
104
- class =" flex gap-1 md:gap-0 items-center justify-start text-base font-medium leading-3 md:leading-5 "
115
+ <div
116
+ v-if =" event.Venue"
117
+ class =" flex gap-1 md:gap-0 items-center justify-start text-base font-medium leading-3 md:leading-5 "
105
118
>
106
- <Icon name =" carbon:location" class =" mr-1.5 h-4 w-4 flex-shrink-0 truncate " aria-hidden =" true" />
119
+ <Icon
120
+ name =" carbon:location"
121
+ class =" mr-1.5 h-4 w-4 flex-shrink-0 truncate "
122
+ aria-hidden =" true"
123
+ />
107
124
<div class =" pt-[2px] line-clamp-1 md:line-clamp-0" >
108
125
{{ event.Venue }}
109
126
</div >
@@ -116,10 +133,15 @@ function formatDate(date: Date, formatString: string) {
116
133
<SpeakerList :event =" event" />
117
134
118
135
<template v-if =" event .Attendees " >
119
- <div class =" flex items-center border-gray-100 bg-white/70 dark:bg-verse-950/60 rounded-full px-2"
120
- title =" Attendees"
136
+ <div
137
+ class =" flex items-center border-gray-100 bg-white/70 dark:bg-verse-950/60 rounded-full px-2"
138
+ title =" Attendees"
121
139
>
122
- <Icon name =" carbon:group" class =" mr-1.5 h-4 w-4 flex-shrink-0 truncate " aria-hidden =" true" />
140
+ <Icon
141
+ name =" carbon:group"
142
+ class =" mr-1.5 h-4 w-4 flex-shrink-0 truncate "
143
+ aria-hidden =" true"
144
+ />
123
145
<div class =" pt-[2px] line-clamp-1 md:line-clamp-0" >
124
146
{{ event?.Attendees === 0 ? 'No' : event?.Attendees }}
125
147
</div >
0 commit comments