Przeglądaj źródła

🏷️ chore(ui): Hide Type Tabs in Tag-Aggregation Mode & Refine Query Logic

frontend(ChannelsTable):
• Do not render type-filter Tabs when `enableTagMode` is true, preventing UI/logic conflicts in tag aggregation view.
• Adjust API query construction:
  – Append `type=` param only when NOT in tag mode and selected tab ≠ 'all'.
  – Applies to both `loadChannels` and `searchChannels`.
• Result: UI stays clean in tag view, and backend receives correct parameters across modes.

No other functionality affected.
Apple\Apple 8 miesięcy temu
rodzic
commit
3746482e8c
1 zmienionych plików z 4 dodań i 2 usunięć
  1. 4 2
      web/src/components/table/ChannelsTable.js

+ 4 - 2
web/src/components/table/ChannelsTable.js

@@ -867,7 +867,7 @@ const ChannelsTable = () => {
   const loadChannels = async (page, pageSize, idSort, enableTagMode, typeKey = activeTypeKey) => {
     const reqId = ++requestCounter.current; // 记录当前请求序号
     setLoading(true);
-    const typeParam = typeKey === 'all' ? '' : `&type=${typeKey}`;
+    const typeParam = (!enableTagMode && typeKey !== 'all') ? `&type=${typeKey}` : '';
     const res = await API.get(
       `/api/channel/?p=${page}&page_size=${pageSize}&id_sort=${idSort}&tag_mode=${enableTagMode}${typeParam}`,
     );
@@ -1046,7 +1046,7 @@ const ChannelsTable = () => {
         return;
       }
 
-      const typeParam = activeTypeKey === 'all' ? '' : `&type=${activeTypeKey}`;
+      const typeParam = (!enableTagMode && activeTypeKey !== 'all') ? `&type=${activeTypeKey}` : '';
       const res = await API.get(
         `/api/channel/search?keyword=${searchKeyword}&group=${searchGroup}&model=${searchModel}&id_sort=${idSort}&tag_mode=${enableTagMode}${typeParam}`,
       );
@@ -1212,6 +1212,8 @@ const ChannelsTable = () => {
   }, [channelTypeCounts]);
 
   const renderTypeTabs = () => {
+    if (enableTagMode) return null;
+
     return (
       <Tabs
         activeKey={activeTypeKey}