I’ve run in to a couple of wants around the on-screen keyboard and think these could be really useful adds:
Conditional for if on-screen keyboard is/is not open
Workflow Action to Close on-screen keyboard
For some more color, the app I’m building where I ran in to this is a workout logging app (i.e. logging sets/reps). I want to be able to have a floating group that only appears when keyboard is present (#1) (btw, I am also taking advantage of new the “Move with keyboard” feature. Thanks for that) and provides some additional custom actions such as “next set”, “start [rest] timer”, or enter pre-programmed amounts. These would be irrelevant when keyboard is not present. I tried to do some conditionals around the inputs in an attempt to have the same functionality but cannot target inputs inside of a list. #2 I would like to be able to manually close the keyboard inside of a workflow after pressing one of the buttons on this menu or even on scroll rather than tapping a non-input element. If you’ve ever fiddled with trying to close a keyboard on a screen with lots of inputs before, even having a button like below to close the keyboard can be really useful.
Quick question: How are you getting the progress bar and the “timer” into the mobile app? I need a timer for a fitness assessment for firefighters and currently waiting on the plugin part to be launched, to see what it’s possible. But I’m a big fan of building native function as mostly as I can as well. Thanks!
For the timer, I set states for “timer_end” date/time and “timer_running” yes/no and have a workflow run every 1/10th/sec when the timer is running and updates a 3rd state “time_remaining” to “timer_end” - “current time”.
The progress bar isn’t quite fully functional yet. For now I just shoe-horned 10 conditionals in that change the width of a shape when (another state) “remaining_pct” gets to each 10th.
Probably not the most efficient but I tested to make sure this doesn’t involve the server and has been running well on my intentionally slow test iPhone SE 2 haha.
I figured it has to be some client side “do every certain seconds” and this is awesome. That’s exactly that creativity and workarounds with native components to recreate visuals. Thanks for confirming my suspicions!