40 lines
1.4 KiB
Dart
40 lines
1.4 KiB
Dart
import 'dart:async';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:sfm_app/product/base/bloc/base_bloc.dart';
|
|
|
|
import '../bell/bell_model.dart';
|
|
|
|
class MainBloc extends BlocBase {
|
|
final bellBloc = StreamController<Bell>.broadcast();
|
|
StreamSink<Bell> get sinkBellBloc => bellBloc.sink;
|
|
Stream<Bell> get streamBellBloc => bellBloc.stream;
|
|
|
|
final title = StreamController<String>.broadcast();
|
|
StreamSink<String> get sinkTitle => title.sink;
|
|
Stream<String> get streamTitle => title.stream;
|
|
|
|
final role = StreamController<String>.broadcast();
|
|
StreamSink<String> get sinkRole => role.sink;
|
|
Stream<String> get streamRole => role.stream;
|
|
|
|
final language = StreamController<Locale?>.broadcast();
|
|
StreamSink<Locale?> get sinkLanguage => language.sink;
|
|
Stream<Locale?> get streamLanguage => language.stream;
|
|
|
|
final themeMode = StreamController<bool>.broadcast();
|
|
StreamSink<bool> get sinkThemeMode => themeMode.sink;
|
|
Stream<bool> get streamThemeMode => themeMode.stream;
|
|
|
|
final isVNIcon = StreamController<bool>.broadcast();
|
|
StreamSink<bool> get sinkIsVNIcon => isVNIcon.sink;
|
|
Stream<bool> get streamIsVNIcon => isVNIcon.stream;
|
|
|
|
final currentPageIndex = StreamController<int>.broadcast();
|
|
StreamSink<int> get sinkCurrentPageIndex => currentPageIndex.sink;
|
|
Stream<int> get streamCurrentPageIndex => currentPageIndex.stream;
|
|
|
|
@override
|
|
void dispose() {}
|
|
}
|