feat: web layout — mobile-frame container on desktop browsers
This commit is contained in:
parent
e42412fef8
commit
0a6cde914c
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:flutter/foundation.dart' show kIsWeb;
|
||||
|
||||
import 'providers/app_settings_provider.dart';
|
||||
import 'providers/energy_setup_provider.dart';
|
||||
@ -156,6 +157,34 @@ class NymeaEnergyApp extends StatelessWidget {
|
||||
debugShowCheckedModeBanner: false,
|
||||
theme: AppTheme.theme,
|
||||
routerConfig: _router,
|
||||
builder: (context, child) {
|
||||
// Sur mobile natif, on rend tel quel
|
||||
if (!kIsWeb) return child!;
|
||||
// Sur web : si la fenêtre est déjà étroite (smartphone qui visite la PWA),
|
||||
// on rend plein écran. Sur desktop, on encadre dans un viewport "mobile".
|
||||
final width = MediaQuery.sizeOf(context).width;
|
||||
if (width < 600) return child!;
|
||||
return Container(
|
||||
color: const Color(0xFF0a1f2b), // navy ETM en arrière-plan
|
||||
alignment: Alignment.center,
|
||||
child: Container(
|
||||
constraints: const BoxConstraints(maxWidth: 440, maxHeight: 900),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(24),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Colors.black.withValues(alpha: 0.5),
|
||||
blurRadius: 40,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: ClipRRect(
|
||||
borderRadius: BorderRadius.circular(24),
|
||||
child: child,
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user