refactor: move non-reused widgets
This commit is contained in:
@@ -7,7 +7,7 @@ import '../services/plex_auth_service.dart';
|
||||
import '../services/storage_service.dart';
|
||||
import '../utils/app_logger.dart';
|
||||
import '../utils/provider_extensions.dart';
|
||||
import '../widgets/pin_entry_dialog.dart';
|
||||
import '../screens/profile/pin_entry_dialog.dart';
|
||||
import 'plex_client_provider.dart';
|
||||
|
||||
class UserProfileProvider extends ChangeNotifier {
|
||||
|
||||
@@ -12,10 +12,10 @@ import '../providers/server_state_provider.dart';
|
||||
import '../providers/hidden_libraries_provider.dart';
|
||||
import '../providers/playback_state_provider.dart';
|
||||
import '../widgets/desktop_app_bar.dart';
|
||||
import '../widgets/user_avatar_widget.dart';
|
||||
import 'profile/user_avatar_widget.dart';
|
||||
import '../widgets/hub_section.dart';
|
||||
import '../widgets/hub_navigation_controller.dart';
|
||||
import 'profile_switch_screen.dart';
|
||||
import 'profile/profile_switch_screen.dart';
|
||||
import '../providers/user_profile_provider.dart';
|
||||
import '../providers/settings_provider.dart';
|
||||
import '../mixins/refreshable.dart';
|
||||
|
||||
@@ -10,7 +10,7 @@ import '../utils/app_logger.dart';
|
||||
import '../utils/grid_cross_axis_extent.dart';
|
||||
import '../widgets/media_card.dart';
|
||||
import '../widgets/desktop_app_bar.dart';
|
||||
import '../widgets/sort_bottom_sheet.dart';
|
||||
import 'libraries/sort_bottom_sheet.dart';
|
||||
import '../mixins/refreshable.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
|
||||
|
||||
+5
-5
@@ -1,10 +1,10 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../models/plex_metadata.dart';
|
||||
import '../providers/settings_provider.dart';
|
||||
import '../services/settings_service.dart' show ViewMode;
|
||||
import '../utils/grid_size_calculator.dart';
|
||||
import 'media_card.dart';
|
||||
import '../../models/plex_metadata.dart';
|
||||
import '../../providers/settings_provider.dart';
|
||||
import '../../services/settings_service.dart' show ViewMode;
|
||||
import '../../utils/grid_size_calculator.dart';
|
||||
import '../../widgets/media_card.dart';
|
||||
|
||||
/// A widget that automatically switches between grid and list view
|
||||
/// based on user settings, providing a consistent layout pattern
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import 'empty_state_widget.dart';
|
||||
import 'error_state_widget.dart';
|
||||
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../models/plex_filter.dart';
|
||||
import '../widgets/app_bar_back_button.dart';
|
||||
import '../widgets/bottom_sheet_header.dart';
|
||||
import '../utils/provider_extensions.dart';
|
||||
import '../utils/keyboard_utils.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../../models/plex_filter.dart';
|
||||
import '../../widgets/app_bar_back_button.dart';
|
||||
import '../../widgets/bottom_sheet_header.dart';
|
||||
import '../../utils/provider_extensions.dart';
|
||||
import '../../utils/keyboard_utils.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
|
||||
class FiltersBottomSheet extends StatefulWidget {
|
||||
final List<PlexFilter> filters;
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import '../models/plex_metadata.dart';
|
||||
import '../utils/keyboard_utils.dart';
|
||||
import '../../models/plex_metadata.dart';
|
||||
import '../../utils/keyboard_utils.dart';
|
||||
|
||||
/// Individual item in the folder tree
|
||||
/// Can be either a folder (expandable) or a file (tappable)
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../models/plex_metadata.dart';
|
||||
import '../screens/media_detail_screen.dart';
|
||||
import '../screens/season_detail_screen.dart';
|
||||
import '../utils/app_logger.dart';
|
||||
import '../utils/provider_extensions.dart';
|
||||
import '../utils/video_player_navigation.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../../models/plex_metadata.dart';
|
||||
import '../media_detail_screen.dart';
|
||||
import '../season_detail_screen.dart';
|
||||
import '../../utils/app_logger.dart';
|
||||
import '../../utils/provider_extensions.dart';
|
||||
import '../../utils/video_player_navigation.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import 'folder_tree_item.dart';
|
||||
import 'empty_state_widget.dart';
|
||||
import 'error_state_widget.dart';
|
||||
@@ -2,29 +2,29 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
import '../../services/plex_client.dart';
|
||||
import '../models/plex_library.dart';
|
||||
import '../models/plex_metadata.dart';
|
||||
import '../models/plex_sort.dart';
|
||||
import '../providers/hidden_libraries_provider.dart';
|
||||
import '../providers/multi_server_provider.dart';
|
||||
import '../utils/app_logger.dart';
|
||||
import '../utils/keyboard_utils.dart';
|
||||
import '../utils/provider_extensions.dart';
|
||||
import '../widgets/desktop_app_bar.dart';
|
||||
import '../widgets/context_menu_wrapper.dart';
|
||||
import '../widgets/server_badge.dart';
|
||||
import '../services/storage_service.dart';
|
||||
import '../mixins/refreshable.dart';
|
||||
import '../mixins/item_updatable.dart';
|
||||
import '../theme/theme_helper.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../utils/error_message_utils.dart';
|
||||
import 'library_tabs/library_browse_tab.dart';
|
||||
import 'library_tabs/library_recommended_tab.dart';
|
||||
import 'library_tabs/library_collections_tab.dart';
|
||||
import 'library_tabs/library_playlists_tab.dart';
|
||||
import 'main_screen.dart';
|
||||
import '../../../services/plex_client.dart';
|
||||
import '../../models/plex_library.dart';
|
||||
import '../../models/plex_metadata.dart';
|
||||
import '../../models/plex_sort.dart';
|
||||
import '../../providers/hidden_libraries_provider.dart';
|
||||
import '../../providers/multi_server_provider.dart';
|
||||
import '../../utils/app_logger.dart';
|
||||
import '../../utils/keyboard_utils.dart';
|
||||
import '../../utils/provider_extensions.dart';
|
||||
import '../../widgets/desktop_app_bar.dart';
|
||||
import 'context_menu_wrapper.dart';
|
||||
import 'server_badge.dart';
|
||||
import '../../services/storage_service.dart';
|
||||
import '../../mixins/refreshable.dart';
|
||||
import '../../mixins/item_updatable.dart';
|
||||
import '../../theme/theme_helper.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../utils/error_message_utils.dart';
|
||||
import 'tabs/library_browse_tab.dart';
|
||||
import 'tabs/library_recommended_tab.dart';
|
||||
import 'tabs/library_collections_tab.dart';
|
||||
import 'tabs/library_playlists_tab.dart';
|
||||
import '../main_screen.dart';
|
||||
|
||||
class LibrariesScreen extends StatefulWidget {
|
||||
const LibrariesScreen({super.key});
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import '../models/plex_sort.dart';
|
||||
import '../widgets/bottom_sheet_header.dart';
|
||||
import '../utils/keyboard_utils.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../../models/plex_sort.dart';
|
||||
import '../../widgets/bottom_sheet_header.dart';
|
||||
import '../../utils/keyboard_utils.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
|
||||
class SortBottomSheet extends StatefulWidget {
|
||||
final List<PlexSort> sortOptions;
|
||||
+5
-5
@@ -1,10 +1,10 @@
|
||||
import 'dart:async';
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../models/plex_library.dart';
|
||||
import '../../utils/app_logger.dart';
|
||||
import '../../mixins/library_tab_state.dart';
|
||||
import '../../mixins/refreshable.dart';
|
||||
import '../../widgets/content_state_builder.dart';
|
||||
import '../../../models/plex_library.dart';
|
||||
import '../../../utils/app_logger.dart';
|
||||
import '../../../mixins/library_tab_state.dart';
|
||||
import '../../../mixins/refreshable.dart';
|
||||
import '../content_state_builder.dart';
|
||||
|
||||
/// Base class for library tab screens that provides common state management
|
||||
/// and lifecycle handling for tabs that display library content.
|
||||
+21
-21
@@ -2,27 +2,27 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
import '../../services/plex_client.dart';
|
||||
import '../../models/plex_library.dart';
|
||||
import '../../models/plex_metadata.dart';
|
||||
import '../../models/plex_filter.dart';
|
||||
import '../../models/plex_sort.dart';
|
||||
import '../../providers/settings_provider.dart';
|
||||
import '../../utils/error_message_utils.dart';
|
||||
import '../../utils/grid_size_calculator.dart';
|
||||
import '../../utils/keyboard_utils.dart';
|
||||
import '../../widgets/media_card.dart';
|
||||
import '../../widgets/folder_tree_view.dart';
|
||||
import '../../widgets/filters_bottom_sheet.dart';
|
||||
import '../../widgets/sort_bottom_sheet.dart';
|
||||
import '../../widgets/empty_state_widget.dart';
|
||||
import '../../widgets/error_state_widget.dart';
|
||||
import '../../services/storage_service.dart';
|
||||
import '../../services/settings_service.dart' show ViewMode;
|
||||
import '../../mixins/item_updatable.dart';
|
||||
import '../../mixins/library_tab_state.dart';
|
||||
import '../../mixins/refreshable.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../../../services/plex_client.dart';
|
||||
import '../../../models/plex_library.dart';
|
||||
import '../../../models/plex_metadata.dart';
|
||||
import '../../../models/plex_filter.dart';
|
||||
import '../../../models/plex_sort.dart';
|
||||
import '../../../providers/settings_provider.dart';
|
||||
import '../../../utils/error_message_utils.dart';
|
||||
import '../../../utils/grid_size_calculator.dart';
|
||||
import '../../../utils/keyboard_utils.dart';
|
||||
import '../../../widgets/media_card.dart';
|
||||
import '../folder_tree_view.dart';
|
||||
import '../filters_bottom_sheet.dart';
|
||||
import '../sort_bottom_sheet.dart';
|
||||
import '../empty_state_widget.dart';
|
||||
import '../error_state_widget.dart';
|
||||
import '../../../services/storage_service.dart';
|
||||
import '../../../services/settings_service.dart' show ViewMode;
|
||||
import '../../../mixins/item_updatable.dart';
|
||||
import '../../../mixins/library_tab_state.dart';
|
||||
import '../../../mixins/refreshable.dart';
|
||||
import '../../../i18n/strings.g.dart';
|
||||
|
||||
/// Browse tab for library screen
|
||||
/// Shows library items with grouping, filtering, and sorting
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../models/plex_metadata.dart';
|
||||
import '../../utils/library_refresh_notifier.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../widgets/adaptive_media_grid.dart';
|
||||
import '../../../models/plex_metadata.dart';
|
||||
import '../../../utils/library_refresh_notifier.dart';
|
||||
import '../../../i18n/strings.g.dart';
|
||||
import '../adaptive_media_grid.dart';
|
||||
import 'base_library_tab.dart';
|
||||
|
||||
/// Collections tab for library screen
|
||||
+7
-7
@@ -1,12 +1,12 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../../models/plex_playlist.dart';
|
||||
import '../../providers/settings_provider.dart';
|
||||
import '../../utils/library_refresh_notifier.dart';
|
||||
import '../../services/settings_service.dart' show ViewMode;
|
||||
import '../../utils/grid_size_calculator.dart';
|
||||
import '../../widgets/media_card.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../../models/plex_playlist.dart';
|
||||
import '../../../providers/settings_provider.dart';
|
||||
import '../../../utils/library_refresh_notifier.dart';
|
||||
import '../../../services/settings_service.dart' show ViewMode;
|
||||
import '../../../utils/grid_size_calculator.dart';
|
||||
import '../../../widgets/media_card.dart';
|
||||
import '../../../i18n/strings.g.dart';
|
||||
import 'base_library_tab.dart';
|
||||
|
||||
/// Playlists tab for library screen
|
||||
+7
-7
@@ -1,12 +1,12 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../services/plex_client.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../mixins/item_updatable.dart';
|
||||
import '../../models/plex_hub.dart';
|
||||
import '../../models/plex_metadata.dart';
|
||||
import '../../widgets/hub_navigation_controller.dart';
|
||||
import '../../widgets/hub_section.dart';
|
||||
import '../../../../services/plex_client.dart';
|
||||
import '../../../i18n/strings.g.dart';
|
||||
import '../../../mixins/item_updatable.dart';
|
||||
import '../../../models/plex_hub.dart';
|
||||
import '../../../models/plex_metadata.dart';
|
||||
import '../../../widgets/hub_navigation_controller.dart';
|
||||
import '../../../widgets/hub_section.dart';
|
||||
import 'base_library_tab.dart';
|
||||
|
||||
/// Recommended tab for library screen
|
||||
@@ -15,9 +15,9 @@ import '../providers/playback_state_provider.dart';
|
||||
import '../services/plex_auth_service.dart';
|
||||
import '../services/storage_service.dart';
|
||||
import 'discover_screen.dart';
|
||||
import 'libraries_screen.dart';
|
||||
import 'libraries/libraries_screen.dart';
|
||||
import 'search_screen.dart';
|
||||
import 'settings_screen.dart';
|
||||
import 'settings/settings_screen.dart';
|
||||
|
||||
/// InheritedWidget that provides back navigation functionality to child screens
|
||||
class BackNavigationScope extends InheritedWidget {
|
||||
|
||||
+14
-14
@@ -1,20 +1,20 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../../services/plex_client.dart';
|
||||
import '../models/plex_playlist.dart';
|
||||
import '../models/plex_metadata.dart';
|
||||
import '../providers/settings_provider.dart';
|
||||
import '../providers/playback_state_provider.dart';
|
||||
import '../utils/app_logger.dart';
|
||||
import '../utils/provider_extensions.dart';
|
||||
import '../utils/video_player_navigation.dart';
|
||||
import '../utils/grid_size_calculator.dart';
|
||||
import '../widgets/media_card.dart';
|
||||
import '../widgets/playlist_item_card.dart';
|
||||
import '../widgets/desktop_app_bar.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../utils/dialogs.dart';
|
||||
import 'base_media_list_detail_screen.dart';
|
||||
import '../../models/plex_playlist.dart';
|
||||
import '../../models/plex_metadata.dart';
|
||||
import '../../providers/settings_provider.dart';
|
||||
import '../../providers/playback_state_provider.dart';
|
||||
import '../../utils/app_logger.dart';
|
||||
import '../../utils/provider_extensions.dart';
|
||||
import '../../utils/video_player_navigation.dart';
|
||||
import '../../utils/grid_size_calculator.dart';
|
||||
import '../../widgets/media_card.dart';
|
||||
import 'playlist_item_card.dart';
|
||||
import '../../widgets/desktop_app_bar.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../utils/dialogs.dart';
|
||||
import '../base_media_list_detail_screen.dart';
|
||||
|
||||
/// Screen to display the contents of a playlist
|
||||
class PlaylistDetailScreen extends StatefulWidget {
|
||||
@@ -1,13 +1,13 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../services/plex_client.dart';
|
||||
import '../mixins/keyboard_long_press_mixin.dart';
|
||||
import '../models/plex_metadata.dart';
|
||||
import '../utils/duration_formatter.dart';
|
||||
import '../utils/provider_extensions.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import 'focus/focus_indicator.dart';
|
||||
import 'media_context_menu.dart';
|
||||
import 'plex_optimized_image.dart';
|
||||
import '../../mixins/keyboard_long_press_mixin.dart';
|
||||
import '../../models/plex_metadata.dart';
|
||||
import '../../utils/duration_formatter.dart';
|
||||
import '../../utils/provider_extensions.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../widgets/focus/focus_indicator.dart';
|
||||
import '../../widgets/media_context_menu.dart';
|
||||
import '../../widgets/plex_optimized_image.dart';
|
||||
|
||||
/// Custom list item widget for playlist items
|
||||
/// Shows drag handle, poster, title/metadata, duration, and remove button
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
|
||||
/// Dialog for entering a PIN to access a protected profile
|
||||
class PinEntryDialog extends StatefulWidget {
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../models/plex_home_user.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../models/plex_home_user.dart';
|
||||
import 'user_avatar_widget.dart';
|
||||
|
||||
enum UserAttribute { admin, restricted, protected }
|
||||
+6
-6
@@ -1,11 +1,11 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../models/plex_home_user.dart';
|
||||
import '../providers/user_profile_provider.dart';
|
||||
import '../utils/provider_extensions.dart';
|
||||
import '../widgets/profile_list_tile.dart';
|
||||
import '../widgets/desktop_app_bar.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../../models/plex_home_user.dart';
|
||||
import '../../providers/user_profile_provider.dart';
|
||||
import '../../utils/provider_extensions.dart';
|
||||
import 'profile_list_tile.dart';
|
||||
import '../../widgets/desktop_app_bar.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
|
||||
class ProfileSwitchScreen extends StatelessWidget {
|
||||
const ProfileSwitchScreen({super.key});
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import '../models/plex_home_user.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../../models/plex_home_user.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
|
||||
class UserAvatarWidget extends StatelessWidget {
|
||||
final PlexHomeUser user;
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:package_info_plus/package_info_plus.dart';
|
||||
import '../widgets/desktop_app_bar.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../../widgets/desktop_app_bar.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import 'licenses_screen.dart';
|
||||
|
||||
class AboutScreen extends StatefulWidget {
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hotkey_manager/hotkey_manager.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
|
||||
class HotKeyRecorderWidget extends StatefulWidget {
|
||||
final String actionName;
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import '../widgets/desktop_app_bar.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../../widgets/desktop_app_bar.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
|
||||
class MergedLicenseEntry {
|
||||
final String packageName;
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:logger/logger.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../utils/app_logger.dart';
|
||||
import '../widgets/desktop_app_bar.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../utils/app_logger.dart';
|
||||
import '../../widgets/desktop_app_bar.dart';
|
||||
|
||||
class LogsScreen extends StatefulWidget {
|
||||
const LogsScreen({super.key});
|
||||
@@ -3,16 +3,16 @@ import 'package:hotkey_manager/hotkey_manager.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
import '../i18n/strings.g.dart';
|
||||
import 'main_screen.dart';
|
||||
import '../providers/settings_provider.dart';
|
||||
import '../providers/theme_provider.dart';
|
||||
import '../services/keyboard_shortcuts_service.dart';
|
||||
import '../services/settings_service.dart' as settings;
|
||||
import '../services/update_service.dart';
|
||||
import '../utils/keyboard_utils.dart';
|
||||
import '../widgets/desktop_app_bar.dart';
|
||||
import '../widgets/hotkey_recorder_widget.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../main_screen.dart';
|
||||
import '../../providers/settings_provider.dart';
|
||||
import '../../providers/theme_provider.dart';
|
||||
import '../../services/keyboard_shortcuts_service.dart';
|
||||
import '../../services/settings_service.dart' as settings;
|
||||
import '../../services/update_service.dart';
|
||||
import '../../utils/keyboard_utils.dart';
|
||||
import '../../widgets/desktop_app_bar.dart';
|
||||
import 'hotkey_recorder_widget.dart';
|
||||
import 'about_screen.dart';
|
||||
import 'logs_screen.dart';
|
||||
import 'subtitle_styling_screen.dart';
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flex_color_picker/flex_color_picker.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
import '../services/settings_service.dart';
|
||||
import '../widgets/desktop_app_bar.dart';
|
||||
import '../../i18n/strings.g.dart';
|
||||
import '../../services/settings_service.dart';
|
||||
import '../../widgets/desktop_app_bar.dart';
|
||||
|
||||
class SubtitleStylingScreen extends StatefulWidget {
|
||||
const SubtitleStylingScreen({super.key});
|
||||
@@ -16,7 +16,7 @@ import '../utils/content_rating_formatter.dart';
|
||||
import '../utils/duration_formatter.dart';
|
||||
import '../screens/media_detail_screen.dart';
|
||||
import '../screens/season_detail_screen.dart';
|
||||
import '../screens/playlist_detail_screen.dart';
|
||||
import '../screens/playlist/playlist_detail_screen.dart';
|
||||
import '../screens/collection_detail_screen.dart';
|
||||
import '../theme/theme_helper.dart';
|
||||
import '../i18n/strings.g.dart';
|
||||
|
||||
Reference in New Issue
Block a user