Gerben321 / bike-care-tracker

Issue/Suggestion tracker for Bike Care app
3 stars 0 forks source link

Idea: Quick action to delay a service schedule #74

Closed Konstantin-Levin closed 3 weeks ago

Konstantin-Levin commented 1 month ago

One thing I’ve found that is missing from bike care and that is a feature of other apps is a function to delay a service schedule. This is something that happens to me frequently

An example being:

Of course this can be done 'manually' by editing the service schedule and changing the interval or the offset, but this feels a bit clumsy to me, and I then have to go back and edit the service again at some point.

Maybe a dedicated button on the service schedule page which when clicked, shows a pop up allowing user to enter a distance or time to delay by?

Screenshot 2024-04-12 at 17 13 05

Just a quick thought, there could be a better way to implement

Gerben321 commented 1 month ago

Interesting idea. So this adds a certain amount in the current interval? So you can add either hours or km/mi depending on the type of schedule?

I assume this will be reset at the next service that you register? Is that how it works?

Konstantin-Levin commented 1 month ago

Interesting idea. So this adds a certain amount in the current interval? So you can add either hours or km/mi depending on the type of schedule?

Yes I'm thinking of quite a simple pop which gives the user the option to delay only by whatever unit the service schedule was originally created with, be that hours/mi/km.

As I said, I realise the user can just edit the Offset (starts at) value to achieve the same effect, but I feel a 'delay' option would be easier to understand for the average user.

I don’t think there should be the option to change from a time to a distance interval here, as that is already easy to do in the Edit service schedule page

I assume this will be reset at the next service that you register? Is that how it works?

Yes only the upcoming service schedule is delayed, after that everything else should resume as normal

Gerben321 commented 1 month ago

Sounds good. I'll have a think about how to add this feature in the best way technically.

I haven't worked on bike care due to some more bike training for an upcoming event so I'm keen to get back to work on here!

Gerben321 commented 1 month ago

I've updated the buttons a little: image This should match the component list of buttons. Also, when you press the delay button you get this: image This gives a popup with a field with a distance/time/ride count to delay the schedule. This simply adds that to the '... left' text and percentage. That's what it is supposed to do right?

So the result is this if I add 1 hour: image

So if you have 20 hours left, and you delay it with 2 hours, you get 22 hours left. Same with distance or ride count.

Right now the delay can only be removed by registering new service. Maybe when you've got a delay I can also make a button that says 'remove delay' in case you want to get rid of it. 🤔

Let me know what you think so far. I've also updated the way the percentages are calculated, so it's an important change that we have to test properly to see if no percentages are calculated wrongly now. Once I've done some more testing and you think it's looking good I will publish the update.

Konstantin-Levin commented 4 weeks ago

That looks great, exactly what I had in mind! Thanks!

Perhaps the only small thing I'd change is the wording on the delay pop-up box just to make it absolutely clear. It could say something like "How long do you want to delay this service by" or "Choose how long to delay this service by"

Maybe when you've got a delay I can also make a button that says 'remove delay' in case you want to get rid of it.

I don’t have a strong opinion either way... If the user had set a delay and the same Delay service button just changed to Remove delay that would keep things looking clean.

One question I have is: will the option to delay the service be available regardless of status? That is to say whether it is good/almost overdue/overdue? In my thinking it would only show on an almost overdue/overdue service, but I guess it doesn't really matter?

Nice idea matching up the buttons to the component style 👍

Gerben321 commented 4 weeks ago

Good idea about the text, I'll add something there. Right now the button is always visible. It can't hurt I guess. 🤷🏻‍♂️

Gerben321 commented 3 weeks ago

I've added the text and changed the button. You can try it out now. Let me know what you think!

Konstantin-Levin commented 3 weeks ago

I've had a play around with it. Looks to be working well - just what I needed. Many thanks!