Refactor Widgets for Improved UI Consistency and Usability:

- Replaced Text with SelectableText in AddDeviceTypeWidget and AssignTagsTable for better text selection and accessibility.
- Simplified onCancel action in AssignTagsDialog for improved readability.
- Enhanced ProductsGrid layout by removing unnecessary Column widget, streamlining the widget structure for better performance and maintainability.
This commit is contained in:
Faris Armoush
2025-07-07 10:36:42 +03:00
parent 66ed30b50c
commit e917225c3d
4 changed files with 27 additions and 33 deletions

View File

@ -17,7 +17,7 @@ class AddDeviceTypeWidget extends StatelessWidget {
..add(const LoadProducts()),
child: Builder(
builder: (context) => AlertDialog(
title: const Text('Add Devices'),
title: const SelectableText('Add Devices'),
backgroundColor: ColorsManager.whiteColors,
content: BlocBuilder<ProductsBloc, ProductsState>(
builder: (context, state) => switch (state) {

View File

@ -25,12 +25,10 @@ class AssignTagsDialog extends StatelessWidget {
actions: [
SpaceDetailsActionButtons(
onSave: () {},
onCancel: () {
showDialog<void>(
onCancel: () => showDialog<void>(
context: context,
builder: (context) => const AddDeviceTypeWidget(),
);
},
),
cancelButtonLabel: 'Add New Device',
),
],

View File

@ -42,7 +42,8 @@ class _AssignTagsTableState extends State<AssignTagsTable> {
}
DataColumn _buildDataColumn(String label) {
return DataColumn(label: Text(label, style: context.textTheme.bodyMedium));
return DataColumn(
label: SelectableText(label, style: context.textTheme.bodyMedium));
}
@override
@ -69,7 +70,7 @@ class _AssignTagsTableState extends State<AssignTagsTable> {
cells: [
DataCell(
Center(
child: Text(
child: SelectableText(
'No Devices Available',
style: context.textTheme.bodyMedium?.copyWith(
color: ColorsManager.lightGrayColor,

View File

@ -25,10 +25,7 @@ class ProductsGrid extends StatelessWidget {
color: ColorsManager.textFieldGreyColor,
borderRadius: BorderRadius.circular(8),
),
child: Column(
children: [
const SizedBox(height: 16),
Expanded(
child: Expanded(
child: GridView.builder(
padding: const EdgeInsets.symmetric(
horizontal: 20,
@ -49,8 +46,6 @@ class ProductsGrid extends StatelessWidget {
),
),
),
],
),
),
);
}