android: rich GPS notification with pace, request POST_NOTIFICATIONS

- Notification title: "Bocken — Tracking GPS for active Workout"
- Live updates with elapsed time, distance, and pace (min/km)
- Request POST_NOTIFICATIONS permission at runtime (Android 13+)
- Page titles: "- Fitness" → "- Bocken" (missed in prior commit)
This commit is contained in:
2026-03-24 18:23:14 +01:00
parent d9f89239b7
commit 31b5b68081
10 changed files with 131 additions and 39 deletions
@@ -24,7 +24,7 @@
}));
</script>
<svelte:head><title>{lang === 'en' ? 'Exercises' : 'Übungen'} - Fitness</title></svelte:head>
<svelte:head><title>{lang === 'en' ? 'Exercises' : 'Übungen'} - Bocken</title></svelte:head>
<div class="exercises-page">
<h1>{t('exercises_title', lang)}</h1>
@@ -163,7 +163,7 @@
}
</script>
<svelte:head><title>{exercise?.localName ?? (lang === 'en' ? 'Exercise' : 'Übung')} - Fitness</title></svelte:head>
<svelte:head><title>{exercise?.localName ?? (lang === 'en' ? 'Exercise' : 'Übung')} - Bocken</title></svelte:head>
<div class="exercise-detail">
<h1>{exercise?.localName ?? 'Exercise'}</h1>
@@ -39,7 +39,7 @@
}
</script>
<svelte:head><title>{t('history_title', lang)} - Fitness</title></svelte:head>
<svelte:head><title>{t('history_title', lang)} - Bocken</title></svelte:head>
<div class="history-page">
<h1>{t('history_title', lang)}</h1>
@@ -506,7 +506,7 @@
</script>
<svelte:head>
<title>{session?.name ?? (lang === 'en' ? 'Workout' : 'Training')} - Fitness</title>
<title>{session?.name ?? (lang === 'en' ? 'Workout' : 'Training')} - Bocken</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
</svelte:head>
@@ -259,7 +259,7 @@
}
</script>
<svelte:head><title>{lang === 'en' ? 'Measure' : 'Messen'} - Fitness</title></svelte:head>
<svelte:head><title>{lang === 'en' ? 'Measure' : 'Messen'} - Bocken</title></svelte:head>
<div class="measure-page">
<h1>{t('measure_title', lang)}</h1>
@@ -125,7 +125,7 @@
</script>
<svelte:head><title>{t('stats_title', lang)} - Fitness</title></svelte:head>
<svelte:head><title>{t('stats_title', lang)} - Bocken</title></svelte:head>
<div class="stats-page">
<h1>{t('stats_title', lang)}</h1>
@@ -290,7 +290,7 @@
}
</script>
<svelte:head><title>{lang === 'en' ? 'Workout' : 'Training'} - Fitness</title></svelte:head>
<svelte:head><title>{lang === 'en' ? 'Workout' : 'Training'} - Bocken</title></svelte:head>
<div class="template-view">
{#if hasSchedule && nextTemplate}
@@ -519,7 +519,7 @@
</script>
<svelte:head>
<title>{workout.name || (lang === 'en' ? 'Workout' : 'Training')} - Fitness</title>
<title>{workout.name || (lang === 'en' ? 'Workout' : 'Training')} - Bocken</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
</svelte:head>