Commit b33a5b4 1 parent 13a8f0c commit b33a5b4 Copy full SHA for b33a5b4
File tree 3 files changed +44
-41
lines changed
src/app/(app)/(workshops)/workshop/[workshopId]
3 files changed +44
-41
lines changed Original file line number Diff line number Diff line change @@ -25,13 +25,9 @@ export function WorkshopButton({
25
25
userId,
26
26
hasWorkshopCompleted,
27
27
} : WorkshopButtonProps ) {
28
- if ( hasWorkshopCompleted ) {
29
- return (
30
- < Button disabled size = "sm" >
31
- Ended
32
- </ Button >
33
- )
34
- }
28
+ if ( hasWorkshopCompleted ) return
29
+
30
+ if ( ! isUserRegistered && hasWorkshopStarted ) return
35
31
36
32
if ( isUserOrganizer ) {
37
33
return (
@@ -54,20 +50,12 @@ export function WorkshopButton({
54
50
)
55
51
}
56
52
57
- if ( hasWorkshopStarted && isUserRegistered ) {
58
- return (
59
- < Link
60
- className = { cn ( buttonVariants ( { size : "sm" } ) ) }
61
- href = { `/session/${ workshopId } ` }
62
- >
63
- Join
64
- </ Link >
65
- )
66
- }
67
-
68
53
return (
69
- < Button size = "sm" disabled >
70
- Closed
71
- </ Button >
54
+ < Link
55
+ className = { cn ( buttonVariants ( { size : "sm" } ) ) }
56
+ href = { `/session/${ workshopId } ` }
57
+ >
58
+ Join
59
+ </ Link >
72
60
)
73
61
}
Original file line number Diff line number Diff line change @@ -17,9 +17,13 @@ import { useDeleteWorkshopAlert } from "@/components/workshops/delete-workshop-a
17
17
18
18
interface WorkshopSettingsProps {
19
19
workshop : NonNullable < Awaited < ReturnType < typeof getWorkshop > > >
20
+ showEditButton : boolean
20
21
}
21
22
22
- export function WorkshopSettings ( { workshop } : WorkshopSettingsProps ) {
23
+ export function WorkshopSettings ( {
24
+ workshop,
25
+ showEditButton,
26
+ } : WorkshopSettingsProps ) {
23
27
const [ open , setOpen ] = React . useState ( false )
24
28
25
29
const { setShowCreateEditWorkshopModal, CreateEditWorkshopModal } =
@@ -45,17 +49,21 @@ export function WorkshopSettings({ workshop }: WorkshopSettingsProps) {
45
49
</ Button >
46
50
</ DropdownMenuTrigger >
47
51
< DropdownMenuContent align = "end" >
48
- < DropdownMenuItem
49
- onClick = { ( ) => {
50
- setOpen ( false )
51
- setShowCreateEditWorkshopModal ( true )
52
- } }
53
- aria-label = "Edit Workshop"
54
- >
55
- < Icons . pen className = "mr-2 size-4" aria-hidden = "true" />
56
- Edit
57
- </ DropdownMenuItem >
58
- < DropdownMenuSeparator />
52
+ { showEditButton && (
53
+ < >
54
+ < DropdownMenuItem
55
+ onClick = { ( ) => {
56
+ setOpen ( false )
57
+ setShowCreateEditWorkshopModal ( true )
58
+ } }
59
+ aria-label = "Edit Workshop"
60
+ >
61
+ < Icons . pen className = "mr-2 size-4" aria-hidden = "true" />
62
+ Edit
63
+ </ DropdownMenuItem >
64
+ < DropdownMenuSeparator />
65
+ </ >
66
+ ) }
59
67
< DropdownMenuItem
60
68
aria-label = "Delete Workshop"
61
69
onClick = { ( ) => {
Original file line number Diff line number Diff line change @@ -84,7 +84,12 @@ export default async function WorkshopPage({ params }: WorkshopPageProps) {
84
84
</ Badge >
85
85
</ div >
86
86
87
- { isUserOrganizer && < WorkshopSettings workshop = { workshop } /> }
87
+ { isUserOrganizer && (
88
+ < WorkshopSettings
89
+ workshop = { workshop }
90
+ showEditButton = { ! workshop . hasStarted && ! workshop . hasCompleted }
91
+ />
92
+ ) }
88
93
</ div >
89
94
90
95
< div className = "flex items-center gap-2" >
@@ -126,13 +131,15 @@ export default async function WorkshopPage({ params }: WorkshopPageProps) {
126
131
</ React . Suspense >
127
132
128
133
< div className = "flex w-full justify-end space-x-4" >
129
- < CopyButton
130
- variant = "secondary"
131
- className = "gap-2 text-secondary-foreground"
132
- value = { workshop . accessCode }
133
- >
134
- Copy code
135
- </ CopyButton >
134
+ { ! workshop . hasStarted && ! workshop . hasCompleted && (
135
+ < CopyButton
136
+ variant = "secondary"
137
+ className = "gap-2 text-secondary-foreground"
138
+ value = { workshop . accessCode }
139
+ >
140
+ Copy code
141
+ </ CopyButton >
142
+ ) }
136
143
137
144
< WorkshopButton
138
145
userId = { user . id }
You can’t perform that action at this time.
0 commit comments