check existence for visibility of addFavAction/addToAb

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages 2023-02-24 13:39:28 +08:00
parent 920477bbb2
commit 0ad6bca9ce
2 changed files with 20 additions and 22 deletions

View File

@ -745,12 +745,9 @@ class RecentPeerCard extends BasePeerCard {
} }
if (gFFI.userModel.userName.isNotEmpty) { if (gFFI.userModel.userName.isNotEmpty) {
// if (!gFFI.abModel.idContainBy(peer.id)) { if (!gFFI.abModel.idContainBy(peer.id)) {
// menuItems.add(_addToAb(peer)); menuItems.add(_addToAb(peer));
// } else { }
// menuItems.add(_removeFromAb(peer));
// }
menuItems.add(_addToAb(peer));
} }
menuItems.add(MenuEntryDivider()); menuItems.add(MenuEntryDivider());
@ -797,12 +794,9 @@ class FavoritePeerCard extends BasePeerCard {
})); }));
if (gFFI.userModel.userName.isNotEmpty) { if (gFFI.userModel.userName.isNotEmpty) {
// if (!gFFI.abModel.idContainBy(peer.id)) { if (!gFFI.abModel.idContainBy(peer.id)) {
// menuItems.add(_addToAb(peer)); menuItems.add(_addToAb(peer));
// } else { }
// menuItems.add(_removeFromAb(peer));
// }
menuItems.add(_addToAb(peer));
} }
menuItems.add(MenuEntryDivider()); menuItems.add(MenuEntryDivider());
@ -843,19 +837,19 @@ class DiscoveredPeerCard extends BasePeerCard {
menuItems.add(_createShortCutAction(peer.id)); menuItems.add(_createShortCutAction(peer.id));
} }
if (!favs.contains(peer.id)) { final inRecent = await bind.mainIsInRecentPeers(id: peer.id);
menuItems.add(_addFavAction(peer.id)); if (inRecent) {
} else { if (!favs.contains(peer.id)) {
menuItems.add(_rmFavAction(peer.id, () async {})); menuItems.add(_addFavAction(peer.id));
} else {
menuItems.add(_rmFavAction(peer.id, () async {}));
}
} }
if (gFFI.userModel.userName.isNotEmpty) { if (gFFI.userModel.userName.isNotEmpty) {
// if (!gFFI.abModel.idContainBy(peer.id)) { if (!gFFI.abModel.idContainBy(peer.id)) {
// menuItems.add(_addToAb(peer)); menuItems.add(_addToAb(peer));
// } else { }
// menuItems.add(_removeFromAb(peer));
// }
menuItems.add(_addToAb(peer));
} }
menuItems.add(MenuEntryDivider()); menuItems.add(MenuEntryDivider());

View File

@ -726,6 +726,10 @@ pub fn main_peer_has_password(id: String) -> bool {
peer_has_password(id) peer_has_password(id)
} }
pub fn main_is_in_recent_peers(id: String) -> bool {
PeerConfig::peers().iter().any(|e| e.0 == id)
}
pub fn main_load_recent_peers() { pub fn main_load_recent_peers() {
if !config::APP_DIR.read().unwrap().is_empty() { if !config::APP_DIR.read().unwrap().is_empty() {
let peers: Vec<HashMap<&str, String>> = PeerConfig::peers() let peers: Vec<HashMap<&str, String>> = PeerConfig::peers()