From 2bb70ca6483d74f728cd159b87d1a1e820d30cca Mon Sep 17 00:00:00 2001 From: kuekhaoyang Date: Thu, 9 Jul 2026 16:59:39 +0800 Subject: [PATCH] Fix tag management view entering search flow --- CHANGELOG.md | 7 +++++ app-release.json | 13 ++++++++- components/home/PopularFeatures.tsx | 43 +++++++++++++++-------------- components/home/SortableTag.tsx | 2 ++ components/home/TagInput.tsx | 2 -- components/home/TagList.tsx | 10 +++++-- package-lock.json | 4 +-- package.json | 2 +- tests/tag-management-view.test.ts | 29 +++++++++++++++++++ 9 files changed, 84 insertions(+), 28 deletions(-) create mode 100644 tests/tag-management-view.test.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index b8f5e5b..db87757 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## 4.9.9 - 2026-07-09 + +- 修复首页管理标签入口混入快捷搜索流程的问题,打开管理模式后不再显示“内容分类”“电影类型”“年份”等搜索快捷项。 +- 管理标签时隐藏电影/电视剧切换和推荐内容网格,让“完成 / 恢复默认 / 添加标签 / 标签列表”成为当前视图主体。 +- 标签管理列表改为可换行 chip 布局,并在管理模式下使用矩形拖拽排序策略,避免标签区域被横向滚动行挤压。 +- 新增标签管理视图回归测试,防止管理入口再次退化为搜索筛选界面。 + ## 4.9.8 - 2026-07-09 - 修复登录完成跳转后 Network 面板出现 `/api/user/config` 和 `/api/user/sync` 两个 400 请求的问题。 diff --git a/app-release.json b/app-release.json index 06a155a..60d51f2 100644 --- a/app-release.json +++ b/app-release.json @@ -4,8 +4,19 @@ "name": "KVideo", "branch": "main" }, - "currentVersion": "4.9.8", + "currentVersion": "4.9.9", "releases": [ + { + "version": "4.9.9", + "publishedAt": "2026-07-09", + "title": "修复管理标签入口误入搜索流程", + "notes": [ + "首页管理标签模式现在会隐藏内容分类、电影类型、年份等快捷搜索项,避免用户打开标签管理时触发视频源搜索。", + "管理标签时不再显示电影/电视剧切换和推荐内容网格,完成、恢复默认、添加标签和标签列表成为当前视图主体。", + "标签 chip 在管理模式下改为可换行布局,并使用矩形拖拽排序策略,减少上方筛选内容对标签操作区的挤压。", + "新增标签管理视图回归测试,锁定管理入口不应退化为搜索结果筛选界面。" + ] + }, { "version": "4.9.8", "publishedAt": "2026-07-09", diff --git a/components/home/PopularFeatures.tsx b/components/home/PopularFeatures.tsx index 021bb1d..a0b445b 100644 --- a/components/home/PopularFeatures.tsx +++ b/components/home/PopularFeatures.tsx @@ -58,6 +58,7 @@ export function PopularFeatures({ onSearch }: PopularFeaturesProps) { const [isRecommendSelected, setIsRecommendSelected] = useState(false); const effectiveRecommendSelected = hasHistory && isRecommendSelected; + const isTagManagementMode = showTagManager; const { movies, @@ -92,10 +93,10 @@ export function PopularFeatures({ onSearch }: PopularFeaturesProps) { return (
- + {!isTagManagementMode && } {/* Content Type Toggle (Capsule Liquid Glass - Fixed & Centered) */} - {!effectiveRecommendSelected && ( + {!isTagManagementMode && !effectiveRecommendSelected && (
{/* Sliding Indicator */} @@ -146,24 +147,26 @@ export function PopularFeatures({ onSearch }: PopularFeaturesProps) { } : undefined} /> - {effectiveRecommendSelected ? ( - - ) : ( - + {!isTagManagementMode && ( + effectiveRecommendSelected ? ( + + ) : ( + + ) )}
); diff --git a/components/home/SortableTag.tsx b/components/home/SortableTag.tsx index cade1ed..9455486 100644 --- a/components/home/SortableTag.tsx +++ b/components/home/SortableTag.tsx @@ -51,6 +51,7 @@ export function SortableTag({ >
{showTagManager && (