软件徽标带图标+主题色;标题用软件色;删冗余欢迎语;抽屉改竖排覆盖

用户四点要求:
1. 待审核标题前的软件名要带图标
2. 每个软件配了颜色,徽标与标题都应显示该颜色
3. 「欢迎在这里反馈使用问题、提出功能建议」这类话没意义,全部删掉
4. 右上角三横线抽屉:不要宽屏横排/窄屏竖排两套,
   统一竖排并把下面内容盖住,简单一点

改动:
- 新增 fb_software_chip():软件徽标带图标 + 该软件主题色
  (原来一律固定蓝色 #eef2f8/#2b4a74,等于白配了颜色)
  配 fb_color_soft()/fb_color_line() 由主色推导同色系浅底与描边
  替换 admin.php 两处、thread.php 一处(原来是 badge 套 badge,双重边框)
- 顶栏标题与内容区标识都用软件主题色(PHP 内联 --swc 变量)
- index.php 不再渲染 site_desc(配置项保留,后台仍可编辑)
- 抽屉改为统一竖排 absolute 浮层 + 遮罩盖住正文,删掉宽屏横排分支
  打开时锁背景滚动,点遮罩/Esc/再点按钮都能关
  .topbar 作为定位参照(sticky 即可)

顺手修:fb_hex_to_rgb 的三位简写展开前要先校验字符,
否则 zzz 这类非法值可能被误展开(本次测试用例选错才发现校验不够严)

验证:3 个软件 chip 的图标/名字/主色/浅底/描边全部正确,
无图标退回字符、XSS 转义通过、颜色工具函数 6 项通过;
CDP 真实浏览器在 390px 与 1280px 两种宽度下各 13 项断言全过
(绝对定位、在顶栏下方、铺满宽度、条目纵排同x、y递增、
层级高于正文、遮罩同步显隐、可关);
三个软件标题色分别 #b4553c / #6a4c93 / #0057b8;全部路由 200。
This commit is contained in:
2026-11-03 09:20:14 +08:00
parent 314a1cf2a5
commit 28d28ad51c
7 changed files with 168 additions and 38 deletions
+9 -3
View File
@@ -87,17 +87,23 @@ fb_layout_head($sw ? fb_software_site_title($sw) : $headTitle, ['software' => $s
<div class="page-head">
<div>
<?php
$siteDesc = (string)fb_cfg('site_desc');
/* 站点描述(site_desc)不再显示在页面上 —— 用户 2026-11-03 明确说
* 「欢迎在这里反馈使用问题、提出功能建议」这类话没有意义,全部删掉。
* 配置项保留,后台仍可编辑,只是前台不渲染。 */
$swNote = ($sw && !empty($sw['note'])) ? (string)$sw['note'] : '';
?>
<?php if ($sw): ?>
<?php /* 内容区只放「图标 + 软件名」,不再重复「XX 反馈系统」——
那个标题已经放到最上面的顶栏里了,两处重复反而啰嗦。 */ ?>
<div class="page-sw-id"><?php echo fb_software_badge($sw, 'lg'); ?></div>
<?php
/* 内容区标识也用软件主题色 */
list($pageSwColor) = fb_software_colors($sw);
if ($pageSwColor === '') { $pageSwColor = '#0057B8'; }
?>
<div class="page-sw-id" style="--swc:<?php echo e($pageSwColor); ?>"><?php echo fb_software_badge($sw, 'lg'); ?></div>
<?php else: ?>
<h1>全部问题</h1>
<?php endif; ?>
<?php if ($siteDesc !== ''): ?><p class="muted"><?php echo e($siteDesc); ?></p><?php endif; ?>
<?php if ($swNote !== ''): ?><p class="muted small" style="margin:2px 0 0"><?php echo e($swNote); ?></p><?php endif; ?>
</div>
<a class="btn primary" href="new.php<?php echo $sw ? '?sw=' . e(urlencode((string)$sw['slug'])) : ''; ?>">我要反馈</a>