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() {}
}
