wrap pages in SafeArea widget

This commit is contained in:
Mikkel Troels Kongsted 2025-03-06 10:55:20 +01:00
parent 3991b835fd
commit f58dfae118
4 changed files with 293 additions and 299 deletions

View File

@ -149,8 +149,7 @@ class CartPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return SafeArea(
child: Column(
return Column(
children: [
Expanded(
child: Consumer<CartRepo>(
@ -170,8 +169,7 @@ class CartPage extends StatelessWidget {
),
),
Container(
decoration:
const BoxDecoration(color: Color(0xFFFFFFFF), boxShadow: [
decoration: const BoxDecoration(color: Color(0xFFFFFFFF), boxShadow: [
BoxShadow(
blurRadius: 10,
spreadRadius: -4,
@ -190,8 +188,7 @@ class CartPage extends StatelessWidget {
final inputController = TextEditingController();
showDialog(
context: context,
builder: (BuildContext context) =>
AlertDialog(
builder: (BuildContext context) => AlertDialog(
title: const Text(
"Indtast stregkode nummer"),
content: TextField(
@ -209,11 +206,9 @@ class CartPage extends StatelessWidget {
context.read<ProductRepo>();
final CartRepo cartRepo =
context.read<CartRepo>();
final productResult =
productRepo
final productResult = productRepo
.productWithBarcode(
inputController
.text);
inputController.text);
switch (productResult) {
case Ok<Product, String>():
cartRepo.addToCart(
@ -221,15 +216,13 @@ class CartPage extends StatelessWidget {
final snackBar = SnackBar(
content: Text(
"Tilføjet ${productResult.value.name} til indkøbskurven"));
ScaffoldMessenger.of(
context)
ScaffoldMessenger.of(context)
.showSnackBar(snackBar);
case Err<Product, String>():
final snackBar = const SnackBar(
content: Text(
"Den indtastede stregkode eksistere ikke"));
ScaffoldMessenger.of(
context)
ScaffoldMessenger.of(context)
.showSnackBar(snackBar);
}
Navigator.of(context).pop();
@ -270,8 +263,7 @@ class CartPage extends StatelessWidget {
}
final CartRepo cartRepo =
context.read<CartRepo>();
final productRepo =
context.read<ProductRepo>();
final productRepo = context.read<ProductRepo>();
final productResult = productRepo
.productWithBarcode(result.rawContent);
switch (productResult) {
@ -333,7 +325,6 @@ class CartPage extends StatelessWidget {
),
),
],
),
);
}
}

View File

@ -63,7 +63,7 @@ class Dashboard extends StatelessWidget {
label: "Kvitteringer")
],
),
body: pages[currentIndex],
body: SafeArea(child: pages[currentIndex]),
);
}
}

View File

@ -10,8 +10,7 @@ class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return SafeArea(
child: Column(
return Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.end,
@ -52,7 +51,6 @@ class HomePage extends StatelessWidget {
),
),
],
),
);
}
}

View File

@ -17,7 +17,8 @@ class ProductPage extends StatelessWidget {
final AddToCartStateRepo addToCartStateRepo =
context.watch<AddToCartStateRepo>();
return Scaffold(
body: Card(
body: SafeArea(
child: Card(
color: Colors.white,
margin: const EdgeInsets.all(10),
child: Container(
@ -56,7 +57,8 @@ class ProductPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Image(
image: AssetImage("assets/products/${product.name}.png"),
image:
AssetImage("assets/products/${product.name}.png"),
errorBuilder: (_, __, ___) => const Image(
image: AssetImage("assets/placeholder.png")),
height: 250,
@ -90,10 +92,12 @@ class ProductPage extends StatelessWidget {
'Tilføjet ${addToCartStateRepo.currentAmount} ${product.name} til kurven'),
duration: const Duration(seconds: 2),
);
ScaffoldMessenger.of(context).removeCurrentSnackBar();
ScaffoldMessenger.of(context)
.removeCurrentSnackBar();
final cartRepo = context.read<CartRepo>();
cartRepo.addToCart(product);
ScaffoldMessenger.of(context).showSnackBar(snackBar);
ScaffoldMessenger.of(context)
.showSnackBar(snackBar);
},
child: const Text("Tilføj til indkøbskurv")),
],
@ -103,6 +107,7 @@ class ProductPage extends StatelessWidget {
]),
),
),
),
);
}
}