Skip to content

Commit f6db81d

Browse files
authored
Merge branch 'main' into about-sections
2 parents 3d34e04 + 8e3d5c7 commit f6db81d

13 files changed

Lines changed: 371 additions & 27 deletions

File tree

.eleventy.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,14 @@ module.exports = function (eleventyConfig) {
2727
path.join(
2828
pkg.eleventy.dir.input,
2929
'assets',
30-
'/**/[!_]*.{png,jpg,jpeg,webp,svg,gif,bmp,ico}'
30+
'birthday.js'
31+
)
32+
)
33+
eleventyConfig.addPassthroughCopy(
34+
path.join(
35+
pkg.eleventy.dir.input,
36+
'assets',
37+
'/**/[!_]*.{png,jpg,jpeg,webp,svg,gif,bmp,ico,wav}'
3138
)
3239
)
3340

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"devDependencies": {
3333
"@11ty/eleventy": "^2.0.1",
3434
"@11ty/eleventy-navigation": "^0.3.5",
35-
"@redbrick/design-system": "https://github.com/redbrick/design-system",
35+
"@redbrick/design-system": "https://github.com/redbrick/design-system.git#b268adacc67c8c8a64428a08528a03ac16103e77",
3636
"@types/markdown-it": "^13.0.7",
3737
"@xpd/tailwind-3dtransforms": "^1.0.3",
3838
"autoprefixer": "^10.4.17",

src/_data/site.yml

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -63,20 +63,20 @@ home:
6363
api: https://clubsandsocs.jakefarrell.ie/dcuclubsandsocs.ie/society/redbrick
6464
graphic:
6565
image1:
66-
image: https://img.redbrick.dcu.ie/150x150/https://cdn.redbrick.dcu.ie/atlas/static/img/newsletter-snap.webp
67-
alt: Baxter, Browner and Magma
66+
image: https://img.redbrick.dcu.ie/250x175/https://cdn.redbrick.dcu.ie/atlas/static/img/hackerdom.jpg
67+
alt: Wizzdom Hackerclub
6868
image2:
6969
image: https://media.discordapp.net/stickers/1170064614973788270.png
7070
alt: Distro Bopping
7171
image3:
72-
image: https://img.redbrick.dcu.ie/300x150/https://cdn.redbrick.dcu.ie/atlas/static/img/sistem-banner.webp
73-
alt: SISTEM
72+
image: https://img.redbrick.dcu.ie/300x150/https://cdn.redbrick.dcu.ie/atlas/static/img/groupbanner.jpg
73+
alt: Susquehanna Event
7474
image4:
7575
image: https://img.redbrick.dcu.ie/150x150/https://cdn.redbrick.dcu.ie/atlas/static/img/sistem-mag1c.webp
7676
alt: SISTEM crew
7777
image5:
78-
image: https://img.redbrick.dcu.ie/150x200/https://cdn.redbrick.dcu.ie/atlas/static/img/mail-broke.webp
79-
alt: Mail Broke
78+
image: https://img.redbrick.dcu.ie/150x200/https://cdn.redbrick.dcu.ie/atlas/static/img/hackergroup.jpg
79+
alt: Hackerclub crew
8080
image6:
8181
alt: Discord emote
8282
image7:
@@ -89,16 +89,15 @@ home:
8989
text: Signup
9090
link: https://join.redbrick.dcu.ie
9191
gallery:
92-
r1c1: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/tagging-24.jpg
93-
r1c2: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/newsletter-snap.webp
94-
r1c3: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/hacker.jpg
95-
r2c1: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/browner-explains.jpg
92+
r1c1: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/hackersmovie.jpg
93+
r1c2: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/rbadmintalk.jpg
94+
r1c3: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/kamildeskrb.jpg
95+
r2c1: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/minecraft.jpg
9696
r2c2: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/sistem-mag1c.jpg
97-
r2c3: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/working.jpg
97+
r2c3: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/jamestalk.jpg
9898
r3c1: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/hecker.jpg
99-
r3c2: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/cmt-24-25.jpg
100-
r3c3: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/CSBallCmt24.jpg
101-
99+
r3c2: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/EGM2025.jpg
100+
r3c3: https://img.redbrick.dcu.ie/1000x500/https://cdn.redbrick.dcu.ie/atlas/static/img/CSBall26.jpg
102101
committee:
103102
imageURL: https://img.redbrick.dcu.ie/150x275,fit/https://cdn.redbrick.dcu.ie/atlas/
104103
year: cmt25-26

src/_includes/global/search-modal.njk

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
<script type="module">
22
window.pf = await import("/_pagefind/pagefind.js")
33
pf.init()
4+
5+
const { triggerBirthday } = await import("/assets/birthday.js")
6+
window.triggerBirthday = triggerBirthday
47
</script>
58

69
<dialog id="searchModal" class="modal">
@@ -11,6 +14,9 @@
1114
async search(event) {
1215
const search = await pf.debouncedSearch(event.target.value, {}, 500)
1316
if (search === null) return
17+
if (event.target.value === 'redbrick_birthday') {
18+
return triggerBirthday()
19+
}
1420
1521
this.results = []
1622
this.results = await Promise.all(
@@ -49,4 +55,4 @@
4955
<form method="dialog" class="modal-backdrop backdrop-blur">
5056
<button>Close</button>
5157
</form>
52-
</dialog>
58+
</dialog>

src/_includes/global/theme-picker.njk

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
"light", "dark", "synthwave", "black", "nix-light", "nix-dark"
33
] %}
44

5-
<div title="Change theme" class="dropdown dropdown-bottom">
6-
<div tabindex="0" role="button" aria-label="Change Theme" class="btn btn-ghost px-0 sm:px-2 lg:px-4">
5+
<details title="Change theme" class="dropdown dropdown-bottom" x-data x-on:click.outside="$el.removeAttribute('open')" x-on:keydown.escape.window="$el.removeAttribute('open')">
6+
<summary tabindex="0" role="button" aria-label="Change Theme" class="btn btn-ghost px-0 sm:px-2 lg:px-4">
77
<svg class="h-5 w-5 stroke-current" width="20" height="20" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01"></path></svg>
88
<svg class="h-2 w-2 fill-current opacity-60 hidden sm:inline-block" width="12px" height="12px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048"><path d="M1799 349l242 241-1017 1017L7 590l242-241 775 775 775-775z"></path></svg>
9-
</div>
9+
</summary>
1010
<div tabindex="0" class="dropdown-content z-[1] mt-4 w-56 md:w-64 bg-base-200 rounded-box border border-white/5 shadow-2xl">
1111
<div class="grid grid-cols-1 gap-3 p-3">
1212
{% for theme in themes %}
@@ -29,4 +29,4 @@
2929
{% endfor %}
3030
</div>
3131
</div>
32-
</div>
32+
</details>

src/_includes/home/sections/hero.njk

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,7 @@
1919
{{ site.home.hero.buttons.secondary.text }}
2020
</a>
2121
</div>
22-
<div class="mt-8 flex flex-wrap gap-4 justify-center md:justify-start">
23-
<a class="btn btn-neutral w-full sm:w-36" href="{{ site.home.hero.buttons.tertiary.link }}" rel="noreferrer">
24-
{{ site.home.hero.buttons.tertiary.text }}
25-
</a>
26-
</div>
22+
{%- include "home/sections/hero/countdown.njk" -%}
2723
</div>
2824
{% include "home/sections/hero/hero-graphic.njk" %}
2925
</div>
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{% set targetDate = "2026-04-10T18:00:00Z" %}
2+
<div class="mt-8 text-center md:text-left">
3+
<div class="mb-2 flex items-center justify-center md:justify-start gap-2">
4+
<span class="text-2xl md:text-3xl font-bold text-primary">🎉</span>
5+
<span class="font-semibold text-lg md:text-xl text-base-content">Redbrick's 30th Anniversary Party</span>
6+
</div>
7+
<div class="inline-flex gap-2 items-end justify-center md:justify-start" id="countdown">
8+
<div class="flex flex-col items-center">
9+
<span id="days" class="text-3xl md:text-4xl font-mono font-bold text-primary">--</span>
10+
<span class="text-xs text-base-content/60">days</span>
11+
</div>
12+
<span class="text-2xl font-bold text-base-content/40">:</span>
13+
<div class="flex flex-col items-center">
14+
<span id="hours" class="text-3xl md:text-4xl font-mono font-bold text-secondary">--</span>
15+
<span class="text-xs text-base-content/60">hours</span>
16+
</div>
17+
<span class="text-2xl font-bold text-base-content/40">:</span>
18+
<div class="flex flex-col items-center">
19+
<span id="minutes" class="text-3xl md:text-4xl font-mono font-bold text-accent">--</span>
20+
<span class="text-xs text-base-content/60">mins</span>
21+
</div>
22+
<span class="text-2xl font-bold text-base-content/40">:</span>
23+
<div class="flex flex-col items-center">
24+
<span id="seconds" class="text-3xl md:text-4xl font-mono font-bold text-base-content">--</span>
25+
<span class="text-xs text-base-content/60">secs</span>
26+
</div>
27+
</div>
28+
</div>
29+
<script>
30+
function updateCountdown() {
31+
const now = new Date().getTime();
32+
const target = new Date("{{ targetDate }}").getTime();
33+
const distance = target - now;
34+
const countdown = document.getElementById("countdown");
35+
if (distance < 0) {
36+
countdown.innerHTML = '<span class="text-lg font-bold text-success">The party has started! 🎈</span>';
37+
clearInterval(countdownInterval);
38+
return;
39+
}
40+
const days = Math.floor(distance / (1000 * 60 * 60 * 24));
41+
const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
42+
const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
43+
const seconds = Math.floor((distance % (1000 * 60)) / 1000);
44+
document.getElementById("days").innerHTML = days.toString().padStart(2, '0');
45+
document.getElementById("hours").innerHTML = hours.toString().padStart(2, '0');
46+
document.getElementById("minutes").innerHTML = minutes.toString().padStart(2, '0');
47+
document.getElementById("seconds").innerHTML = seconds.toString().padStart(2, '0');
48+
}
49+
const countdownInterval = setInterval(updateCountdown, 1000);
50+
updateCountdown();
51+
</script>

src/_includes/home/sections/hero/hero-graphic.njk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
data-hero-card
2525
/>
2626
<img
27-
class="hero-card bottom-[48%] left-[64%] h-[35%]"
27+
class="hero-card bottom-[48%] left-[64%] h-[30%]"
2828
src="{{ site.home.hero.graphic.image5.image }}"
2929
alt="{{ site.home.hero.graphic.image5.alt }}"
3030
data-hero-card

0 commit comments

Comments
 (0)