Mobile adaptive updates

This commit is contained in:
2024-05-13 15:28:44 +03:00
parent 51b0cbe89b
commit e177c81f8b
6 changed files with 70 additions and 15 deletions

View File

@@ -180,6 +180,21 @@ class _BasketPageState extends State<BasketPage> {
);
}
Widget _buildRowOrCol(
{required BuildContext context, required List<Widget> children}) {
if (MediaQuery.of(context).size.width > 600) {
return Row(children: children);
}
return Column(children: children);
}
Widget _buildSpacer() {
if (MediaQuery.of(context).size.width > 600) {
return const Spacer();
}
return const SizedBox(height: 10);
}
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -213,7 +228,8 @@ class _BasketPageState extends State<BasketPage> {
),
)
: Expanded(
child: Row(
child: _buildRowOrCol(
context: context,
children: [
Expanded(
child: ListView.builder(
@@ -236,7 +252,7 @@ class _BasketPageState extends State<BasketPage> {
},
),
),
const Spacer(),
_buildSpacer(),
Padding(
padding: const EdgeInsetsDirectional.symmetric(
horizontal: 10, vertical: 10),

View File

@@ -41,6 +41,23 @@ class _DetailPageState extends State<DetailPage> {
});
}
Widget _buildRowOrCol(
{required List<Widget> children,
required BuildContext context,
MainAxisAlignment mainAxisAlignment = MainAxisAlignment.spaceAround,
CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center}) {
// if (false && MediaQuery.of(context).size.width > 600) {
// return Row(
// mainAxisAlignment: mainAxisAlignment,
// crossAxisAlignment: crossAxisAlignment,
// children: children);
// }
return Column(
mainAxisAlignment: mainAxisAlignment,
crossAxisAlignment: crossAxisAlignment,
children: children);
}
Widget _buildButton() {
if (!isInCart) {
return ElevatedButton(
@@ -100,22 +117,22 @@ class _DetailPageState extends State<DetailPage> {
return Scaffold(
appBar: const GymLinkAppBar(),
body: Column(mainAxisAlignment: MainAxisAlignment.start, children: [
GymLinkHeader(title: '${widget.name} - ${widget.id}'),
GymLinkHeader(title: widget.name),
Expanded(
child: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(20),
child: SizedBox(
width: MediaQuery.sizeOf(context).width,
height: MediaQuery.sizeOf(context).height,
child: Row(
// height: MediaQuery.sizeOf(context).height,
child: _buildRowOrCol(
context: context,
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
widget.image,
Padding(
padding:
const EdgeInsetsDirectional.fromSTEB(0, 30, 60, 60),
padding: const EdgeInsetsDirectional.all(30),
child: ConstrainedBox(
constraints: const BoxConstraints(
minWidth: 340,
@@ -130,8 +147,7 @@ class _DetailPageState extends State<DetailPage> {
),
child: SingleChildScrollView(
child: Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
20, 15, 10, 15),
padding: const EdgeInsetsDirectional.all(15),
child: ConstrainedBox(
constraints: const BoxConstraints(
minHeight: 100,
@@ -150,7 +166,7 @@ class _DetailPageState extends State<DetailPage> {
alignment: const AlignmentDirectional(0, -1),
child: Padding(
padding:
const EdgeInsetsDirectional.fromSTEB(0, 60, 0, 0),
const EdgeInsetsDirectional.fromSTEB(0, 30, 0, 0),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [