727ef6e58f251fb0e85b9dbdcd30814c114372a5
SwiftUI's removal transition never actually played despite .id keying — the tip banner vanished instantly on dismiss. Replace it with explicit opacity/ offset driven by withAnimation in reflectBanner (gated by a .task(id: activeBanner) so presentation is reliable and prompt): a dismissal now fades out + slides up over 0.35s, and a tip→network swap crossfades. Uses the same state-driven pattern that fixed the HermesCall ticker fades.
Description
FuelBoard iOS app - England-wide petrol station prices (widget + app)
150 MiB
Languages
Swift
99%
Shell
1%