Skip to content

Opening hours in compose#6691

Merged
westnordost merged 60 commits into
masterfrom
opening_hours
Feb 1, 2026
Merged

Opening hours in compose#6691
westnordost merged 60 commits into
masterfrom
opening_hours

Conversation

@westnordost

@westnordost westnordost commented Jan 14, 2026

Copy link
Copy Markdown
Member

Re-did in compose:

  • opening hours quest
  • postbox collection times quest
  • parking fee quests (because it contains a opening hours form)

also fixes #6646, fixes #6175

Changes made to UI:

  • don't write "16:00+" but "from 16:00"
  • don't write "16:00-20:00+" but "16:00-20:00 until late"
  • better localization:
    • times are shown fully localized, also in the picker. E.g. in French-speaking Canada, times are commonly written like "16h00", in Korean, "오후 04:00", in Bulgarian, "16:00 ч.", in Dzongkha (Bhutan) "ཆུ་ཚོད་ 04 སྐར་མ་ 00 ཕྱི་ཆ་", etc...
    • in enumerations (e.g. "Mo, Tu, Fr-Su..."), use the correct comma / range character depending on the locale. E.g. in Japan, the range character is "~", in Chinese, Japanese etc. the comma is "、"
  • in postbox collection quest, can now select that actually a time range is specified (Collection times can be time range but only specific point of time supported #6646)
  • when specifying by months, must always specify some month (not allowed to leave blank) (opening hours that differ in e.g. summer are not displayed in resurvey #6175)
  • bit wider buttons so it is easier to tap on the opening hours elements
  • uses own wheel-picker based time picker now (i.e. not the dial-picker from android)
    • when adding times, picker defaults to a likely default time (so user has to scroll less or not at all): 9:00-18:00 for the first time for new weekdays, or one hour after the end of the previous time for existing weekdays

Screenshots

Re-survey
Screenshot_20260118_222642

with months
Screenshot_20260118_222611

dialogs (in Germany, with English locale)
Screenshot_20260118_222919
Screenshot_20260118_222907
Screenshot_20260118_222935

(parking) fee form: maxstay and restricted by times

Screen_recording_20260119_000908.webm
Screen_recording_20260119_000935.webm

@paulklie

Copy link
Copy Markdown
Collaborator

"no regular opening hours" seems to crash the app.

@paulklie

Copy link
Copy Markdown
Collaborator

Also: if you add months, then (accidentally) remove them, you cannot bring them "back" again: The "it differs by month" button does not do anything.

Looks really cool though, nice work!

@westnordost

Copy link
Copy Markdown
Member Author

Thanks for the bug reports!

@westnordost

Copy link
Copy Markdown
Member Author

(I will be on vacation for several weeks starting after this weekend, so this PR will be open for some more time. I also plan to release a bugfix release before my vacation.)

@paulklie

Copy link
Copy Markdown
Collaborator

(I will be on vacation for several weeks starting after this weekend, so this PR will be open for some more time. I also plan to release a bugfix release before my vacation.)

ok! will try to triage a bit more until then

@westnordost

Copy link
Copy Markdown
Member Author

Alright, all done, including self-review. I'll merge it when I am back from vacation.

@westnordost

Copy link
Copy Markdown
Member Author

That the popup menu / dropdown menu appears at the wrong location is somewhat... well, expected, or a known issue, see #6665

@westnordost westnordost moved this to Done (unreleased) in iOS Port Jan 19, 2026
@kmpoppe

kmpoppe commented Jan 20, 2026

Copy link
Copy Markdown
Collaborator

Just a quick point, while I'm out and about as well and wholly unable to read 3.8k changed lines (sorry!)

https://github.com/streetcomplete/StreetComplete/blob/master/app%2Fsrc%2FcommonMain%2Fkotlin%2Fde%2Fwestnordost%2Fstreetcomplete%2Fosm%2Fopening_hours%2Fmodel%2FTimeRange.kt#L32-L43

This creates "open end" answers like 16:00-20:00+ because you can't not select a time picker answer in the "closing time" dialog. Is that intentional? There might simply be no "minimum opening hours that could be extended", which is how I would read the above example?

Edit: oh, I'm supposed to pick the opening time as the closing time to get the result I was aiming for... This feels weird 🙃

K

@westnordost

westnordost commented Jan 20, 2026 via email

Copy link
Copy Markdown
Member Author

@paulklie

This comment was marked as duplicate.

@FloEdelmann

Copy link
Copy Markdown
Member

@paulklie Yes, see #6691 (comment).

@westnordost westnordost merged commit 9dfe781 into master Feb 1, 2026
@FloEdelmann FloEdelmann deleted the opening_hours branch February 1, 2026 22:09
@FloEdelmann FloEdelmann restored the opening_hours branch February 1, 2026 22:13
@FloEdelmann FloEdelmann deleted the opening_hours branch February 1, 2026 22:17
@westnordost westnordost moved this from Done (unreleased) to Released in iOS Port Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

iOS necessary for iOS port

Projects

Status: Released

Development

Successfully merging this pull request may close these issues.

Collection times can be time range but only specific point of time supported opening hours that differ in e.g. summer are not displayed in resurvey

5 participants