mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-11-26 21:34:56 +00:00
dart fix --apply to remove unused imports and fixed some pages layouts
This commit is contained in:
@ -1,15 +1,11 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
|
||||
import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart';
|
||||
import 'package:syncrow_app/features/app_layout/view/widgets/app_body.dart';
|
||||
import 'package:syncrow_app/features/app_layout/view/widgets/default_app_bar.dart';
|
||||
import 'package:syncrow_app/features/app_layout/view/widgets/default_nav_bar.dart';
|
||||
import 'package:syncrow_app/features/devices/view/widgets/smart_door/smart_linkage_view.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
|
||||
import 'package:syncrow_app/utils/helpers/custom_page_route.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
|
||||
class AppLayout extends StatelessWidget {
|
||||
const AppLayout({super.key});
|
||||
|
||||
@ -3,7 +3,6 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
|
||||
import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart';
|
||||
|
||||
import 'package:syncrow_app/generated/assets.dart';
|
||||
|
||||
class AppBody extends StatelessWidget {
|
||||
const AppBody({
|
||||
|
||||
@ -5,7 +5,6 @@ import 'package:syncrow_app/features/dashboard/view/widgets/carbon_emission.dart
|
||||
import 'package:syncrow_app/features/dashboard/view/widgets/consumption.dart';
|
||||
import 'package:syncrow_app/features/dashboard/view/widgets/live_monitor_tab.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/title_medium.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/constants.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/strings_manager.dart';
|
||||
|
||||
import 'widgets/energy_usage.dart';
|
||||
|
||||
@ -144,7 +144,6 @@ class ParameterControlDialogState extends State<ParameterControlDialog> {
|
||||
return;
|
||||
}
|
||||
if (!widget.sensor.isOnline!) {
|
||||
debugPrint('Device is offline');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/devices/view/widgets/smart_door/members_management_view.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_medium.dart';
|
||||
import 'package:syncrow_app/utils/context_extension.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/constants.dart';
|
||||
|
||||
class AddMemberInterface extends StatelessWidget {
|
||||
const AddMemberInterface({super.key, required this.memberRole});
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/devices/view/widgets/smart_door/add_member_interface.dart';
|
||||
import 'package:syncrow_app/features/devices/view/widgets/smart_door/members_management_view.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_medium.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_small.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/constants.dart';
|
||||
|
||||
class AddMemberView extends StatelessWidget {
|
||||
const AddMemberView({super.key});
|
||||
|
||||
@ -8,6 +8,7 @@ import 'package:syncrow_app/utils/context_extension.dart';
|
||||
import 'package:syncrow_app/utils/helpers/custom_page_route.dart';
|
||||
import 'package:syncrow_app/utils/helpers/misc_string_helpers.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/constants.dart';
|
||||
|
||||
class MembersManagementView extends StatefulWidget {
|
||||
const MembersManagementView({super.key});
|
||||
@ -177,104 +178,3 @@ class _MembersManagementViewState extends State<MembersManagementView> {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
enum MemberRole {
|
||||
FamilyMember,
|
||||
OtherMember,
|
||||
}
|
||||
|
||||
//TODO sort memebers by role
|
||||
List<Map<String, Object>> members = [
|
||||
{
|
||||
'name': 'member 1',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 2',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 3',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 4',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 5',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 6',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 7',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 8',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 9',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 10',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 11',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 12',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 13',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 14',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 15',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 16',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 17',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 18',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 19',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 20',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 21',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 22',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 23',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
];
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_button.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';
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
// ignore_for_file: constant_identifier_names
|
||||
|
||||
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_scaffold.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
|
||||
|
||||
@ -2,19 +2,14 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:syncrow_app/features/auth/bloc/auth_cubit.dart';
|
||||
import 'package:syncrow_app/features/menu/bloc/menu_cubit.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/home%20management/create_home_view.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/join_home/join_home_view.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/manage_home/manage_home_view.dart';
|
||||
|
||||
import 'package:syncrow_app/features/menu/view/widgets/menu_list.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/privacy/privacy_view.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/profile/profile_tab.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/securty/securty_view.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart';
|
||||
import 'package:syncrow_app/generated/assets.dart';
|
||||
|
||||
import 'package:syncrow_app/navigation/routing_constants.dart';
|
||||
import 'package:syncrow_app/utils/context_extension.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/constants.dart';
|
||||
|
||||
class MenuView extends StatelessWidget {
|
||||
@ -28,50 +23,42 @@ class MenuView extends StatelessWidget {
|
||||
builder: (context, state) {
|
||||
return BlocBuilder<AuthCubit, AuthState>(
|
||||
builder: (context, state) {
|
||||
return Padding(
|
||||
padding: EdgeInsets.only(
|
||||
top: Constants.appBarHeight,
|
||||
bottom: Constants.bottomNavBarHeight,
|
||||
left: Constants.defaultPadding,
|
||||
right: Constants.defaultPadding,
|
||||
),
|
||||
child: SingleChildScrollView(
|
||||
physics: const BouncingScrollPhysics(),
|
||||
child: Column(
|
||||
children: [
|
||||
const ProfileTab(),
|
||||
for (var section in menuSections)
|
||||
MenuList(
|
||||
section: section,
|
||||
),
|
||||
const SizedBox(
|
||||
height: 15,
|
||||
return SingleChildScrollView(
|
||||
physics: const BouncingScrollPhysics(),
|
||||
child: Column(
|
||||
children: [
|
||||
const ProfileTab(),
|
||||
for (var section in menuSections)
|
||||
MenuList(
|
||||
section: section,
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
AuthCubit.get(context).logout();
|
||||
Navigator.of(context).pushNamedAndRemoveUntil(
|
||||
Routes.authLogin, (route) => false);
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: DefaultContainer(
|
||||
child: Center(
|
||||
child: BodyLarge(
|
||||
text: 'Logout',
|
||||
style: context.bodyLarge.copyWith(
|
||||
color: Colors.red,
|
||||
),
|
||||
const SizedBox(
|
||||
height: 15,
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
AuthCubit.get(context).logout();
|
||||
Navigator.of(context).pushNamedAndRemoveUntil(
|
||||
Routes.authLogin, (route) => false);
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: DefaultContainer(
|
||||
child: Center(
|
||||
child: BodyLarge(
|
||||
text: 'Logout',
|
||||
style: context.bodyLarge.copyWith(
|
||||
color: Colors.red,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
},
|
||||
@ -81,123 +68,3 @@ class MenuView extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
List<Map<String, Object>> menuSections = [
|
||||
//Home Management
|
||||
{
|
||||
'title': 'Home Management',
|
||||
'color': ColorsManager.primaryColor,
|
||||
'buttons': [
|
||||
{
|
||||
'title': 'Create a Home',
|
||||
'Icon': Assets.homeManagementIconsCreateHome,
|
||||
'page': const CreateHomeView()
|
||||
},
|
||||
{
|
||||
'title': 'Join a Home',
|
||||
'Icon': Assets.homeManagementIconsJoinAHome,
|
||||
'page': const JoinHomeView()
|
||||
},
|
||||
{
|
||||
'title': 'Manage Your Home',
|
||||
'Icon': Assets.homeManagementIconsManageYourHome,
|
||||
'page': const ManageHomeView()
|
||||
},
|
||||
],
|
||||
},
|
||||
//General Settings
|
||||
{
|
||||
'title': 'General Settings',
|
||||
'color': const Color(0xFF023DFE),
|
||||
'buttons': [
|
||||
{
|
||||
'title': 'Voice Assistant',
|
||||
'Icon': Assets.generalSettingsIconsVoiceAssistant,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Temperature unit',
|
||||
'Icon': Assets.generalSettingsIconsTemperatureUnit,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Touch tone on panel',
|
||||
'Icon': Assets.generalSettingsIconsTouchTone,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Language',
|
||||
'Icon': Assets.generalSettingsIconsLanguage,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Network Diagnosis',
|
||||
'Icon': Assets.generalSettingsIconsNetworkDiagnosis,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Clear Cache',
|
||||
'Icon': Assets.generalSettingsIconsClearCache,
|
||||
'page': null
|
||||
},
|
||||
],
|
||||
},
|
||||
//Messages Center
|
||||
{
|
||||
'title': 'Messages Center',
|
||||
'color': const Color(0xFF0088FF),
|
||||
'buttons': [
|
||||
{
|
||||
'title': 'Alerts',
|
||||
'Icon': Assets.messagesCenterIconsAlerts,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Messages',
|
||||
'Icon': Assets.messagesCenterIconsMessages,
|
||||
'page': null
|
||||
},
|
||||
{'title': 'FAQs', 'Icon': Assets.messagesCenterIconsFAQs, 'page': null},
|
||||
{
|
||||
'title': 'Help & Feedback',
|
||||
'Icon': Assets.messagesCenterIconsHelpAndFeedbacks,
|
||||
'page': null
|
||||
},
|
||||
],
|
||||
},
|
||||
//Security And Privacy
|
||||
{
|
||||
'title': 'Security And Privacy',
|
||||
'color': const Color(0xFF8AB9FF),
|
||||
'buttons': [
|
||||
{
|
||||
'title': 'Security',
|
||||
'Icon': Assets.securityAndPrivacyIconsSecurty,
|
||||
'page': const SecurtyView()
|
||||
},
|
||||
{
|
||||
'title': 'Privacy',
|
||||
'Icon': Assets.securityAndPrivacyIconsPrivacy,
|
||||
'page': const PrivacyView()
|
||||
},
|
||||
],
|
||||
},
|
||||
//Legal Information
|
||||
{
|
||||
'title': 'Legal Information',
|
||||
'color': const Color(0xFF001B72),
|
||||
'buttons': [
|
||||
{'title': 'About', 'Icon': Assets.leagalInfoIconsAbout, 'page': null},
|
||||
{
|
||||
'title': 'Privacy Policy',
|
||||
'Icon': Assets.leagalInfoIconsPrivacyPolicy,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'User Agreement',
|
||||
'Icon': Assets.leagalInfoIconsUserAgreement,
|
||||
'page': null
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/app_layout/model/space_model.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/manage_home/home_settings.dart';
|
||||
|
||||
@ -19,7 +19,6 @@ class MenuListItem extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return InkWell(
|
||||
onTap: () {
|
||||
debugPrint('clicked $title page: $page');
|
||||
if (page == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
|
||||
|
||||
@ -6,7 +6,6 @@ import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dar
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_small.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/title_medium.dart';
|
||||
import 'package:syncrow_app/generated/assets.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/constants.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/strings_manager.dart';
|
||||
|
||||
class SceneView extends StatelessWidget {
|
||||
@ -18,109 +17,99 @@ class SceneView extends StatelessWidget {
|
||||
create: (BuildContext context) => SceneCubit(),
|
||||
child: BlocBuilder<SceneCubit, SceneState>(
|
||||
builder: (context, state) {
|
||||
return Padding(
|
||||
padding: EdgeInsets.only(
|
||||
top: Constants.appBarHeight,
|
||||
bottom: Constants.bottomNavBarHeight,
|
||||
left: Constants.defaultPadding,
|
||||
right: Constants.defaultPadding,
|
||||
),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: [
|
||||
const TitleMedium(
|
||||
text: StringsManager.routine,
|
||||
style: TextStyle(
|
||||
fontSize: 32,
|
||||
fontWeight: FontWeight.bold,
|
||||
return Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: [
|
||||
const TitleMedium(
|
||||
text: StringsManager.routine,
|
||||
style: TextStyle(
|
||||
fontSize: 32,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
const BodySmall(
|
||||
text: StringsManager.tapToRunRoutine,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
vertical: 10,
|
||||
),
|
||||
child: DefaultContainer(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Image.asset(
|
||||
height: 50,
|
||||
width: 50,
|
||||
Assets.iconsHot1,
|
||||
fit: BoxFit.contain,
|
||||
),
|
||||
const Icon(
|
||||
Icons.play_circle,
|
||||
size: 40,
|
||||
color: Colors.grey,
|
||||
)
|
||||
],
|
||||
),
|
||||
const BodyMedium(
|
||||
text: StringsManager.summerMode,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 16,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
const BodySmall(
|
||||
text: StringsManager.tapToRunRoutine,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
vertical: 10,
|
||||
),
|
||||
child: DefaultContainer(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Image.asset(
|
||||
height: 50,
|
||||
width: 50,
|
||||
Assets.iconsHot1,
|
||||
fit: BoxFit.contain,
|
||||
),
|
||||
const Icon(
|
||||
Icons.play_circle,
|
||||
size: 40,
|
||||
color: Colors.grey,
|
||||
)
|
||||
],
|
||||
),
|
||||
const BodyMedium(
|
||||
text: StringsManager.summerMode,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 16,
|
||||
)
|
||||
],
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
vertical: 10,
|
||||
),
|
||||
child: DefaultContainer(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Image.asset(
|
||||
height: 50,
|
||||
width: 50,
|
||||
Assets.iconsWinter1,
|
||||
fit: BoxFit.contain,
|
||||
),
|
||||
const Icon(
|
||||
Icons.play_circle,
|
||||
size: 40,
|
||||
color: Colors.grey,
|
||||
)
|
||||
],
|
||||
),
|
||||
const BodyMedium(
|
||||
text: StringsManager.winterMode,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 16,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 10),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
vertical: 10,
|
||||
),
|
||||
child: DefaultContainer(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Image.asset(
|
||||
height: 50,
|
||||
width: 50,
|
||||
Assets.iconsWinter1,
|
||||
fit: BoxFit.contain,
|
||||
),
|
||||
const Icon(
|
||||
Icons.play_circle,
|
||||
size: 40,
|
||||
color: Colors.grey,
|
||||
)
|
||||
],
|
||||
),
|
||||
const BodyMedium(
|
||||
text: StringsManager.winterMode,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 16,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
|
||||
@ -1,6 +1,14 @@
|
||||
//ignore_for_file: constant_identifier_names
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:syncrow_app/features/devices/model/function_model.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/home%20management/create_home_view.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/join_home/join_home_view.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/manage_home/manage_home_view.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/privacy/privacy_view.dart';
|
||||
import 'package:syncrow_app/features/menu/view/widgets/securty/securty_view.dart';
|
||||
import 'package:syncrow_app/generated/assets.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
|
||||
abstract class Constants {
|
||||
static const String appName = "Syncrow App";
|
||||
@ -32,24 +40,6 @@ enum DeviceType {
|
||||
Other,
|
||||
}
|
||||
|
||||
// Map<String, DeviceType> devicesTypesMap = {
|
||||
// "AC": DeviceType.AC,
|
||||
// "LB": DeviceType.LightBulb,
|
||||
// "DL": DeviceType.DoorLock,
|
||||
// "WC": DeviceType.Curtain,
|
||||
// "WB": DeviceType.Blind,
|
||||
// "3G": DeviceType.ThreeGang,
|
||||
// "GW": DeviceType.Gateway,
|
||||
// "CPS": DeviceType.CeilingSensor,
|
||||
// "WPS": DeviceType.WallSensor,
|
||||
// "Other": DeviceType.Other,
|
||||
// };
|
||||
//AC wzdcrqh0
|
||||
// GW wp8ticoo2bhumwgb
|
||||
// CPS d3ci7gcn
|
||||
// DL awu7anehyu5q1iu8
|
||||
// WPS awarhusb
|
||||
// 3G 1a6vgvyi
|
||||
enum FunctionType { Boolean, Enum, Integer, Raw, String }
|
||||
|
||||
Map<String, FunctionType> functionTypesMap = {
|
||||
@ -260,3 +250,224 @@ K? getNextItem<K, V>(Map<K, V> map, V value) {
|
||||
// If the value is not found, return null
|
||||
return null;
|
||||
}
|
||||
|
||||
List<Map<String, Object>> menuSections = [
|
||||
//Home Management
|
||||
{
|
||||
'title': 'Home Management',
|
||||
'color': ColorsManager.primaryColor,
|
||||
'buttons': [
|
||||
{
|
||||
'title': 'Create a Home',
|
||||
'Icon': Assets.homeManagementIconsCreateHome,
|
||||
'page': const CreateHomeView()
|
||||
},
|
||||
{
|
||||
'title': 'Join a Home',
|
||||
'Icon': Assets.homeManagementIconsJoinAHome,
|
||||
'page': const JoinHomeView()
|
||||
},
|
||||
{
|
||||
'title': 'Manage Your Home',
|
||||
'Icon': Assets.homeManagementIconsManageYourHome,
|
||||
'page': const ManageHomeView()
|
||||
},
|
||||
],
|
||||
},
|
||||
//General Settings
|
||||
{
|
||||
'title': 'General Settings',
|
||||
'color': const Color(0xFF023DFE),
|
||||
'buttons': [
|
||||
{
|
||||
'title': 'Voice Assistant',
|
||||
'Icon': Assets.generalSettingsIconsVoiceAssistant,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Temperature unit',
|
||||
'Icon': Assets.generalSettingsIconsTemperatureUnit,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Touch tone on panel',
|
||||
'Icon': Assets.generalSettingsIconsTouchTone,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Language',
|
||||
'Icon': Assets.generalSettingsIconsLanguage,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Network Diagnosis',
|
||||
'Icon': Assets.generalSettingsIconsNetworkDiagnosis,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Clear Cache',
|
||||
'Icon': Assets.generalSettingsIconsClearCache,
|
||||
'page': null
|
||||
},
|
||||
],
|
||||
},
|
||||
//Messages Center
|
||||
{
|
||||
'title': 'Messages Center',
|
||||
'color': const Color(0xFF0088FF),
|
||||
'buttons': [
|
||||
{
|
||||
'title': 'Alerts',
|
||||
'Icon': Assets.messagesCenterIconsAlerts,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'Messages',
|
||||
'Icon': Assets.messagesCenterIconsMessages,
|
||||
'page': null
|
||||
},
|
||||
{'title': 'FAQs', 'Icon': Assets.messagesCenterIconsFAQs, 'page': null},
|
||||
{
|
||||
'title': 'Help & Feedback',
|
||||
'Icon': Assets.messagesCenterIconsHelpAndFeedbacks,
|
||||
'page': null
|
||||
},
|
||||
],
|
||||
},
|
||||
//Security And Privacy
|
||||
{
|
||||
'title': 'Security And Privacy',
|
||||
'color': const Color(0xFF8AB9FF),
|
||||
'buttons': [
|
||||
{
|
||||
'title': 'Security',
|
||||
'Icon': Assets.securityAndPrivacyIconsSecurty,
|
||||
'page': const SecurtyView()
|
||||
},
|
||||
{
|
||||
'title': 'Privacy',
|
||||
'Icon': Assets.securityAndPrivacyIconsPrivacy,
|
||||
'page': const PrivacyView()
|
||||
},
|
||||
],
|
||||
},
|
||||
//Legal Information
|
||||
{
|
||||
'title': 'Legal Information',
|
||||
'color': const Color(0xFF001B72),
|
||||
'buttons': [
|
||||
{'title': 'About', 'Icon': Assets.leagalInfoIconsAbout, 'page': null},
|
||||
{
|
||||
'title': 'Privacy Policy',
|
||||
'Icon': Assets.leagalInfoIconsPrivacyPolicy,
|
||||
'page': null
|
||||
},
|
||||
{
|
||||
'title': 'User Agreement',
|
||||
'Icon': Assets.leagalInfoIconsUserAgreement,
|
||||
'page': null
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
enum MemberRole {
|
||||
FamilyMember,
|
||||
OtherMember,
|
||||
}
|
||||
|
||||
//TODO sort memebers by role
|
||||
List<Map<String, Object>> members = [
|
||||
{
|
||||
'name': 'member 1',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 2',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 3',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 4',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 5',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 6',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 7',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 8',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 9',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 10',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 11',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 12',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 13',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 14',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 15',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 16',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 17',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 18',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 19',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 20',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 21',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 22',
|
||||
'role': MemberRole.OtherMember,
|
||||
},
|
||||
{
|
||||
'name': 'member 23',
|
||||
'role': MemberRole.FamilyMember,
|
||||
},
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user