Bladeren bron

add total to chart

Pi 3 maanden geleden
bovenliggende
commit
46a0a7a184
2 gewijzigde bestanden met toevoegingen van 20 en 1 verwijderingen
  1. 17 1
      activities/www/chart.sql
  2. 3 0
      activities/www/index.sql

+ 17 - 1
activities/www/chart.sql

@@ -3,8 +3,24 @@ SET ":date" = COALESCE(:date, $date, CURRENT_TIMESTAMP);
 SET ":start_of_day" = (SELECT datetime(datetime(:date, 'localtime'), 'start of day'));
 SET ":end_of_day" = (SELECT datetime(:start_of_day, '+1 days'));
 
+SET ":total_time" = (WITH delta AS (SELECT julianday(COALESCE((
+  SELECT min(lag.ts, datetime(:end_of_day, 'utc'))
+  FROM activities lag
+  WHERE lag.ts > a.ts AND lag.activity <> a.activity
+  ORDER BY lag.ts ASC
+  LIMIT 1
+), min(CURRENT_TIMESTAMP, datetime(:end_of_day, 'utc')))) - julianday(a.ts) AS delta
+, activity
+FROM activities a
+WHERE user = :user
+AND datetime(datetime(ts, 'localtime'), 'start of day') = :start_of_day)
+SELECT printf("%.0f", sum(delta)*60*24) AS minutes --, activity
+FROM delta
+WHERE activity = 'Eating'
+GROUP BY delta.activity);
+
 SELECT 'chart' AS component
-, '' AS title
+, :total_time || ' min.' AS title
 , TRUE AS time
 , 'area' AS type
 , 1 AS ymax

+ 3 - 0
activities/www/index.sql

@@ -30,6 +30,9 @@ SELECT 'text' AS component
 .card > .card-body:has(> .d-flex + .chart) {
     padding: 0;
 }
+.card > .card-body > .d-flex {
+    padding: 0 10em;
+}
 .card > .card-body > .d-flex {
     height: 0;
 }