import 'dart:async';

import 'package:flutter/cupertino.dart';
import 'package:sfm_app/product/services/api_services.dart';

import '../feature/settings/profile/profile_model.dart';
import '../product/base/bloc/base_bloc.dart';
import '../product/shared/shared_snack_bar.dart';

class SettingsBloc extends BlocBase {  
// Settings Screen
  APIServices apiServices = APIServices();
  final userProfile = StreamController<User>.broadcast();
  StreamSink<User> get sinkUserProfile => userProfile.sink;
  Stream<User> get streamUserProfile => userProfile.stream;


// Profile Screen
  final isChangeProfileInfomation = StreamController<bool>.broadcast();
  StreamSink<bool> get sinkIsChangeProfileInfomation =>
      isChangeProfileInfomation.sink;
  Stream<bool> get streamIsChangeProfileInfomation =>
      isChangeProfileInfomation.stream;


   void getUserProfile(BuildContext context) async {
    try {
      User user = await apiServices.getUserDetail();
      sinkUserProfile.add(user);
    } catch (e) {
      if (!context.mounted) return;
      showErrorTopSnackBarCustom(
          context, e.toString());
    }
  }


  @override
  void dispose() {
  }
}
