import type { AdminUser } from '../types/admin.ts' import { roleLabel } from '../types/admin.ts' /** 无 meta.title 时的壳层缺省标题。 */ export const ADMIN_DEFAULT_TITLE = '管理后台' /** 页面标题模型:由路由 meta.title 驱动,空值回落缺省标题。 */ export function pageTitleOf(title: string | null | undefined): string { const value = typeof title === 'string' ? title.trim() : '' return value || ADMIN_DEFAULT_TITLE } export interface TopbarUserViewModel { username: string role: string hasUser: boolean } /** 顶部栏用户模型:用户信息或未登录空态统一为可渲染视图模型。 */ export function topbarUserOf(user: AdminUser | null | undefined): TopbarUserViewModel { if (!user) return { username: '当前用户', role: '', hasUser: false } return { username: user.username || '当前用户', role: roleLabel(user.role) || user.role || '', hasUser: true } }