File tree Expand file tree Collapse file tree 3 files changed +24
-10
lines changed
src/app/conf/2025/components/get-your-ticket Expand file tree Collapse file tree 3 files changed +24
-10
lines changed Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ export function GetYourTicket({ className }: { className?: string }) {
20
20
< h2 className = "whitespace-pre text-white typography-h2" >
21
21
Get your ticket
22
22
</ h2 >
23
- < p className = "text-neu-800 typography-body-md " >
23
+ < p className = "text-neu-800 typography-body-lg " >
24
24
The registration deadline is 23:59 Central European Time on the
25
25
respective date.
26
26
</ p >
Original file line number Diff line number Diff line change @@ -5,21 +5,28 @@ import { GET_TICKETS_LINK } from "../../links"
5
5
export interface TicketPeriodProps {
6
6
price : string
7
7
date : Date | [ Date , Date ]
8
- disabled ?: boolean
8
+ soldOut ?: boolean
9
+ comingSoon ?: boolean
9
10
name : string
10
11
}
11
12
12
13
export function TicketPeriod ( {
13
14
price,
14
15
date,
15
- disabled,
16
+ soldOut,
17
+ comingSoon,
16
18
name,
17
19
} : TicketPeriodProps ) {
20
+ const disabled = soldOut || comingSoon
21
+
18
22
return (
19
23
< article
24
+ data-disabled = { disabled }
20
25
className = { clsx (
21
26
"flex flex-col border border-pri-lighter bg-pri-light/[0.24] backdrop-blur-md transition @container/card max-md:[&+&]:border-t-0 md:[&+&]:border-l-0" ,
22
- disabled && "opacity-50" ,
27
+ disabled
28
+ ? "opacity-50 max-md:[&:has(+article[data-disabled=false])]:border-b-0 md:[&:has(+article[data-disabled=false])]:border-r-0"
29
+ : "!border" ,
23
30
) }
24
31
>
25
32
< header className = "border-b border-pri-lighter p-6" >
@@ -39,7 +46,10 @@ export function TicketPeriod({
39
46
< Time date = { date [ 1 ] } />
40
47
</ >
41
48
) : (
42
- < Time date = { date } />
49
+ < >
50
+ < span > Through </ span >
51
+ < Time date = { date } />
52
+ </ >
43
53
) }
44
54
</ span >
45
55
</ div >
@@ -49,7 +59,7 @@ export function TicketPeriod({
49
59
className = "light w-full"
50
60
href = { GET_TICKETS_LINK }
51
61
>
52
- Get a ticket
62
+ { soldOut ? "Sold out" : comingSoon ? "Coming soon" : " Get a ticket" }
53
63
</ Button >
54
64
</ div >
55
65
</ article >
Original file line number Diff line number Diff line change @@ -18,19 +18,22 @@ export function TicketPeriods() {
18
18
name = "Early Bird"
19
19
price = "$599"
20
20
date = { EARLY_BIRD_END_DATE }
21
- disabled = { now > EARLY_BIRD_END_DATE }
21
+ comingSoon = { false }
22
+ soldOut = { now > EARLY_BIRD_END_DATE }
22
23
/>
23
24
< TicketPeriod
24
25
name = "Standard"
25
26
price = "$799"
26
27
date = { [ new Date ( 2025 , 6 , 14 ) , STANDARD_END_DATE ] }
27
- disabled = { now > STANDARD_END_DATE || now < EARLY_BIRD_END_DATE }
28
+ comingSoon = { now < EARLY_BIRD_END_DATE }
29
+ soldOut = { now > STANDARD_END_DATE }
28
30
/>
29
31
< TicketPeriod
30
32
name = "Late"
31
33
price = "$899"
32
34
date = { [ new Date ( 2025 , 8 , 1 ) , LATE_END_DATE ] }
33
- disabled = { now > LATE_END_DATE || now < STANDARD_END_DATE }
35
+ comingSoon = { now < STANDARD_END_DATE }
36
+ soldOut = { now > LATE_END_DATE }
34
37
/>
35
38
</ >
36
39
)
@@ -42,7 +45,8 @@ function useCurrentDate() {
42
45
const [ date , setDate ] = useState < Date > ( DEFAULT_DATE )
43
46
44
47
useEffect ( ( ) => {
45
- setDate ( new Date ( ) )
48
+ const end = new Date ( 2025 , 6 , 14 )
49
+ setDate ( end )
46
50
} , [ ] )
47
51
48
52
return date
You can’t perform that action at this time.
0 commit comments