Hey @Steve_Tan I would make use of an action to set the timeout, giving the user the ability to tap it and set the actual time to “now” but not allowing them to actually modify the value.
For the timeout, I would put a show if formula to restrict when it’s seen so we don’t see it in the form
- Show If: CONTEXT(“ViewType”) <> “Form”
Create an action that sets the value of the Timeout column (something similar to this)
- For the condition of this action, use the following:
- I would turn on the confirmation toggle, providing the user with some context about the button they’re pushing
Or you could create an enum column inside your timesheet table, and use that as a “clock out” button inside the form.
You could use a ChangeTimestamp column that’s watching this enum column for whatever value you use for the button text - when it finds that text, say “Clock Out” it records the timestamp.
This would keep you inside the form, if you wanted, but requires a little more handling.
- For the “Clock Out” enum column
- show if: Context(“ViewType”) = “Form”
- Only one option in the dropdown: “Clock Out” (or whatever)
- Editable if: ISBLANK([_this])
Once you do that editable if statement, once they select the clock out option, they can’t unselect it - and if you base your timestamp on that then you get your clock time.
You could apply an additional show if to the button, only showing it when it’s blank - that way after they tap the clock out button, it disappears (maybe making the clock out time visible (but they can’t edit it as it’s a Change column and is controlled via the system)).