"use client";
import { Loader2, Trash2, ChevronDown } from "lucide-react";
import { Dropdown, Image } from "antd";
import { EyeOutlined } from "@ant-design/icons";
import { useImageStoryServiceHook } from "@/app/service/Interaction/ImageStoryService";
/**
* 图片故事模式组件
* 显示图片预览、分析状态和故事类型选择器
* 使用ImageStoryService hook管理状态和业务逻辑
*/
export function PhotoStoryMode() {
// 使用图片故事服务hook
const {
activeImageUrl,
selectedCategory,
isAnalyzing,
isUploading,
storyTypeOptions,
updateStoryType,
resetImageStory,
} = useImageStoryServiceHook();
return (
{/* 左侧:图片预览区域和分析状态指示器 */}
{/* 图片预览区域 - 使用Ant Design Image组件 */}
{activeImageUrl && (
),
maskClassName:
"flex items-center justify-center bg-black/50 hover:bg-black/70 transition-colors",
}}
/>
)}
{/* 删除图片按钮 - 简洁样式 */}
{activeImageUrl && (
)}
{/* 分析状态指示器 */}
{isAnalyzing && (
{isUploading
? "Uploading image..."
: "Analyzing image..."}
)}
{/* 右侧:故事类型选择器 */}
{activeImageUrl && (
({
key: type.key,
label: (
{type.label}
),
})),
onClick: ({ key }) => updateStoryType(key),
}}
trigger={["click"]}
placement="bottomRight"
>
)}
);
}