GPS background recording: - Batched writes (10s flush) in native service - Polling lock prevents parallel processing - Track by timestamp instead of line count - Recovery idempotent via max DB timestamp - Seq numbers on live recorded points GPX export: - Button in session detail - SAF file picker on Android (ACTION_CREATE_DOCUMENT) - GPS config in metadata (accuracy, minSpeed, minDist) Charts: - Pinch zoom enabled at creation (Hammer.js registers handlers) - touch-action: pan-y blocks pinch in normal view (page scrolls) - Fullscreen: CSS-only expand (no canvas manipulation) - Downsampled to 500 points for smooth rendering - Back gesture collapses fullscreen before closing modal Build: --real flag finds first non-emulator device
26 lines
917 B
HTML
26 lines
917 B
HTML
<!DOCTYPE html>
|
|
<html lang="ru">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
|
<title>BalDav</title>
|
|
<link rel="stylesheet" href="lib/leaflet.css" />
|
|
<link rel="stylesheet" href="css/styles.css" />
|
|
</head>
|
|
<body>
|
|
<div id="app"></div>
|
|
|
|
<!-- Load order matters: db.js and bmr.js expose window.DB / window.BMR,
|
|
then main.js uses them. Tauri injects window.__TAURI__ before page scripts. -->
|
|
<script src="lib/leaflet.js"></script>
|
|
<script src="lib/hammer.min.js"></script>
|
|
<script src="lib/chart.min.js"></script>
|
|
<script src="lib/chartjs-plugin-zoom.min.js"></script>
|
|
<script src="lib/jszip.min.js"></script>
|
|
<script src="js/db.js"></script>
|
|
<script src="js/bmr.js"></script>
|
|
<script src="js/tilecache.js"></script>
|
|
<script src="js/gps.js"></script>
|
|
<script src="js/main.js"></script>
|
|
</body>
|
|
</html>
|