feat: 昵称+头衔+UID 全站显示(系统身份/自定义头衔双层,主要位恒显#id 评论位开关)+ 用户管理大弹窗编辑 + 用户主页视觉修复(Banner/tab/博客/QQ)+ 评论通知回退 admin + 全量评论列表 + 头像 bug 修复 + 站长帖判断改 author_username
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import React from 'react';
|
||||
|
||||
/**
|
||||
* 全站作者名渲染(前台):
|
||||
* - name 显示名(后端 author_name 已归一 = nickname||username,调用方负责兜底匿名/游客)
|
||||
* - uid 用户 id;showUid 时显示 #id 后缀
|
||||
* - title 自定义头衔文案(非空才渲染 chip)
|
||||
* - titleColor 头衔 chip 背景色(hex,可空 → 默认中性色)
|
||||
* - role 'admin' → 系统身份 chip「管理员」(固定系统配色)
|
||||
* - moderatorLabel 版主 chip 文案(如「版主·闲聊」);接口未提供时留空则不渲染
|
||||
* - showUid UID 后缀开关:帖子发布者/楼主/博客作者/个人主页恒显;
|
||||
* 评论作者/回复楼层由 show_uid_in_comments 设置控制
|
||||
*
|
||||
* 渲染 = 名字 + 系统身份 chip(管理员/版主)+ 自定义头衔 chip + UID 后缀,
|
||||
* 样式命名空间 .username-* / .title-chip(见 public/css/style.css)。
|
||||
*/
|
||||
export default function UserName({
|
||||
name = '',
|
||||
uid,
|
||||
title = '',
|
||||
titleColor = '',
|
||||
role = '',
|
||||
showUid = false,
|
||||
moderatorLabel = '',
|
||||
className = '',
|
||||
}) {
|
||||
return (
|
||||
<span className={'username' + (className ? ' ' + className : '')}>
|
||||
<span className="username-name">{name || '匿名'}</span>
|
||||
{role === 'admin' ? <span className="username-chip username-chip-role">管理员</span> : null}
|
||||
{moderatorLabel ? <span className="username-chip username-chip-moderator">{moderatorLabel}</span> : null}
|
||||
{title ? (
|
||||
<span
|
||||
className={'username-chip title-chip' + (titleColor ? ' title-chip-colored' : '')}
|
||||
style={titleColor ? { background: titleColor } : undefined}
|
||||
>
|
||||
{title}
|
||||
</span>
|
||||
) : null}
|
||||
{showUid && uid != null ? <span className="username-uid">#{uid}</span> : null}
|
||||
</span>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user