Add multi-select support to pmshare panel (#1779)

* Add multi-select support to share panel

- Replace single selection index with per-user selected flag
- Allow sending to multiple selected users
- Add sending state to prevent multiple clicks
- Update default selection logic to mark first user as selected

* 简化代码逻辑

* update

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

---------

Signed-off-by: lesetong <oscarlbw@qq.com>
Co-authored-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
lesetong
2025-12-17 12:46:36 +08:00
committed by GitHub
parent 348a9e014e
commit ab1e5cb62a
14 changed files with 113 additions and 110 deletions

View File

@@ -617,7 +617,7 @@ class _CreateDynPanelState extends CommonRichTextPubPageState<CreateDynPanel> {
RichTextItem? voteItem = editController.items.firstWhereOrNull(
(e) => e.type == RichTextType.vote,
);
VoteInfo? voteInfo = await Navigator.of(context).push(
final VoteInfo? voteInfo = await Navigator.of(context).push(
GetPageRoute(
page: () => CreateVotePage(
voteId: voteItem?.id == null ? null : int.parse(voteItem!.id!),
@@ -818,7 +818,7 @@ class _CreateDynPanelState extends CommonRichTextPubPageState<CreateDynPanel> {
Future<void> _onReserve() async {
controller.keepChatPanel();
ReserveInfoData? reserveInfo = await Navigator.of(context).push(
final ReserveInfoData? reserveInfo = await Navigator.of(context).push(
GetPageRoute(
page: () => CreateReservePage(sid: _reserveCard.value?.id),
),