fixes
This commit is contained in:
4
.idea/modules.xml
generated
4
.idea/modules.xml
generated
@@ -5,15 +5,15 @@
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/account/melos_account.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/account/melos_account.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/activity/melos_activity.iml" filepath="$PROJECT_DIR$/modules/activity/melos_activity.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/auth/melos_auth.iml" filepath="$PROJECT_DIR$/modules/auth/melos_auth.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/control_panel/melos_control_panel.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/control_panel/melos_control_panel.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/customer_service/melos_customer_service.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/customer_service/melos_customer_service.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/dashboard_shell/melos_dashboard_shell.iml" filepath="$PROJECT_DIR$/modules/dashboard_shell/melos_dashboard_shell.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/packages/design_system/melos_design_system.iml" filepath="$PROJECT_DIR$/packages/design_system/melos_design_system.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/device_management/melos_device_management.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/device_management/melos_device_management.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/packages/flutter_treezor_entrust_sdk_bridge/melos_flutter_treezor_entrust_sdk_bridge.iml" filepath="$PROJECT_DIR$/packages/flutter_treezor_entrust_sdk_bridge/melos_flutter_treezor_entrust_sdk_bridge.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/packages/flutter_treezor_entrust_sdk_bridge/example/melos_flutter_treezor_entrust_sdk_bridge_example.iml" filepath="$PROJECT_DIR$/packages/flutter_treezor_entrust_sdk_bridge/example/melos_flutter_treezor_entrust_sdk_bridge_example.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/packages/fonts/melos_fonts.iml" filepath="$PROJECT_DIR$/packages/fonts/melos_fonts.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/functions/melos_functions.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/functions/melos_functions.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/home/melos_home.iml" filepath="$PROJECT_DIR$/modules/home/melos_home.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/hub/melos_hub.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/hub/melos_hub.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/melos_legacy.iml" filepath="$PROJECT_DIR$/modules/legacy/melos_legacy.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/modules/legacy_dashboard_shell/melos_legacy_dashboard_shell.iml" filepath="$PROJECT_DIR$/modules/legacy/modules/legacy_dashboard_shell/melos_legacy_dashboard_shell.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/modules/legacy/packages/legacy_shared/melos_legacy_shared.iml" filepath="$PROJECT_DIR$/modules/legacy/packages/legacy_shared/melos_legacy_shared.iml" />
|
||||
|
||||
@@ -3,8 +3,8 @@ import 'package:activity/activity.dart';
|
||||
import 'package:auth/auth.dart';
|
||||
import 'package:customer_service/customer_service.dart';
|
||||
import 'package:dashboard_shell/dashboard_builder.dart';
|
||||
import 'package:functions/functions.dart';
|
||||
import 'package:hub/hub.dart';
|
||||
import 'package:device_management/device_management.dart';
|
||||
import 'package:control_panel/control_panel.dart';
|
||||
import 'package:legacy_dashboard_shell/legacy_dashboard_builder.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
@@ -39,74 +39,79 @@ void configureAppRouter() {
|
||||
StatefulShellBranch(
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: AppRoutes.dashboardHub,
|
||||
name: 'hub',
|
||||
pageBuilder: const HubBuilder().buildPage,
|
||||
path: AppRoutes.controlPanel,
|
||||
name: 'control_panel',
|
||||
pageBuilder: const ControlPanelBuilder().buildPage,
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: 'customer_service',
|
||||
name: 'customer_service',
|
||||
pageBuilder: CustomerServiceBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: 'account_settings',
|
||||
name: 'account_settings',
|
||||
pageBuilder: AccountSettingsBuilder().buildPage,
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: 'personal_data',
|
||||
name: 'personal_data',
|
||||
pageBuilder: PersonalDataBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: 'change_password',
|
||||
name: 'change_password',
|
||||
pageBuilder: ChangePasswordBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: 'linked_devices',
|
||||
name: 'linked_devices',
|
||||
pageBuilder: LinkedDevicesBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: 'app_users',
|
||||
name: 'app_users',
|
||||
pageBuilder: AppUsersBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: 'delete_account',
|
||||
name: 'delete_account',
|
||||
pageBuilder: DeleteAccountBuilder().buildPage,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
StatefulShellBranch(
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: AppRoutes.dashboardFunctions,
|
||||
name: 'functions',
|
||||
pageBuilder: FunctionsBuilder().buildPage,
|
||||
path: AppRoutes.deviceManagement,
|
||||
name: 'device_management',
|
||||
pageBuilder: DeviceManagementBuilder().buildPage,
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: 'contacts',
|
||||
name: 'contacts',
|
||||
pageBuilder: ContactsBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: 'remote_connection',
|
||||
name: 'remote_connection',
|
||||
pageBuilder: RemoteConnectionBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: 'locate_device',
|
||||
name: 'locate_device',
|
||||
pageBuilder: LocateDeviceBuilder().buildPage,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
GoRoute(
|
||||
path: AppRoutes.contacts,
|
||||
name: 'contacts',
|
||||
pageBuilder: ContactsBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: AppRoutes.remoteConnection,
|
||||
name: 'remote_connection',
|
||||
pageBuilder: RemoteConnectionBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: AppRoutes.locateDevice,
|
||||
name: 'locate_device',
|
||||
pageBuilder: LocateDeviceBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: AppRoutes.accountSettings,
|
||||
name: 'account_settings',
|
||||
pageBuilder: AccountSettingsBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: AppRoutes.personalData,
|
||||
name: 'personal_data',
|
||||
pageBuilder: PersonalDataBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: AppRoutes.changePassword,
|
||||
name: 'change_password',
|
||||
pageBuilder: ChangePasswordBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: AppRoutes.linkedDevices,
|
||||
name: 'linked_devices',
|
||||
pageBuilder: LinkedDevicesBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: AppRoutes.appUsers,
|
||||
name: 'app_users',
|
||||
pageBuilder: AppUsersBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: AppRoutes.deleteAccount,
|
||||
name: 'delete_account',
|
||||
pageBuilder: DeleteAccountBuilder().buildPage,
|
||||
),
|
||||
|
||||
GoRoute(
|
||||
path: AppRoutes.customerService,
|
||||
name: 'customer_service',
|
||||
pageBuilder: CustomerServiceBuilder().buildPage,
|
||||
),
|
||||
GoRoute(
|
||||
path: AppRoutes.login,
|
||||
name: 'login',
|
||||
|
||||
@@ -206,6 +206,13 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.7.0"
|
||||
control_panel:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "../../modules/legacy/modules/control_panel"
|
||||
relative: true
|
||||
source: path
|
||||
version: "1.0.0+1"
|
||||
convert:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -307,6 +314,13 @@ packages:
|
||||
relative: true
|
||||
source: path
|
||||
version: "0.0.1"
|
||||
device_management:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "../../modules/legacy/modules/device_management"
|
||||
relative: true
|
||||
source: path
|
||||
version: "1.0.0+1"
|
||||
diacritic:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -493,13 +507,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.0"
|
||||
functions:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "../../modules/legacy/modules/functions"
|
||||
relative: true
|
||||
source: path
|
||||
version: "1.0.0+1"
|
||||
get_it:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -579,13 +586,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.1.2"
|
||||
hub:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "../../modules/legacy/modules/hub"
|
||||
relative: true
|
||||
source: path
|
||||
version: "1.0.0+1"
|
||||
image:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
@@ -51,16 +51,16 @@ dependencies:
|
||||
path: ../../modules/dashboard_shell
|
||||
legacy_dashboard_shell:
|
||||
path: ../../modules/legacy/modules/legacy_dashboard_shell
|
||||
hub:
|
||||
path: ../../modules/legacy/modules/hub
|
||||
control_panel:
|
||||
path: ../../modules/legacy/modules/control_panel
|
||||
customer_service:
|
||||
path: ../../modules/legacy/modules/customer_service
|
||||
splash:
|
||||
path: ../../modules/splash
|
||||
account:
|
||||
path: ../../modules/legacy/modules/account
|
||||
functions:
|
||||
path: ../../modules/legacy/modules/functions
|
||||
device_management:
|
||||
path: ../../modules/legacy/modules/device_management
|
||||
#packages dependencies go here
|
||||
navigation:
|
||||
path: ../../packages/navigation
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# melos_managed_dependency_overrides: account,activity,auth,customer_service,dashboard_shell,design_system,flutter_treezor_entrust_sdk_bridge,fonts,functions,home,hub,legacy_dashboard_shell,legacy_shared,navigation,notifications,payments,profile,sca_treezor,sf_infrastructure,sf_localizations,sf_shared,splash,utils
|
||||
# melos_managed_dependency_overrides: account,activity,auth,customer_service,dashboard_shell,design_system,flutter_treezor_entrust_sdk_bridge,fonts,home,legacy_dashboard_shell,legacy_shared,navigation,notifications,payments,profile,sca_treezor,sf_infrastructure,sf_localizations,sf_shared,splash,utils,control_panel,device_management
|
||||
dependency_overrides:
|
||||
account:
|
||||
path: ../../modules/legacy/modules/account
|
||||
@@ -6,22 +6,22 @@ dependency_overrides:
|
||||
path: ../../modules/activity
|
||||
auth:
|
||||
path: ../../modules/auth
|
||||
control_panel:
|
||||
path: ../../modules/legacy/modules/control_panel
|
||||
customer_service:
|
||||
path: ../../modules/legacy/modules/customer_service
|
||||
dashboard_shell:
|
||||
path: ../../modules/dashboard_shell
|
||||
design_system:
|
||||
path: ../../packages/design_system
|
||||
device_management:
|
||||
path: ../../modules/legacy/modules/device_management
|
||||
flutter_treezor_entrust_sdk_bridge:
|
||||
path: ../../packages/flutter_treezor_entrust_sdk_bridge
|
||||
fonts:
|
||||
path: ../../packages/fonts
|
||||
functions:
|
||||
path: ../../modules/legacy/modules/functions
|
||||
home:
|
||||
path: ../../modules/home
|
||||
hub:
|
||||
path: ../../modules/legacy/modules/hub
|
||||
legacy_dashboard_shell:
|
||||
path: ../../modules/legacy/modules/legacy_dashboard_shell
|
||||
legacy_shared:
|
||||
|
||||
@@ -65,7 +65,7 @@ theme: theme,
|
||||
onPressed: () async {
|
||||
final bool res = await vm.changePassword();
|
||||
if (res){
|
||||
Navigator.pop(context);
|
||||
navigationContract.goBack();
|
||||
}
|
||||
},
|
||||
text: context.translate('OK'),
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export 'src/features/control_panel/control_panel_builder.dart';
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:hub/src/features/hub/domain/entities/position_entity.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/position_entity.dart';
|
||||
import 'package:legacy_shared/legacy_shared.dart';
|
||||
|
||||
abstract class HomeRemoteDatasource {
|
||||
abstract class ControlPanelRemoteDatasource {
|
||||
Future<List<DeviceEntity>> getDevices({required String userId});
|
||||
|
||||
Future<List<PositionEntity>> getLatestPositions({required String deviceId});
|
||||
@@ -1,15 +1,15 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:hub/src/core/data/datasource/hub_remote_datasource.dart';
|
||||
import 'package:hub/src/core/data/models/get_devices_response_model.dart';
|
||||
import 'package:hub/src/core/data/models/latest_positions_response_model.dart';
|
||||
import 'package:hub/src/features/hub/domain/entities/position_entity.dart';
|
||||
import 'package:control_panel/src/core/data/datasource/control_panel_remote_datasource.dart';
|
||||
import 'package:control_panel/src/core/data/models/get_devices_response_model.dart';
|
||||
import 'package:control_panel/src/core/data/models/latest_positions_response_model.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/position_entity.dart';
|
||||
import 'package:legacy_shared/legacy_shared.dart';
|
||||
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
||||
|
||||
class HomeRemoteDatasourceImpl implements HomeRemoteDatasource {
|
||||
HomeRemoteDatasourceImpl(this._repository);
|
||||
class ControlPanelRemoteDatasourceImpl implements ControlPanelRemoteDatasource {
|
||||
ControlPanelRemoteDatasourceImpl(this._repository);
|
||||
|
||||
final QuestiaRepository _repository;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:hub/src/features/hub/domain/entities/address_entity.dart';
|
||||
import 'package:hub/src/features/hub/domain/entities/network_entity.dart';
|
||||
import 'package:hub/src/features/hub/domain/entities/position_entity.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/address_entity.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/network_entity.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/position_entity.dart';
|
||||
|
||||
part 'latest_positions_response_model.freezed.dart';
|
||||
part 'latest_positions_response_model.g.dart';
|
||||
@@ -0,0 +1,20 @@
|
||||
import 'package:control_panel/src/core/data/datasource/control_panel_remote_datasource.dart';
|
||||
import 'package:control_panel/src/core/domain/repositories/control_panel_repository.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/position_entity.dart';
|
||||
import 'package:legacy_shared/legacy_shared.dart';
|
||||
|
||||
class ControlPanelRepositoryImpl implements ControlPanelRepository {
|
||||
const ControlPanelRepositoryImpl(this._remote);
|
||||
|
||||
final ControlPanelRemoteDatasource _remote;
|
||||
|
||||
@override
|
||||
Future<List<DeviceEntity>> getDevices({required String userId}) async {
|
||||
return _remote.getDevices(userId: userId);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<PositionEntity>> getLatestPositions({required String deviceId}) async {
|
||||
return _remote.getLatestPositions(deviceId: deviceId);
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:hub/src/features/hub/domain/entities/position_entity.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/position_entity.dart';
|
||||
import 'package:legacy_shared/legacy_shared.dart';
|
||||
|
||||
abstract class HomeRepository {
|
||||
abstract class ControlPanelRepository {
|
||||
Future<List<DeviceEntity>> getDevices({required String userId});
|
||||
|
||||
Future<List<PositionEntity>> getLatestPositions({required String deviceId});
|
||||
@@ -0,0 +1,9 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:control_panel/src/core/data/datasource/control_panel_remote_datasource.dart';
|
||||
import 'package:control_panel/src/core/data/datasource/control_panel_remote_datasource_impl.dart';
|
||||
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
||||
|
||||
final controlPanelRemoteDatasourceProvider = Provider<ControlPanelRemoteDatasource>((ref) {
|
||||
final questiaRepository = getIt<QuestiaRepository>();
|
||||
return ControlPanelRemoteDatasourceImpl(questiaRepository);
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:control_panel/src/core/data/repositories/control_panel_repository_impl.dart';
|
||||
import 'package:control_panel/src/core/domain/repositories/control_panel_repository.dart';
|
||||
import 'package:control_panel/src/core/providers/control_panel_remote_datasource_provider.dart';
|
||||
|
||||
final controlPanelRepositoryProvider = Provider<ControlPanelRepository>((ref) {
|
||||
final remote = ref.read(controlPanelRemoteDatasourceProvider);
|
||||
return ControlPanelRepositoryImpl(remote);
|
||||
});
|
||||
@@ -1,18 +1,18 @@
|
||||
import 'package:hub/src/features/hub/presentation/hub_screen.dart';
|
||||
import 'package:control_panel/src/features/control_panel/presentation/control_panel_screen.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
import 'package:navigation/navigation.dart';
|
||||
|
||||
class HubBuilder {
|
||||
const HubBuilder();
|
||||
class ControlPanelBuilder {
|
||||
const ControlPanelBuilder();
|
||||
|
||||
Page<void> buildPage(BuildContext context, GoRouterState state) {
|
||||
final NavigationContract navigationContract = GetIt.I<NavigationContract>();
|
||||
|
||||
return MaterialPage<void>(
|
||||
key: state.pageKey,
|
||||
child: HubScreen(navigationContract: navigationContract, routerState: state),
|
||||
child: ControlPanelScreen(navigationContract: navigationContract, routerState: state),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:hub/src/features/hub/domain/entities/address_entity.dart';
|
||||
import 'package:hub/src/features/hub/domain/entities/network_entity.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/address_entity.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/network_entity.dart';
|
||||
|
||||
part 'position_entity.freezed.dart';
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'package:hub/src/core/domain/repositories/hub_repository.dart';
|
||||
import 'package:hub/src/features/hub/domain/get_devices_use_case.dart';
|
||||
import 'package:control_panel/src/core/domain/repositories/control_panel_repository.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/get_devices_use_case.dart';
|
||||
import 'package:legacy_shared/legacy_shared.dart';
|
||||
|
||||
class GetDevicesUseCaseImpl implements GetDevicesUseCase {
|
||||
GetDevicesUseCaseImpl(this._repository);
|
||||
|
||||
final HomeRepository _repository;
|
||||
final ControlPanelRepository _repository;
|
||||
@override
|
||||
Future<List<DeviceEntity>> getDevices({required String userId}) async {
|
||||
return _repository.getDevices(userId: userId);
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:hub/src/features/hub/domain/entities/position_entity.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/position_entity.dart';
|
||||
|
||||
abstract class GetLatestPositionsUseCase {
|
||||
Future<List<PositionEntity>> getLatestPositions({required String deviceId});
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'package:hub/src/core/domain/repositories/hub_repository.dart';
|
||||
import 'package:hub/src/features/hub/domain/entities/position_entity.dart';
|
||||
import 'package:hub/src/features/hub/domain/get_latest_positions_use_case.dart';
|
||||
import 'package:control_panel/src/core/domain/repositories/control_panel_repository.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/position_entity.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/get_latest_positions_use_case.dart';
|
||||
|
||||
class GetLatestPositionsUseCaseImpl implements GetLatestPositionsUseCase {
|
||||
GetLatestPositionsUseCaseImpl(this._repository);
|
||||
|
||||
final HomeRepository _repository;
|
||||
final ControlPanelRepository _repository;
|
||||
@override
|
||||
Future<List<PositionEntity>> getLatestPositions({required String deviceId}) async {
|
||||
await Future<void>.delayed(const Duration(milliseconds: 2000));
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:hub/src/features/hub/presentation/state/hub_view_model.dart';
|
||||
import 'package:control_panel/src/features/control_panel/presentation/state/control_panel_view_model.dart';
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
@@ -11,11 +11,11 @@ import 'package:navigation/navigation.dart';
|
||||
import 'package:sf_localizations/sf_localizations.dart';
|
||||
import 'package:utils/utils.dart';
|
||||
|
||||
class HubScreen extends ConsumerWidget {
|
||||
class ControlPanelScreen extends ConsumerWidget {
|
||||
final NavigationContract navigationContract;
|
||||
final GoRouterState routerState;
|
||||
|
||||
const HubScreen({
|
||||
const ControlPanelScreen({
|
||||
super.key,
|
||||
required this.navigationContract,
|
||||
required this.routerState,
|
||||
@@ -65,8 +65,8 @@ class _Header extends ConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final state = ref.watch(hubViewModelProvider);
|
||||
final vm = ref.read(hubViewModelProvider.notifier);
|
||||
final state = ref.watch(controlPanelViewModelProvider);
|
||||
final vm = ref.read(controlPanelViewModelProvider.notifier);
|
||||
|
||||
return Stack(
|
||||
children: [
|
||||
@@ -143,7 +143,7 @@ class _MenuSection extends ConsumerWidget {
|
||||
SizedBox(height: SizeUtils.getByScreen(small: 8, big: 7)),
|
||||
_SectionButton(
|
||||
onPressed: () {
|
||||
navigationContract.pushTo(AppRoutes.dashboardFunctions);
|
||||
navigationContract.pushTo(AppRoutes.deviceManagement);
|
||||
},
|
||||
icon: SFIcons.functions,
|
||||
text: I18n.functions,
|
||||
@@ -235,8 +235,8 @@ class _Minimap extends ConsumerWidget {
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final theme = ref.watch(themePortProvider);
|
||||
|
||||
final viewState = ref.watch(hubViewModelProvider);
|
||||
final viewModel = ref.read(hubViewModelProvider.notifier);
|
||||
final viewState = ref.watch(controlPanelViewModelProvider);
|
||||
final viewModel = ref.read(controlPanelViewModelProvider.notifier);
|
||||
|
||||
return FlutterMap(
|
||||
mapController: viewModel.mapController,
|
||||
@@ -295,7 +295,7 @@ class _LocationBanner extends ConsumerWidget {
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final theme = ref.read(themePortProvider);
|
||||
|
||||
final viewState = ref.watch(hubViewModelProvider);
|
||||
final viewState = ref.watch(controlPanelViewModelProvider);
|
||||
|
||||
final battery = viewState.selectedPosition?.ncell ?? 0;
|
||||
final IconData batteryIcon = toBatteryIcon(battery);
|
||||
@@ -0,0 +1,10 @@
|
||||
import 'package:control_panel/src/core/providers/control_panel_repository_provider.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/get_devices_use_case.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/get_devices_use_case_impl.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
final getDevicesUseCaseProvider =
|
||||
Provider.autoDispose<GetDevicesUseCase>((ref) {
|
||||
final authRepository = ref.read(controlPanelRepositoryProvider);
|
||||
return GetDevicesUseCaseImpl(authRepository);
|
||||
});
|
||||
@@ -0,0 +1,10 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:control_panel/src/core/providers/control_panel_repository_provider.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/get_latest_positions_use_case.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/get_latest_positions_use_case_impl.dart';
|
||||
|
||||
final getLatestPositionsUseCaseProvider =
|
||||
Provider.autoDispose<GetLatestPositionsUseCase>((ref) {
|
||||
final authRepository = ref.read(controlPanelRepositoryProvider);
|
||||
return GetLatestPositionsUseCaseImpl(authRepository);
|
||||
});
|
||||
@@ -1,22 +1,22 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter_map/flutter_map.dart';
|
||||
import 'package:hub/src/features/hub/domain/entities/position_entity.dart';
|
||||
import 'package:hub/src/features/hub/domain/get_devices_use_case.dart';
|
||||
import 'package:hub/src/features/hub/domain/get_latest_positions_use_case.dart';
|
||||
import 'package:hub/src/features/hub/presentation/providers/get_devices_use_case_provider.dart';
|
||||
import 'package:hub/src/features/hub/presentation/providers/get_latest_positions_use_case_provider.dart';
|
||||
import 'package:hub/src/features/hub/presentation/state/hub_view_state.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/position_entity.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/get_devices_use_case.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/get_latest_positions_use_case.dart';
|
||||
import 'package:control_panel/src/features/control_panel/presentation/providers/get_devices_use_case_provider.dart';
|
||||
import 'package:control_panel/src/features/control_panel/presentation/providers/get_latest_positions_use_case_provider.dart';
|
||||
import 'package:control_panel/src/features/control_panel/presentation/state/control_panel_view_state.dart';
|
||||
import 'package:legacy_shared/legacy_shared.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
|
||||
final hubViewModelProvider =
|
||||
NotifierProvider.autoDispose<HubViewModel, HubViewState>(
|
||||
HubViewModel.new,
|
||||
final controlPanelViewModelProvider =
|
||||
NotifierProvider.autoDispose<ControlPanelViewModel, ControlPanelViewState>(
|
||||
ControlPanelViewModel.new,
|
||||
);
|
||||
|
||||
class HubViewModel extends Notifier<HubViewState> {
|
||||
class ControlPanelViewModel extends Notifier<ControlPanelViewState> {
|
||||
late final GetDevicesUseCase _getDevicesUseCase;
|
||||
late final GetLatestPositionsUseCase _getLatestPositionsUseCase;
|
||||
|
||||
@@ -25,7 +25,7 @@ class HubViewModel extends Notifier<HubViewState> {
|
||||
late final MapController mapController;
|
||||
|
||||
@override
|
||||
HubViewState build() {
|
||||
ControlPanelViewState build() {
|
||||
_getDevicesUseCase = ref.read(getDevicesUseCaseProvider);
|
||||
_getLatestPositionsUseCase = ref.read(getLatestPositionsUseCaseProvider);
|
||||
|
||||
@@ -57,7 +57,7 @@ class HubViewModel extends Notifier<HubViewState> {
|
||||
|
||||
ref.onDispose(disposeControllers);
|
||||
|
||||
return HubViewState();
|
||||
return ControlPanelViewState();
|
||||
}
|
||||
|
||||
void setPositions(List<List<PositionEntity>> positions) {
|
||||
@@ -1,16 +1,16 @@
|
||||
import 'package:hub/src/features/hub/domain/entities/position_entity.dart';
|
||||
import 'package:control_panel/src/features/control_panel/domain/entities/position_entity.dart';
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:legacy_shared/legacy_shared.dart';
|
||||
|
||||
part 'hub_view_state.freezed.dart';
|
||||
part 'control_panel_view_state.freezed.dart';
|
||||
|
||||
@freezed
|
||||
abstract class HubViewState with _$HubViewState {
|
||||
const factory HubViewState({
|
||||
abstract class ControlPanelViewState with _$ControlPanelViewState {
|
||||
const factory ControlPanelViewState({
|
||||
UserEntity? loggedUser,
|
||||
@Default([]) List<DeviceEntity> devices,
|
||||
DeviceEntity? selectedDevice,
|
||||
@Default([]) List<PositionEntity> positions,
|
||||
PositionEntity? selectedPosition
|
||||
}) = _HubViewState;
|
||||
}) = _ControlPanelViewState;
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||
|
||||
part of 'hub_view_state.dart';
|
||||
part of 'control_panel_view_state.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// FreezedGenerator
|
||||
@@ -12,20 +12,20 @@ part of 'hub_view_state.dart';
|
||||
// dart format off
|
||||
T _$identity<T>(T value) => value;
|
||||
/// @nodoc
|
||||
mixin _$HubViewState {
|
||||
mixin _$ControlPanelViewState {
|
||||
|
||||
UserEntity? get loggedUser; List<DeviceEntity> get devices; DeviceEntity? get selectedDevice; List<PositionEntity> get positions; PositionEntity? get selectedPosition;
|
||||
/// Create a copy of HubViewState
|
||||
/// Create a copy of ControlPanelViewState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@pragma('vm:prefer-inline')
|
||||
$HubViewStateCopyWith<HubViewState> get copyWith => _$HubViewStateCopyWithImpl<HubViewState>(this as HubViewState, _$identity);
|
||||
$ControlPanelViewStateCopyWith<ControlPanelViewState> get copyWith => _$ControlPanelViewStateCopyWithImpl<ControlPanelViewState>(this as ControlPanelViewState, _$identity);
|
||||
|
||||
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) || (other.runtimeType == runtimeType&&other is HubViewState&&(identical(other.loggedUser, loggedUser) || other.loggedUser == loggedUser)&&const DeepCollectionEquality().equals(other.devices, devices)&&(identical(other.selectedDevice, selectedDevice) || other.selectedDevice == selectedDevice)&&const DeepCollectionEquality().equals(other.positions, positions)&&(identical(other.selectedPosition, selectedPosition) || other.selectedPosition == selectedPosition));
|
||||
return identical(this, other) || (other.runtimeType == runtimeType&&other is ControlPanelViewState&&(identical(other.loggedUser, loggedUser) || other.loggedUser == loggedUser)&&const DeepCollectionEquality().equals(other.devices, devices)&&(identical(other.selectedDevice, selectedDevice) || other.selectedDevice == selectedDevice)&&const DeepCollectionEquality().equals(other.positions, positions)&&(identical(other.selectedPosition, selectedPosition) || other.selectedPosition == selectedPosition));
|
||||
}
|
||||
|
||||
|
||||
@@ -34,15 +34,15 @@ int get hashCode => Object.hash(runtimeType,loggedUser,const DeepCollectionEqual
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'HubViewState(loggedUser: $loggedUser, devices: $devices, selectedDevice: $selectedDevice, positions: $positions, selectedPosition: $selectedPosition)';
|
||||
return 'ControlPanelViewState(loggedUser: $loggedUser, devices: $devices, selectedDevice: $selectedDevice, positions: $positions, selectedPosition: $selectedPosition)';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract mixin class $HubViewStateCopyWith<$Res> {
|
||||
factory $HubViewStateCopyWith(HubViewState value, $Res Function(HubViewState) _then) = _$HubViewStateCopyWithImpl;
|
||||
abstract mixin class $ControlPanelViewStateCopyWith<$Res> {
|
||||
factory $ControlPanelViewStateCopyWith(ControlPanelViewState value, $Res Function(ControlPanelViewState) _then) = _$ControlPanelViewStateCopyWithImpl;
|
||||
@useResult
|
||||
$Res call({
|
||||
UserEntity? loggedUser, List<DeviceEntity> devices, DeviceEntity? selectedDevice, List<PositionEntity> positions, PositionEntity? selectedPosition
|
||||
@@ -53,14 +53,14 @@ $UserEntityCopyWith<$Res>? get loggedUser;$DeviceEntityCopyWith<$Res>? get selec
|
||||
|
||||
}
|
||||
/// @nodoc
|
||||
class _$HubViewStateCopyWithImpl<$Res>
|
||||
implements $HubViewStateCopyWith<$Res> {
|
||||
_$HubViewStateCopyWithImpl(this._self, this._then);
|
||||
class _$ControlPanelViewStateCopyWithImpl<$Res>
|
||||
implements $ControlPanelViewStateCopyWith<$Res> {
|
||||
_$ControlPanelViewStateCopyWithImpl(this._self, this._then);
|
||||
|
||||
final HubViewState _self;
|
||||
final $Res Function(HubViewState) _then;
|
||||
final ControlPanelViewState _self;
|
||||
final $Res Function(ControlPanelViewState) _then;
|
||||
|
||||
/// Create a copy of HubViewState
|
||||
/// Create a copy of ControlPanelViewState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline') @override $Res call({Object? loggedUser = freezed,Object? devices = null,Object? selectedDevice = freezed,Object? positions = null,Object? selectedPosition = freezed,}) {
|
||||
return _then(_self.copyWith(
|
||||
@@ -72,7 +72,7 @@ as List<PositionEntity>,selectedPosition: freezed == selectedPosition ? _self.se
|
||||
as PositionEntity?,
|
||||
));
|
||||
}
|
||||
/// Create a copy of HubViewState
|
||||
/// Create a copy of ControlPanelViewState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
@@ -84,7 +84,7 @@ $UserEntityCopyWith<$Res>? get loggedUser {
|
||||
return $UserEntityCopyWith<$Res>(_self.loggedUser!, (value) {
|
||||
return _then(_self.copyWith(loggedUser: value));
|
||||
});
|
||||
}/// Create a copy of HubViewState
|
||||
}/// Create a copy of ControlPanelViewState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
@@ -96,7 +96,7 @@ $DeviceEntityCopyWith<$Res>? get selectedDevice {
|
||||
return $DeviceEntityCopyWith<$Res>(_self.selectedDevice!, (value) {
|
||||
return _then(_self.copyWith(selectedDevice: value));
|
||||
});
|
||||
}/// Create a copy of HubViewState
|
||||
}/// Create a copy of ControlPanelViewState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
@@ -112,8 +112,8 @@ $PositionEntityCopyWith<$Res>? get selectedPosition {
|
||||
}
|
||||
|
||||
|
||||
/// Adds pattern-matching-related methods to [HubViewState].
|
||||
extension HubViewStatePatterns on HubViewState {
|
||||
/// Adds pattern-matching-related methods to [ControlPanelViewState].
|
||||
extension ControlPanelViewStatePatterns on ControlPanelViewState {
|
||||
/// A variant of `map` that fallback to returning `orElse`.
|
||||
///
|
||||
/// It is equivalent to doing:
|
||||
@@ -126,10 +126,10 @@ extension HubViewStatePatterns on HubViewState {
|
||||
/// }
|
||||
/// ```
|
||||
|
||||
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _HubViewState value)? $default,{required TResult orElse(),}){
|
||||
@optionalTypeArgs TResult maybeMap<TResult extends Object?>(TResult Function( _ControlPanelViewState value)? $default,{required TResult orElse(),}){
|
||||
final _that = this;
|
||||
switch (_that) {
|
||||
case _HubViewState() when $default != null:
|
||||
case _ControlPanelViewState() when $default != null:
|
||||
return $default(_that);case _:
|
||||
return orElse();
|
||||
|
||||
@@ -148,10 +148,10 @@ return $default(_that);case _:
|
||||
/// }
|
||||
/// ```
|
||||
|
||||
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _HubViewState value) $default,){
|
||||
@optionalTypeArgs TResult map<TResult extends Object?>(TResult Function( _ControlPanelViewState value) $default,){
|
||||
final _that = this;
|
||||
switch (_that) {
|
||||
case _HubViewState():
|
||||
case _ControlPanelViewState():
|
||||
return $default(_that);case _:
|
||||
throw StateError('Unexpected subclass');
|
||||
|
||||
@@ -169,10 +169,10 @@ return $default(_that);case _:
|
||||
/// }
|
||||
/// ```
|
||||
|
||||
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _HubViewState value)? $default,){
|
||||
@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>(TResult? Function( _ControlPanelViewState value)? $default,){
|
||||
final _that = this;
|
||||
switch (_that) {
|
||||
case _HubViewState() when $default != null:
|
||||
case _ControlPanelViewState() when $default != null:
|
||||
return $default(_that);case _:
|
||||
return null;
|
||||
|
||||
@@ -192,7 +192,7 @@ return $default(_that);case _:
|
||||
|
||||
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( UserEntity? loggedUser, List<DeviceEntity> devices, DeviceEntity? selectedDevice, List<PositionEntity> positions, PositionEntity? selectedPosition)? $default,{required TResult orElse(),}) {final _that = this;
|
||||
switch (_that) {
|
||||
case _HubViewState() when $default != null:
|
||||
case _ControlPanelViewState() when $default != null:
|
||||
return $default(_that.loggedUser,_that.devices,_that.selectedDevice,_that.positions,_that.selectedPosition);case _:
|
||||
return orElse();
|
||||
|
||||
@@ -213,7 +213,7 @@ return $default(_that.loggedUser,_that.devices,_that.selectedDevice,_that.positi
|
||||
|
||||
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( UserEntity? loggedUser, List<DeviceEntity> devices, DeviceEntity? selectedDevice, List<PositionEntity> positions, PositionEntity? selectedPosition) $default,) {final _that = this;
|
||||
switch (_that) {
|
||||
case _HubViewState():
|
||||
case _ControlPanelViewState():
|
||||
return $default(_that.loggedUser,_that.devices,_that.selectedDevice,_that.positions,_that.selectedPosition);case _:
|
||||
throw StateError('Unexpected subclass');
|
||||
|
||||
@@ -233,7 +233,7 @@ return $default(_that.loggedUser,_that.devices,_that.selectedDevice,_that.positi
|
||||
|
||||
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( UserEntity? loggedUser, List<DeviceEntity> devices, DeviceEntity? selectedDevice, List<PositionEntity> positions, PositionEntity? selectedPosition)? $default,) {final _that = this;
|
||||
switch (_that) {
|
||||
case _HubViewState() when $default != null:
|
||||
case _ControlPanelViewState() when $default != null:
|
||||
return $default(_that.loggedUser,_that.devices,_that.selectedDevice,_that.positions,_that.selectedPosition);case _:
|
||||
return null;
|
||||
|
||||
@@ -245,8 +245,8 @@ return $default(_that.loggedUser,_that.devices,_that.selectedDevice,_that.positi
|
||||
/// @nodoc
|
||||
|
||||
|
||||
class _HubViewState implements HubViewState {
|
||||
const _HubViewState({this.loggedUser, final List<DeviceEntity> devices = const [], this.selectedDevice, final List<PositionEntity> positions = const [], this.selectedPosition}): _devices = devices,_positions = positions;
|
||||
class _ControlPanelViewState implements ControlPanelViewState {
|
||||
const _ControlPanelViewState({this.loggedUser, final List<DeviceEntity> devices = const [], this.selectedDevice, final List<PositionEntity> positions = const [], this.selectedPosition}): _devices = devices,_positions = positions;
|
||||
|
||||
|
||||
@override final UserEntity? loggedUser;
|
||||
@@ -267,17 +267,17 @@ class _HubViewState implements HubViewState {
|
||||
|
||||
@override final PositionEntity? selectedPosition;
|
||||
|
||||
/// Create a copy of HubViewState
|
||||
/// Create a copy of ControlPanelViewState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override @JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@pragma('vm:prefer-inline')
|
||||
_$HubViewStateCopyWith<_HubViewState> get copyWith => __$HubViewStateCopyWithImpl<_HubViewState>(this, _$identity);
|
||||
_$ControlPanelViewStateCopyWith<_ControlPanelViewState> get copyWith => __$ControlPanelViewStateCopyWithImpl<_ControlPanelViewState>(this, _$identity);
|
||||
|
||||
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) || (other.runtimeType == runtimeType&&other is _HubViewState&&(identical(other.loggedUser, loggedUser) || other.loggedUser == loggedUser)&&const DeepCollectionEquality().equals(other._devices, _devices)&&(identical(other.selectedDevice, selectedDevice) || other.selectedDevice == selectedDevice)&&const DeepCollectionEquality().equals(other._positions, _positions)&&(identical(other.selectedPosition, selectedPosition) || other.selectedPosition == selectedPosition));
|
||||
return identical(this, other) || (other.runtimeType == runtimeType&&other is _ControlPanelViewState&&(identical(other.loggedUser, loggedUser) || other.loggedUser == loggedUser)&&const DeepCollectionEquality().equals(other._devices, _devices)&&(identical(other.selectedDevice, selectedDevice) || other.selectedDevice == selectedDevice)&&const DeepCollectionEquality().equals(other._positions, _positions)&&(identical(other.selectedPosition, selectedPosition) || other.selectedPosition == selectedPosition));
|
||||
}
|
||||
|
||||
|
||||
@@ -286,15 +286,15 @@ int get hashCode => Object.hash(runtimeType,loggedUser,const DeepCollectionEqual
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'HubViewState(loggedUser: $loggedUser, devices: $devices, selectedDevice: $selectedDevice, positions: $positions, selectedPosition: $selectedPosition)';
|
||||
return 'ControlPanelViewState(loggedUser: $loggedUser, devices: $devices, selectedDevice: $selectedDevice, positions: $positions, selectedPosition: $selectedPosition)';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract mixin class _$HubViewStateCopyWith<$Res> implements $HubViewStateCopyWith<$Res> {
|
||||
factory _$HubViewStateCopyWith(_HubViewState value, $Res Function(_HubViewState) _then) = __$HubViewStateCopyWithImpl;
|
||||
abstract mixin class _$ControlPanelViewStateCopyWith<$Res> implements $ControlPanelViewStateCopyWith<$Res> {
|
||||
factory _$ControlPanelViewStateCopyWith(_ControlPanelViewState value, $Res Function(_ControlPanelViewState) _then) = __$ControlPanelViewStateCopyWithImpl;
|
||||
@override @useResult
|
||||
$Res call({
|
||||
UserEntity? loggedUser, List<DeviceEntity> devices, DeviceEntity? selectedDevice, List<PositionEntity> positions, PositionEntity? selectedPosition
|
||||
@@ -305,17 +305,17 @@ $Res call({
|
||||
|
||||
}
|
||||
/// @nodoc
|
||||
class __$HubViewStateCopyWithImpl<$Res>
|
||||
implements _$HubViewStateCopyWith<$Res> {
|
||||
__$HubViewStateCopyWithImpl(this._self, this._then);
|
||||
class __$ControlPanelViewStateCopyWithImpl<$Res>
|
||||
implements _$ControlPanelViewStateCopyWith<$Res> {
|
||||
__$ControlPanelViewStateCopyWithImpl(this._self, this._then);
|
||||
|
||||
final _HubViewState _self;
|
||||
final $Res Function(_HubViewState) _then;
|
||||
final _ControlPanelViewState _self;
|
||||
final $Res Function(_ControlPanelViewState) _then;
|
||||
|
||||
/// Create a copy of HubViewState
|
||||
/// Create a copy of ControlPanelViewState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override @pragma('vm:prefer-inline') $Res call({Object? loggedUser = freezed,Object? devices = null,Object? selectedDevice = freezed,Object? positions = null,Object? selectedPosition = freezed,}) {
|
||||
return _then(_HubViewState(
|
||||
return _then(_ControlPanelViewState(
|
||||
loggedUser: freezed == loggedUser ? _self.loggedUser : loggedUser // ignore: cast_nullable_to_non_nullable
|
||||
as UserEntity?,devices: null == devices ? _self._devices : devices // ignore: cast_nullable_to_non_nullable
|
||||
as List<DeviceEntity>,selectedDevice: freezed == selectedDevice ? _self.selectedDevice : selectedDevice // ignore: cast_nullable_to_non_nullable
|
||||
@@ -325,7 +325,7 @@ as PositionEntity?,
|
||||
));
|
||||
}
|
||||
|
||||
/// Create a copy of HubViewState
|
||||
/// Create a copy of ControlPanelViewState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
@@ -337,7 +337,7 @@ $UserEntityCopyWith<$Res>? get loggedUser {
|
||||
return $UserEntityCopyWith<$Res>(_self.loggedUser!, (value) {
|
||||
return _then(_self.copyWith(loggedUser: value));
|
||||
});
|
||||
}/// Create a copy of HubViewState
|
||||
}/// Create a copy of ControlPanelViewState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
@@ -349,7 +349,7 @@ $DeviceEntityCopyWith<$Res>? get selectedDevice {
|
||||
return $DeviceEntityCopyWith<$Res>(_self.selectedDevice!, (value) {
|
||||
return _then(_self.copyWith(selectedDevice: value));
|
||||
});
|
||||
}/// Create a copy of HubViewState
|
||||
}/// Create a copy of ControlPanelViewState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
@@ -1,4 +1,4 @@
|
||||
name: hub
|
||||
name: control_panel
|
||||
description: "A new Flutter project."
|
||||
# The following line prevents the package from being accidentally published to
|
||||
# pub.dev using `flutter pub publish`. This is preferred for private packages.
|
||||
@@ -1,6 +1,6 @@
|
||||
library functions;
|
||||
|
||||
export 'src/features/functions/functions_builder.dart';
|
||||
export 'src/features/device_management/device_management_builder.dart';
|
||||
export 'src/features/contacts/contacts_builder.dart';
|
||||
export 'src/features/remote_connection/remote_connection_builder.dart';
|
||||
export 'src/features/locate_device/locate_device_builder.dart';
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:functions/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:functions/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:functions/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:device_management/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
|
||||
abstract class FunctionsRemoteDatasource {
|
||||
Future<List<ContactEntity>> getContacts({required String userId});
|
||||
@@ -2,11 +2,11 @@ import 'dart:convert';
|
||||
|
||||
import 'package:dio/dio.dart';
|
||||
// import 'package:flutter/material.dart';
|
||||
import 'package:functions/src/core/data/datasources/functions_remote_datasource.dart';
|
||||
import 'package:functions/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:functions/src/core/data/models/send_command_request_model.dart';
|
||||
import 'package:functions/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:functions/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:device_management/src/core/data/datasources/functions_remote_datasource.dart';
|
||||
import 'package:device_management/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:device_management/src/core/data/models/send_command_request_model.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
||||
|
||||
class FunctionsRemoteDatasourceImpl implements FunctionsRemoteDatasource {
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:functions/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:device_management/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
|
||||
part 'send_command_request_model.freezed.dart';
|
||||
part 'send_command_request_model.g.dart';
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:functions/src/core/data/datasources/functions_remote_datasource.dart';
|
||||
import 'package:functions/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:functions/src/core/domain/repositories/functions_repository.dart';
|
||||
import 'package:functions/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:functions/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:device_management/src/core/data/datasources/functions_remote_datasource.dart';
|
||||
import 'package:device_management/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:device_management/src/core/domain/repositories/functions_repository.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
|
||||
class FunctionsRepositoryImpl implements FunctionsRepository {
|
||||
const FunctionsRepositoryImpl(this._remote);
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:functions/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:functions/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:functions/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:device_management/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
|
||||
abstract class FunctionsRepository {
|
||||
Future<List<ContactEntity>> getContacts({required String userId});
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/core/data/datasources/functions_remote_datasource.dart';
|
||||
import 'package:functions/src/core/data/datasources/functions_remote_datasource_impl.dart';
|
||||
import 'package:device_management/src/core/data/datasources/functions_remote_datasource.dart';
|
||||
import 'package:device_management/src/core/data/datasources/functions_remote_datasource_impl.dart';
|
||||
import 'package:sf_infrastructure/sf_infrastructure.dart';
|
||||
|
||||
final functionsRemoteDatasourceProvider = Provider<FunctionsRemoteDatasource>((ref) {
|
||||
@@ -0,0 +1,9 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:device_management/src/core/providers/functions_remote_datasource_provider.dart';
|
||||
import 'package:device_management/src/core/data/repositories/functions_repository_impl.dart';
|
||||
import 'package:device_management/src/core/domain/repositories/functions_repository.dart';
|
||||
|
||||
final functionsRepositoryProvider = Provider<FunctionsRepository>((ref) {
|
||||
final remote = ref.read(functionsRemoteDatasourceProvider);
|
||||
return FunctionsRepositoryImpl(remote);
|
||||
});
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:functions/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
|
||||
abstract class GetContactsUseCase {
|
||||
Future<List<ContactEntity>> getContacts({required String userId});
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:functions/src/core/domain/repositories/functions_repository.dart';
|
||||
import 'package:functions/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:functions/src/features/contacts/domain/get_contacts_use_case.dart';
|
||||
import 'package:device_management/src/core/domain/repositories/functions_repository.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/get_contacts_use_case.dart';
|
||||
|
||||
class GetContactsUseCaseImpl implements GetContactsUseCase {
|
||||
GetContactsUseCaseImpl(this._repository);
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:functions/src/features/contacts/presentation/edit_contact_screen.dart';
|
||||
import 'package:functions/src/features/contacts/presentation/state/contacts_view_model.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:device_management/src/features/contacts/presentation/edit_contact_screen.dart';
|
||||
import 'package:device_management/src/features/contacts/presentation/state/contacts_view_model.dart';
|
||||
import 'package:navigation/navigation.dart';
|
||||
import 'package:sf_localizations/sf_localizations.dart';
|
||||
import 'package:utils/utils.dart';
|
||||
@@ -35,7 +35,7 @@ class ContactsScreen extends ConsumerWidget {
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
IconButton(onPressed: () {Navigator.pop(context);},
|
||||
IconButton(onPressed: () {navigationContract.goBack();},
|
||||
icon: Icon(Icons.arrow_back)),
|
||||
if (!state.isEditing) ...[
|
||||
DecoratedBox(
|
||||
@@ -2,8 +2,8 @@ import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:functions/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:functions/src/features/contacts/presentation/state/contacts_view_model.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:device_management/src/features/contacts/presentation/state/contacts_view_model.dart';
|
||||
// import 'package:navigation/navigation.dart';
|
||||
import 'package:sf_localizations/sf_localizations.dart';
|
||||
import 'package:utils/utils.dart';
|
||||
@@ -0,0 +1,9 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:device_management/src/core/providers/functions_repository_provider.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/get_contacts_use_case.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/get_contacts_use_case_impl.dart';
|
||||
|
||||
final getContactsUseCaseProvider = Provider.autoDispose<GetContactsUseCase>((ref) {
|
||||
final functionsRepository = ref.read(functionsRepositoryProvider);
|
||||
return GetContactsUseCaseImpl(functionsRepository);
|
||||
});
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:functions/src/features/contacts/domain/get_contacts_use_case.dart';
|
||||
import 'package:functions/src/features/contacts/presentation/providers/get_contacts_use_case_provider.dart';
|
||||
import 'package:functions/src/features/contacts/presentation/state/contacts_view_state.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/get_contacts_use_case.dart';
|
||||
import 'package:device_management/src/features/contacts/presentation/providers/get_contacts_use_case_provider.dart';
|
||||
import 'package:device_management/src/features/contacts/presentation/state/contacts_view_state.dart';
|
||||
// import 'package:legacy_shared/src/providers/logged_user_provider.dart';
|
||||
// import 'package:legacy_shared/src/data/models/entities/user_entity.dart';
|
||||
// import 'package:sf_localizations/sf_localizations.dart';
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:functions/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
import 'package:device_management/src/features/contacts/domain/entities/contact_entity.dart';
|
||||
|
||||
part 'contacts_view_state.freezed.dart';
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:functions/src/features/functions/functions_screen.dart';
|
||||
import 'package:device_management/src/features/device_management/device_management_screen.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
import 'package:navigation/navigation.dart';
|
||||
|
||||
class FunctionsBuilder {
|
||||
const FunctionsBuilder();
|
||||
class DeviceManagementBuilder {
|
||||
const DeviceManagementBuilder();
|
||||
|
||||
Page<void> buildPage(BuildContext context, GoRouterState state) {
|
||||
final NavigationContract navigationContract = GetIt.I<NavigationContract>();
|
||||
|
||||
return MaterialPage<void>(
|
||||
key: state.pageKey,
|
||||
child: FunctionsScreen(navigationContract: navigationContract),
|
||||
child: DeviceManagementScreen(navigationContract: navigationContract),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/functions/widgets/call_watch_dialog.dart';
|
||||
import 'package:device_management/src/features/device_management/widgets/call_watch_dialog.dart';
|
||||
import 'package:legacy_shared/legacy_shared.dart';
|
||||
import 'package:navigation/navigation.dart';
|
||||
import 'package:sf_localizations/sf_localizations.dart';
|
||||
import 'package:utils/utils.dart';
|
||||
|
||||
class FunctionsScreen extends ConsumerWidget {
|
||||
class DeviceManagementScreen extends ConsumerWidget {
|
||||
final NavigationContract navigationContract;
|
||||
|
||||
const FunctionsScreen({super.key, required this.navigationContract});
|
||||
const DeviceManagementScreen({super.key, required this.navigationContract});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/functions/state/call_watch_view_state.dart';
|
||||
import 'package:device_management/src/features/device_management/state/call_watch_view_state.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
final callWatchViewModelProvider =
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/functions/state/call_watch_view_model.dart';
|
||||
import 'package:device_management/src/features/device_management/state/call_watch_view_model.dart';
|
||||
import 'package:sf_localizations/sf_localizations.dart';
|
||||
import 'package:utils/utils.dart';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:functions/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:device_management/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
|
||||
abstract class LocateDeviceUseCase {
|
||||
Future<void> locateDevice({required LocateDeviceRequestEntity request});
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:functions/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:functions/src/core/domain/repositories/functions_repository.dart';
|
||||
import 'package:functions/src/features/locate_device/domain/locate_device_use_case.dart';
|
||||
import 'package:device_management/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:device_management/src/core/domain/repositories/functions_repository.dart';
|
||||
import 'package:device_management/src/features/locate_device/domain/locate_device_use_case.dart';
|
||||
|
||||
class LocateDeviceUseCaseImpl implements LocateDeviceUseCase {
|
||||
LocateDeviceUseCaseImpl(this._repository);
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:functions/src/features/locate_device/presentation/locate_device_screen.dart';
|
||||
import 'package:device_management/src/features/locate_device/presentation/locate_device_screen.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
import 'package:navigation/navigation.dart';
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/locate_device/presentation/widgets/locate_device_dialog.dart';
|
||||
import 'package:device_management/src/features/locate_device/presentation/widgets/locate_device_dialog.dart';
|
||||
import 'package:navigation/navigation.dart';
|
||||
import 'package:sf_localizations/sf_localizations.dart';
|
||||
import 'package:utils/utils.dart';
|
||||
@@ -0,0 +1,9 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:device_management/src/core/providers/functions_repository_provider.dart';
|
||||
import 'package:device_management/src/features/locate_device/domain/locate_device_use_case.dart';
|
||||
import 'package:device_management/src/features/locate_device/domain/locate_device_use_case_impl.dart';
|
||||
|
||||
final locateDeviceUseCaseProvider = Provider.autoDispose<LocateDeviceUseCase>((ref) {
|
||||
final functionsRepository = ref.read(functionsRepositoryProvider);
|
||||
return LocateDeviceUseCaseImpl(functionsRepository);
|
||||
});
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:functions/src/features/locate_device/domain/locate_device_use_case.dart';
|
||||
import 'package:functions/src/features/locate_device/presentation/providers/locate_device_use_case_provider.dart';
|
||||
import 'package:functions/src/features/locate_device/presentation/state/locate_device_view_state.dart';
|
||||
import 'package:device_management/src/core/data/models/entities/locate_device_request_entity.dart';
|
||||
import 'package:device_management/src/features/locate_device/domain/locate_device_use_case.dart';
|
||||
import 'package:device_management/src/features/locate_device/presentation/providers/locate_device_use_case_provider.dart';
|
||||
import 'package:device_management/src/features/locate_device/presentation/state/locate_device_view_state.dart';
|
||||
// import 'package:legacy_shared/src/providers/logged_user_provider.dart';
|
||||
// import 'package:sf_localizations/sf_localizations.dart';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/locate_device/presentation/state/locate_device_view_model.dart';
|
||||
import 'package:device_management/src/features/locate_device/presentation/state/locate_device_view_model.dart';
|
||||
import 'package:sf_localizations/sf_localizations.dart';
|
||||
import 'package:utils/utils.dart';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:functions/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
|
||||
abstract class GetPicturesUseCase {
|
||||
Future<List<PictureEntity>> getPictures({required String userId});
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:functions/src/core/domain/repositories/functions_repository.dart';
|
||||
import 'package:functions/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:functions/src/features/remote_connection/domain/get_pictures_use_case.dart';
|
||||
import 'package:device_management/src/core/domain/repositories/functions_repository.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/get_pictures_use_case.dart';
|
||||
|
||||
class GetPicturesUseCaseImpl implements GetPicturesUseCase {
|
||||
GetPicturesUseCaseImpl(this._repository);
|
||||
@@ -0,0 +1,5 @@
|
||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
|
||||
abstract class TakePictureUseCase {
|
||||
Future<PictureEntity> takePicture({required String userId});
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import 'package:device_management/src/core/domain/repositories/functions_repository.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/take_picture_use_case.dart';
|
||||
|
||||
class TakePictureUseCaseImpl implements TakePictureUseCase {
|
||||
TakePictureUseCaseImpl(this._repository);
|
||||
|
||||
final FunctionsRepository _repository;
|
||||
|
||||
@override
|
||||
Future<PictureEntity> takePicture({required String userId}) {
|
||||
return _repository.takePicture(userId: userId);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:device_management/src/core/providers/functions_repository_provider.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/get_pictures_use_case.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/get_pictures_use_case_impl.dart';
|
||||
|
||||
final getPicturesUseCaseProvider = Provider.autoDispose<GetPicturesUseCase>((ref) {
|
||||
final functionsRepository = ref.read(functionsRepositoryProvider);
|
||||
return GetPicturesUseCaseImpl(functionsRepository);
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:device_management/src/core/providers/functions_repository_provider.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/take_picture_use_case.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/take_picture_use_case_impl.dart';
|
||||
|
||||
final takePictureUseCaseProvider = Provider.autoDispose<TakePictureUseCase>((ref) {
|
||||
final functionsRepository = ref.read(functionsRepositoryProvider);
|
||||
return TakePictureUseCaseImpl(functionsRepository);
|
||||
});
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/remote_connection/presentation/state/remote_connection_view_model.dart';
|
||||
import 'package:functions/src/features/remote_connection/presentation/widgets/show_picture_dialog.dart';
|
||||
import 'package:device_management/src/features/remote_connection/presentation/state/remote_connection_view_model.dart';
|
||||
import 'package:device_management/src/features/remote_connection/presentation/widgets/show_picture_dialog.dart';
|
||||
import 'package:navigation/navigation.dart';
|
||||
import 'package:sf_localizations/sf_localizations.dart';
|
||||
import 'package:utils/utils.dart';
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/remote_connection/presentation/remote_camera_screen.dart';
|
||||
import 'package:functions/src/features/remote_connection/presentation/widgets/spy_call_dialog.dart';
|
||||
import 'package:device_management/src/features/remote_connection/presentation/remote_camera_screen.dart';
|
||||
import 'package:device_management/src/features/remote_connection/presentation/widgets/spy_call_dialog.dart';
|
||||
import 'package:legacy_shared/legacy_shared.dart';
|
||||
import 'package:navigation/navigation.dart';
|
||||
import 'package:sf_localizations/sf_localizations.dart';
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:functions/src/features/remote_connection/domain/get_pictures_use_case.dart';
|
||||
import 'package:functions/src/features/remote_connection/domain/take_picture_use_case.dart';
|
||||
import 'package:functions/src/features/remote_connection/presentation/providers/get_pictures_use_case_provider.dart';
|
||||
import 'package:functions/src/features/remote_connection/presentation/providers/take_picture_use_case_provider.dart';
|
||||
import 'package:functions/src/features/remote_connection/presentation/state/remote_connection_view_state.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/get_pictures_use_case.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/take_picture_use_case.dart';
|
||||
import 'package:device_management/src/features/remote_connection/presentation/providers/get_pictures_use_case_provider.dart';
|
||||
import 'package:device_management/src/features/remote_connection/presentation/providers/take_picture_use_case_provider.dart';
|
||||
import 'package:device_management/src/features/remote_connection/presentation/state/remote_connection_view_state.dart';
|
||||
import 'package:legacy_shared/legacy_shared.dart';
|
||||
|
||||
final remoteConnectionViewModelProvider =
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:functions/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
|
||||
part 'remote_connection_view_state.freezed.dart';
|
||||
|
||||
@@ -2,8 +2,8 @@ import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:functions/src/features/remote_connection/presentation/state/remote_connection_view_model.dart';
|
||||
import 'package:device_management/src/features/remote_connection/domain/entities/picture_entity.dart';
|
||||
import 'package:device_management/src/features/remote_connection/presentation/state/remote_connection_view_model.dart';
|
||||
import 'package:utils/utils.dart';
|
||||
|
||||
class ShowPictureDialog extends ConsumerWidget {
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:functions/src/features/remote_connection/presentation/state/remote_connection_view_model.dart';
|
||||
import 'package:device_management/src/features/remote_connection/presentation/state/remote_connection_view_model.dart';
|
||||
import 'package:sf_localizations/sf_localizations.dart';
|
||||
import 'package:utils/utils.dart';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:functions/src/features/remote_connection/presentation/remote_connection_screen.dart';
|
||||
import 'package:device_management/src/features/remote_connection/presentation/remote_connection_screen.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
import 'package:navigation/navigation.dart';
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user