Compare commits

...

3 Commits

Author SHA1 Message Date
d1957ffb82 update stories bloc. (#428) 2024-06-06 21:19:15 -07:00
553a37961d bump Flutter to 3.22.2 (#427) 2024-06-06 15:08:36 -07:00
bade5b4356 remove comment. (#426) 2024-06-04 22:16:22 -07:00
5 changed files with 19 additions and 16 deletions

View File

@ -4,6 +4,7 @@ import 'dart:math';
import 'package:bloc/bloc.dart';
import 'package:bloc_concurrency/bloc_concurrency.dart';
import 'package:equatable/equatable.dart';
import 'package:hacki/config/constants.dart';
import 'package:hacki/config/locator.dart';
import 'package:hacki/cubits/cubits.dart';
import 'package:hacki/models/models.dart';
@ -36,7 +37,7 @@ class StoriesBloc extends Bloc<StoriesEvent, StoriesState> {
super(const StoriesState.init()) {
on<LoadStories>(
onLoadStories,
transformer: sequential(),
transformer: concurrent(),
);
on<StoriesInitialize>(onInitialize);
on<StoriesRefresh>(onRefresh);
@ -75,18 +76,18 @@ class StoriesBloc extends Bloc<StoriesEvent, StoriesState> {
) async {
_preferenceSubscription ??= _preferenceCubit.stream
.distinct((PreferenceState previous, PreferenceState next) {
return previous.isComplexStoryTileEnabled ==
next.isComplexStoryTileEnabled;
})
//.debounceTime(AppDurations.twoSeconds)
return previous.isComplexStoryTileEnabled ==
next.isComplexStoryTileEnabled;
})
.debounceTime(AppDurations.oneSecond)
.listen((PreferenceState event) {
final bool isComplexTile = event.isComplexStoryTileEnabled;
final int pageSize = getPageSize(isComplexTile: isComplexTile);
final bool isComplexTile = event.isComplexStoryTileEnabled;
final int pageSize = getPageSize(isComplexTile: isComplexTile);
if (pageSize != state.currentPageSize) {
add(StoriesPageSizeChanged(pageSize: pageSize));
}
});
if (pageSize != state.currentPageSize) {
add(StoriesPageSizeChanged(pageSize: pageSize));
}
});
final bool isComplexTile = _preferenceCubit.state.isComplexStoryTileEnabled;
final int pageSize = getPageSize(isComplexTile: isComplexTile);
emit(

View File

@ -46,7 +46,9 @@ class _SearchScreenState extends State<SearchScreen> with ItemActionMixin {
void dispose() {
refreshController.dispose();
scrollController.dispose();
focusNode.dispose();
focusNode
..unfocus()
..dispose();
textEditingController.dispose();
super.dispose();
}

View File

@ -1543,4 +1543,4 @@ packages:
version: "3.1.2"
sdks:
dart: ">=3.4.0 <4.0.0"
flutter: ">=3.22.0"
flutter: ">=3.22.2"

View File

@ -1,11 +1,11 @@
name: hacki
description: A Hacker News reader.
version: 2.8.0+145
version: 2.8.1+146
publish_to: none
environment:
sdk: ">=3.0.0 <4.0.0"
flutter: "3.19.4"
flutter: "3.22.2"
dependencies:
adaptive_theme: ^3.2.0