From b9c181c9448e896255eb0fbdccbeb4a7a9c29535 Mon Sep 17 00:00:00 2001 From: Mohammad Salameh Date: Thu, 25 Apr 2024 13:15:35 +0300 Subject: [PATCH] Added SmartLinkage page --- assets/icons/linkageIcons/doorLockAlarm.svg | 11 +++ assets/icons/linkageIcons/familyHome.svg | 6 ++ .../view/widgets/smart_door/door_grid.dart | 3 +- .../smart_door/smart_linkage_view.dart | 97 +++++++++++++++++++ .../text_widgets/custom_text_widget.dart | 1 + lib/generated/assets.dart | 4 + pubspec.yaml | 1 + 7 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 assets/icons/linkageIcons/doorLockAlarm.svg create mode 100644 assets/icons/linkageIcons/familyHome.svg create mode 100644 lib/features/devices/view/widgets/smart_door/smart_linkage_view.dart diff --git a/assets/icons/linkageIcons/doorLockAlarm.svg b/assets/icons/linkageIcons/doorLockAlarm.svg new file mode 100644 index 0000000..3452356 --- /dev/null +++ b/assets/icons/linkageIcons/doorLockAlarm.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/icons/linkageIcons/familyHome.svg b/assets/icons/linkageIcons/familyHome.svg new file mode 100644 index 0000000..d4b0a95 --- /dev/null +++ b/assets/icons/linkageIcons/familyHome.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/lib/features/devices/view/widgets/smart_door/door_grid.dart b/lib/features/devices/view/widgets/smart_door/door_grid.dart index 2149f41..425778a 100644 --- a/lib/features/devices/view/widgets/smart_door/door_grid.dart +++ b/lib/features/devices/view/widgets/smart_door/door_grid.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:syncrow_app/features/devices/view/widgets/smart_door/members_management_view.dart'; +import 'package:syncrow_app/features/devices/view/widgets/smart_door/smart_linkage_view.dart'; import 'package:syncrow_app/features/devices/view/widgets/smart_door/unlocking_records_view.dart'; import 'package:syncrow_app/features/shared_widgets/default_container.dart'; import 'package:syncrow_app/features/shared_widgets/text_widgets/body_small.dart'; @@ -84,6 +85,6 @@ List> doorLockButtons = [ { 'title': 'Smart Linkage', 'image': Assets.doorlockAssetsSmartLinkage, - 'page': null, + 'page': const SmartLinkgeView() }, ]; diff --git a/lib/features/devices/view/widgets/smart_door/smart_linkage_view.dart b/lib/features/devices/view/widgets/smart_door/smart_linkage_view.dart new file mode 100644 index 0000000..b3f2d25 --- /dev/null +++ b/lib/features/devices/view/widgets/smart_door/smart_linkage_view.dart @@ -0,0 +1,97 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:syncrow_app/features/shared_widgets/default_container.dart'; +import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart'; +import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart'; +import 'package:syncrow_app/features/shared_widgets/text_widgets/body_small.dart'; +import 'package:syncrow_app/generated/assets.dart'; + +class SmartLinkgeView extends StatelessWidget { + const SmartLinkgeView({super.key}); + + @override + Widget build(BuildContext context) { + return DefaultScaffold( + title: 'Scene', + child: Column( + children: [ + DefaultContainer( + padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 20), + child: Row( + children: [ + SizedBox( + width: 45, + height: 40, + child: SvgPicture.asset(Assets.linkageIconsFamilyHome), + ), + const SizedBox(width: 15), + const Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BodyLarge( + text: 'Family go home', + fontWeight: FontWeight.bold, + ), + BodySmall( + text: 'Trigger linkage when family member go home.', + ) + ], + ), + ), + const SizedBox(width: 10), + Transform.scale( + scale: 1, + child: CupertinoSwitch( + value: false, + onChanged: (value) {}, + applyTheme: true, + ), + ), + ], + ), + ), + const SizedBox(height: 10), + DefaultContainer( + padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 20), + child: Row( + children: [ + SizedBox( + width: 45, + height: 40, + child: SvgPicture.asset(Assets.linkageIconsDoorLockAlarm), + ), + const SizedBox(width: 15), + const Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BodyLarge( + text: 'Door Lock Alarm', + fontWeight: FontWeight.bold, + ), + BodySmall( + text: 'When door lock alarms, trigger linkage.', + ) + ], + ), + ), + const SizedBox(width: 10), + Transform.scale( + scale: 1, + child: CupertinoSwitch( + value: false, + onChanged: (value) {}, + applyTheme: true, + ), + ), + ], + ), + ), + ], + ), + ); + } +} diff --git a/lib/features/shared_widgets/text_widgets/custom_text_widget.dart b/lib/features/shared_widgets/text_widgets/custom_text_widget.dart index 2feb415..90d1faf 100644 --- a/lib/features/shared_widgets/text_widgets/custom_text_widget.dart +++ b/lib/features/shared_widgets/text_widgets/custom_text_widget.dart @@ -30,6 +30,7 @@ class CustomText extends StatelessWidget { Widget build(BuildContext context) { //was SelectableText return Text( + softWrap: true, text, style: style, textAlign: textAlign, diff --git a/lib/generated/assets.dart b/lib/generated/assets.dart index 76654d2..f7c6583 100644 --- a/lib/generated/assets.dart +++ b/lib/generated/assets.dart @@ -158,6 +158,10 @@ class Assets { static const String imagesTestDash2 = 'assets/images/test_dash2.png'; static const String imagesVector = 'assets/images/Vector.png'; static const String imagesWhiteLogo = 'assets/images/white-logo.png'; + static const String linkageIconsDoorLockAlarm = + 'assets/icons/linkageIcons/doorLockAlarm.svg'; + static const String linkageIconsFamilyHome = + 'assets/icons/linkageIcons/familyHome.svg'; static const String presenceSensorAssetsDistance = 'assets/icons/presence-sensor-assets/Distance.svg'; static const String presenceSensorAssetsEmpty = diff --git a/pubspec.yaml b/pubspec.yaml index 90f055e..62a332e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -55,6 +55,7 @@ flutter: - assets/icons/battery/dmOff/ - assets/icons/battery/dmOn/ - assets/icons/unlockingMethodsIcons/ + - assets/icons/linkageIcons/ fonts: - family: Aftika