diff --git a/lib/components/episodes/anime_episode_component.dart b/lib/components/episodes/anime_episode_component.dart index 3705692..ef1ca69 100644 --- a/lib/components/episodes/anime_episode_component.dart +++ b/lib/components/episodes/anime_episode_component.dart @@ -27,6 +27,7 @@ class AnimeEpisodeComponent extends StatelessWidget { topLeft: Radius.circular(16), bottomLeft: Radius.circular(16), ), + fit: BoxFit.cover, height: 130, ), ), diff --git a/lib/components/episodes/episode_image.dart b/lib/components/episodes/episode_image.dart index 5ce2f04..efa152b 100644 --- a/lib/components/episodes/episode_image.dart +++ b/lib/components/episodes/episode_image.dart @@ -6,6 +6,7 @@ import 'package:flutter/material.dart'; class EpisodeImage extends StatelessWidget { final EpisodeMappingDto episode; final BorderRadius borderRadius; + final BoxFit fit; final double width; final double height; @@ -13,6 +14,7 @@ class EpisodeImage extends StatelessWidget { super.key, required this.episode, required this.borderRadius, + this.fit = BoxFit.fill, this.width = double.infinity, this.height = double.infinity, }); @@ -23,6 +25,7 @@ class EpisodeImage extends StatelessWidget { children: [ ImageComponent( uuid: episode.uuid, + fit: fit, borderRadius: borderRadius, width: width, height: height, diff --git a/lib/components/image_component.dart b/lib/components/image_component.dart index 3229967..1394dea 100644 --- a/lib/components/image_component.dart +++ b/lib/components/image_component.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; class ImageComponent extends StatelessWidget { final String uuid; + final BoxFit fit; final String type; final BorderRadius borderRadius; final double width; @@ -12,6 +13,7 @@ class ImageComponent extends StatelessWidget { const ImageComponent({ super.key, required this.uuid, + this.fit = BoxFit.fill, this.type = 'image', this.borderRadius = BorderRadius.zero, this.width = double.infinity, @@ -25,7 +27,7 @@ class ImageComponent extends StatelessWidget { child: CachedNetworkImage( imageUrl: '${Constant.apiUrl}/v1/attachments?uuid=$uuid&type=$type', filterQuality: FilterQuality.high, - fit: BoxFit.cover, + fit: fit, width: width, height: height, placeholder: (context, url) => Container( diff --git a/lib/controllers/anime_search_controller.dart b/lib/controllers/anime_search_controller.dart index bedefed..e6acf66 100644 --- a/lib/controllers/anime_search_controller.dart +++ b/lib/controllers/anime_search_controller.dart @@ -10,6 +10,7 @@ class AnimeSearchController { final scrollController = ScrollController(); final streamController = StreamController>.broadcast(); int page = 1; + Timer? _timer; bool isLoading = false; bool canLoadMore = true; String query = ''; @@ -31,12 +32,17 @@ class AnimeSearchController { }); } - Future search(String query) async { + void search(String query) { this.query = query; animes.clear(); streamController.add(animes); page = 1; - await nextPage(); + + _timer?.cancel(); + _timer = Timer( + const Duration(milliseconds: 250), + () => nextPage(), + ); } void dispose() { diff --git a/lib/utils/constant.dart b/lib/utils/constant.dart index c2ee916..3fe3036 100644 --- a/lib/utils/constant.dart +++ b/lib/utils/constant.dart @@ -1,4 +1,7 @@ class Constant { static const apiUrl = 'https://api.shikkanime.fr'; static const baseUrl = 'https://www.shikkanime.fr'; + + // static const apiUrl = 'http://192.168.1.71:37100/api'; + // static const baseUrl = 'http://192.168.1.71:37100'; } diff --git a/lib/views/search_view.dart b/lib/views/search_view.dart index 37dbdd1..a270a06 100644 --- a/lib/views/search_view.dart +++ b/lib/views/search_view.dart @@ -65,7 +65,6 @@ class _SearchViewState extends State { ], onChanged: (query) { AnimeSearchController.instance.search(query); - setState(() {}); }, ),