From 85b85d907d88912314b752e4f75694d145c839d4 Mon Sep 17 00:00:00 2001
From: dodoradio <dodoradio@outlook.com>
Date: Sat, 22 Jul 2023 14:18:59 +0100
Subject: Add current heartrate to heartrate detail page This copies a bit of
 code from https://github.com/AsteroidOS/asteroid-hrm/blob/master/src/main.qml

---
 src/heartrate/HeartrateDetailPage.qml | 49 +++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/src/heartrate/HeartrateDetailPage.qml b/src/heartrate/HeartrateDetailPage.qml
index 611d720..3f4e897 100644
--- a/src/heartrate/HeartrateDetailPage.qml
+++ b/src/heartrate/HeartrateDetailPage.qml
@@ -1,5 +1,7 @@
 /*
  * Copyright (C) 2023 Arseniy Movshev <dodoradio@outlook.com>
+ *               2021 Timo Könnecke <github.com/eLtMosen>
+ *               2021 Darrel Griët <dgriet@gmail.com>
  *               2019 Florent Revest <revestflo@gmail.com>
  *
  * This program is free software: you can redistribute it and/or modify
@@ -18,12 +20,33 @@
 
 import QtQuick 2.15
 import org.asteroid.controls 1.0
+import QtSensors 5.11
 
 import org.asteroid.sensorlogd 1.0
 
 import "../graphs"
 
 Item {
+    id: root
+    property int currentHr: 0 //we ought to get the last value from hrdataloader - but it currently doesn't do any caching so operation would be a bit slow, and we run the hr sensor when app starts anyway, so we'll ignore that for now
+    HrmSensor {
+        active: true
+        onReadingChanged: {
+            currentHr = reading.bpm
+        }
+    }
+
+    property bool pulseToggle: true
+    property int pulseWidth: pulseToggle ? root.height*0.2 : root.height*0.26
+    Behavior on pulseWidth { NumberAnimation { duration: pulseAnimationDuration; easing.type: Easing.OutInSine } }
+
+    Timer {
+        id: pulseTimer
+        interval: 1000 / (currentHr / 30)
+        running: currentHr
+        repeat: true
+        onTriggered: pulseToggle = !pulseToggle
+    }
     Flickable {
         anchors.fill: parent
         contentHeight: contentColumn.implicitHeight
@@ -33,6 +56,32 @@ Item {
 
             Item { width: parent.width; height: parent.width*0.2}
 
+            // this  chunk of code is modified from https://github.com/AsteroidOS/asteroid-hrm/blob/master/src/main.qml
+            Item {
+                width: parent.width*0.5
+                height: root.height*0.26
+                anchors.horizontalCenter: parent.horizontalCenter
+                Label {
+                    text: currentHr + " bpm"
+                    anchors {
+                        verticalCenter: parent.verticalCenter
+                        left: parent.left
+                    }
+                }
+
+                Text {
+                    id: heartPicture
+                    anchors {
+                        verticalCenter: parent.verticalCenter
+                        horizontalCenter: parent.right
+                    }
+                    font.pixelSize: pulseWidth
+                    text: "\u2764"
+                }
+            }
+            // end asteroid-hrm code
+            Item { width: parent.width; height: parent.width*0.2}
+
             HrGraph {
                 id: graph
                 anchors.horizontalCenter: parent.horizontalCenter
-- 
cgit v1.2.3-70-g09d2