app / src /components /settings /ImageThinkingMode.tsx
AZILS's picture
Upload 323 files
a21c316 verified
import { useTranslation } from "react-i18next";
import { Image } from "lucide-react";
interface ImageThinkingModeProps {
value?: 'enabled' | 'disabled';
onChange: (value: 'enabled' | 'disabled') => void;
}
export default function ImageThinkingMode({
value = 'enabled',
onChange,
}: ImageThinkingModeProps) {
const { t } = useTranslation();
const options = [
{ value: 'enabled', label: 'enabled', desc: 'enabled_desc' },
{ value: 'disabled', label: 'disabled', desc: 'disabled_desc' },
] as const;
return (
<div className="space-y-3">
<div className="flex flex-col sm:flex-row sm:items-center justify-between gap-3 bg-pink-50/30 dark:bg-pink-900/5 border border-pink-100/50 dark:border-pink-800/20 rounded-lg px-4 py-3">
<div className="flex items-center gap-3">
<div className="p-1.5 bg-pink-100 dark:bg-pink-900/30 rounded text-pink-600 dark:text-pink-400">
<Image size={18} />
</div>
<div className="space-y-0.5">
<h4 className="font-bold text-sm text-gray-900 dark:text-gray-100">
{t("settings.image_thinking_mode.title", { defaultValue: "图像思维模式 (Image Thinking Mode)" })}
</h4>
<p className="text-[10px] text-gray-500 dark:text-gray-400">
{t("settings.image_thinking_mode.hint", { defaultValue: "影响画质与生成流程" })}
</p>
</div>
</div>
<div className="flex bg-gray-100 dark:bg-gray-800 p-1 rounded-lg">
{options.map((option) => (
<button
key={option.value}
onClick={() => onChange(option.value)}
className={`px-3 py-1.5 rounded-md text-xs font-medium transition-all ${value === option.value
? 'bg-white dark:bg-gray-700 text-pink-600 dark:text-pink-400 shadow-sm'
: 'text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200'
}`}
>
{t(`settings.image_thinking_mode.options.${option.label}`, {
defaultValue: option.value === 'enabled' ? "开启" : "关闭"
})}
</button>
))}
</div>
</div>
<div className="px-1">
<p className="text-[10px] text-gray-400 dark:text-gray-500 italic leading-relaxed">
{value === 'enabled'
? t("settings.image_thinking_mode.options.enabled_desc", { defaultValue: "开启:保留思维链,返回草图 + 成品双图。" })
: t("settings.image_thinking_mode.options.disabled_desc", { defaultValue: "关闭:禁用思维链,直接生成单张超清图片(画质优先)。" })
}
</p>
</div>
</div>
);
}