From 725d35aa5bdecb3a56a72bdd192e0a2f21b5f676 Mon Sep 17 00:00:00 2001 From: anhtunz Date: Tue, 8 Apr 2025 09:47:23 +0700 Subject: [PATCH] chore(ui): update device state colors to match web Change color and dynamic height table --- .../devices/devices_manager_screen.dart | 30 ++++++++++------ lib/product/theme/app_theme_light.dart | 24 ++----------- lib/product/utils/device_utils.dart | 34 ++++++++++--------- 3 files changed, 40 insertions(+), 48 deletions(-) diff --git a/lib/feature/devices/devices_manager_screen.dart b/lib/feature/devices/devices_manager_screen.dart index 6772f56..b2933ba 100644 --- a/lib/feature/devices/devices_manager_screen.dart +++ b/lib/feature/devices/devices_manager_screen.dart @@ -87,14 +87,15 @@ class _DevicesManagerScreenState extends State { stream: devicesManagerBloc.streamUserRole, initialData: role, builder: (context, roleSnapshot) { - return SizedBox( - height: context.dynamicHeight(0.4), + return SizedBox( + height: getTableHeight(allDeviceSnapshot.data?.length ?? 1), child: PaginatedDataTable2( + wrapInCard: false, headingRowHeight: 30, - columnSpacing: 30, + columnSpacing: 35, horizontalMargin: 10, fixedLeftColumns: 1, - autoRowsToHeight: true, + // autoRowsToHeight: true, renderEmptyRowsInTheEnd: false, dragStartBehavior: DragStartBehavior.down, minWidth: 950, @@ -146,11 +147,11 @@ class _DevicesManagerScreenState extends State { onPageChanged: (int pageIndex) { // log('Chuyen page: $pageIndex'); }, - // rowsPerPage: - // (allDeviceSnapshot.data?.length ?? 1) < 6 - // ? (allDeviceSnapshot.data?.length ?? - // 0) - // : 5, + rowsPerPage: + (allDeviceSnapshot.data?.length ?? 1) < 6 + ? (allDeviceSnapshot.data?.length ?? + 0) + : 5, actions: [ if (roleSnapshot.data == @@ -224,7 +225,16 @@ class _DevicesManagerScreenState extends State { void getUserRole() async { role = await apiServices.getUserRole(); - devicesManagerBloc.sinkUserRole.add(role); + devicesManagerBloc.sinkUserRole.add(role);F: + cd + } + + double getTableHeight(int dataLength){ + if(dataLength < 3){ + return context.dynamicHeight(0.3); + }else { + return context.dynamicHeight(0.4); + } } } diff --git a/lib/product/theme/app_theme_light.dart b/lib/product/theme/app_theme_light.dart index 926a48d..eff1192 100644 --- a/lib/product/theme/app_theme_light.dart +++ b/lib/product/theme/app_theme_light.dart @@ -1,6 +1,6 @@ import 'package:flex_color_scheme/flex_color_scheme.dart'; import 'package:flutter/material.dart'; -import 'package:sfm_app/product/theme/app_theme.dart'; +import 'app_theme.dart'; class AppThemeLight extends AppTheme { static AppThemeLight? _instance; @@ -29,27 +29,7 @@ class AppThemeLight extends AppTheme { navigationRailUseIndicator: true, navigationRailLabelType: NavigationRailLabelType.all, ), + visualDensity: FlexColorScheme.comfortablePlatformDensity, ); - // ThemeData.light().copyWith( - // useMaterial3: true, - // colorScheme: _buildColorScheme, - // ); - - // ColorScheme get _buildColorScheme => FlexColorScheme.light( - - // ).toScheme; - // const ColorScheme( - // brightness: Brightness.light, - // primary: Colors.black, - // onPrimary: Colors.white, - // secondary: Colors.black, - // onSecondary: Colors.black45, - // error: Colors.red, - // onError: Colors.orange, - // background: Colors.white, - // onBackground: Colors.red, - // surface: Colors.white, - // onSurface: Colors.black, - // ); } diff --git a/lib/product/utils/device_utils.dart b/lib/product/utils/device_utils.dart index ed45cb5..bc2373f 100644 --- a/lib/product/utils/device_utils.dart +++ b/lib/product/utils/device_utils.dart @@ -153,15 +153,15 @@ class DeviceUtils { Color getTableRowColor(BuildContext context, int state) { if (state == 1) { - return Colors.red; + return const Color(0xFFF57070); } else if (state == 0) { - return Colors.green; + return const Color(0xFF9EF16D); } else if (state == 2) { - return Colors.orange; + return const Color(0xFFF5EF44);; } else if (state == -1) { - return Colors.grey; + return const Color(0xFFBBBAC2);; } else { - return Theme.of(context).colorScheme.onSurface; + return const Color(0xFFF5EF44);; } } @@ -269,17 +269,19 @@ class DeviceUtils { } } - Color getColorRiple(int state) { - if (state == 1) { - return Colors.red; - } else if (state == 3) { - return Colors.orange; - } else if (state == -1) { - return Colors.grey; - } else { - return Colors.green; - } - } + // Color getColorRipple(int state) { + // if (state == 1) { + // return const Color(0xFFF57070); + // } else if (state == 0) { + // return const Color(0xFF9EF16D); + // } else if (state == 2) { + // return const Color(0xFFF5EF44);; + // } else if (state == -1) { + // return const Color(0xFFBBBAC2);; + // } else { + // return const Color(0xFFF5EF44);; + // } + // } List deviceBatteryImg = [ IconConstants.instance.getIcon("full-battery"),