open ai service

This commit is contained in:
2026-02-08 12:05:05 +06:00
parent d7722ad81d
commit 3209827e92
29 changed files with 2175 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'library_event.dart';
import 'library_state.dart';
class LibraryBloc extends Bloc<LibraryEvent, LibraryState> {
LibraryBloc() : super(const LibraryState()) {
on<UpdateSearchQuery>(_onUpdateSearchQuery);
on<ChangeTab>(_onChangeTab);
}
void _onUpdateSearchQuery(
UpdateSearchQuery event,
Emitter<LibraryState> emit,
) {
emit(state.copyWith(searchQuery: event.query));
}
void _onChangeTab(ChangeTab event, Emitter<LibraryState> emit) {
emit(state.copyWith(tabIndex: event.tabIndex));
}
}

View File

@@ -0,0 +1,11 @@
sealed class LibraryEvent {}
class UpdateSearchQuery extends LibraryEvent {
final String query;
UpdateSearchQuery(this.query);
}
class ChangeTab extends LibraryEvent {
final int tabIndex;
ChangeTab(this.tabIndex);
}

View File

@@ -0,0 +1,13 @@
class LibraryState {
final String searchQuery;
final int tabIndex;
const LibraryState({this.searchQuery = '', this.tabIndex = 0});
LibraryState copyWith({String? searchQuery, int? tabIndex}) {
return LibraryState(
searchQuery: searchQuery ?? this.searchQuery,
tabIndex: tabIndex ?? this.tabIndex,
);
}
}