From 3b2971905f23347db369dd2d5bf0fb9b723e7e56 Mon Sep 17 00:00:00 2001 From: meoacgx Date: Sat, 27 Dec 2025 00:18:58 +0800 Subject: [PATCH] =?UTF-8?q?fix(web):=20=E4=BC=98=E5=8C=96=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7/=E9=A2=91=E9=81=93=E5=88=97=E8=A1=A8=20UI=EF=BC=88?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Pages/Accounts.razor | 195 ++++++-------- .../Components/Pages/BotChannelsHome.razor | 240 +++++++++++------- .../Components/Pages/Channels.razor | 137 +++++----- 3 files changed, 295 insertions(+), 277 deletions(-) diff --git a/src/TelegramPanel.Web/Components/Pages/Accounts.razor b/src/TelegramPanel.Web/Components/Pages/Accounts.razor index f470a3d..da8c7d3 100644 --- a/src/TelegramPanel.Web/Components/Pages/Accounts.razor +++ b/src/TelegramPanel.Web/Components/Pages/Accounts.razor @@ -15,86 +15,69 @@ 账号列表 + + + + 全部分类 + @foreach (var c in categories) + { + @c.Name + } + + + + + 刷新列表 + + + + + + + @SelectionToggleText + + + 批量刷新状态 + + + + 批量加群/订阅(已选) + 批量退群/退订(已选) + 修改二级密码(已选) + 批量踢出所有其他设备(已选) + 批量修改分类(已选) + 批量改昵称(已选) + 批量改用户名(已选) + 批量改Bio(已选) + 删除已选 + 导出已选 + 导出当前页 + + + @if (selectedAccounts.Count > 0) + { + 已选 @selectedAccounts.Count + } + else + { + 共 @totalCount 个账号 + } + + - - -
-
- 已导入账号 (@totalCount) - @if (selectedAccounts.Count > 0) - { - 已选 @selectedAccounts.Count - } -
-
- - 刷新 - - - - - - 批量操作 - - - - @SelectionToggleText - 批量刷新状态 - - 批量加群/订阅(已选) - 批量退群/退订(已选) - 修改二级密码(已选) - 批量踢出所有其他设备(已选) - 批量修改分类(已选) - 批量改昵称(已选) - 批量改用户名(已选) - 批量改Bio(已选) - 删除已选 - 导出已选 - 导出当前页 - - -
-
- - - - 全部分类 - @foreach (var c in categories) - { - @c.Name - } - - - - - @SelectionToggleText - - - - 批量刷新状态 - - - - -
-
手机号 昵称 @@ -105,7 +88,7 @@ 状态 Telegram 状态 最后数据同步 - 操作 + 操作 @context.DisplayPhone @@ -146,53 +129,31 @@ -
+ - - - - - - - - -
- - - 查看详情 - 编辑用户资料 - - 刷新 Telegram 状态 - 加群/订阅 - 退群/退订 - 系统通知(验证码) - 在线设备 - - 修改二级密码 - 绑定/换绑找回邮箱 - - - @(context.IsActive ? "停用" : "启用") - - 删除账号 - + + + 加群/订阅 + 退群/退订 + 系统通知(验证码) + 在线设备 + + 修改二级密码 + 绑定/换绑找回邮箱 + + + @(context.IsActive ? "停用" : "启用") + + 删除账号 + +
diff --git a/src/TelegramPanel.Web/Components/Pages/BotChannelsHome.razor b/src/TelegramPanel.Web/Components/Pages/BotChannelsHome.razor index 7c2e500..c3d0225 100644 --- a/src/TelegramPanel.Web/Components/Pages/BotChannelsHome.razor +++ b/src/TelegramPanel.Web/Components/Pages/BotChannelsHome.razor @@ -12,98 +12,79 @@ Bot 频道 + + + + -- 请选择机器人 -- + @foreach (var b in bots) + { + @b.Name + } + + + + 全部分类 + 未分类 + @foreach (var c in categories) + { + @c.Name + } + + + + + + + + + + + 刷新 + + + + @SelectionToggleText + + + + 同步 + + + + 导出邀请(已选) + 批量设置管理员(已选) + 批量设置分类(已选) + 踢出用户(已选) + + + @if (selected.Count > 0) + { + 已选 @selected.Count + } + else + { + 频道 (@totalCount) + } + + - - - - - -- 请选择机器人 -- - @foreach (var b in bots) - { - @b.Name - } - - - - 频道 (@totalCount) - - - @if (selected.Count > 0) - { - 已选 @selected.Count - } - -
- -
- - - 全部分类 - 未分类 - @foreach (var c in categories) - { - @c.Name - } - - - - - - - - - - 批量操作 - - - - 导出邀请(已选) - 批量设置管理员(已选) - 批量设置分类(已选) - 踢出用户(已选) - - - - -
- - - - - 同步 - - - - 刷新 - - - - - -
-
- 频道名称 用户名 @@ -137,12 +118,14 @@ - - 复制链接 - - 查看详情 - 编辑频道 - + + + + + @@ -183,6 +166,23 @@ private bool _actionsExpanded = true; private CancellationTokenSource? _searchDebounceCts; + private SelectionToggleMode _selectionToggleMode = SelectionToggleMode.SelectAll; + private string SelectionToggleText => _selectionToggleMode switch + { + SelectionToggleMode.SelectAll => "全选本页", + SelectionToggleMode.Invert => "反选本页", + SelectionToggleMode.Clear => "清空选择", + _ => "全选本页" + }; + + private string SelectionToggleIcon => _selectionToggleMode switch + { + SelectionToggleMode.SelectAll => Icons.Material.Filled.SelectAll, + SelectionToggleMode.Invert => Icons.Material.Filled.Flip, + SelectionToggleMode.Clear => Icons.Material.Filled.Clear, + _ => Icons.Material.Filled.SelectAll + }; + protected override async Task OnInitializedAsync() { try @@ -608,4 +608,58 @@ if (!result.Canceled) await LoadBotData(); } + + private Task SelectAllFiltered() + { + selected = channels.ToHashSet(); + return Task.CompletedTask; + } + + private Task InvertSelection() + { + var targets = channels.ToList(); + foreach (var c in targets) + { + if (selected.Contains(c)) + selected.Remove(c); + else + selected.Add(c); + } + return Task.CompletedTask; + } + + private Task ClearSelection() + { + selected.Clear(); + return Task.CompletedTask; + } + + private async Task CycleSelectionToggle() + { + switch (_selectionToggleMode) + { + case SelectionToggleMode.SelectAll: + await SelectAllFiltered(); + _selectionToggleMode = SelectionToggleMode.Invert; + break; + case SelectionToggleMode.Invert: + await InvertSelection(); + _selectionToggleMode = SelectionToggleMode.Clear; + break; + case SelectionToggleMode.Clear: + await ClearSelection(); + _selectionToggleMode = SelectionToggleMode.SelectAll; + break; + default: + _selectionToggleMode = SelectionToggleMode.SelectAll; + break; + } + } + + private enum SelectionToggleMode + { + SelectAll = 0, + Invert = 1, + Clear = 2 + } } diff --git a/src/TelegramPanel.Web/Components/Pages/Channels.razor b/src/TelegramPanel.Web/Components/Pages/Channels.razor index e314f95..5b1d5fb 100644 --- a/src/TelegramPanel.Web/Components/Pages/Channels.razor +++ b/src/TelegramPanel.Web/Components/Pages/Channels.razor @@ -15,67 +15,66 @@ 频道列表 + + + + 全部账号 + @foreach (var account in accounts) + { + @FormatAccountLabel(account) + } + + + 全部 + 公开 + 私密 + + + + + + + + @SelectionToggleText + + + + 同步当前 + + + 同步全部 + + + + 批量邀请(已选) + 批量设置管理员(已选) + 批量修改分组(已选) + + + @if (selectedChannels.Count > 0) + { + 已选 @selectedChannels.Count + } + else + { + 频道 (@totalCount) + } + + - - - - 频道 (@totalCount) - @if (selectedChannels.Count > 0) - { - 已选 @selectedChannels.Count - } - - - - - - - 全部账号 - @foreach (var account in accounts) - { - @FormatAccountLabel(account) - } - - - 全部 - 公开 - 私密 - - - 同步当前账号数据 - - - 同步全部账号数据 - - - - @SelectionToggleText - - - - - - 批量操作 - - - - 批量邀请(已选) - 批量设置管理员(已选) - 批量修改分组(已选) - - - - - 频道名称 用户名 @@ -130,16 +129,20 @@ - - 查看详情 - 编辑频道 - 邀请成员 - 设置管理员 - 踢人 - 复制链接 - - 删除频道 - + + + + + 邀请成员 + 设置管理员 + 踢人 + 复制链接 + + 删除频道 + +