Skip to content

Commit cc5b1ed

Browse files
committed
Improve GetYourTicket styles
1 parent 9e81f4c commit cc5b1ed

File tree

14 files changed

+92
-36
lines changed

14 files changed

+92
-36
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"@graphql-tools/schema": "10.0.15",
2424
"@headlessui/react": "^1.7.17",
2525
"@radix-ui/react-radio-group": "^1.1.3",
26+
"@tailwindcss/container-queries": "^0.1.1",
2627
"@tailwindcss/nesting": "0.0.0-insiders.565cd3e",
2728
"@tailwindcss/typography": "^0.5.10",
2829
"autoprefixer": "^10.4.17",

pnpm-lock.yaml

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app/colors.css

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
:root {
1+
:root,
2+
.light {
23
--color-pri-lighter: 319 100% 90%;
34
--color-pri-light: 319 100% 90%;
45
--color-pri-base: 319 100% 44%;
@@ -24,7 +25,7 @@
2425
--color-neu-900: 75 15% 5%;
2526
}
2627

27-
html.dark {
28+
.dark {
2829
--color-neu-900: 0 0% 100%;
2930
--color-neu-800: 75 57% 97%;
3031
--color-neu-700: 75 15% 95%;

src/app/conf/2025/components/get-your-ticket/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@ export function GetYourTicket({ className }: { className?: string }) {
55
return (
66
<section
77
className={clsx(
8-
"dark relative overflow-hidden bg-pri-dark px-4 py-8",
8+
"dark relative overflow-hidden bg-pri-dark px-4 py-8 lg:py-16 xl:py-24",
99
className,
1010
)}
1111
>
1212
<div className="gql-conf-container lg:px-12 xl:gap-x-24 xl:px-24">
1313
<header className="flex flex-wrap justify-between gap-6 md:items-end">
1414
<h2 className="whitespace-pre text-white typography-h2">
15-
Get your ticket now
15+
Get your ticket
1616
</h2>
1717
<p className="text-neu-800 typography-body-md">
1818
The registration deadline is 23:59 Central European Time on the
1919
respective date.
2020
</p>
2121
</header>
2222

23-
<div className="mt-6 grid gap-px md:mt-10 md:grid-cols-3">
23+
<div className="mt-6 grid gap-px backdrop-blur-[6px] md:mt-10 md:grid-cols-3">
2424
<TicketPeriods />
2525
</div>
2626
</div>
Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import { Button } from "@/app/conf/_design-system/button"
22
import { clsx } from "clsx"
3+
import { GET_TICKETS_LINK } from "../../links"
34

45
export interface TicketPeriodProps {
56
price: string
6-
date: string
7+
date: Date | [Date, Date]
78
disabled?: boolean
89
name: string
910
}
@@ -17,24 +18,56 @@ export function TicketPeriod({
1718
return (
1819
<article
1920
className={clsx(
20-
"flex flex-col backdrop-blur-md [container-type:inline-size]",
21-
!disabled
22-
? "border border-pink-200 bg-pri-dark/[0.24]"
23-
: "border-r border-pink-200/50 bg-white/[0.12] last:border-r-0",
21+
"@container/card flex flex-col border border-pri-lighter bg-pri-light/[0.24] backdrop-blur-md transition [&+&]:border-l-0",
22+
disabled && "opacity-50",
2423
)}
2524
>
26-
<header className="p-6">
25+
<header className="border-b border-pri-lighter p-6">
2726
<h3 className="text-white typography-h3">{name}</h3>
2827
</header>
29-
<div className="flex flex-col gap-6 p-6 pt-0">
28+
<div className="flex h-full flex-col justify-end gap-6 p-6">
3029
<div className="flex items-end justify-between gap-2">
31-
<span className="text-white typography-h2">{price}</span>
32-
<span className="text-white typography-body-md">{date}</span>
30+
<span className="@[356px]:typography-h2 text-white typography-h3">
31+
{price}
32+
</span>
33+
{/* eslint-disable-next-line tailwindcss/no-custom-classname */}
34+
<span className="ticket-period--date text-right text-white typography-body-md">
35+
{Array.isArray(date) ? (
36+
<>
37+
<Time date={date[0]} />
38+
{" - "}
39+
<Time date={date[1]} />
40+
</>
41+
) : (
42+
<Time date={date} />
43+
)}
44+
</span>
3345
</div>
34-
<Button variant="primary" disabled={disabled} className="w-full">
46+
<Button
47+
variant="primary"
48+
disabled={disabled}
49+
className="light w-full"
50+
href={GET_TICKETS_LINK}
51+
>
3552
Get a ticket
3653
</Button>
3754
</div>
3855
</article>
3956
)
4057
}
58+
59+
function Time({ date }: { date: Date }) {
60+
return (
61+
<time
62+
dateTime={date.toISOString()}
63+
dangerouslySetInnerHTML={{
64+
__html: date
65+
.toLocaleDateString("en-GB", {
66+
month: "long",
67+
day: "numeric",
68+
})
69+
.replace(" ", "&nbsp"),
70+
}}
71+
/>
72+
)
73+
}

src/app/conf/2025/components/get-your-ticket/ticket-periods.tsx

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
"use client"
22

3-
import { useState } from "react"
4-
import { useEffect } from "react"
3+
import { useState, useEffect } from "react"
4+
55
import { TicketPeriod } from "./ticket-period"
6-
import { useSyncExternalStore } from "react"
76

8-
// The registration deadline is 23:59 Central European Time on the respective date.
97
// Ticket period end dates (using zero-indexed months)
108
const EARLY_BIRD_END_DATE = new Date(2025, 6, 13, 23, 59) // July 13th
119
const STANDARD_END_DATE = new Date(2025, 7, 31, 23, 59) // August 31st
@@ -19,19 +17,19 @@ export function TicketPeriods() {
1917
<TicketPeriod
2018
name="Early Bird"
2119
price="$599"
22-
date="Through 13 July"
20+
date={EARLY_BIRD_END_DATE}
2321
disabled={now > EARLY_BIRD_END_DATE}
2422
/>
2523
<TicketPeriod
2624
name="Standard"
2725
price="$799"
28-
date="14 July - 31 August"
26+
date={[new Date(2025, 6, 14), STANDARD_END_DATE]}
2927
disabled={now > STANDARD_END_DATE || now < EARLY_BIRD_END_DATE}
3028
/>
3129
<TicketPeriod
3230
name="Late"
3331
price="$899"
34-
date="1 September - 10 September"
32+
date={[new Date(2025, 8, 1), LATE_END_DATE]}
3533
disabled={now > LATE_END_DATE || now < STANDARD_END_DATE}
3634
/>
3735
</>

src/app/conf/2025/components/navbar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ function GraphQLLogo(props: React.SVGProps<SVGSVGElement>) {
126126
return (
127127
<svg viewBox="0 0 100 100" fill="currentColor" {...props}>
128128
<path
129-
fill-rule="evenodd"
130-
clip-rule="evenodd"
129+
fillRule="evenodd"
130+
clipRule="evenodd"
131131
d="M50 6.90308L87.323 28.4515V71.5484L50 93.0968L12.677 71.5484V28.4515L50 6.90308ZM16.8647 30.8693V62.5251L44.2795 15.0414L16.8647 30.8693ZM50 13.5086L18.3975 68.2457H81.6025L50 13.5086ZM77.4148 72.4334H22.5852L50 88.2613L77.4148 72.4334ZM83.1353 62.5251L55.7205 15.0414L83.1353 30.8693V62.5251Z"
132132
/>
133133
<circle cx="50" cy="9.3209" r="8.82" />

src/app/conf/2025/components/register-today/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export function RegisterToday({ className }: RegisterTodayProps) {
1414
return (
1515
<section
1616
className={clsx(
17-
"flex gap-10 px-4 py-8 max-lg:flex-col-reverse lg:px-12 xl:gap-x-24 xl:px-24",
17+
"gql-conf-section flex gap-10 max-lg:flex-col-reverse",
1818
className,
1919
)}
2020
>

src/app/conf/2025/components/top-minds/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export default function TopMindsSection({
2424
return (
2525
<section
2626
className={clsx(
27-
"flex justify-center px-4 py-8 text-neu-900 max-md:flex-col lg:px-12 xl:gap-x-24 xl:px-24",
27+
"gql-conf-section flex justify-center max-md:flex-col",
2828
className,
2929
)}
3030
{...rest}

src/app/conf/2025/components/what-to-expect.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ export default function WhatToExpectSection({
99
}: WhatToExpectSectionProps) {
1010
return (
1111
<section
12-
className={clsx(
13-
"flex gap-6 px-4 py-8 text-neu-900 max-md:flex-col lg:px-12 xl:gap-x-24 xl:px-24",
14-
className,
15-
)}
12+
className={clsx("gql-conf-section flex gap-6 max-md:flex-col", className)}
1613
{...rest}
1714
>
1815
<h3 className="typography-h2 md:flex-1">What to expect</h3>

0 commit comments

Comments
 (0)