feat: replace ListView with SingleChildScrollView for better layout in admin panels
Test Suite / test (24.15.0) (push) Has been cancelled

This commit is contained in:
Nils-Johan Gynther
2026-05-08 16:31:09 +02:00
parent a5273158e2
commit e3bbd7d99e
4 changed files with 55 additions and 46 deletions
@@ -296,13 +296,16 @@ class _AdminAliasesPanelState extends ConsumerState<AdminAliasesPanel> {
if (filteredAliases.isEmpty) return content;
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
content,
const SizedBox(height: 8),
Expanded(child: buildAliasList()),
],
return SingleChildScrollView(
padding: const EdgeInsets.all(12),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
content,
const SizedBox(height: 8),
...filteredAliases.map(buildAliasCard),
],
),
);
}
}
@@ -140,16 +140,19 @@ class _AdminPendingProductsPanelState
if (!widget.embedded) return content;
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
context.l10n.adminPendingDescription,
style: theme.textTheme.bodyMedium,
),
const SizedBox(height: 12),
Expanded(child: content),
],
return SingleChildScrollView(
padding: const EdgeInsets.all(12),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
context.l10n.adminPendingDescription,
style: theme.textTheme.bodyMedium,
),
const SizedBox(height: 12),
content,
],
),
);
}
}
@@ -738,9 +738,9 @@ class _AdminProductsPanelState extends ConsumerState<AdminProductsPanel> {
);
}
return ListView(
padding: EdgeInsets.zero,
children: [content],
return SingleChildScrollView(
padding: const EdgeInsets.all(12),
child: content,
);
}
}
@@ -349,33 +349,36 @@ class _AdminUsersPanelState extends ConsumerState<AdminUsersPanel> {
return list;
}
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Expanded(
child: Text(
context.l10n.adminUsersDescription,
style: theme.textTheme.bodyMedium,
return SingleChildScrollView(
padding: const EdgeInsets.all(12),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Expanded(
child: Text(
context.l10n.adminUsersDescription,
style: theme.textTheme.bodyMedium,
),
),
),
IconButton(
icon: const Icon(Icons.refresh),
tooltip: 'Uppdatera',
onPressed: _load,
),
],
),
const SizedBox(height: 8),
FilledButton.icon(
onPressed: _createUser,
icon: const Icon(Icons.person_add_outlined),
label: Text(context.l10n.adminNewUser),
),
const SizedBox(height: 16),
Expanded(child: list),
],
IconButton(
icon: const Icon(Icons.refresh),
tooltip: 'Uppdatera',
onPressed: _load,
),
],
),
const SizedBox(height: 8),
FilledButton.icon(
onPressed: _createUser,
icon: const Icon(Icons.person_add_outlined),
label: Text(context.l10n.adminNewUser),
),
const SizedBox(height: 16),
list,
],
),
);
}
}