Compare commits

..

1 Commits

3 changed files with 83 additions and 118 deletions

View File

@ -40,17 +40,18 @@ class DeviceManagementPage extends StatelessWidget with HelperResponsiveLayout {
style: TextButton.styleFrom( style: TextButton.styleFrom(
backgroundColor: null, backgroundColor: null,
), ),
onPressed: () { onPressed: !state.routineTab
BlocProvider.of<CreateRoutineBloc>(context) ? null
.add(const ResetSelectedEvent()); : () {
BlocProvider.of<CreateRoutineBloc>(context)
.add(const ResetSelectedEvent());
context context.read<RoutineBloc>().add(
.read<RoutineBloc>() const TriggerSwitchTabsEvent(isRoutineTab: false));
.add(const TriggerSwitchTabsEvent(isRoutineTab: false)); context
context .read<DeviceManagementBloc>()
.read<DeviceManagementBloc>() .add(FetchDevices(context));
.add(FetchDevices(context)); },
},
child: Text( child: Text(
'Devices', 'Devices',
style: context.textTheme.titleMedium?.copyWith( style: context.textTheme.titleMedium?.copyWith(
@ -66,14 +67,15 @@ class DeviceManagementPage extends StatelessWidget with HelperResponsiveLayout {
style: TextButton.styleFrom( style: TextButton.styleFrom(
backgroundColor: null, backgroundColor: null,
), ),
onPressed: () { onPressed: state.routineTab
BlocProvider.of<CreateRoutineBloc>(context) ? null
.add(const ResetSelectedEvent()); : () {
BlocProvider.of<CreateRoutineBloc>(context)
.add(const ResetSelectedEvent());
context context.read<RoutineBloc>().add(
.read<RoutineBloc>() const TriggerSwitchTabsEvent(isRoutineTab: true));
.add(const TriggerSwitchTabsEvent(isRoutineTab: true)); },
},
child: Text( child: Text(
'Routines', 'Routines',
style: context.textTheme.titleMedium?.copyWith( style: context.textTheme.titleMedium?.copyWith(

View File

@ -1,12 +1,10 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_svg/svg.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/devices_model.dart'; import 'package:syncrow_web/pages/device_managment/all_devices/models/devices_model.dart';
import 'package:syncrow_web/pages/device_managment/device_setting/settings_model/device_info_model.dart'; import 'package:syncrow_web/pages/device_managment/device_setting/settings_model/device_info_model.dart';
import 'package:syncrow_web/pages/device_managment/device_setting/settings_model/sub_space_model.dart'; import 'package:syncrow_web/pages/device_managment/device_setting/settings_model/sub_space_model.dart';
import 'package:syncrow_web/pages/device_managment/device_setting/sub_space_dialog.dart'; import 'package:syncrow_web/pages/device_managment/device_setting/sub_space_dialog.dart';
import 'package:syncrow_web/utils/color_manager.dart'; import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/constants/assets.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart'; import 'package:syncrow_web/utils/extension/build_context_x.dart';
import 'package:syncrow_web/web_layout/default_container.dart'; import 'package:syncrow_web/web_layout/default_container.dart';
@ -30,7 +28,7 @@ class DeviceManagementContent extends StatelessWidget {
Widget? trailing, Widget? trailing,
required Color? valueColor}) { required Color? valueColor}) {
return Padding( return Padding(
padding: const EdgeInsets.symmetric(vertical: 10.0, horizontal: 10), padding: const EdgeInsets.symmetric(vertical: 6.0),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
@ -41,7 +39,6 @@ class DeviceManagementContent extends StatelessWidget {
color: ColorsManager.grayColor, color: ColorsManager.grayColor,
), ),
), ),
const SizedBox(width: 15),
Expanded( Expanded(
child: Text( child: Text(
value, value,
@ -51,7 +48,7 @@ class DeviceManagementContent extends StatelessWidget {
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
), ),
), ),
const SizedBox(width: 12), const SizedBox(width: 8),
trailing ?? const SizedBox.shrink(), trailing ?? const SizedBox.shrink(),
], ],
), ),
@ -76,15 +73,15 @@ class DeviceManagementContent extends StatelessWidget {
); );
}, },
child: infoRow( child: infoRow(
label: 'Sub-Space:', label: 'Sub-Space:',
value: deviceInfo.subspace.subspaceName, value: deviceInfo.subspace.subspaceName,
valueColor: ColorsManager.blackColor, valueColor: ColorsManager.textGray,
trailing: SvgPicture.asset( trailing: const Icon(
Assets.arrowDown, Icons.arrow_forward_ios,
width: 10, size: 16,
height: 10, color: ColorsManager.greyColor,
color: ColorsManager.greyColor, ),
)), ),
), ),
), ),
const Divider(color: ColorsManager.dividerColor), const Divider(color: ColorsManager.dividerColor),
@ -107,7 +104,7 @@ class DeviceManagementContent extends StatelessWidget {
}, },
child: const Icon( child: const Icon(
Icons.copy, Icons.copy,
size: 15, size: 16,
color: ColorsManager.greyColor, color: ColorsManager.greyColor,
), ),
), ),

View File

@ -51,7 +51,8 @@ class DeviceSettingsPanel extends StatelessWidget {
Container( Container(
width: MediaQuery.of(context).size.width * 0.3, width: MediaQuery.of(context).size.width * 0.3,
color: ColorsManager.grey25, color: ColorsManager.grey25,
padding: const EdgeInsets.all(10), padding: const EdgeInsets.symmetric(
horizontal: 20, vertical: 24),
child: ListView( child: ListView(
children: [ children: [
Row( Row(
@ -69,43 +70,37 @@ class DeviceSettingsPanel extends StatelessWidget {
children: [ children: [
Text( Text(
'Device Settings', 'Device Settings',
style: context.theme.textTheme.titleLarge! style:
.copyWith( context.theme.textTheme.titleLarge!.copyWith(
fontWeight: FontWeight.w700, fontWeight: FontWeight.bold,
color: ColorsManager.vividBlue color: ColorsManager.primaryColor,
.withOpacity(0.7), ),
fontSize: 24),
), ),
], ],
), ),
const SizedBox(height: 24), const SizedBox(height: 24),
DefaultContainer( DefaultContainer(
borderRadius: BorderRadius.circular(15),
child: Row( child: Row(
children: [ children: [
Padding( CircleAvatar(
padding: const EdgeInsets.only(left: 15), radius: 40,
backgroundColor:
const Color.fromARGB(177, 213, 213, 213),
child: CircleAvatar( child: CircleAvatar(
radius: 38, backgroundColor: ColorsManager.whiteColors,
backgroundColor: radius: 36,
ColorsManager.grayBorder.withOpacity(0.5), child: SvgPicture.asset(
child: CircleAvatar( iconPath,
backgroundColor: ColorsManager.whiteColors, fit: BoxFit.cover,
radius: 36,
child: SvgPicture.asset(
iconPath,
fit: BoxFit.cover,
),
), ),
), ),
), ),
const SizedBox(width: 25), const SizedBox(width: 12),
Expanded( Expanded(
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
const SizedBox(height: 15),
Text( Text(
'Device Name:', 'Device Name:',
style: context.textTheme.bodyMedium! style: context.textTheme.bodyMedium!
@ -113,79 +108,50 @@ class DeviceSettingsPanel extends StatelessWidget {
color: ColorsManager.grayColor, color: ColorsManager.grayColor,
), ),
), ),
SizedBox( TextFormField(
height: 35, maxLength: 30,
child: Row( style: const TextStyle(
children: [ color: ColorsManager.blackColor,
SizedBox( ),
height: 50, textAlign: TextAlign.start,
width: 190, focusNode: _bloc.focusNode,
child: TextFormField( controller: _bloc.nameController,
scrollPadding: EdgeInsets.zero, enabled: _bloc.editName,
maxLength: 30, onFieldSubmitted: (value) {
style: const TextStyle( _bloc.add(const ChangeNameEvent(
color: ColorsManager.blackColor, value: false));
fontSize: 16, },
), decoration: const InputDecoration(
textAlign: TextAlign.start, border: InputBorder.none,
focusNode: _bloc.focusNode, fillColor: Colors.white10,
controller: _bloc.nameController, counterText: '',
enabled: _bloc.editName,
onFieldSubmitted: (value) {
_bloc.add(const ChangeNameEvent(
value: false));
},
decoration: InputDecoration(
isDense: true,
contentPadding: EdgeInsets.zero,
border: InputBorder.none,
fillColor: Colors.white10,
counterText: '',
),
),
),
Column(
children: [
SizedBox(
width: 15,
height: 25,
child: Visibility(
visible:
_bloc.editName != true,
replacement: const SizedBox(),
child: InkWell(
onTap: () {
_bloc.add(
const ChangeNameEvent(
value: true));
},
child: SvgPicture.asset(
Assets
.editNameIconSettings,
color: ColorsManager
.lightGrayBorderColor,
height: 15,
width: 15,
),
),
),
),
],
),
],
), ),
), ),
], ],
), ),
), ),
const SizedBox(width: 8),
Visibility(
visible: _bloc.editName != true,
replacement: const SizedBox(),
child: GestureDetector(
onTap: () {
_bloc.add(
const ChangeNameEvent(value: true));
},
child: SvgPicture.asset(
Assets.editNameIconSettings,
color: ColorsManager.grayColor,
height: 20,
width: 20,
),
),
)
], ],
), ),
), ),
const SizedBox(height: 32), const SizedBox(height: 32),
Padding( Text('Device Management', style: sectionTitle),
padding: const EdgeInsets.only(left: 10),
child: Text('Device Management', style: sectionTitle),
),
DeviceManagementContent( DeviceManagementContent(
device: device, device: device,
subSpaces: subSpaces.cast<SubSpaceModel>(), subSpaces: subSpaces.cast<SubSpaceModel>(),