@@ -78,65 +78,69 @@ watch(
7878 </script >
7979
8080<template >
81- <Card
82- :class =" [
83- 'ring',
84- 'h-full',
85- 'relative',
86- participationStatusColor[selectedStatus].ring,
87- ]"
81+ <component
82+ :is =" props.to ? 'RouterLink' : 'div'"
83+ :to =" props.to"
84+ :class =" ['block', props.to ? 'cursor-pointer' : '']"
8885 >
89- <!-- Confetti explosion for accepted/announced states -->
90- <div
91- v-if =" showConfetti"
92- class =" absolute left-1/2 top-1/2 pointer-events-none z-50 -translate-x-1/2 -translate-y-1/2"
86+ <Card
87+ :class =" [
88+ 'ring',
89+ 'h-full',
90+ 'relative',
91+ participationStatusColor[selectedStatus].ring,
92+ ]"
9393 >
94- <ConfettiExplosion />
95- </div >
94+ <div
95+ v-if =" showConfetti"
96+ class =" absolute left-1/2 top-1/2 pointer-events-none z-50 -translate-x-1/2 -translate-y-1/2"
97+ >
98+ <ConfettiExplosion />
99+ </div >
96100
97- <CardContent >
98- < Select v-model = " selectedStatus " class = " relative z-10 " >
99- < SelectTrigger
101+ <CardContent >
102+ < div
103+ v-if = " !possibleStates.length "
100104 :class =" [
101- 'w-full',
105+ 'w-full flex items-center rounded-md border bg-transparent px-3 py-2 text-sm shadow-xs pointer-events-none ',
102106 participationStatusColor[selectedStatus].background,
103107 ]"
104108 >
105- <SelectValue placeholder =" State" >
106- {{ humanReadableParticipationStatus[selectedStatus] }}
107- </SelectValue >
108- </SelectTrigger >
109- <SelectContent v-if =" possibleStates.length" >
110- <SelectItem
111- v-for =" (state, i) in possibleStates"
112- :key =" state"
113- :value =" i + 1"
109+ {{ humanReadableParticipationStatus[selectedStatus] }}
110+ </div >
111+ <Select v-else v-model =" selectedStatus" class =" relative z-10" >
112+ <SelectTrigger
113+ :class =" [
114+ 'w-full',
115+ participationStatusColor[selectedStatus].background,
116+ ]"
114117 >
115- {{ humanReadableParticipationStatus[state] }}
116- </SelectItem >
117- </SelectContent >
118- </Select >
118+ <SelectValue placeholder =" State" >
119+ {{ humanReadableParticipationStatus[selectedStatus] }}
120+ </SelectValue >
121+ </SelectTrigger >
122+ <SelectContent >
123+ <SelectItem
124+ v-for =" (state, i) in possibleStates"
125+ :key =" state"
126+ :value =" i + 1"
127+ >
128+ {{ humanReadableParticipationStatus[state] }}
129+ </SelectItem >
130+ </SelectContent >
131+ </Select >
119132
120- <component
121- :is =" props.to ? 'RouterLink' : 'div'"
122- :to =" props.to"
123- :class =" ['block w-full', props.to ? 'cursor-pointer' : '']"
124- >
125- <Image
126- :src =" image"
127- class =" w-full h-32 object-contain rounded-lg pt-2"
128- />
129- </component >
130- </CardContent >
131- <component
132- :is =" props.to ? 'RouterLink' : 'div'"
133- :to =" props.to"
134- :class =" ['block', props.to ? 'cursor-pointer' : '']"
135- >
133+ <div class =" block w-full" >
134+ <Image
135+ :src =" image"
136+ class =" w-full h-32 object-contain rounded-lg pt-2"
137+ />
138+ </div >
139+ </CardContent >
136140 <CardHeader >
137141 <CardTitle >{{ title }}</CardTitle >
138142 <Badge v-if =" badge" >{{ badge }}</Badge >
139143 </CardHeader >
140- </component >
141- </Card >
144+ </Card >
145+ </component >
142146</template >
0 commit comments