diff --git a/lib/features/feed/presentation/pages/feed_screen.dart b/lib/features/feed/presentation/pages/feed_screen.dart index d42e776..797bfbb 100644 --- a/lib/features/feed/presentation/pages/feed_screen.dart +++ b/lib/features/feed/presentation/pages/feed_screen.dart @@ -18,6 +18,15 @@ class FeedScreen extends StatelessWidget { builder: (BuildContext context, FeedState state) { if (state is FeedStateLoaded) { return _buildFeedScreen(context, state); + } else if (state is FeedStateError) { + return Scaffold( + body: Padding( + padding: const EdgeInsets.all(16), + child: Center( + child: Text(state.errorMessage), + ), + ), + ); } else { return Scaffold( body: Center( @@ -100,8 +109,7 @@ class FeedScreen extends StatelessWidget { flex: 1, child: CustomOutlinedButton( text: "+", - onPressed: () => - GoRouter.of(context).goNamed('blogPostCreateScreen'), + onPressed: () => GoRouter.of(context).goNamed('blogPostCreateScreen'), buttonStyle: CustomButtonStyles.outlinePrimaryTL15, ), ), @@ -220,8 +228,7 @@ class FeedScreen extends StatelessWidget { imageBuilder: (context, imageProvider) => Stack( children: [ ClipRRect( - borderRadius: - const BorderRadius.all(Radius.circular(8.0)), + borderRadius: const BorderRadius.all(Radius.circular(8.0)), child: Image( image: imageProvider, ), diff --git a/lib/features/feed/repositories/feed_repository.dart b/lib/features/feed/repositories/feed_repository.dart index fb87104..50799a0 100644 --- a/lib/features/feed/repositories/feed_repository.dart +++ b/lib/features/feed/repositories/feed_repository.dart @@ -8,7 +8,7 @@ class FeedRepository { Future> getFeedBlogPostList() async { try { - return await feedService.getBlocPostList(); + return (await feedService.getBlocPostList()).entries.map((entry) => entry.value).toList(); } catch (e) { rethrow; } diff --git a/lib/features/feed/services/feed_service.dart b/lib/features/feed/services/feed_service.dart index 80deb91..d4f728f 100644 --- a/lib/features/feed/services/feed_service.dart +++ b/lib/features/feed/services/feed_service.dart @@ -9,5 +9,5 @@ abstract class FeedService { factory FeedService(Dio dio, {String baseUrl}) = _FeedService; @GET('/feed/index') - Future> getBlocPostList(); + Future> getBlocPostList(); } diff --git a/lib/features/feed/services/feed_service.g.dart b/lib/features/feed/services/feed_service.g.dart index 39b15fb..03aa238 100644 --- a/lib/features/feed/services/feed_service.g.dart +++ b/lib/features/feed/services/feed_service.g.dart @@ -19,13 +19,13 @@ class _FeedService implements FeedService { String? baseUrl; @override - Future> getBlocPostList() async { + Future> getBlocPostList() async { final _extra = {}; final queryParameters = {}; final _headers = {}; const Map? _data = null; - final _result = await _dio - .fetch>(_setStreamType>(Options( + final _result = await _dio.fetch>( + _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, @@ -41,10 +41,8 @@ class _FeedService implements FeedService { _dio.options.baseUrl, baseUrl, )))); - var _value = _result.data! - .map((dynamic i) => - FeedBlogPostModel.fromJson(i as Map)) - .toList(); + var _value = _result.data!.map((k, dynamic v) => + MapEntry(k, FeedBlogPostModel.fromJson(v as Map))); return _value; }