Skip to content

Commit bfe5fe1

Browse files
Attempt to fix projector view
1 parent cd3100a commit bfe5fe1

File tree

5 files changed

+28
-27
lines changed

5 files changed

+28
-27
lines changed
Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,22 @@
11
import type { EventEnriched } from "@/content";
22

33
import EventCardCountdown from "../EventCard/EventCardCountdown";
4-
import EventProjectorButton from "./EventProjectorButton";
54

65
export default function EventImageBig({ event }: { event: EventEnriched }) {
76
return (
8-
<div className="group relative">
9-
<div className="absolute top-3 right-3 z-10">
10-
<EventProjectorButton event={event} />
7+
<figure className="glass-card relative aspect-video w-full overflow-hidden">
8+
<div className="absolute top-3 left-3">
9+
<EventCardCountdown event={event} />
1110
</div>
12-
<figure className="glass-card relative aspect-video w-full overflow-hidden">
13-
<div className="absolute top-3 left-3">
14-
<EventCardCountdown event={event} />
15-
</div>
16-
<img
17-
src={event.data.cover.src}
18-
srcSet={event.data.cover.srcSet}
19-
sizes={event.data.cover.sizes}
20-
alt={event.data.title}
21-
loading="eager"
22-
fetchPriority="high"
23-
className="h-full w-full object-cover"
24-
/>
25-
</figure>
26-
</div>
11+
<img
12+
src={event.data.cover.src}
13+
srcSet={event.data.cover.srcSet}
14+
sizes={event.data.cover.sizes}
15+
alt={event.data.title}
16+
loading="eager"
17+
fetchPriority="high"
18+
className="h-full w-full object-cover"
19+
/>
20+
</figure>
2721
);
2822
}

src/components/Event/EventProjectorButton.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { LuProjector } from "react-icons/lu";
55
import TooltipButton from "@/components/Common/TooltipButton";
66
import type { EventEnriched } from "@/content";
77

8+
import Button from "../Common/Button";
89
import EventProjectorOverlay from "./EventProjectorOverlay";
910

1011
interface EventProjectorButtonProps {
@@ -18,11 +19,10 @@ export default function EventProjectorButton({ event }: EventProjectorButtonProp
1819
<>
1920
<TooltipButton
2021
onClick={() => setIsOpen(true)}
21-
className="rounded-field cursor-pointer bg-black/30 p-2 text-white/80 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-black/50 hover:text-white/100"
22+
className="btn"
2223
aria-label="Open projector view"
2324
tooltip="Projector view"
2425
tooltipPosition="top"
25-
data-testid="projector-view-button"
2626
>
2727
<LuProjector className="h-5 w-5" />
2828
</TooltipButton>

src/components/Event/EventProjectorOverlay.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ export default function EventProjectorOverlay({
8181
{/* Top: Title and Description */}
8282
<div className="flex flex-col" style={{ gap: "2vw" }}>
8383
<h1
84-
className="text-base-content line-clamp-3 leading-tight font-bold"
84+
className="text-base-content line-clamp-4 leading-tight font-bold"
8585
style={{ fontSize: "4.5vw" }}
8686
data-testid="projector-title"
8787
>

src/components/OG/OGVenue.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ interface OGVenueProps {
1919
}
2020

2121
export default function OGVenue({ venue }: OGVenueProps) {
22-
const locationParts = [venue.data.city, venue.data.country].filter(Boolean);
23-
const location = locationParts.join(", ");
22+
// const locationParts = [venue.data.city, venue.data.country].filter(Boolean);
23+
// const location = locationParts.join(", ");
2424

2525
return <OGLayout>TODO</OGLayout>;
2626
}

src/pages/events/[eventSlug].astro

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import MarkdownContent from "@/components/Common/MarkdownContent.astro";
77
import EventImageBig from "@/components/Event/EventImageBig";
88
import LocationCardEvent from "@/components/LocationCard/LocationCardEvent";
99
import EventTags from "@/components/Event/EventTags";
10+
import EventProjectorButton from "@/components/Event/EventProjectorButton";
11+
import Container from "@/components/Common/Container";
1012
1113
export async function getStaticPaths() {
1214
const events = await getEvents();
@@ -33,9 +35,14 @@ const event = await getEvent(eventSlug);
3335
<div class="flex flex-col gap-6 lg:hidden">
3436
<LocationCardEvent event={event} horizontal client:load />
3537
</div>
36-
<h1 class="mt-12 mb-6 text-4xl">
37-
{event.data.title}
38-
</h1>
38+
<div class="group mt-12 mb-6 text-4xl">
39+
<h1 class="inline">
40+
{event.data.title}
41+
</h1>
42+
<div class="inline-block opacity-0 transition-opacity duration-300 group-hover:opacity-100">
43+
<EventProjectorButton event={event} client:visible />
44+
</div>
45+
</div>
3946
<EventTags tags={event.data.topics} />
4047
<MarkdownContent markdown={`events/${eventSlug}/event.md`} />
4148
</Fragment>

0 commit comments

Comments
 (0)