Skip to content

Commit d16591f

Browse files
committed
Improve the stripes
1 parent 49bdc1b commit d16591f

File tree

4 files changed

+59
-11
lines changed

4 files changed

+59
-11
lines changed
Binary file not shown.

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

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import { clsx } from "clsx"
2+
3+
import { ImageLoaded } from "../image-loaded"
4+
import { RepeatingStripes } from "../repeating-stripes"
5+
26
import { TicketPeriods } from "./ticket-periods"
37

8+
import blurBean from "./blur-bean.webp"
9+
410
export function GetYourTicket({ className }: { className?: string }) {
511
return (
612
<section
@@ -9,7 +15,8 @@ export function GetYourTicket({ className }: { className?: string }) {
915
className,
1016
)}
1117
>
12-
<div className="gql-conf-container lg:px-12 xl:gap-x-24 xl:px-24">
18+
<Stripes />
19+
<div className="gql-conf-container relative lg:px-12 xl:gap-x-24 xl:px-24">
1320
<header className="flex flex-wrap justify-between gap-6 md:items-end">
1421
<h2 className="whitespace-pre text-white typography-h2">
1522
Get your ticket
@@ -27,3 +34,43 @@ export function GetYourTicket({ className }: { className?: string }) {
2734
</section>
2835
)
2936
}
37+
38+
const maskEven =
39+
"repeating-linear-gradient(to right, transparent, transparent 12px, black 12px, black 24px)"
40+
const maskOdd =
41+
"repeating-linear-gradient(to right, black, black 12px, transparent 12px, transparent 24px)"
42+
43+
function Stripes() {
44+
return (
45+
<ImageLoaded
46+
role="presentation"
47+
image={blurBean}
48+
className="pointer-events-none absolute inset-x-0 bottom-[-385px] top-[-203px] translate-y-12 opacity-0 transition duration-[400ms] ease-linear [mask-position:70%_60%] *:opacity-60 data-[loaded=true]:translate-y-0 data-[loaded=true]:opacity-100 max-3xl:[mask-size:220%] 3xl:[mask-position:70%_39%]"
49+
style={{
50+
maskImage: `url(${blurBean.src})`,
51+
WebkitMaskImage: `url(${blurBean.src})`,
52+
maskRepeat: "no-repeat",
53+
WebkitMaskRepeat: "no-repeat",
54+
}}
55+
>
56+
<div
57+
className="absolute inset-0"
58+
style={{
59+
backgroundImage:
60+
"linear-gradient(180deg, hsl(var(--color-pri-light)) 0%, hsl(var(--color-pri-lighter)) 100%)",
61+
maskImage: maskEven,
62+
WebkitMaskImage: maskEven,
63+
}}
64+
/>
65+
<div
66+
className="absolute inset-0"
67+
style={{
68+
backgroundImage:
69+
"linear-gradient(180deg,hsl(319deg 100% 90% / 0.2) 0%, hsl(var(--color-pri-base)) 100%)",
70+
maskImage: maskOdd,
71+
WebkitMaskImage: maskOdd,
72+
}}
73+
/>
74+
</ImageLoaded>
75+
)
76+
}

src/app/conf/2025/components/hero/index.tsx

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
import { clsx } from "clsx"
21
import Image from "next-image-export-optimizer"
2+
3+
import { Button } from "../../../_design-system/button"
34
import { CalendarIcon } from "../../pixelarticons/calendar-icon"
4-
import { PinIcon } from "../../pixelarticons/pin-icon"
55
import { GET_TICKETS_LINK } from "../../links"
6-
import { Button } from "../../../_design-system/button"
6+
import { PinIcon } from "../../pixelarticons/pin-icon"
77
import graphqlFoundationWordmarkSvg from "../../assets/graphql-foundation-wordmark.svg"
8-
import heroPhoto from "./hero-photo.jpeg"
8+
9+
import { ImageLoaded } from "../image-loaded"
910
import blurBean from "./blur-bean-cropped.webp"
10-
import { ImageLoaded } from "./image-loaded"
11+
import heroPhoto from "./hero-photo.jpeg"
1112

1213
export function Hero() {
1314
return (
@@ -71,12 +72,12 @@ function DateAndLocation() {
7172
)
7273
}
7374

74-
function Stripes() {
75-
const maskEven =
76-
"repeating-linear-gradient(to right, transparent, transparent 12px, black 12px, black 24px)"
77-
const maskOdd =
78-
"repeating-linear-gradient(to right, black, black 12px, transparent 12px, transparent 24px)"
75+
const maskEven =
76+
"repeating-linear-gradient(to right, transparent, transparent 12px, black 12px, black 24px)"
77+
const maskOdd =
78+
"repeating-linear-gradient(to right, black, black 12px, transparent 12px, transparent 24px)"
7979

80+
function Stripes() {
8081
return (
8182
<ImageLoaded
8283
role="presentation"

0 commit comments

Comments
 (0)