678977ab23
- Tablet-first responsive scoreboard: whole player card is tap target - Per-step wizard backgrounds and live summary panel - Larger touch targets, safe-area handling, reduced-motion support - German UI error strings in App.tsx - Updated SOUL.md and README.md for current architecture - Cleanup: removed legacy components, .cursor/, UI_IMPROVEMENTS.md - Renamed package to bscscore, fixed TOTAL_WIZARD_STEPS
49 lines
1.6 KiB
Plaintext
49 lines
1.6 KiB
Plaintext
---
|
||
import "../styles/index.css";
|
||
import App from "../components/App";
|
||
---
|
||
|
||
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover, interactive-widget=resizes-content">
|
||
<title>BSC Score – Live-Scoring am Billardtisch</title>
|
||
<meta name="description" content="Live-Scoring für 8-, 9- und 10-Ball am Billardtisch. Offline, schnell, ein Tipp pro Punkt.">
|
||
|
||
<!-- PWA Meta tags -->
|
||
<meta name="theme-color" content="#1a1a1a">
|
||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||
<meta name="mobile-web-app-capable" content="yes">
|
||
<link rel="manifest" href="/manifest.webmanifest">
|
||
|
||
<!-- Favicon -->
|
||
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
||
<link rel="icon" type="image/png" sizes="192x192" href="/icon-192.png">
|
||
<link rel="icon" type="image/png" sizes="512x512" href="/icon-512.png">
|
||
<link rel="apple-touch-icon" href="/icon-192.png">
|
||
<style>
|
||
#app-root {
|
||
height: var(--app-height, 100dvh);
|
||
width: 100%;
|
||
overflow: hidden;
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<div id="app-root">
|
||
<App client:only="preact" />
|
||
</div>
|
||
<script>
|
||
if (typeof window !== 'undefined' && 'serviceWorker' in navigator) {
|
||
window.addEventListener('load', () => {
|
||
navigator.serviceWorker.register('/sw.js').catch((error) => {
|
||
console.error('Service worker registration failed:', error);
|
||
});
|
||
});
|
||
}
|
||
</script>
|
||
</body>
|
||
</html> |