diff --git a/apps/web/src/app/app-shell.tsx b/apps/web/src/app/app-shell.tsx
index e61f204..af1a7ad 100644
--- a/apps/web/src/app/app-shell.tsx
+++ b/apps/web/src/app/app-shell.tsx
@@ -25,6 +25,7 @@ import { ReportDesk } from '@features/desk-report';
import { Ico } from '@web-shared/Ico.tsx';
import { call } from '@web-shared/typed-fetch.ts';
import { useChatWidth } from '@web-shared/useChatWidth.ts';
+import { SURFACE_META, canSeeSurface } from '@web-shared/gov/surfaces.ts';
import { queryKeys } from './query.ts';
type ModuleKey = 'tasks' | 'approvals' | 'messages' | 'minutes' | 'report';
@@ -123,6 +124,34 @@ export function AppShell() {
);
})}
+ {/*
+ 另两面的入口 —— 按授权亮灯:没有治理授权的人根本看不见,不给点了才说没权。
+ 两枚并排、只留章不留名:轨底还得放身份钮,竖排三件会把左轨撑出滚动条(实测)。
+ */}
+ {(canSeeSurface(session.data, 'design') || canSeeSurface(session.data, 'ops')) && (
+
+ {canSeeSurface(session.data, 'design') && (
+
+ 设
+
+ )}
+ {canSeeSurface(session.data, 'ops') && (
+
+ 运
+
+ )}
+
+ )}
{/* 轨底身份即登出入口 —— 会话在服务端,点它是真作废,不只是清本地 */}