Sonnat Project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
985 B

1 year ago
  1. import 'dart:math';
  2. import 'package:flutter_bloc/flutter_bloc.dart';
  3. import 'package:sonnat/core/utils/base_cubit_type.dart';
  4. import 'package:sonnat/features/single_post/view_models/comment.dart';
  5. class SinglePostCubit extends Cubit<BaseCubitType<SinglePostState>> {
  6. List<Comment> commentList = [];
  7. SinglePostCubit() : super(BaseCubitType(eventName: SinglePostState.empty));
  8. void empty() => emit(BaseCubitType(eventName: SinglePostState.empty));
  9. void addComment(String comment) {
  10. Comment newComment = Comment(
  11. date: DateTime.now().millisecondsSinceEpoch,
  12. text: comment,
  13. author: 'محسن زمانی',
  14. id: Random.secure().nextInt(10000),
  15. );
  16. commentList.insert(0, newComment);
  17. emit(BaseCubitType(eventName: SinglePostState.data));
  18. }
  19. void deleteComment(int id) {
  20. commentList.removeWhere((element) => element.id == id);
  21. emit(BaseCubitType(eventName: SinglePostState.data));
  22. }
  23. }
  24. enum SinglePostState {
  25. empty,
  26. data,
  27. }