feat: add PWA manifest and service worker
Add Progressive Web App support for installable mobile experience on iOS Safari and Android Chrome. - static/manifest.json: app name, standalone display, dark theme, icon references for 192px and 512px - static/sw.js: service worker with cache-first strategy for static assets, network-first for HTML/HTMX, offline fallback to cache - static/icon-192.png, static/icon-512.png: placeholder app icons - Apple meta tags: apple-mobile-web-app-capable, status bar style, apple-touch-icon for iOS Add to Home Screen - Service worker registration in base layout template Closes leeworks-agents/gitea-mobile#6 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,11 @@ var basePage = template.Must(template.New("base").Parse(`<!DOCTYPE html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||
<meta name="theme-color" content="#161b22">
|
||||
<link rel="manifest" href="/static/manifest.json">
|
||||
<link rel="apple-touch-icon" href="/static/icon-192.png">
|
||||
<title>{{.Title}} — Gitea Mobile</title>
|
||||
<style>
|
||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
@@ -162,6 +167,13 @@ var basePage = template.Must(template.New("base").Parse(`<!DOCTYPE html>
|
||||
Settings
|
||||
</a>
|
||||
</nav>
|
||||
<script>
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker.register('/static/sw.js').catch(function(err) {
|
||||
console.log('SW registration failed:', err);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>`))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user