Skip to content
Merged
Show file tree
Hide file tree
Changes from 50 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
06d2321
Navbar scrolling improvement.
nikoshell May 19, 2025
2813bbe
Draft for mobile app.
nikoshell May 19, 2025
c689f24
Fix pnpm.
nikoshell May 19, 2025
3b2085a
Fix astro config.
nikoshell May 19, 2025
f50578d
Update start url
nikoshell May 19, 2025
33ed303
Update draft
nikoshell May 19, 2025
a440b84
Merge branch 'ep2025' into ep2025-app
nikoshell May 22, 2025
ee67457
Clean up astro check warnings.
nikoshell May 21, 2025
baf21af
Fix failing build process
nikoshell May 22, 2025
94738ba
Add workbox
nikoshell May 22, 2025
f5aa3bc
Update
nikoshell May 22, 2025
5227417
Fix pnpm
nikoshell May 22, 2025
0517ef9
Transition
nikoshell May 22, 2025
08a0b4c
Merge branch 'ep2025-issue-navbar' into ep2025-app
nikoshell May 22, 2025
a78f809
Transitions
nikoshell May 22, 2025
4347a4c
Fix failing build process (#1257)
nikoshell May 22, 2025
2389aad
Ep2025 sponsor info small fixes (#1255)
hypha May 22, 2025
b544bf9
EP2025 summits cleanup (#1258)
hypha May 22, 2025
00e1278
Add missing redirects.
nikoshell May 22, 2025
6187475
Update blink.
nikoshell May 22, 2025
62265e4
Merge branch 'ep2025' into ep2025-app
nikoshell May 22, 2025
6508cf7
Merge branch 'ep2025' into ep2025-app
nikoshell May 22, 2025
ef624e4
Remove VT.
nikoshell May 22, 2025
b1d8414
Use astro page load.
nikoshell May 22, 2025
d5ef601
Merge branch 'ep2025' into ep2025-app
nikoshell May 28, 2025
a54c337
Add icons
nikoshell May 28, 2025
8ecfeb5
Update app
nikoshell May 28, 2025
c3a885e
Update icons
nikoshell May 28, 2025
cb1d6d1
Update exernal links.
nikoshell May 28, 2025
7f36ed0
Add fullscreen
nikoshell May 28, 2025
72bf4bb
Add top color
nikoshell May 28, 2025
96a0952
Back to standalone
nikoshell May 28, 2025
9be0fa4
Update head
nikoshell May 29, 2025
856829c
Update offline
nikoshell May 29, 2025
ebcfd43
Sponsors taget blank
nikoshell May 29, 2025
390d858
Udate for links
nikoshell May 29, 2025
13ba0ca
Remove astro page-load
nikoshell May 29, 2025
0aa8c0e
Add empty href
nikoshell May 29, 2025
2ff4af0
Add notification
nikoshell May 29, 2025
61b3f85
Use alert
nikoshell May 29, 2025
d595271
Links cleanup
nikoshell May 29, 2025
d113445
Merge branch 'ep2025' into ep2025-app
nikoshell May 29, 2025
81ccf8a
Add scope
nikoshell May 29, 2025
6dcd917
Update home link
nikoshell May 29, 2025
c140194
PWA prompt
nikoshell May 29, 2025
c726ae2
PWA schedule
nikoshell May 29, 2025
5761865
PWA prompt
nikoshell May 29, 2025
bfc9639
Fix btn color
nikoshell May 29, 2025
9e482da
Clean up
nikoshell May 29, 2025
6f60893
Merge branch 'ep2025' into ep2025-app
clytaemnestra Jun 4, 2025
5ea3b6c
Merge branch 'ep2025' into ep2025-app
nikoshell Jun 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import rehypeSlug from "rehype-slug";
import rehypeAutolinkHeadings from "rehype-autolink-headings";
import metaTags from "astro-meta-tags";
import deleteUnusedImages from "astro-delete-unused-images";
import serviceWorker from "astrojs-service-worker";
import { execSync } from "node:child_process";
import svelte from "@astrojs/svelte";
import compress from "astro-compress";
Expand Down Expand Up @@ -117,6 +118,9 @@ export default defineConfig({
metaTags(),
deleteUnusedImages(),
svelte(),
serviceWorker({
workbox: { inlineWorkboxRuntime: true },
}),
compress({
HTML: false,
CSS: false,
Expand All @@ -132,4 +136,8 @@ export default defineConfig({
remotePatterns: [{ protocol: "https" }],
domains: ["programme.europython.eu", "placehold.co"],
},
prefetch: {
prefetchAll: true,
defaultStrategy: "load",
},
});
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
"astro-meta-tags": "^0.3.2",
"astro-pagefind": "^1.8.3",
"astro-preload": "^1.1.2",
"astrojs-service-worker": "^2.0.0",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
"date-fns-tz": "^3.2.0",
Expand Down
4,087 changes: 3,538 additions & 549 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

Binary file added public/android-chrome-144x144.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/android-chrome-192x192.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/android-chrome-256x256.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/android-chrome-36x36.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/android-chrome-384x384.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/android-chrome-48x48.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/android-chrome-512x512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/android-chrome-72x72.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/android-chrome-96x96.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
63 changes: 63 additions & 0 deletions public/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"name": "EuroPython 2025",
"short_name": "EP2025",
"display": "standalone",
"start_url": "./schedule/?utm_source=pwa",
"lang": "en",
"scope": ".",
"background_color": "#f5e5d6",
"theme_color": "#f5e5d6",
"icons": [
{
"src": "android-chrome-36x36.png",
"sizes": "36x36",
"type": "image/png"
},
{
"src": "android-chrome-48x48.png",
"sizes": "48x48",
"type": "image/png"
},
{
"src": "android-chrome-72x72.png",
"sizes": "72x72",
"type": "image/png"
},
{
"src": "android-chrome-96x96.png",
"sizes": "96x96",
"type": "image/png"
},
{
"src": "android-chrome-144x144.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src": "android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "android-chrome-256x256.png",
"sizes": "256x256",
"type": "image/png"
},
{
"src": "android-chrome-384x384.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "maskable_icon.png",
"sizes": "650x650",
"type": "image/png",
"purpose": "maskable"
}
]
}
Binary file added public/maskable_icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/components/Header.astro
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import HeaderLogo from "@components/header/header-logo.astro";
import Search from "@components/Search.astro";

import links from "@data/links.json";

---

<section
Expand Down Expand Up @@ -47,6 +48,7 @@ import links from "@data/links.json";
<Search />

<script>
document.addEventListener("DOMContentLoaded", () => {
let prevScrollPos = window.pageYOffset;
const navbar = document.getElementById("navbar") as HTMLElement;

Expand All @@ -69,4 +71,5 @@ import links from "@data/links.json";
navbar.style.transform = "translateY(-100%)";
}
});
});
</script>
54 changes: 54 additions & 0 deletions src/components/InstallPWA.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---

---
<div id="install-pwa" class="hidden">
<p>Add website to home screen and get easy access to the schedule!</p>
<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
bg-primary hover:bg-primary-hover border-transparent">Add to home screen</button>
</div>

<style>
#install-pwa {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: #4caf50;
color: white;
text-align: center;
padding: 1rem;
transition: all 0.3s ease;
z-index: 200;
}

#install-pwa.hidden {
transform: translateY(100%);
opacity: 0;
}
</style>

<script>
function showInstallPrompt() {
const installBanner = document.getElementById('install-pwa');
installBanner.classList.remove('hidden');
}

document.getElementById('install-btn').addEventListener('click', () => {
if (deferredPrompt) {
deferredPrompt.prompt();
deferredPrompt.userChoice.then((choiceResult: any) => {
console.log(choiceResult.outcome);
deferredPrompt = null;
});
}
});

let deferredPrompt: any;

window.addEventListener('beforeinstallprompt', (e) => {
e.preventDefault();
deferredPrompt = e;

showInstallPrompt();
});
</script>
51 changes: 51 additions & 0 deletions src/components/Offline.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---

---

<div id="offline-icon" class="offline-icon">
<i class="fas plug-circle-xmark"></i> Offline
</div>
<script is:inline>
document.addEventListener("DOMContentLoaded", () => {
const offlineIcon = document.getElementById("offline-icon");

function updateOnlineStatus() {
console.log("offline");
offlineIcon.classList.toggle("show", !navigator.onLine);
}

window.addEventListener("online", updateOnlineStatus);
window.addEventListener("offline", updateOnlineStatus);

updateOnlineStatus();
});
</script>

<style>
.offline-icon {
position: fixed;
bottom: 10px;
right: 10px;
z-index: 9999;
background: #ffe0e0;
color: #a00;
padding: 8px 12px;
border-radius: 8px;
border: 1px solid #a00;
font-family: sans-serif;
font-size: 14px;
font-weight: bold;
display: flex;
align-items: center;
gap: 6px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
}

.offline-icon.show {
opacity: 1;
pointer-events: auto;
}
</style>
2 changes: 1 addition & 1 deletion src/components/header/header-logo.astro
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ interface Props {
}
---

<a href="/" class="block min-w-[44px] min-h-[44px]" aria-label="Go to homepage by clicking the logo">
<a href="/" class="home-link block min-w-[44px] min-h-[44px]" aria-label="Go to homepage by clicking the logo">
<img class="md:block block w-[44px] h-[44px]" src="/EuroPython2025_logo.png" alt="EuroPython logo" />
</a>
Loading