fix(web): 隐藏文件助手入口,修复自聊天详情栏错误操作

后端目前没有支持文件助手所需的配额/分类等能力,只是把它当作
普通话题处理;与其做一个功能不全的界面,先从导航栏、会话列表
置顶区、通讯录固定入口、设置页移动端快捷入口中移除该入口。slf
话题现在按普通会话行为处理(排序、未读计数均不再特殊处理)。

同时修复 DetailColumn 对自聊天(slf)显示语音/视频通话、备注、
拉黑、举报、删除好友等对自己无意义操作的问题,改为仅显示适用
的发消息/查找聊天记录/置顶/免打扰/清空聊天记录等项。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Your Name
2026-09-09 23:35:58 +08:00
co-authored by Claude Sonnet 5
parent 3065e232be
commit 9271a0a9c1
6 changed files with 97 additions and 98 deletions
+11 -10
View File
@@ -19,17 +19,18 @@ const DIRECTORY = [
];
/**
* README §8.7 (mobile "我的" page): 我的收藏/文件助手/通话记录 are grouped ABOVE the regular
* settings directory. Desktop never needs this list -- those three already have their own
* permanent NavRail icons there -- but on a phone-width viewport (bottom tab bar instead of a rail)
* there is otherwise NO way to reach `/favorites` or `/calls` at all short of typing the URL
* directly (confirmed live: BottomTabBar.tsx only has 消息/通讯录/我的, unchanged since Phase 1-2
* when those two routes didn't exist yet) -- a real navigation gap this Phase 9 pass caught, not a
* cosmetic one. `/files` reuses the same `slf`-conversation redirect the desktop entry point does.
* README §8.7 (mobile "我的" page): 我的收藏/通话记录 are grouped ABOVE the regular settings
* directory. Desktop never needs this list -- those already have their own permanent NavRail icons
* there -- but on a phone-width viewport (bottom tab bar instead of a rail) there is otherwise NO
* way to reach `/favorites` or `/calls` at all short of typing the URL directly (confirmed live:
* BottomTabBar.tsx only has 消息/通讯录/我的, unchanged since Phase 1-2 when those two routes didn't
* exist yet) -- a real navigation gap this Phase 9 pass caught, not a cosmetic one. 文件助手 used to
* be a third entry here (reusing the same `slf`-conversation redirect the desktop NavRail icon did)
* but was removed along with every other entry point -- see ChatListColumn.tsx's PINNED_ENTRIES
* doc comment for why.
*/
const MOBILE_SHORTCUTS = [
{ key: 'favorites', to: '/favorites', icon: 'inventory_2', label: '我的收藏', colorClass: 'text-accent' },
{ key: 'files', to: '/files', icon: 'folder', label: '文件助手', colorClass: 'text-success' },
{ key: 'calls', to: '/calls', icon: 'phone', label: '通话记录', colorClass: 'text-warn' },
];
@@ -131,8 +132,8 @@ export function SettingsLayout() {
</div>
{/* Mobile hub (README §8.7, mock `07/1d`) -- a "me" landing page, not a settings directory:
tappable profile card (-> /settings/profile), 我的收藏/文件助手/通话记录 (this app's only
way to reach those three on a narrow viewport, see MOBILE_SHORTCUTS' own comment), then
tappable profile card (-> /settings/profile), 我的收藏/通话记录 (this app's only way to
reach those two on a narrow viewport, see MOBILE_SHORTCUTS' own comment), then
账号与安全/隐私 direct, and "设置" as its own second-level list rather than a 4th direct
link -- these two screens genuinely don't share one flat structure in the mock. */}
<div className={`flex-1 flex-col overflow-y-auto md:hidden ${mobileSubView ? 'hidden' : 'flex'}`}>