import 'package:flutter/material.dart'; import 'package:tm_app/views/tenders/models/tender_model.dart'; class TendersViewModel with ChangeNotifier { List likedTenders = []; List dislikedTenders = []; int currentPage = 1; List rejectedTenders = []; List submittedTenders = []; void onDislike(Tender tender) { if (likedTenders.contains(tender)) { likedTenders.remove(tender); if (submittedTenders.contains(tender)) { submittedTenders.remove(tender); } } if (!dislikedTenders.contains(tender)) { dislikedTenders.add(tender); if (submittedTenders.contains(tender)) { submittedTenders.remove(tender); } } else { dislikedTenders.remove(tender); } notifyListeners(); } void onLike(Tender tender) { if (dislikedTenders.contains(tender)) { dislikedTenders.remove(tender); if (rejectedTenders.contains(tender)) { rejectedTenders.remove(tender); } } if (!likedTenders.contains(tender)) { likedTenders.add(tender); if (rejectedTenders.contains(tender)) { rejectedTenders.remove(tender); } } else { likedTenders.remove(tender); } notifyListeners(); } void onReject(Tender tender) { if (rejectedTenders.contains(tender)) { rejectedTenders.remove(tender); } else if (submittedTenders.contains(tender)) { submittedTenders.remove(tender); rejectedTenders.add(tender); if (likedTenders.contains(tender)) { likedTenders.remove(tender); } } else { rejectedTenders.add(tender); if (likedTenders.contains(tender)) { likedTenders.remove(tender); } } notifyListeners(); } void onSubmit(Tender tender) { if (submittedTenders.contains(tender)) { submittedTenders.remove(tender); } else if (rejectedTenders.contains(tender)) { rejectedTenders.remove(tender); submittedTenders.add(tender); if (dislikedTenders.contains(tender)) { dislikedTenders.remove(tender); } } else { submittedTenders.add(tender); if (dislikedTenders.contains(tender)) { dislikedTenders.remove(tender); } } notifyListeners(); } }