Christoph 67a5fd25de
LocationItem: group departures by line (#1295)
* group departures by line if more than one line depart from given stop

* code cleanup

* preselect line with nextDeparture

* add horizontal divider to improve legibility

* change LineFilterChip styling

* sort by lineType, then by lineName, animateScrollIntoView

* Show departure in minutes on single tap

also:
- replace `remember(time)` with `key(time)` where applicable to
  keep "in ... minutes" up to date
- only animate lineFilterChips into view once per card composition
- show old list for up to two lines
- disable departure list `onLongPress`
- ditch `detectDragGestures` since it does not do anything anyway...
  somehow scrolling the departure list will also scroll the search bar.

* set containerColor to secondary in lineFilterChip to improve legibility for white-ish primary colors

* More color rigamarole

* OCD code tweaks

* Don't use extension functions

* Split LocationItem into multiple subcomponents

* Adjust line colors

* Always use filter chips view for departures

* Limit departures to 8 per line, make list not scrollable

* Adjust spacing

* Add transition

* Improve line sorting

* Fix line chip spacing

* detectTabGestures -> combinedClickable

---------

Co-authored-by: MM20 <15646950+MM2-0@users.noreply.github.com>
2025-04-01 18:02:29 +02:00
..
2023-05-08 00:50:03 +02:00
2023-05-08 00:50:03 +02:00
2023-05-08 00:50:03 +02:00

Shared

This module contains code that is shared between the launcher app and the plugin SDK.

License

This module is licensed under the Apache License 2.0.

   Copyright 2023 MM2-0 and the Kvaesitso contributors

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.