notifications

This commit is contained in:
Karl 2025-07-17 18:13:10 +01:00
parent ab90dd2679
commit b082500c01

View File

@ -35,11 +35,6 @@
<a class="nav-link" href="/urls">URLs</a> <a class="nav-link" href="/urls">URLs</a>
</li> </li>
</ul> </ul>
<ul class="navbar-nav">
<li class="nav-item">
<button id="enable-notifications" class="btn btn-outline-light">Enable Notifications</button>
</li>
</ul>
</div> </div>
</nav> </nav>
@ -60,20 +55,15 @@
{% block scripts %}{% endblock %} {% block scripts %}{% endblock %}
<script> <script>
if ('serviceWorker' in navigator && 'PushManager' in window) { if ('serviceWorker' in navigator && 'PushManager' in window) {
let swRegistration = null;
navigator.serviceWorker.register('{{ url_for("static", filename="service-worker.js") }}').then(function(registration) { navigator.serviceWorker.register('{{ url_for("static", filename="service-worker.js") }}').then(function(registration) {
console.log('ServiceWorker registration successful with scope: ', registration.scope); console.log('ServiceWorker registration successful with scope: ', registration.scope);
swRegistration = registration; // Check if we should ask for permission
if (document.referrer.includes('/login') || (performance.navigation.type == performance.navigation.TYPE_RELOAD && new URLSearchParams(window.location.search).has('loggedin'))) {
askPermission(registration);
}
}, function(err) { }, function(err) {
console.log('ServiceWorker registration failed: ', err); console.log('ServiceWorker registration failed: ', err);
}); });
const enableNotificationsButton = document.getElementById('enable-notifications');
enableNotificationsButton.addEventListener('click', function() {
if (swRegistration) {
askPermission(swRegistration);
}
});
} }
function askPermission(registration) { function askPermission(registration) {