Skip to content

Commit 3a4083c

Browse files
authored
May 2025 (#8)
* May 2025 * Add Sponsors component
1 parent f04fb5c commit 3a4083c

6 files changed

Lines changed: 60 additions & 27 deletions

File tree

src/App.tsx

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
import { useEffect, useRef } from 'react'
2-
import Reveal from 'reveal.js'
3-
import Highlight from 'reveal.js/plugin/highlight/highlight'
4-
import Notes from 'reveal.js/plugin/notes/notes'
5-
import 'reveal.js/dist/reveal.css'
6-
import './styles/index.scss'
7-
import Splash from './slides/splash'
8-
import Agenda202504 from './slides/agenda-2025-04'
9-
import Thanks from './slides/thanks'
1+
import { useEffect, useRef } from "react";
2+
import Reveal from "reveal.js";
3+
import Highlight from "reveal.js/plugin/highlight/highlight";
4+
import Notes from "reveal.js/plugin/notes/notes";
5+
import "reveal.js/dist/reveal.css";
6+
import "./styles/index.scss";
7+
import Splash from "./slides/splash";
8+
import Agenda202505 from "./slides/agenda-2025-05";
9+
import Thanks from "./slides/thanks";
1010

1111
function App() {
12-
const deckDivRef = useRef<HTMLDivElement>(null) // reference to deck container div
13-
const deckRef = useRef<Reveal.Api | null>(null) // reference to deck reveal instance
12+
const deckDivRef = useRef<HTMLDivElement>(null); // reference to deck container div
13+
const deckRef = useRef<Reveal.Api | null>(null); // reference to deck reveal instance
1414

1515
useEffect(() => {
1616
// Prevents double initialization in strict mode
17-
if (deckRef.current) return
17+
if (deckRef.current) return;
1818

1919
deckRef.current = new Reveal(deckDivRef.current!, {
20-
transition: 'slide',
20+
transition: "slide",
2121
// other config options
22-
})
22+
});
2323

2424
deckRef.current
2525
.initialize({
@@ -28,29 +28,29 @@ function App() {
2828
})
2929
.then(() => {
3030
// good place for event handlers and plugin setups
31-
})
31+
});
3232

3333
return () => {
3434
try {
3535
if (deckRef.current) {
36-
deckRef.current.destroy()
37-
deckRef.current = null
36+
deckRef.current.destroy();
37+
deckRef.current = null;
3838
}
3939
} catch (e) {
40-
console.warn('Reveal.js destroy call failed.')
40+
console.warn("Reveal.js destroy call failed.");
4141
}
42-
}
43-
}, [])
42+
};
43+
}, []);
4444

4545
return (
4646
<div className="reveal" ref={deckDivRef}>
4747
<div className="slides">
4848
<Splash />
49-
<Agenda202504 />
49+
<Agenda202505 />
5050
<Thanks />
5151
</div>
5252
</div>
53-
)
53+
);
5454
}
5555

56-
export default App
56+
export default App;

src/components/Sponsors.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export function Sponsors() {
2+
return (
3+
<>
4+
<h2>Sponsored by</h2>
5+
<img src="/cloudflare.png" />
6+
</>
7+
);
8+
}

src/slides/agenda-2025-05.tsx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
const Agenda202505 = () => {
2+
return (
3+
<section>
4+
<div className="agendaWrapper">
5+
<div className="agenda">
6+
<h2>Agenda</h2>
7+
<ol>
8+
<li>Welcome!</li>
9+
<li>Shirts!</li>
10+
<li>Frontend Masters raffle</li>
11+
<li>
12+
<a href="https://docs.google.com/presentation/d/1FgcXPH4iqv90Nf1Ljl8wwaG8ZLolq_7FlPvDvK8zbtM">
13+
Vibe Coding a Tamagotchi App
14+
</a>
15+
</li>
16+
<li>Wrap up</li>
17+
</ol>
18+
</div>
19+
</div>
20+
</section>
21+
);
22+
};
23+
24+
export default Agenda202505;

src/slides/splash.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import SlQrCode from "@shoelace-style/shoelace/dist/react/qr-code/index.js";
2+
import { Sponsors } from "../components/Sponsors";
23

34
const Splash = () => {
45
return (
@@ -47,8 +48,7 @@ const Splash = () => {
4748
</div>
4849
<div className="quadrant">
4950
<div className="quadrant-content">
50-
<h2>Sponsored by</h2>
51-
<img src="/cloudflare.png" />
51+
<Sponsors />
5252
</div>
5353
</div>
5454
</div>

src/slides/thanks.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import SlQrCode from "@shoelace-style/shoelace/dist/react/qr-code/index.js";
2+
import { Sponsors } from "../components/Sponsors";
23

34
const Splash = () => {
45
return (
@@ -42,7 +43,7 @@ const Splash = () => {
4243
</div>
4344
<div className="quadrant">
4445
<div className="quadrant-content">
45-
<h3>sponsored by</h3>
46+
<Sponsors />
4647
</div>
4748
</div>
4849
</div>

src/styles/index.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ sl-qr-code {
2121

2222
.agenda {
2323
color: $black;
24+
--r-link-color: var(--r-link-color-dark);
2425
}
2526

2627
.quadrants {
@@ -57,4 +58,3 @@ sl-qr-code {
5758
color: rgba(255, 255, 255, 0.59);
5859
}
5960
}
60-

0 commit comments

Comments
 (0)