Ein Feld, ein Knopf, grosse Flaeche. Was ohne Netz erfasst wird, liegt in IndexedDB, bis es hinausgeht — nicht in localStorage: Ein Eintrag, der beim Aufraeumen des Speichers verschwindet, ist eine verlorene Aufgabe. Erst anstellen, dann senden. Andersherum ginge der Eintrag verloren, wenn der Browser mitten im Senden geschlossen wird. Jede Erfassung traegt eine vom Geraet vergebene Kennung, damit eine doppelt zugestellte Nachricht keine zweite Aufgabe ergibt. Der Dienstarbeiter haelt genau diese eine Seite offline bereit und sonst nichts. Ein halb veralteter Planer waere schlimmer als gar keiner — ein Eingabefeld dagegen veraltet nicht, und ohne die Seite naehme die Warteschlange im Geraet niemandem etwas ab. Dazu das Manifest, damit sich der Planer als Anwendung ablegen laesst. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
40 lines
768 B
JSON
40 lines
768 B
JSON
{
|
|
"name": "Planer",
|
|
"short_name": "Planer",
|
|
"description": "Aufgaben, Ideen, Projekte und Zeitblöcke.",
|
|
"lang": "de",
|
|
"dir": "ltr",
|
|
"start_url": "/erfassen",
|
|
"scope": "/",
|
|
"display": "standalone",
|
|
"orientation": "portrait",
|
|
"background_color": "#f7f8fa",
|
|
"theme_color": "#f7f8fa",
|
|
"icons": [
|
|
{
|
|
"src": "/symbol.svg",
|
|
"sizes": "any",
|
|
"type": "image/svg+xml",
|
|
"purpose": "any"
|
|
},
|
|
{
|
|
"src": "/symbol-flaeche.svg",
|
|
"sizes": "any",
|
|
"type": "image/svg+xml",
|
|
"purpose": "maskable"
|
|
}
|
|
],
|
|
"shortcuts": [
|
|
{
|
|
"name": "Erfassen",
|
|
"short_name": "Erfassen",
|
|
"url": "/erfassen"
|
|
},
|
|
{
|
|
"name": "Heute",
|
|
"short_name": "Heute",
|
|
"url": "/"
|
|
}
|
|
]
|
|
}
|