import 'package:flutter/material.dart'; class PackageBridge { PackageBridge._(); static SelectContactsBridge? selectContactsBridge; static ViewUserProfileBridge? viewUserProfileBridge; static ScanBridge? scanBridge; static RTCBridge? rtcBridge; } abstract class ScanBridge { scanOutUserID(String userID); scanOutGroupID(String groupID); } abstract class OrganizationMultiSelBridge { Widget get checkedConfirmView; bool get isMultiModel; bool isChecked(dynamic info); bool isDefaultChecked(dynamic info); Function()? onTap(dynamic info); toggleChecked(dynamic info); removeItem(dynamic info); updateDefaultCheckedList(List userIDList); } abstract class ViewUserProfileBridge { viewUserProfile( String userID, String? nickname, String? faceURL, [ String? groupID, ]); } abstract class SelectContactsBridge { Future? selectContacts( int type, { List? defaultCheckedIDList, List? checkedList, List? excludeIDList, bool openSelectedSheet = false, String? groupID, String? ex, }); } abstract class RTCBridge { bool get hasConnection; void dismiss(); } class GetTags { static final List _chatTags = []; static final List _userProfileTags = []; static void createChatTag() { _chatTags.add('_${DateTime.now().millisecondsSinceEpoch}'); } static void createUserProfileTag() { _userProfileTags.add('_${DateTime.now().millisecondsSinceEpoch}'); } static void destroyChatTag() { _chatTags.removeLast(); } static void destroyUserProfileTag() { _userProfileTags.removeLast(); } static String? get chat => _chatTags.isNotEmpty ? _chatTags.last : null; static String get userProfile => _userProfileTags.last; }