diff --git a/src/components/AssetFilterManager.tsx b/src/components/AssetFilterManager.tsx index 10661d1b..e674e1d1 100644 --- a/src/components/AssetFilterManager.tsx +++ b/src/components/AssetFilterManager.tsx @@ -1,9 +1,8 @@ import React, { useState, useMemo } from 'react'; -import { Plus, Edit3, Trash2, Filter, ChevronDown, ChevronUp, X, Monitor, Apple, Smartphone, Package, Terminal, RotateCcw } from 'lucide-react'; +import { Plus, Edit3, Trash2, Filter, ChevronDown, ChevronUp, X, Monitor, Apple, Smartphone, Package, Terminal } from 'lucide-react'; import { useAppStore } from '../store/useAppStore'; import { FilterModal } from './FilterModal'; import { AssetFilter } from '../types'; -import { PRESET_FILTERS } from '../constants/presetFilters'; import { useDialog } from '../hooks/useDialog'; // 图标映射 @@ -24,13 +23,6 @@ const PRESET_ICON_MAP: Record = { 'preset-source': 'Package', }; -// 默认预设筛选器(用于重置) -const DEFAULT_PRESET_FILTERS: AssetFilter[] = PRESET_FILTERS.map(pf => ({ - ...pf, - isPreset: true, - icon: PRESET_ICON_MAP[pf.id], -})); - interface AssetFilterManagerProps { selectedFilters: string[]; onFilterToggle: (filterId: string) => void; @@ -44,7 +36,7 @@ export const AssetFilterManager: React.FC = ({ }) => { const { assetFilters, addAssetFilter, updateAssetFilter, deleteAssetFilter, language } = useAppStore(); - const { toast, confirm } = useDialog(); + const { confirm } = useDialog(); const [isModalOpen, setIsModalOpen] = useState(false); const [editingFilter, setEditingFilter] = useState(); @@ -100,66 +92,6 @@ export const AssetFilterManager: React.FC = ({ onFilterToggle(presetId); }; - const handleResetPresets = async () => { - const confirmed = await confirm( - t('重置预设', 'Reset Presets'), - language === 'zh' ? '确定要重置所有预设筛选器吗?这将恢复默认设置。' : 'Are you sure you want to reset all preset filters? This will restore default settings.', - { type: 'warning' } - ); - - if (!confirmed) return; - - const previousFilters = assetFilters.map(f => ({ ...f })); - const previousSelected = [...selectedFilters]; - const addedFilterIds: string[] = []; - - try { - const store = useAppStore.getState(); - presetFilters.forEach(filter => { - if (store.assetFilters.find(f => f.id === filter.id)) { - deleteAssetFilter(filter.id); - } - if (selectedFilters.includes(filter.id)) { - onFilterToggle(filter.id); - } - }); - DEFAULT_PRESET_FILTERS.forEach(filter => { - if (!store.assetFilters.find(f => f.id === filter.id)) { - addAssetFilter(filter); - addedFilterIds.push(filter.id); - } - }); - // Restore previously active preset selections that still map to a known preset id. - previousSelected.forEach(id => { - if (DEFAULT_PRESET_FILTERS.some(f => f.id === id) && !selectedFilters.includes(id)) { - onFilterToggle(id); - } - }); - } catch (error) { - console.error('Failed to reset presets:', error); - const store = useAppStore.getState(); - - addedFilterIds.forEach(id => { - if (store.assetFilters.find(f => f.id === id)) { - deleteAssetFilter(id); - } - }); - - previousFilters.forEach(filter => { - if (!store.assetFilters.find(f => f.id === filter.id)) { - addAssetFilter(filter); - } - }); - - // 清除当前所有选择 - selectedFilters.forEach(id => onFilterToggle(id)); - // 恢复之前的选择 - previousSelected.forEach(id => onFilterToggle(id)); - - toast(language === 'zh' ? '重置预设筛选器失败,已恢复之前的状态。' : 'Failed to reset preset filters. Previous state has been restored.', 'error'); - } - }; - const t = (zh: string, en: string) => language === 'zh' ? zh : en; return ( @@ -228,21 +160,9 @@ export const AssetFilterManager: React.FC = ({ {/* Preset Filters */} {presetFilters.length > 0 && (
-
-

- {t('预设筛选器', 'Preset Filters')} -

- -
+

+ {t('预设筛选器', 'Preset Filters')} +

{presetFilters.map(preset => { const Icon = preset.icon ? ICON_MAP[preset.icon] : Filter; @@ -349,21 +269,6 @@ export const AssetFilterManager: React.FC = ({
)} - {selectedFilters.length > 0 && ( -
- - {t(`已选择 ${selectedFilters.length} 个过滤器`, `${selectedFilters.length} filters selected`)} - - -
- )}