diff --git a/lib/main.dart b/lib/main.dart index a58e6fc..b267825 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,14 +1,14 @@ -import 'package:f0ckapp/providers/MediaProvider.dart'; +import 'package:f0ckapp/providers/media_provider.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:go_router/go_router.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:f0ckapp/screens/MediaGrid.dart'; -import 'package:f0ckapp/screens/DetailView.dart'; -import 'package:f0ckapp/utils/AppVersion.dart'; -import 'package:f0ckapp/providers/ThemeProvider.dart'; +import 'package:f0ckapp/screens/mediagrid_screen.dart'; +import 'package:f0ckapp/screens/detailview_screen.dart'; +import 'package:f0ckapp/utils/appversion_util.dart'; +import 'package:f0ckapp/providers/theme_provider.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); diff --git a/lib/models/MediaItem.dart b/lib/models/mediaitem_model.dart similarity index 100% rename from lib/models/MediaItem.dart rename to lib/models/mediaitem_model.dart diff --git a/lib/providers/MediaProvider.dart b/lib/providers/media_provider.dart similarity index 97% rename from lib/providers/MediaProvider.dart rename to lib/providers/media_provider.dart index aae4f22..ad098bc 100644 --- a/lib/providers/MediaProvider.dart +++ b/lib/providers/media_provider.dart @@ -1,8 +1,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; -import 'package:f0ckapp/models/MediaItem.dart'; -import 'package:f0ckapp/services/Api.dart'; +import 'package:f0ckapp/models/mediaitem_model.dart'; +import 'package:f0ckapp/services/api_service.dart'; const List mediaTypes = ["alles", "image", "video", "audio"]; const List mediaModes = ["sfw", "nsfw", "untagged", "all"]; diff --git a/lib/providers/ThemeProvider.dart b/lib/providers/theme_provider.dart similarity index 99% rename from lib/providers/ThemeProvider.dart rename to lib/providers/theme_provider.dart index c9a7b30..46f6a60 100644 --- a/lib/providers/ThemeProvider.dart +++ b/lib/providers/theme_provider.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; + import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; diff --git a/lib/screens/DetailView.dart b/lib/screens/detailview_screen.dart similarity index 96% rename from lib/screens/DetailView.dart rename to lib/screens/detailview_screen.dart index af8d4cd..911a7df 100644 --- a/lib/screens/DetailView.dart +++ b/lib/screens/detailview_screen.dart @@ -8,11 +8,11 @@ import 'package:flutter_cache_manager/flutter_cache_manager.dart'; import 'package:go_router/go_router.dart'; import 'package:share_plus/share_plus.dart'; -import 'package:f0ckapp/models/MediaItem.dart'; -import 'package:f0ckapp/widgets/VideoWidget.dart'; -import 'package:f0ckapp/utils/SmartRefreshIndicator.dart'; -import 'package:f0ckapp/utils/PageTransformer.dart'; -import 'package:f0ckapp/providers/MediaProvider.dart'; +import 'package:f0ckapp/models/mediaitem_model.dart'; +import 'package:f0ckapp/widgets/video_widget.dart'; +import 'package:f0ckapp/utils/smartrefreshindicator_util.dart'; +import 'package:f0ckapp/utils/pagetransformer_util.dart'; +import 'package:f0ckapp/providers/media_provider.dart'; class DetailView extends ConsumerStatefulWidget { final int initialItemId; diff --git a/lib/screens/MediaGrid.dart b/lib/screens/mediagrid_screen.dart similarity index 98% rename from lib/screens/MediaGrid.dart rename to lib/screens/mediagrid_screen.dart index 6c07148..af3aa31 100644 --- a/lib/screens/MediaGrid.dart +++ b/lib/screens/mediagrid_screen.dart @@ -2,13 +2,12 @@ import 'package:flutter/material.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; - -import 'package:f0ckapp/screens/DetailView.dart'; -import 'package:f0ckapp/providers/MediaProvider.dart'; -import 'package:f0ckapp/utils/AppVersion.dart'; -import 'package:f0ckapp/providers/ThemeProvider.dart'; import 'package:go_router/go_router.dart'; +import 'package:f0ckapp/providers/media_provider.dart'; +import 'package:f0ckapp/utils/appversion_util.dart'; +import 'package:f0ckapp/providers/theme_provider.dart'; + const List mediaTypes = ["alles", "image", "video", "audio"]; const List mediaModes = ["sfw", "nsfw", "untagged", "all"]; diff --git a/lib/services/Api.dart b/lib/services/api_service.dart similarity index 97% rename from lib/services/Api.dart rename to lib/services/api_service.dart index ed4654f..c5dbeb2 100644 --- a/lib/services/Api.dart +++ b/lib/services/api_service.dart @@ -3,7 +3,7 @@ import 'dart:convert'; import 'package:http/http.dart' as http; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; -import 'package:f0ckapp/models/MediaItem.dart'; +import 'package:f0ckapp/models/mediaitem_model.dart'; final storage = FlutterSecureStorage(); diff --git a/lib/utils/ParseDeepLink.dart b/lib/utils/ParseDeepLink.dart deleted file mode 100644 index 9c4dd29..0000000 --- a/lib/utils/ParseDeepLink.dart +++ /dev/null @@ -1,94 +0,0 @@ -import 'package:flutter/material.dart'; - -import 'package:flutter_riverpod/flutter_riverpod.dart'; - -import 'package:f0ckapp/providers/MediaProvider.dart'; -import 'package:f0ckapp/screens/DetailView.dart'; - -Map routes = { - //'login': RegExp(r'^/login/?$'), - //'user': RegExp(r'^/user/(?.*)$'), - 'complex': RegExp( - r'^/?' - r'(?:tag/(?.+?))?' - r'(?:/user/(?.+?)/(?f0cks|favs))?' - r'(?:/(?image|audio|video))?' - r'(?:/(?\d+))?' - r'$', - ), - //'random': RegExp(r'^/random$'), - //'search': RegExp(r'^/search/?$'), -}; - -Map parseDeepLink(Uri? uri) { - if (uri == null) { - return {}; - } - String url = uri.toString().replaceAll("https://f0ck.me", ""); - - for (final MapEntry entry in routes.entries) { - final String routeName = entry.key; - final RegExp pattern = entry.value; - final RegExpMatch? match = pattern.firstMatch(url.toString()); - if (match != null) { - Map params = {}; - for (String name in match.groupNames) { - params[name] = match.namedGroup(name) ?? ''; - } - return {'route': routeName, 'params': params}; - } - } - return {}; -} - -Future handleComplexDeepLink( - Map params, - BuildContext context, - WidgetRef ref, - ScrollController scrollController, -) async { - final media = params['media']; - const validMediaTypes = {'audio', 'video', 'image'}; - if (media != null && validMediaTypes.contains(media)) { - ref.read(mediaProvider.notifier).setType(media); - } else { - ref.read(mediaProvider.notifier).setType('alles'); - } - ref.read(mediaProvider.notifier).setMode(0); // wip - ref.read(mediaProvider.notifier).setTag(null); - - final idParam = params['id']; - if (idParam == null || idParam.isEmpty) return; - - final int? id = int.tryParse(idParam); - if (id == null) return; - - final mediaState = ref.read(mediaProvider); - final index = mediaState.mediaItems.indexWhere((item) => item.id == id); - if (index == -1) { - await ref.read(mediaProvider.notifier).loadMedia(id: id + 50); - - final updatedState = ref.read(mediaProvider); - final updatedIndex = updatedState.mediaItems.indexWhere( - (item) => item.id == id, - ); - print(updatedIndex.toString()); - if (updatedIndex == -1) { - return; - } - } - - bool? navigationResult = await Navigator.push( - context, - MaterialPageRoute(builder: (_) => DetailView(initialItemId: id)), - ); - - if (navigationResult == true) { - scrollController.jumpTo(0); - } -} -/* -type: mediaTypes[state.typeIndex], -mode: state.modeIndex, -random: state.random, -tag: state.tag,*/ \ No newline at end of file diff --git a/lib/utils/AppVersion.dart b/lib/utils/appversion_util.dart similarity index 100% rename from lib/utils/AppVersion.dart rename to lib/utils/appversion_util.dart diff --git a/lib/utils/PageTransformer.dart b/lib/utils/pagetransformer_util.dart similarity index 100% rename from lib/utils/PageTransformer.dart rename to lib/utils/pagetransformer_util.dart diff --git a/lib/utils/SmartRefreshIndicator.dart b/lib/utils/smartrefreshindicator_util.dart similarity index 100% rename from lib/utils/SmartRefreshIndicator.dart rename to lib/utils/smartrefreshindicator_util.dart diff --git a/lib/widgets/VideoWidget.dart b/lib/widgets/video_widget.dart similarity index 95% rename from lib/widgets/VideoWidget.dart rename to lib/widgets/video_widget.dart index 32bfce0..61debb4 100644 --- a/lib/widgets/VideoWidget.dart +++ b/lib/widgets/video_widget.dart @@ -6,9 +6,9 @@ import 'package:cached_video_player_plus/cached_video_player_plus.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:f0ckapp/models/MediaItem.dart'; -import 'package:f0ckapp/widgets/VideoOverlay.dart'; -import 'package:f0ckapp/providers/MediaProvider.dart'; +import 'package:f0ckapp/models/mediaitem_model.dart'; +import 'package:f0ckapp/widgets/videooverlay_widget.dart'; +import 'package:f0ckapp/providers/media_provider.dart'; class VideoWidget extends ConsumerStatefulWidget { final MediaItem details; diff --git a/lib/widgets/VideoOverlay.dart b/lib/widgets/videooverlay_widget.dart similarity index 98% rename from lib/widgets/VideoOverlay.dart rename to lib/widgets/videooverlay_widget.dart index b927cc9..07b6a2b 100644 --- a/lib/widgets/VideoOverlay.dart +++ b/lib/widgets/videooverlay_widget.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:cached_video_player_plus/cached_video_player_plus.dart'; -import 'package:f0ckapp/providers/MediaProvider.dart'; +import 'package:f0ckapp/providers/media_provider.dart'; class VideoControlsOverlay extends ConsumerWidget { final CachedVideoPlayerPlusController controller;