fix: harden whole-app responsive and theme behavior

This commit is contained in:
Developer 2026-09-05 06:49:51 -04:00
parent 5c61a2b749
commit 472b1ac994
4 changed files with 1214 additions and 42 deletions

View File

@ -145,7 +145,7 @@ class _RouteDetailScreenState extends ConsumerState<RouteDetailScreen> {
child: CircularProgressIndicator(color: colors.cyberCyan), child: CircularProgressIndicator(color: colors.cyberCyan),
), ),
error: (err, _) => Center( error: (err, _) => Center(
child: Padding( child: SingleChildScrollView(
padding: const EdgeInsets.all(24.0), padding: const EdgeInsets.all(24.0),
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@ -383,7 +383,9 @@ class _RouteDetailScreenState extends ConsumerState<RouteDetailScreen> {
List<AppMapMarker> markers, List<AppMapMarker> markers,
List<AppPolyline> polylines, List<AppPolyline> polylines,
) { ) {
final double mapHeight = snapshot.height < 450 ? 140 : 220; final double mapHeight = snapshot.height < 360
? 96
: (snapshot.height < 450 ? 140 : 220);
return SingleChildScrollView( return SingleChildScrollView(
child: Column( child: Column(

View File

@ -707,8 +707,8 @@ class _RoutePlannerScreenState extends ConsumerState<RoutePlannerScreen> {
// Generous space (>= 620dp): 220dp // Generous space (>= 620dp): 220dp
// Moderate space (500–619dp): 160dp // Moderate space (500–619dp): 160dp
// Constrained space (380–499dp, e.g. IME keyboard open): 110dp // Constrained space (380–499dp, e.g. IME keyboard open): 110dp
// Severely constrained space (280–379dp, e.g. landscape): 70dp // Severely constrained space (340–379dp): 60dp
// Extreme constraint (< 280dp): 0dp (collapses so inputs stay visible and editable) // Extreme constraint (< 340dp, e.g. 640x320 landscape): 0dp (collapses so inputs stay visible and editable)
final double mapHeight; final double mapHeight;
final bool showDisclaimer; final bool showDisclaimer;
if (snapshot.height >= 620) { if (snapshot.height >= 620) {
@ -720,8 +720,8 @@ class _RoutePlannerScreenState extends ConsumerState<RoutePlannerScreen> {
} else if (snapshot.height >= 380) { } else if (snapshot.height >= 380) {
mapHeight = 110.0; mapHeight = 110.0;
showDisclaimer = false; showDisclaimer = false;
} else if (snapshot.height >= 280) { } else if (snapshot.height >= 340) {
mapHeight = 70.0; mapHeight = 60.0;
showDisclaimer = false; showDisclaimer = false;
} else { } else {
mapHeight = 0.0; mapHeight = 0.0;

View File

@ -413,9 +413,10 @@ class _FriendsScreenState extends ConsumerState<FriendsScreen>
), ),
data: (friends) { data: (friends) {
if (friends.isEmpty) { if (friends.isEmpty) {
return Center( return SingleChildScrollView(
child: Center(
child: Padding( child: Padding(
padding: const EdgeInsets.all(32.0), padding: const EdgeInsets.all(24.0),
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
@ -453,6 +454,7 @@ class _FriendsScreenState extends ConsumerState<FriendsScreen>
], ],
), ),
), ),
),
); );
} }

File diff suppressed because it is too large Load Diff