From 3706d1337eece3bdffe39223cc64eb305e2dd83c Mon Sep 17 00:00:00 2001
From: Antoine <antoine.roy@tetras-libre.fr>
Date: Fri, 8 Dec 2023 15:36:53 +0100
Subject: [PATCH] Start and End set over the clock icons

---
 src/AnnotationCreation.js | 41 ++++++++++++++++++++++++++++-----------
 src/HMSInput.js           | 28 ++++++++++++++++----------
 2 files changed, 48 insertions(+), 21 deletions(-)

diff --git a/src/AnnotationCreation.js b/src/AnnotationCreation.js
index d1b829e..49029d3 100644
--- a/src/AnnotationCreation.js
+++ b/src/AnnotationCreation.js
@@ -411,22 +411,33 @@ class AnnotationCreation extends Component {
               </Grid>
               <div className={`${classes.paper} ${classes.selectTimeField} `}>
                 <div className={`${classes.paper} ${classes.selectTimeModule} `}>
-                  <ToggleButton value="true" title="Set current time" size="small" onClick={this.setTstartNow} className={classes.timecontrolsbutton}>
-                    <Alarm fontSize="small" />
-                  </ToggleButton>
-                  <div>
-                    <p>Start</p>
+                  <div className={classes.buttonTimeContainer}>
+                    <div>
+                      <p className={classes.textTimeButton}>Start</p>
+                    </div>
+                    <ToggleButton
+                        value="true"
+                        title="Set current time"
+                        size="small"
+                        onClick={this.setTstartNow}
+                        className={classes.timecontrolsbutton}
+                    >
+                      <Alarm fontSize="small"/>
+                    </ToggleButton>
                   </div>
-                  <HMSInput seconds={tstart} onChange={this.updateTstart} />
+                  <HMSInput seconds={tstart} onChange={this.updateTstart}/>
                 </div>
                 <div className={`${classes.paper} ${classes.selectTimeModule}`}>
-                  <ToggleButton value="true" title="Set current time" size="small" onClick={this.setTendNow} className={classes.timecontrolsbutton}>
-                    <Alarm fontSize="small" />
-                  </ToggleButton>
+                  <div className={classes.buttonTimeContainer}>
                   <div>
-                    <p>End</p>
+                    <p className={classes.textTimeButton}>End</p>
                   </div>
-                  <HMSInput seconds={tend} onChange={this.updateTend} />
+                  <ToggleButton value="true" title="Set current time" size="small" onClick={this.setTendNow}
+                                className={classes.timecontrolsbutton}>
+                    <Alarm fontSize="small"/>
+                  </ToggleButton>
+                  </div>
+                  <HMSInput seconds={tend} onChange={this.updateTend}/>
                 </div>
               </div>
             </>
@@ -606,6 +617,10 @@ class AnnotationCreation extends Component {
 
 /** */
 const styles = (theme) => ({
+  buttonTimeContainer: {
+    display: 'flex',
+    flexDirection: 'column',
+  },
   divider: {
     margin: theme.spacing(1, 0.5),
   },
@@ -647,6 +662,10 @@ const styles = (theme) => ({
     justifyContent: 'center',
     padding: '5px',
   },
+  textTimeButton: {
+    margin:0,
+    fontSize: '15px',
+  },
   timecontrolsbutton: {
     border: 'none',
     height: '30px',
diff --git a/src/HMSInput.js b/src/HMSInput.js
index 48d815b..7a1be4a 100644
--- a/src/HMSInput.js
+++ b/src/HMSInput.js
@@ -37,8 +37,8 @@ class HMSInput extends Component {
   someChange(ev) {
     const { onChange } = this.props;
     const { state } = this;
-      state[ev.target.name] = Number(ev.target.value);
-      onChange(state.hours * 3600 + state.minutes * 60 + state.seconds);
+    state[ev.target.name] = Number(ev.target.value);
+    onChange(state.hours * 3600 + state.minutes * 60 + state.seconds);
   }
 
   /** Render */
@@ -48,10 +48,18 @@ class HMSInput extends Component {
     return (
       <div className={classes.root}>
         <div className={classes.root}>
-          <Input className={classes.input}
-          variant="filled" type='number' min='0' pattern name="hours" value={hours} onChange={this.someChange} />
-          <Input className={classes.input} type='number' min='0' max='59' name="minutes" value={minutes} onChange={this.someChange} />
-          <Input className={classes.input} type='number' min='0' max='59' name="seconds" value={seconds} onChange={this.someChange} />
+          <Input
+            className={classes.input}
+            variant="filled"
+            type="number"
+            min="0"
+            pattern
+            name="hours"
+            value={hours}
+            onChange={this.someChange}
+          />
+          <Input className={classes.input} type="number" min="0" max="59" name="minutes" value={minutes} onChange={this.someChange} />
+          <Input className={classes.input} type="number" min="0" max="59" name="seconds" value={seconds} onChange={this.someChange} />
         </div>
       </div>
     );
@@ -79,17 +87,17 @@ const styles = (theme) => ({
     width: '4ch',
     // remove arrow from field for Firefox
     '& input[type=number]': {
-      '-moz-appearance': 'textfield'
+      '-moz-appearance': 'textfield',
     },
     // remove arrow from field for Chrome, Safari and Opera
     '& input[type=number]::-webkit-outer-spin-button': {
       '-webkit-appearance': 'none',
-      margin: 0
+      margin: 0,
     },
     '& input[type=number]::-webkit-inner-spin-button': {
       '-webkit-appearance': 'none',
-      margin: 0
-    }
+      margin: 0,
+    },
   },
 });
 
-- 
GitLab