Implement Tag Assignment and Device Addition Features:

- Introduced AssignTagsDialog for assigning tags to devices, enhancing user interaction and organization.
- Added AddDeviceTypeWidget for adding new device types, improving the flexibility of device management.
- Created ProductTypeCard and ProductTypeCardCounter for better representation and interaction with device types.
- Enhanced AssignTagsTable for displaying and managing product allocations, improving maintainability and user experience.
This commit is contained in:
Faris Armoush
2025-07-06 16:54:15 +03:00
parent e234c9f3b2
commit bb846f797f
7 changed files with 641 additions and 2 deletions

View File

@ -3,6 +3,7 @@ import 'package:flutter_svg/svg.dart';
import 'package:syncrow_web/common/edit_chip.dart';
import 'package:syncrow_web/pages/space_management_v2/modules/space_details/domain/models/space_details_model.dart';
import 'package:syncrow_web/pages/space_management_v2/modules/space_details/presentation/widgets/button_content_widget.dart';
import 'package:syncrow_web/pages/space_management_v2/modules/tags/presentation/widgets/assign_tags_dialog.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/constants/assets.dart';
import 'package:syncrow_web/utils/enum/device_types.dart';
@ -63,14 +64,14 @@ class SpaceDetailsDevicesBox extends StatelessWidget {
),
),
EditChip(
onTap: () {},
onTap: () => _showAssignTagsDialog(context),
),
],
),
);
} else {
return TextButton(
onPressed: () {},
onPressed: () => _showAssignTagsDialog(context),
style: TextButton.styleFrom(
padding: EdgeInsets.zero,
),
@ -85,6 +86,13 @@ class SpaceDetailsDevicesBox extends StatelessWidget {
}
}
void _showAssignTagsDialog(BuildContext context) {
showDialog<void>(
context: context,
builder: (context) => AssignTagsDialog(space: space),
);
}
String _getDeviceIcon(String productType) =>
switch (devicesTypesMap[productType]) {
DeviceType.LightBulb => Assets.lightBulb,