Skip to content

Commit 452c3b6

Browse files
authored
Merge branch 'ep2025' into django-sprint
2 parents 108dd0e + f680bde commit 452c3b6

38 files changed

+1570
-1384
lines changed

astro.config.mjs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,27 @@ export default defineConfig({
153153
mdx(),
154154
svelte(),
155155
serviceWorker({
156-
workbox: { inlineWorkboxRuntime: true },
156+
workbox: {
157+
inlineWorkboxRuntime: true,
158+
runtimeCaching: [
159+
{
160+
urlPattern:
161+
/\.(?:js|css|json|png|jpg|jpeg|svg|woff2?|ttf|eot|gif)$/,
162+
handler: "CacheFirst",
163+
options: {
164+
cacheName: "assets-cache",
165+
expiration: {
166+
maxEntries: 100,
167+
maxAgeSeconds: 60 * 60 * 1, // 1h
168+
},
169+
},
170+
},
171+
{
172+
urlPattern: /\.html$/,
173+
handler: "NetworkOnly", // ⛔ Don't cache HTML
174+
},
175+
],
176+
},
157177
}),
158178
...(fastBuild
159179
? []
@@ -178,7 +198,6 @@ export default defineConfig({
178198
domains: ["programme.europython.eu", "placehold.co"],
179199
},
180200
prefetch: {
181-
prefetchAll: true,
182-
defaultStrategy: "load",
201+
prefetchAll: false,
183202
},
184203
});

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
"@astrojs/check": "^0.9.4",
1616
"@astrojs/mdx": "^4.3.0",
1717
"@astrojs/sitemap": "^3.4.1",
18-
"@astrojs/svelte": "^7.0.13",
18+
"@astrojs/svelte": "^7.1.0",
1919
"@astrojs/ts-plugin": "^1.10.4",
2020
"@fortawesome/fontawesome-free": "^6.7.2",
21-
"@nanostores/persistent": "^1.0.0",
21+
"@nanostores/persistent": "^1.1.0",
2222
"@tailwindcss/typography": "^0.5.16",
2323
"@tailwindcss/vite": "^4.1.11",
24-
"astro": "^5.8.0",
24+
"astro": "^5.11.0",
2525
"astro-compress": "^2.3.8",
2626
"astro-delete-unused-images": "^1.0.3",
2727
"astro-meta-tags": "^0.3.2",
@@ -41,16 +41,16 @@
4141
"rehype-slug": "^6.0.0",
4242
"remark-toc": "^9.0.0",
4343
"sharp": "^0.34.2",
44-
"svelte": "^5.34.9",
45-
"tailwindcss": "^4.1.8",
44+
"svelte": "^5.35.4",
45+
"tailwindcss": "^4.1.11",
4646
"typescript": "^5.8.3",
4747
"vite": "^6.3.5"
4848
},
4949
"devDependencies": {
5050
"@types/js-yaml": "^4.0.9",
51-
"prettier": "^3.5.3",
51+
"prettier": "^3.6.2",
5252
"prettier-plugin-astro": "^0.14.1",
53-
"puppeteer": "^24.9.0",
53+
"puppeteer": "^24.12.0",
5454
"tsx": "^4.20.3",
5555
"typescript": "^5.8.3"
5656
},

pnpm-lock.yaml

Lines changed: 1064 additions & 1320 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
394 KB
Loading
-5 Bytes
Loading
391 KB
Loading
392 KB
Loading

src/components/GoogleCalendar.astro

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@ const mobileEmbedUrl = `https://calendar.google.com/calendar/embed?src=${encodeU
4343
src={embedUrl}
4444
class="hidden md:block w-full max-w-4xl rounded-lg shadow-lg border-0"
4545
style={`border: 0; width: ${width}px; height: ${height}px;`}
46-
frameborder="0"
47-
scrolling="no"
4846
title={title}
4947
loading="lazy"
5048
></iframe>
@@ -54,8 +52,6 @@ const mobileEmbedUrl = `https://calendar.google.com/calendar/embed?src=${encodeU
5452
src={mobileEmbedUrl}
5553
class="block md:hidden w-full rounded-lg shadow-lg border-0"
5654
style="height: 400px;"
57-
frameborder="0"
58-
scrolling="no"
5955
title={`${title} - Mobile View`}
6056
loading="lazy"
6157
></iframe>

src/components/Header.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import links from "@data/links.json";
1111
<section
1212
id="navbar"
1313
>
14-
<a href="/remote" class="hover:underline hover:text-primary-hover text-center px-2 bg-secondary text-white font-bold fixed top-0 w-full h-[40px] z-50 flex items-center justify-center">Can’t join us in Prague? Attend remotely — online options available!</a>
14+
<a href="/remote" class="bg-top-notification text-white hover:text-white hover:underline text-center px-2 font-bold fixed top-0 w-full h-[40px] z-50 flex items-center justify-center">Can’t join us in Prague? Attend remotely — online options available!</a>
1515
<div
1616
class="container max-w-[1150px] mx-auto px-6 py-2 mt-12 lg:p-2 lg:mt-14 flex items-center justify-between relative z-40 bg-white/80 rounded-full backdrop-blur-md shadow-lg"
1717
>

src/components/InstallPWA.astro

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
11
---
2-
32
---
43
<div id="install-pwa" class="hidden">
5-
<p>Add website to home screen and get easy access to the schedule!</p>
6-
<button id="install-btn" class="button-link font-bold text-lg px-4 py-4 rounded-lg inline-flex items-center justify-center leading-4 transition-colors duration-200 not-prose border text-white
7-
bg-primary hover:bg-primary-hover border-transparent">Add to home screen</button>
4+
<div class="flex flex-row items-center justify-between gap-4">
5+
<div class="grid w-full">
6+
<p>Add website to home screen and get easy access to the schedule!</p>
7+
<button id="install-btn" class="button-link font-bold text-lg px-4 py-4 rounded-lg inline-flex items-center justify-center leading-4 transition-colors duration-200 not-prose border text-white m-5
8+
bg-primary hover:bg-primary-hover border-transparent">Add to home screen</button>
9+
</div>
10+
<button id="close-btn" class="text-white hover:text-gray-300 transition-colors duration-200 p-2" aria-label="Close">
11+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
12+
<line x1="18" y1="6" x2="6" y2="18"></line>
13+
<line x1="6" y1="6" x2="18" y2="18"></line>
14+
</svg>
15+
</button>
16+
</div>
817
</div>
9-
1018
<style>
1119
#install-pwa {
1220
position: fixed;
@@ -20,36 +28,44 @@
2028
transition: all 0.3s ease;
2129
z-index: 200;
2230
}
23-
2431
#install-pwa.hidden {
2532
transform: translateY(100%);
2633
opacity: 0;
2734
}
2835
</style>
29-
3036
<script>
3137
function showInstallPrompt() {
3238
const installBanner = document.getElementById('install-pwa') as HTMLElement;
3339
installBanner.classList.remove('hidden');
3440
}
3541

36-
const installBtn = document.getElementById('install-btn') as HTMLElement;
37-
installBtn.addEventListener('click', () => {
42+
function hideInstallPrompt() {
43+
const installBanner = document.getElementById('install-pwa') as HTMLElement;
44+
installBanner.classList.add('hidden');
45+
}
46+
47+
const installBtn = document.getElementById('install-btn') as HTMLElement;
48+
const closeBtn = document.getElementById('close-btn') as HTMLElement;
49+
50+
installBtn.addEventListener('click', () => {
3851
if (deferredPrompt) {
3952
deferredPrompt.prompt();
4053
deferredPrompt.userChoice.then((choiceResult: any) => {
4154
console.log(choiceResult.outcome);
4255
deferredPrompt = null;
56+
hideInstallPrompt();
4357
});
4458
}
4559
});
4660

47-
let deferredPrompt: any;
61+
closeBtn.addEventListener('click', () => {
62+
hideInstallPrompt();
63+
});
4864

65+
let deferredPrompt: any;
4966
window.addEventListener('beforeinstallprompt', (e) => {
5067
e.preventDefault();
5168
deferredPrompt = e;
52-
5369
showInstallPrompt();
5470
});
5571
</script>

0 commit comments

Comments
 (0)