import type { Property } from 'csstype'; import { IconButton } from '@/app/components/button'; import { ChatAction } from '@/app/components/chat'; import chatStyles from '@/app/components/chat.module.scss'; import { WindowContent } from '@/app/components/home'; import homeStyles from '@/app/components/home.module.scss'; import styles from '@/app/components/sd/sd.module.scss'; import { showConfirm, showImageModal, showModal, } from '@/app/components/ui-lib'; import { getClientConfig } from '@/app/config/client'; import { Path } from '@/app/constant'; import DeleteIcon from '@/app/icons/clear.svg'; import CopyIcon from '@/app/icons/copy.svg'; import ErrorIcon from '@/app/icons/delete.svg'; import MaxIcon from '@/app/icons/max.svg'; import MinIcon from '@/app/icons/min.svg'; import PromptIcon from '@/app/icons/prompt.svg'; import ResetIcon from '@/app/icons/reload.svg'; import ReturnIcon from '@/app/icons/return.svg'; import SDIcon from '@/app/icons/sd.svg'; import LoadingIcon from '@/app/icons/three-dots.svg'; import Locale from '@/app/locales'; import { useAppConfig } from '@/app/store'; import { useSdStore } from '@/app/store/sd'; import { copyToClipboard, getMessageTextContent, useMobileScreen, } from '@/app/utils'; import { removeImage } from '@/app/utils/chat'; import clsx from 'clsx'; import React, { useEffect, useMemo, useRef, useState } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import { params } from './sd-panel'; import { SideBar } from './sd-sidebar'; function getSdTaskStatus(item: any) { let s: string; let color: Property.Color | undefined; switch (item.status) { case 'success': s = Locale.Sd.Status.Success; color = 'green'; break; case 'error': s = Locale.Sd.Status.Error; color = 'red'; break; case 'wait': s = Locale.Sd.Status.Wait; color = 'yellow'; break; case 'running': s = Locale.Sd.Status.Running; color = 'blue'; break; default: s = item.status.toUpperCase(); } return (
{Locale.Sd.Status.Name}
:
{s}
{item.status === 'error' && (
{
showModal({
title: Locale.Sd.Detail,
children: (
{Locale.SdPanel.Prompt}
:
{' '}
{
showModal({
title: Locale.Sd.Detail,
children: (
{Locale.SdPanel.AIModel} : {item.model_name}
{getSdTaskStatus(item)}{item.created_at}