From f9289f0c27d064d59e4c10c4423f2aa1cf8d0b1d Mon Sep 17 00:00:00 2001 From: ChandruWritesCode Date: Thu, 30 Jul 2026 09:39:32 +0530 Subject: [PATCH 1/2] file structure clean up --- .../lib/controllers/{auth.dart => auth_state.dart} | 2 +- .../{chat.dart => chat_controller.dart} | 12 ++++++------ mobile/lib/main.dart | 10 +++++----- mobile/lib/pages/{ => auth}/login_page.dart | 6 +++--- mobile/lib/pages/{ => chat}/chat_details_page.dart | 6 +++--- mobile/lib/pages/{ => chat}/chat_page.dart | 9 ++++----- mobile/lib/pages/{ => home}/home_page.dart | 10 +++++----- mobile/lib/pages/{ => new chat}/new_chat_page.dart | 8 ++++---- .../pages/{ => new chat}/select_contact_page.dart | 4 ++-- .../{settings pages => settings}/accounts.dart | 4 ++-- .../{settings pages => settings}/appearance.dart | 0 .../{settings pages => settings}/chats_media.dart | 0 .../{settings pages => settings}/help_about.dart | 0 .../notifications_settings.dart | 0 .../privacy_security.dart | 0 mobile/lib/pages/{ => settings}/settings_page.dart | 14 +++++++------- .../lib/providers/group_controller_provider.dart | 2 +- .../lib/services/{api.dart => api_services.dart} | 4 ++-- .../lib/services/{auth.dart => auth_service.dart} | 0 mobile/lib/services/{ws.dart => ws_service.dart} | 0 ...modular_widgets.dart => chat_page_widgets.dart} | 0 .../{custom_cards.dart => home_page_widgets.dart} | 6 +++--- mobile/pubspec.lock | 8 ++++---- mobile/pubspec.yaml | 6 +++--- 24 files changed, 55 insertions(+), 56 deletions(-) rename mobile/lib/controllers/{auth.dart => auth_state.dart} (99%) rename mobile/lib/controllers/{chat.dart => chat_controller.dart} (99%) rename mobile/lib/pages/{ => auth}/login_page.dart (99%) rename mobile/lib/pages/{ => chat}/chat_details_page.dart (99%) rename mobile/lib/pages/{ => chat}/chat_page.dart (99%) rename mobile/lib/pages/{ => home}/home_page.dart (98%) rename mobile/lib/pages/{ => new chat}/new_chat_page.dart (98%) rename mobile/lib/pages/{ => new chat}/select_contact_page.dart (99%) rename mobile/lib/pages/{settings pages => settings}/accounts.dart (98%) rename mobile/lib/pages/{settings pages => settings}/appearance.dart (100%) rename mobile/lib/pages/{settings pages => settings}/chats_media.dart (100%) rename mobile/lib/pages/{settings pages => settings}/help_about.dart (100%) rename mobile/lib/pages/{settings pages => settings}/notifications_settings.dart (100%) rename mobile/lib/pages/{settings pages => settings}/privacy_security.dart (100%) rename mobile/lib/pages/{ => settings}/settings_page.dart (96%) rename mobile/lib/services/{api.dart => api_services.dart} (98%) rename mobile/lib/services/{auth.dart => auth_service.dart} (100%) rename mobile/lib/services/{ws.dart => ws_service.dart} (100%) rename mobile/lib/widgets/{chat_screen_modular_widgets.dart => chat_page_widgets.dart} (100%) rename mobile/lib/widgets/{custom_cards.dart => home_page_widgets.dart} (98%) diff --git a/mobile/lib/controllers/auth.dart b/mobile/lib/controllers/auth_state.dart similarity index 99% rename from mobile/lib/controllers/auth.dart rename to mobile/lib/controllers/auth_state.dart index 86d88d8..54809cb 100644 --- a/mobile/lib/controllers/auth.dart +++ b/mobile/lib/controllers/auth_state.dart @@ -6,7 +6,7 @@ import 'package:url_launcher/url_launcher.dart'; import 'package:app_links/app_links.dart'; import 'package:mobile/models/user.dart'; import '../core/constants.dart'; -import '../services/auth.dart'; +import '../services/auth_service.dart'; class AuthState extends ChangeNotifier { final AuthService _authService = AuthService(); diff --git a/mobile/lib/controllers/chat.dart b/mobile/lib/controllers/chat_controller.dart similarity index 99% rename from mobile/lib/controllers/chat.dart rename to mobile/lib/controllers/chat_controller.dart index 0107748..5458b17 100644 --- a/mobile/lib/controllers/chat.dart +++ b/mobile/lib/controllers/chat_controller.dart @@ -2,18 +2,18 @@ import 'dart:async'; import 'dart:convert'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter/material.dart'; -import 'package:mobile/controllers/auth.dart'; +import 'package:mobile/controllers/auth_state.dart'; import 'package:mobile/models/group.dart'; import 'package:mobile/models/inbox_item.dart'; -import 'package:mobile/pages/chat_details_page.dart'; +import 'package:mobile/pages/chat/chat_details_page.dart'; import 'package:mobile/services/db_services.dart'; import 'package:sqflite_sqlcipher/sqflite.dart'; import 'package:uuid/uuid.dart'; import '../models/message.dart'; import '../models/conversation.dart'; -import '../services/api.dart'; -import '../services/ws.dart'; -import '../services/auth.dart'; +import '../services/api_services.dart'; +import '../services/ws_service.dart'; +import '../services/auth_service.dart'; class ChatController extends ChangeNotifier with WidgetsBindingObserver { final ApiService _api = ApiService(); @@ -843,7 +843,7 @@ class ChatController extends ChangeNotifier with WidgetsBindingObserver { } final String cleanSenderId = incomingMsg.senderId.trim().toLowerCase(); - final String? myId = _user.currentUser?.id?.trim().toLowerCase(); + final String? myId = _user.currentUser?.id.trim().toLowerCase(); final bool isMe = (cleanSenderId == 'me' || cleanSenderId == myId); _updateLocalInboxState( diff --git a/mobile/lib/main.dart b/mobile/lib/main.dart index 1c0f9c6..1bd6594 100644 --- a/mobile/lib/main.dart +++ b/mobile/lib/main.dart @@ -3,11 +3,11 @@ import 'package:mobile/providers/group_controller_provider.dart'; import 'package:mobile/themes/theme_provider.dart'; import 'package:provider/provider.dart'; import 'core/constants.dart'; -import 'controllers/auth.dart'; -import 'controllers/chat.dart'; -import 'services/auth.dart'; -import 'pages/login_page.dart'; -import 'pages/home_page.dart'; +import 'controllers/auth_state.dart'; +import 'controllers/chat_controller.dart'; +import 'services/auth_service.dart'; +import 'pages/auth/login_page.dart'; +import 'pages/home/home_page.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); diff --git a/mobile/lib/pages/login_page.dart b/mobile/lib/pages/auth/login_page.dart similarity index 99% rename from mobile/lib/pages/login_page.dart rename to mobile/lib/pages/auth/login_page.dart index 9d4020d..50d3beb 100644 --- a/mobile/lib/pages/login_page.dart +++ b/mobile/lib/pages/auth/login_page.dart @@ -2,10 +2,10 @@ import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:flutter_animate/flutter_animate.dart'; -import 'package:mobile/pages/settings%20pages/appearance.dart'; +import 'package:mobile/pages/settings/appearance.dart'; import 'package:provider/provider.dart'; -import '../core/constants.dart'; -import '../controllers/auth.dart'; +import '../../core/constants.dart'; +import '../../controllers/auth_state.dart'; class LoginPage extends StatefulWidget { const LoginPage({super.key}); diff --git a/mobile/lib/pages/chat_details_page.dart b/mobile/lib/pages/chat/chat_details_page.dart similarity index 99% rename from mobile/lib/pages/chat_details_page.dart rename to mobile/lib/pages/chat/chat_details_page.dart index 33403c7..6940b26 100644 --- a/mobile/lib/pages/chat_details_page.dart +++ b/mobile/lib/pages/chat/chat_details_page.dart @@ -2,9 +2,9 @@ import 'dart:async'; import 'dart:ui'; import 'package:flutter/material.dart'; -import 'package:mobile/controllers/auth.dart'; -import 'package:mobile/controllers/chat.dart'; -import 'package:mobile/pages/chat_page.dart'; +import 'package:mobile/controllers/auth_state.dart'; +import 'package:mobile/controllers/chat_controller.dart'; +import 'package:mobile/pages/chat/chat_page.dart'; import 'package:mobile/providers/group_controller_provider.dart'; import 'package:provider/provider.dart'; diff --git a/mobile/lib/pages/chat_page.dart b/mobile/lib/pages/chat/chat_page.dart similarity index 99% rename from mobile/lib/pages/chat_page.dart rename to mobile/lib/pages/chat/chat_page.dart index 2458d5b..72708c7 100644 --- a/mobile/lib/pages/chat_page.dart +++ b/mobile/lib/pages/chat/chat_page.dart @@ -4,12 +4,11 @@ import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:intl/intl.dart'; -import 'package:mobile/controllers/auth.dart'; -import 'package:mobile/models/message.dart'; -import 'package:mobile/pages/chat_details_page.dart'; +import 'package:mobile/controllers/auth_state.dart'; +import 'package:mobile/pages/chat/chat_details_page.dart'; import 'package:provider/provider.dart'; -import 'package:mobile/widgets/chat_screen_modular_widgets.dart'; -import 'package:mobile/controllers/chat.dart'; +import 'package:mobile/widgets/chat_page_widgets.dart'; +import 'package:mobile/controllers/chat_controller.dart'; import 'package:scrollable_positioned_list/scrollable_positioned_list.dart'; class ChatPage extends StatefulWidget { diff --git a/mobile/lib/pages/home_page.dart b/mobile/lib/pages/home/home_page.dart similarity index 98% rename from mobile/lib/pages/home_page.dart rename to mobile/lib/pages/home/home_page.dart index bfb12ec..f95bbe5 100644 --- a/mobile/lib/pages/home_page.dart +++ b/mobile/lib/pages/home/home_page.dart @@ -1,12 +1,12 @@ import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; -import 'package:mobile/controllers/chat.dart'; -import 'package:mobile/pages/settings_page.dart'; -import 'package:mobile/services/auth.dart'; -import 'package:mobile/widgets/custom_cards.dart'; +import 'package:mobile/controllers/chat_controller.dart'; +import 'package:mobile/pages/settings/settings_page.dart'; +import 'package:mobile/services/auth_service.dart'; +import 'package:mobile/widgets/home_page_widgets.dart'; import 'package:provider/provider.dart'; -import 'new_chat_page.dart'; +import '../new chat/new_chat_page.dart'; class HomePage extends StatefulWidget { const HomePage({super.key}); diff --git a/mobile/lib/pages/new_chat_page.dart b/mobile/lib/pages/new chat/new_chat_page.dart similarity index 98% rename from mobile/lib/pages/new_chat_page.dart rename to mobile/lib/pages/new chat/new_chat_page.dart index 3639953..30059ec 100644 --- a/mobile/lib/pages/new_chat_page.dart +++ b/mobile/lib/pages/new chat/new_chat_page.dart @@ -1,11 +1,11 @@ import 'dart:async'; import 'dart:ui'; import 'package:flutter/material.dart'; -import 'package:mobile/pages/select_contact_page.dart'; -import 'package:mobile/pages/settings_page.dart'; +import 'package:mobile/pages/new%20chat/select_contact_page.dart'; +import 'package:mobile/pages/settings/settings_page.dart'; import 'package:provider/provider.dart'; -import 'package:mobile/controllers/chat.dart'; -import 'chat_page.dart'; +import 'package:mobile/controllers/chat_controller.dart'; +import '../chat/chat_page.dart'; class NewChatPage extends StatefulWidget { const NewChatPage({super.key}); diff --git a/mobile/lib/pages/select_contact_page.dart b/mobile/lib/pages/new chat/select_contact_page.dart similarity index 99% rename from mobile/lib/pages/select_contact_page.dart rename to mobile/lib/pages/new chat/select_contact_page.dart index dff6b72..57b741c 100644 --- a/mobile/lib/pages/select_contact_page.dart +++ b/mobile/lib/pages/new chat/select_contact_page.dart @@ -1,8 +1,8 @@ import 'dart:async'; import 'dart:ui'; import 'package:flutter/material.dart'; -import 'package:mobile/controllers/chat.dart'; -import 'package:mobile/pages/chat_page.dart'; +import 'package:mobile/controllers/chat_controller.dart'; +import 'package:mobile/pages/chat/chat_page.dart'; import 'package:mobile/providers/group_controller_provider.dart'; import 'package:provider/provider.dart'; diff --git a/mobile/lib/pages/settings pages/accounts.dart b/mobile/lib/pages/settings/accounts.dart similarity index 98% rename from mobile/lib/pages/settings pages/accounts.dart rename to mobile/lib/pages/settings/accounts.dart index de86253..d9f9078 100644 --- a/mobile/lib/pages/settings pages/accounts.dart +++ b/mobile/lib/pages/settings/accounts.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:mobile/controllers/auth.dart'; -import 'package:mobile/controllers/chat.dart'; +import 'package:mobile/controllers/auth_state.dart'; +import 'package:mobile/controllers/chat_controller.dart'; import 'package:mobile/main.dart'; import 'package:mobile/providers/group_controller_provider.dart'; import 'package:provider/provider.dart'; diff --git a/mobile/lib/pages/settings pages/appearance.dart b/mobile/lib/pages/settings/appearance.dart similarity index 100% rename from mobile/lib/pages/settings pages/appearance.dart rename to mobile/lib/pages/settings/appearance.dart diff --git a/mobile/lib/pages/settings pages/chats_media.dart b/mobile/lib/pages/settings/chats_media.dart similarity index 100% rename from mobile/lib/pages/settings pages/chats_media.dart rename to mobile/lib/pages/settings/chats_media.dart diff --git a/mobile/lib/pages/settings pages/help_about.dart b/mobile/lib/pages/settings/help_about.dart similarity index 100% rename from mobile/lib/pages/settings pages/help_about.dart rename to mobile/lib/pages/settings/help_about.dart diff --git a/mobile/lib/pages/settings pages/notifications_settings.dart b/mobile/lib/pages/settings/notifications_settings.dart similarity index 100% rename from mobile/lib/pages/settings pages/notifications_settings.dart rename to mobile/lib/pages/settings/notifications_settings.dart diff --git a/mobile/lib/pages/settings pages/privacy_security.dart b/mobile/lib/pages/settings/privacy_security.dart similarity index 100% rename from mobile/lib/pages/settings pages/privacy_security.dart rename to mobile/lib/pages/settings/privacy_security.dart diff --git a/mobile/lib/pages/settings_page.dart b/mobile/lib/pages/settings/settings_page.dart similarity index 96% rename from mobile/lib/pages/settings_page.dart rename to mobile/lib/pages/settings/settings_page.dart index 050da33..d03f2c8 100644 --- a/mobile/lib/pages/settings_page.dart +++ b/mobile/lib/pages/settings/settings_page.dart @@ -1,13 +1,13 @@ import 'dart:ui'; import 'package:flutter/material.dart'; -import 'package:mobile/controllers/auth.dart'; -import 'package:mobile/pages/settings%20pages/accounts.dart'; -import 'package:mobile/pages/settings%20pages/appearance.dart'; -import 'package:mobile/pages/settings%20pages/chats_media.dart'; -import 'package:mobile/pages/settings%20pages/help_about.dart'; -import 'package:mobile/pages/settings%20pages/notifications_settings.dart'; -import 'package:mobile/pages/settings%20pages/privacy_security.dart'; +import 'package:mobile/controllers/auth_state.dart'; +import 'package:mobile/pages/settings/accounts.dart'; +import 'package:mobile/pages/settings/appearance.dart'; +import 'package:mobile/pages/settings/chats_media.dart'; +import 'package:mobile/pages/settings/help_about.dart'; +import 'package:mobile/pages/settings/notifications_settings.dart'; +import 'package:mobile/pages/settings/privacy_security.dart'; import 'package:provider/provider.dart'; import 'package:qr_flutter/qr_flutter.dart'; diff --git a/mobile/lib/providers/group_controller_provider.dart b/mobile/lib/providers/group_controller_provider.dart index 2a046bf..d3dd171 100644 --- a/mobile/lib/providers/group_controller_provider.dart +++ b/mobile/lib/providers/group_controller_provider.dart @@ -1,7 +1,7 @@ import 'package:dio/dio.dart'; import 'package:flutter/widgets.dart'; import 'package:mobile/models/group.dart'; -import 'package:mobile/services/api.dart'; +import 'package:mobile/services/api_services.dart'; class GroupController extends ChangeNotifier { final Map> _selectedContacts = {}; diff --git a/mobile/lib/services/api.dart b/mobile/lib/services/api_services.dart similarity index 98% rename from mobile/lib/services/api.dart rename to mobile/lib/services/api_services.dart index 00be614..d2860ab 100644 --- a/mobile/lib/services/api.dart +++ b/mobile/lib/services/api_services.dart @@ -1,7 +1,7 @@ import 'package:dio/dio.dart'; import '../core/constants.dart'; -import '../controllers/auth.dart'; -import 'auth.dart'; +import '../controllers/auth_state.dart'; +import 'auth_service.dart'; class ApiService { final Dio _dio = Dio(); diff --git a/mobile/lib/services/auth.dart b/mobile/lib/services/auth_service.dart similarity index 100% rename from mobile/lib/services/auth.dart rename to mobile/lib/services/auth_service.dart diff --git a/mobile/lib/services/ws.dart b/mobile/lib/services/ws_service.dart similarity index 100% rename from mobile/lib/services/ws.dart rename to mobile/lib/services/ws_service.dart diff --git a/mobile/lib/widgets/chat_screen_modular_widgets.dart b/mobile/lib/widgets/chat_page_widgets.dart similarity index 100% rename from mobile/lib/widgets/chat_screen_modular_widgets.dart rename to mobile/lib/widgets/chat_page_widgets.dart diff --git a/mobile/lib/widgets/custom_cards.dart b/mobile/lib/widgets/home_page_widgets.dart similarity index 98% rename from mobile/lib/widgets/custom_cards.dart rename to mobile/lib/widgets/home_page_widgets.dart index 536fa54..9815e05 100644 --- a/mobile/lib/widgets/custom_cards.dart +++ b/mobile/lib/widgets/home_page_widgets.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; -import 'package:mobile/controllers/auth.dart'; -import 'package:mobile/controllers/chat.dart'; +import 'package:mobile/controllers/auth_state.dart'; +import 'package:mobile/controllers/chat_controller.dart'; import 'package:provider/provider.dart'; import '../models/inbox_item.dart'; -import '../pages/chat_page.dart'; +import '../pages/chat/chat_page.dart'; class CustomChatCard extends StatelessWidget { final InboxItem conversation; diff --git a/mobile/pubspec.lock b/mobile/pubspec.lock index e2136cd..13ece19 100644 --- a/mobile/pubspec.lock +++ b/mobile/pubspec.lock @@ -149,10 +149,10 @@ packages: dependency: "direct main" description: name: dio - sha256: ea2bad3c89a27635ce2d85cce4d6b199da49a5a48ec77b03e45b65a3b90922b0 + sha256: "0df44ebba85e503958eb75d07eedd3c86275a58c1d3eda2f2ce8f0a2c3abbb3c" url: "https://pub.dev" source: hosted - version: "5.10.0" + version: "5.11.0" dio_web_adapter: dependency: transitive description: @@ -489,7 +489,7 @@ packages: source: hosted version: "2.2.0" path: - dependency: transitive + dependency: "direct main" description: name: path sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" @@ -497,7 +497,7 @@ packages: source: hosted version: "1.9.1" path_provider: - dependency: "direct main" + dependency: transitive description: name: path_provider sha256: a7f4874f987173da295a61c181b8ee71dab59b332a486b391babf26a1b884825 diff --git a/mobile/pubspec.yaml b/mobile/pubspec.yaml index bae9813..8c12d16 100644 --- a/mobile/pubspec.yaml +++ b/mobile/pubspec.yaml @@ -36,19 +36,19 @@ dependencies: launcher_name: ^1.0.2 flutter_launcher_icons: ^0.14.4 flutter_secure_storage: ^10.3.1 - dio: ^5.10.0 - flutter_markdown_plus: ^1.0.7 + dio: ^5.11.0 + flutter_markdown_plus: ^1.0.12 intl: ^0.20.3 qr_flutter: ^4.1.0 flutter_animate: ^4.5.2 url_launcher: ^6.3.2 app_links: ^7.2.1 sqflite_sqlcipher: ^3.4.0 - path_provider: ^2.1.6 connectivity_plus: ^7.3.1 uuid: ^4.6.0 shared_preferences: ^2.5.5 scrollable_positioned_list: ^0.3.8 + path: ^1.9.1 launcher_name: default: "Elephant" From efd88791e2fbf362a328f3d0c8d7df1111fcc9eb Mon Sep 17 00:00:00 2001 From: ChandruWritesCode Date: Thu, 30 Jul 2026 11:27:21 +0530 Subject: [PATCH 2/2] repo for local DB cache created --- mobile/lib/cache/database/repository/repo.dart | 0 mobile/lib/{ => cache/database}/services/db_services.dart | 0 mobile/lib/controllers/chat_controller.dart | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 mobile/lib/cache/database/repository/repo.dart rename mobile/lib/{ => cache/database}/services/db_services.dart (100%) diff --git a/mobile/lib/cache/database/repository/repo.dart b/mobile/lib/cache/database/repository/repo.dart new file mode 100644 index 0000000..e69de29 diff --git a/mobile/lib/services/db_services.dart b/mobile/lib/cache/database/services/db_services.dart similarity index 100% rename from mobile/lib/services/db_services.dart rename to mobile/lib/cache/database/services/db_services.dart diff --git a/mobile/lib/controllers/chat_controller.dart b/mobile/lib/controllers/chat_controller.dart index 5458b17..e618de3 100644 --- a/mobile/lib/controllers/chat_controller.dart +++ b/mobile/lib/controllers/chat_controller.dart @@ -6,7 +6,7 @@ import 'package:mobile/controllers/auth_state.dart'; import 'package:mobile/models/group.dart'; import 'package:mobile/models/inbox_item.dart'; import 'package:mobile/pages/chat/chat_details_page.dart'; -import 'package:mobile/services/db_services.dart'; +import 'package:mobile/cache/database/services/db_services.dart'; import 'package:sqflite_sqlcipher/sqflite.dart'; import 'package:uuid/uuid.dart'; import '../models/message.dart';