first commit

This commit is contained in:
2025-03-03 20:59:42 +03:00
commit 273e68557a
1099 changed files with 17880 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
import 'package:bloc/bloc.dart';
import 'package:flutter/material.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:remever/components/notifiers/home_screen_data.dart';
import 'package:remever/inject.dart';
part 'collection_state.dart';
part 'collection_cubit.freezed.dart';
class CollectionCubit extends Cubit<CollectionState> {
CollectionCubit() : super(CollectionState.loading());
/// Нотифаер домашнего экрана
CollectionData get _cd => getIt<CollectionData>();
/// Контроллер скролла для коллекции
final ScrollController collectionController = ScrollController();
/// Позиция скролле
double _previousScrollOffset = 0.0;
/// Индекс выбранной фильтрации коллекции
int collectionFiltersIndex = 0;
void initScrollListener() {
collectionController.addListener(() {
final double currentScrollOffset = collectionController.offset;
final bool isScrollingDown = currentScrollOffset > _previousScrollOffset;
if (isScrollingDown) {
_cd.showFab(false);
} else {
_cd.showFab(true);
}
_previousScrollOffset = currentScrollOffset;
});
}
@override
Future<void> close() {
collectionController.dispose();
return super.close();
}
Future<void> toLoadingState() async {
emit(CollectionState.loading());
}
Future<void> toDataState() async {
emit(CollectionState.data());
}
Future<void> toEmptyState() async {
emit(CollectionState.empty());
}
Future<void> toErrorState() async {
emit(CollectionState.error());
}
}