diff --git a/.workbuddy/memory/2026-08-24.md b/.workbuddy/memory/2026-08-24.md new file mode 100644 index 0000000..de97043 --- /dev/null +++ b/.workbuddy/memory/2026-08-24.md @@ -0,0 +1,81 @@ +# 2026-08-24 工作日志 + +## 品牌弹窗「热门推荐」做成独立 HOT 字母 tab(19:52) +- 用户要求:把品牌弹窗里的「热门推荐」单独做成一个 letter(字母条里的独立 tab),并且打开弹窗默认就选中这个热门字母。 +- 范围:仅品牌筛选弹窗的 A-Z 字母条(`showsmodal-az`),存在于 `src/pages/cn/shows.astro` 与 `src/components/RunwayLooks.astro`(en /en/runway-looks/)。**en /shows/ 没这个弹窗(只有侧边栏),未动**。 +- 改动(两文件一致): + 1. 字母条最前插入 ``;原 A-Z 不变。 + 2. `modalPickLetter(l)` 顶部加 `if (l === "HOT") { this.modalKeyword=""; await this.modalLoadHot(); return }`。 + 3. `modalLoadHot()` 开头设 `this.modalLetter = "HOT"`(让 HOT 按钮 `active` 高亮 + 提示「热门推荐」显示)。 + 4. `openBrandModal()` 把 `this.modalLetter = ""` 改成 `= "HOT"`,打开即默认选中热门。 + 5. 提示文案 `x-show="!modalKeyword && !modalLetter"` 改为 `&& modalLetter === 'HOT'`(只在 HOT 态显示「热门推荐」)。 + 6. CSS 新增 `.showsmodal-az .az-hot { w-auto px-2 font-sans font-bold tracking-[0.12em] text-[9px] }`(HOT 是 3 字母,宽于 24px 方块)。 +- 验证:`npm run build` BUILD_EXIT=0;两文件 read_lints 0;dist 的 cn/shows 与 en/runway-looks `index.html` 均含 `az-hot` + `modalPickLetter('HOT')` 各 1 处;`python -m http.server 8088` 托管 dist/client 预览两页弹窗。 +- ⚠️ 假数据 id(`hot-chanel` 等)仍非真实 hashid,勾选假热门去筛仍返回空,等真实 SSG `/api/ssg/brands/popular` 接通即生效。 + +## 删除侧边栏 "Search designer" 搜索框(17:06) +- 用户要求去掉 DESIGNERS 侧边栏的 "Search designer…" 搜索框及相关的 JS。 +- 范围:仅侧边栏那个输入框(用 `keyword` state 驱动)。**品牌弹窗里的"搜索品牌名…"(`modalKeyword`/`modalSearch`)是另一套,保留不动**。 +- 三文件统一改(`src/pages/shows.astro` en、`src/pages/cn/shows.astro`、`src/components/RunwayLooks.astro`): + 1. 删 ``。 + 2. 删 `keyword: ""` state。 + 3. `visibleBrandItems` getter 去掉 `if (kw) {...} else {...}` 的 keyword 分支,简化为只走字母分组展示(else 分支)。 + 4. reset(`clearAll`/`resetFilter` 之类)里删 `this.keyword = ""`。 + 5. `shows.astro` 额外把 `x-show="hasMoreBrands && !keyword"` 改回 `x-show="hasMoreBrands"`(Show all 链接不再因搜索态隐藏)。 + 6. 删 `.showssearch` 死 CSS(该类仅被上述输入框使用)。 +- 验证:`npm run build` BUILD_EXIT=0;三文件 `read_lints` 0 错误;`(?` 漏了 `x-for="item in visibleBrandItems"`**,导致品牌勾选框一行都不渲染——侧边栏品牌列表完全失效,用户只能走弹窗。 +- cn 版 `src/pages/cn/shows.astro` 弹窗还硬卡了「最多 5 个」(`modalMaxReached` + `:disabled` + `toggleModalBrand` 内 `>=5 return` + 底部「已选 X / 最多 5 个」)。 +- 改动: + - `src/pages/cn/shows.astro` 与 `src/pages/shows.astro`(en):补回 `