-
Notifications
You must be signed in to change notification settings - Fork 72
Create a Progressive Web App for the website #1248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 50 commits
Commits
Show all changes
51 commits
Select commit
Hold shift + click to select a range
06d2321
Navbar scrolling improvement.
nikoshell 2813bbe
Draft for mobile app.
nikoshell c689f24
Fix pnpm.
nikoshell 3b2085a
Fix astro config.
nikoshell f50578d
Update start url
nikoshell 33ed303
Update draft
nikoshell a440b84
Merge branch 'ep2025' into ep2025-app
nikoshell ee67457
Clean up astro check warnings.
nikoshell baf21af
Fix failing build process
nikoshell 94738ba
Add workbox
nikoshell f5aa3bc
Update
nikoshell 5227417
Fix pnpm
nikoshell 0517ef9
Transition
nikoshell 08a0b4c
Merge branch 'ep2025-issue-navbar' into ep2025-app
nikoshell a78f809
Transitions
nikoshell 4347a4c
Fix failing build process (#1257)
nikoshell 2389aad
Ep2025 sponsor info small fixes (#1255)
hypha b544bf9
EP2025 summits cleanup (#1258)
hypha 00e1278
Add missing redirects.
nikoshell 6187475
Update blink.
nikoshell 62265e4
Merge branch 'ep2025' into ep2025-app
nikoshell 6508cf7
Merge branch 'ep2025' into ep2025-app
nikoshell ef624e4
Remove VT.
nikoshell b1d8414
Use astro page load.
nikoshell d5ef601
Merge branch 'ep2025' into ep2025-app
nikoshell a54c337
Add icons
nikoshell 8ecfeb5
Update app
nikoshell c3a885e
Update icons
nikoshell cb1d6d1
Update exernal links.
nikoshell 7f36ed0
Add fullscreen
nikoshell 72bf4bb
Add top color
nikoshell 96a0952
Back to standalone
nikoshell 9be0fa4
Update head
nikoshell 856829c
Update offline
nikoshell ebcfd43
Sponsors taget blank
nikoshell 390d858
Udate for links
nikoshell 13ba0ca
Remove astro page-load
nikoshell 0aa8c0e
Add empty href
nikoshell 2ff4af0
Add notification
nikoshell 61b3f85
Use alert
nikoshell d595271
Links cleanup
nikoshell d113445
Merge branch 'ep2025' into ep2025-app
nikoshell 81ccf8a
Add scope
nikoshell 6dcd917
Update home link
nikoshell c140194
PWA prompt
nikoshell c726ae2
PWA schedule
nikoshell 5761865
PWA prompt
nikoshell bfc9639
Fix btn color
nikoshell 9e482da
Clean up
nikoshell 6f60893
Merge branch 'ep2025' into ep2025-app
clytaemnestra 5ea3b6c
Merge branch 'ep2025' into ep2025-app
nikoshell File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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", | ||
nikoshell marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| "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" | ||
| } | ||
| ] | ||
| } | ||
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.