feat: 实现全局目录设置功能

- 添加目录设置模态框,支持管理所有导入导出的默认目录
- 实现自动记忆目录功能,可开启/关闭
- 优化目录设置开关的视觉反馈,增加明显的状态区别
- 使用统一的Modal组件替代自定义弹框,确保正确渲染到modal-root
- 在各个导入导出界面添加目录设置按钮:
  * 素材导入对话框
  * 模板匹配结果管理(剪影导出)
  * 导出记录管理
  * 批量模板导入
  * 项目详情页面
  * 模板管理页面
- 修改相关导出功能使用新的目录选择命令
- 创建QuickDirectoryButton组件用于快速目录选择
- 改进DirectorySettingsButton的视觉效果和交互体验
This commit is contained in:
imeepos
2025-07-25 19:03:00 +08:00
parent 7c43f7a7ed
commit fab29519a7
17 changed files with 424 additions and 152 deletions

View File

@@ -1,7 +1,6 @@
import React, { useState, useCallback } from 'react';
import {
Sparkles,
ArrowLeft,
Wand2,
Shirt,
Download,
@@ -10,7 +9,6 @@ import {
Settings,
Info
} from 'lucide-react';
import { useNavigate } from 'react-router-dom';
import OutfitRecommendationService from '../../services/outfitRecommendationService';
import { OutfitRecommendation, STYLE_OPTIONS, OCCASION_OPTIONS, SEASON_OPTIONS } from '../../types/outfitRecommendation';
import OutfitRecommendationList from '../../components/outfit/OutfitRecommendationList';
@@ -22,8 +20,6 @@ import { MaterialSearchPanel, MaterialDetailModal } from '../../components/mater
* 遵循 Tauri 开发规范和 UI/UX 设计标准
*/
const OutfitRecommendationTool: React.FC = () => {
const navigate = useNavigate();
// 状态管理
const [query, setQuery] = useState('');
const [targetStyle, setTargetStyle] = useState<string>('');