From 8729b0d1ed99d227d8503f9931b6dfb3cae8d80b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20K=C3=BChn?= Date: Thu, 30 Apr 2026 11:08:23 +0200 Subject: [PATCH] Add weekly goal field to new goal form Tagesziel and Wochenziel sync automatically (weekly = daily * 7). Only daily is stored. Co-Authored-By: Claude Sonnet 4.6 --- public/app.js | 11 +++++++++-- templates/app.html.twig | 7 +++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/public/app.js b/public/app.js index aac257d..4aadb9b 100644 --- a/public/app.js +++ b/public/app.js @@ -294,12 +294,19 @@ function openNew(){ var c=tpl('tpl-new-goal'); showSheet(c,true); var name=c.querySelector('.ng-name'), unit=c.querySelector('.ng-unit'); - var daily=c.querySelector('.ng-daily'), days=c.querySelector('.ng-days'), sub=c.querySelector('.ng-sub'); + var daily=c.querySelector('.ng-daily'), weekly=c.querySelector('.ng-weekly'); + var days=c.querySelector('.ng-days'), sub=c.querySelector('.ng-sub'); + daily.addEventListener('input',function(){ + if(daily.value) weekly.value=Math.round(parseFloat(daily.value)*7*100)/100; + }); + weekly.addEventListener('input',function(){ + if(weekly.value) daily.value=Math.round(parseFloat(weekly.value)/7*100)/100; + }); setTimeout(function(){name.focus();},50); c.querySelector('.ng-can').onclick=closeOv; sub.onclick=function(){ var nv=(name.value||'').trim(), uv=(unit.value||'').trim()||'Stück'; - var dv=parseInt(daily.value,10)||1, dyv=parseInt(days.value,10)||30; + var dv=parseFloat(daily.value)||1, dyv=parseInt(days.value,10)||30; if(!nv){ name.focus(); return; } sub.disabled=true; api('POST','goals',{name:nv,unit:uv,daily:dv,days:dyv,start:TODAY.toISOString()}) diff --git a/templates/app.html.twig b/templates/app.html.twig index 727f421..527f87c 100644 --- a/templates/app.html.twig +++ b/templates/app.html.twig @@ -258,9 +258,12 @@
-
+
+
+
+
+
-