Improved MacOS support and organized screens and utils
This commit is contained in:
@@ -8,18 +8,18 @@ import 'package:flutter/services.dart';
|
||||
import 'package:gwid/connection/connection_logger.dart';
|
||||
import 'package:gwid/connection/connection_state.dart' as conn_state;
|
||||
import 'package:gwid/connection/health_monitor.dart';
|
||||
import 'package:gwid/image_cache_service.dart';
|
||||
import 'package:gwid/utils/image_cache_service.dart';
|
||||
import 'package:gwid/models/complaint.dart';
|
||||
import 'package:gwid/models/contact.dart';
|
||||
import 'package:gwid/models/message.dart';
|
||||
import 'package:gwid/models/profile.dart';
|
||||
import 'package:gwid/proxy_service.dart';
|
||||
import 'package:gwid/utils/proxy_service.dart';
|
||||
import 'package:gwid/services/account_manager.dart';
|
||||
import 'package:gwid/services/avatar_cache_service.dart';
|
||||
import 'package:gwid/services/cache_service.dart';
|
||||
import 'package:gwid/services/chat_cache_service.dart';
|
||||
import 'package:gwid/services/profile_cache_service.dart';
|
||||
import 'package:gwid/spoofing_service.dart';
|
||||
import 'package:gwid/utils/spoofing_service.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'theme_provider.dart';
|
||||
import 'utils/theme_provider.dart';
|
||||
|
||||
class ConnectionLifecycleManager extends StatefulWidget {
|
||||
final Widget child;
|
||||
|
||||
@@ -3,9 +3,9 @@ import 'package:dynamic_color/dynamic_color.dart';
|
||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
import 'package:intl/date_symbol_data_local.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'home_screen.dart';
|
||||
import 'phone_entry_screen.dart';
|
||||
import 'theme_provider.dart';
|
||||
import 'screens/home_screen.dart';
|
||||
import 'screens/phone_entry_screen.dart';
|
||||
import 'utils/theme_provider.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'dart:async';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/models/channel.dart';
|
||||
import 'package:gwid/search_channels_screen.dart';
|
||||
import 'package:gwid/screens/search_channels_screen.dart';
|
||||
|
||||
class ChannelsListScreen extends StatefulWidget {
|
||||
const ChannelsListScreen({super.key});
|
||||
@@ -5,7 +5,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:gwid/models/contact.dart';
|
||||
@@ -6,25 +6,25 @@ import 'package:flutter/scheduler.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
|
||||
import 'package:gwid/chat_screen.dart';
|
||||
import 'package:gwid/manage_account_screen.dart';
|
||||
import 'package:gwid/screens/chat_screen.dart';
|
||||
import 'package:gwid/screens/manage_account_screen.dart';
|
||||
import 'package:gwid/screens/settings/settings_screen.dart';
|
||||
import 'package:gwid/phone_entry_screen.dart';
|
||||
import 'package:gwid/screens/phone_entry_screen.dart';
|
||||
import 'package:gwid/models/chat.dart';
|
||||
import 'package:gwid/models/contact.dart';
|
||||
import 'package:gwid/models/message.dart';
|
||||
import 'package:gwid/models/profile.dart';
|
||||
import 'package:gwid/models/chat_folder.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:gwid/join_group_screen.dart';
|
||||
import 'package:gwid/search_contact_screen.dart';
|
||||
import 'package:gwid/channels_list_screen.dart';
|
||||
import 'package:gwid/screens/join_group_screen.dart';
|
||||
import 'package:gwid/screens/search_contact_screen.dart';
|
||||
import 'package:gwid/screens/channels_list_screen.dart';
|
||||
import 'package:gwid/models/channel.dart';
|
||||
import 'package:gwid/search_channels_screen.dart';
|
||||
import 'package:gwid/downloads_screen.dart';
|
||||
import 'package:gwid/user_id_lookup_screen.dart';
|
||||
import 'package:gwid/screens/search_channels_screen.dart';
|
||||
import 'package:gwid/screens/downloads_screen.dart';
|
||||
import 'package:gwid/utils/user_id_lookup_screen.dart';
|
||||
import 'package:gwid/screens/music_library_screen.dart';
|
||||
import 'package:gwid/widgets/message_preview_dialog.dart';
|
||||
import 'package:gwid/services/chat_read_settings_service.dart';
|
||||
@@ -1,12 +1,12 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:gwid/cache_management_screen.dart'; // Добавлен импорт
|
||||
import 'package:gwid/screens/cache_management_screen.dart'; // Добавлен импорт
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/phone_entry_screen.dart';
|
||||
import 'package:gwid/custom_request_screen.dart';
|
||||
import 'package:gwid/screens/phone_entry_screen.dart';
|
||||
import 'package:gwid/screens/custom_request_screen.dart';
|
||||
import 'dart:async';
|
||||
|
||||
class DebugScreen extends StatelessWidget {
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'dart:async';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gwid/chats_screen.dart';
|
||||
import 'package:gwid/phone_entry_screen.dart';
|
||||
import 'package:gwid/screens/chats_screen.dart';
|
||||
import 'package:gwid/screens/phone_entry_screen.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/screens/settings/reconnection_screen.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
@@ -10,9 +10,9 @@ import 'package:app_links/app_links.dart';
|
||||
import 'package:gwid/models/chat.dart';
|
||||
import 'package:gwid/models/contact.dart';
|
||||
import 'package:gwid/models/profile.dart';
|
||||
import 'package:gwid/chat_screen.dart';
|
||||
import 'package:gwid/screens/chat_screen.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
|
||||
class HomeScreen extends StatefulWidget {
|
||||
const HomeScreen({super.key});
|
||||
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/models/profile.dart';
|
||||
import 'package:gwid/phone_entry_screen.dart';
|
||||
import 'package:gwid/screens/phone_entry_screen.dart';
|
||||
import 'package:gwid/services/profile_cache_service.dart';
|
||||
import 'package:gwid/services/local_profile_manager.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
@@ -3,8 +3,8 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:pinput/pinput.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/chats_screen.dart';
|
||||
import 'package:gwid/password_auth_screen.dart';
|
||||
import 'package:gwid/screens/chats_screen.dart';
|
||||
import 'package:gwid/screens/password_auth_screen.dart';
|
||||
|
||||
class OTPScreen extends StatefulWidget {
|
||||
final String phoneNumber;
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'dart:async';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/chats_screen.dart';
|
||||
import 'package:gwid/screens/chats_screen.dart';
|
||||
|
||||
class PasswordAuthScreen extends StatefulWidget {
|
||||
const PasswordAuthScreen({super.key});
|
||||
@@ -4,11 +4,11 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/otp_screen.dart';
|
||||
import 'package:gwid/proxy_service.dart';
|
||||
import 'package:gwid/screens/otp_screen.dart';
|
||||
import 'package:gwid/utils/proxy_service.dart';
|
||||
import 'package:gwid/screens/settings/auth_settings_screen.dart';
|
||||
import 'package:gwid/token_auth_screen.dart';
|
||||
import 'package:gwid/tos_screen.dart'; // Импорт экрана ToS
|
||||
import 'package:gwid/screens/token_auth_screen.dart';
|
||||
import 'package:gwid/screens/tos_screen.dart'; // Импорт экрана ToS
|
||||
import 'package:mask_text_input_formatter/mask_text_input_formatter.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
@@ -1,11 +1,11 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gwid/manage_account_screen.dart';
|
||||
import 'package:gwid/screens/manage_account_screen.dart';
|
||||
import 'package:gwid/models/profile.dart';
|
||||
import 'package:gwid/screens/settings/settings_screen.dart';
|
||||
import 'package:gwid/phone_entry_screen.dart';
|
||||
import 'package:gwid/screens/phone_entry_screen.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
|
||||
class ProfileMenuDialog extends StatefulWidget {
|
||||
final Profile? myProfile;
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gwid/tos_screen.dart';
|
||||
import 'package:gwid/screens/tos_screen.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class AboutScreen extends StatelessWidget {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
|
||||
|
||||
class AnimationsScreen extends StatelessWidget {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
import 'package:gwid/screens/settings/customization_screen.dart';
|
||||
import 'package:gwid/screens/settings/animations_screen.dart';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:gwid/proxy_service.dart';
|
||||
import 'package:gwid/utils/proxy_service.dart';
|
||||
import 'package:gwid/screens/settings/proxy_settings_screen.dart';
|
||||
import 'package:gwid/screens/settings/session_spoofing_screen.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
|
||||
class BypassScreen extends StatelessWidget {
|
||||
final bool isModal;
|
||||
|
||||
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_colorpicker/flutter_colorpicker.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
import 'dart:io';
|
||||
import 'dart:ui';
|
||||
import 'package:gwid/models/message.dart';
|
||||
|
||||
@@ -4,8 +4,8 @@ import 'dart:typed_data';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/proxy_service.dart';
|
||||
import 'package:gwid/spoofing_service.dart';
|
||||
import 'package:gwid/utils/proxy_service.dart';
|
||||
import 'package:gwid/utils/spoofing_service.dart';
|
||||
import 'package:encrypt/encrypt.dart' as encrypt;
|
||||
import 'package:crypto/crypto.dart' as crypto;
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:gwid/password_management_screen.dart';
|
||||
import 'package:gwid/screens/password_management_screen.dart';
|
||||
|
||||
class PrivacySettingsScreen extends StatefulWidget {
|
||||
const PrivacySettingsScreen({super.key});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gwid/proxy_service.dart';
|
||||
import 'package:gwid/proxy_settings.dart';
|
||||
import 'package:gwid/utils/proxy_service.dart';
|
||||
import 'package:gwid/utils/proxy_settings.dart';
|
||||
|
||||
class ProxySettingsScreen extends StatefulWidget {
|
||||
const ProxySettingsScreen({super.key});
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'dart:async';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/home_screen.dart';
|
||||
import 'package:gwid/screens/home_screen.dart';
|
||||
|
||||
class ReconnectionScreen extends StatefulWidget {
|
||||
const ReconnectionScreen({super.key});
|
||||
|
||||
@@ -8,7 +8,7 @@ import 'package:flutter_timezone/flutter_timezone.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
import 'package:gwid/device_presets.dart';
|
||||
import 'package:gwid/utils/device_presets.dart';
|
||||
|
||||
enum SpoofingMethod { partial, full }
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gwid/models/profile.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/manage_account_screen.dart';
|
||||
import 'package:gwid/screens/manage_account_screen.dart';
|
||||
import 'package:gwid/screens/settings/appearance_settings_screen.dart';
|
||||
import 'package:gwid/screens/settings/notification_settings_screen.dart';
|
||||
import 'package:gwid/screens/settings/privacy_security_screen.dart';
|
||||
@@ -9,9 +9,9 @@ import 'package:gwid/screens/settings/storage_screen.dart';
|
||||
import 'package:gwid/screens/settings/network_settings_screen.dart';
|
||||
import 'package:gwid/screens/settings/bypass_screen.dart';
|
||||
import 'package:gwid/screens/settings/about_screen.dart';
|
||||
import 'package:gwid/debug_screen.dart';
|
||||
import 'package:gwid/screens/debug_screen.dart';
|
||||
import 'package:gwid/screens/settings/komet_misc_screen.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class SettingsScreen extends StatefulWidget {
|
||||
|
||||
@@ -11,9 +11,9 @@ import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/home_screen.dart';
|
||||
import 'package:gwid/proxy_service.dart';
|
||||
import 'package:gwid/proxy_settings.dart';
|
||||
import 'package:gwid/screens/home_screen.dart';
|
||||
import 'package:gwid/utils/proxy_service.dart';
|
||||
import 'package:gwid/utils/proxy_settings.dart';
|
||||
import 'package:gwid/screens/settings/qr_scanner_screen.dart';
|
||||
import 'package:gwid/screens/settings/session_spoofing_screen.dart';
|
||||
|
||||
@@ -9,19 +9,19 @@ import 'package:crypto/crypto.dart' as crypto;
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:gwid/models/message.dart';
|
||||
import 'package:gwid/models/contact.dart';
|
||||
import 'package:gwid/theme_provider.dart';
|
||||
import 'package:gwid/utils/theme_provider.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'dart:ui';
|
||||
import 'package:flutter_linkify/flutter_linkify.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
import 'package:gwid/chat_screen.dart';
|
||||
import 'package:gwid/screens/chat_screen.dart';
|
||||
import 'package:gwid/services/avatar_cache_service.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'dart:async';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:open_file/open_file.dart';
|
||||
import 'package:gwid/full_screen_video_player.dart';
|
||||
import 'package:gwid/utils/full_screen_video_player.dart';
|
||||
import 'package:just_audio/just_audio.dart';
|
||||
import 'package:gwid/services/cache_service.dart';
|
||||
import 'package:video_player/video_player.dart';
|
||||
|
||||
@@ -7,7 +7,7 @@ import 'package:gwid/models/profile.dart';
|
||||
import 'package:gwid/api/api_service.dart';
|
||||
import 'package:gwid/widgets/chat_message_bubble.dart';
|
||||
import 'package:gwid/widgets/contact_name_widget.dart';
|
||||
import 'package:gwid/chat_screen.dart';
|
||||
import 'package:gwid/screens/chat_screen.dart';
|
||||
|
||||
class ControlMessageChip extends StatelessWidget {
|
||||
final Message message;
|
||||
|
||||
Reference in New Issue
Block a user