chore: no data placeholder

feat/enchance-prompt-and-code-fe
Joel 9 months ago
parent 219c96aee1
commit 98c70ff86d

@ -36,10 +36,10 @@ import type { FormValue } from '@/app/components/header/account-setting/model-pr
import InstructionEditorInWorkflow from './instruction-editor-in-workflow' import InstructionEditorInWorkflow from './instruction-editor-in-workflow'
import InstructionEditorInBasic from './instruction-editor' import InstructionEditorInBasic from './instruction-editor'
import { GeneratorType } from './types' import { GeneratorType } from './types'
import Link from 'next/link'
import Result from './result' import Result from './result'
import useGenData from './use-gen-data' import useGenData from './use-gen-data'
import IdeaOutput from './idea-output' import IdeaOutput from './idea-output'
import ResPlaceholder from './res-placeholder'
const i18nPrefix = 'appDebug.generate' const i18nPrefix = 'appDebug.generate'
export type IGetAutomaticResProps = { export type IGetAutomaticResProps = {
@ -183,16 +183,6 @@ const GetAutomaticRes: FC<IGetAutomaticResProps> = ({
</div> </div>
) )
const renderNoData = (
<div className='flex h-full w-0 grow flex-col items-center justify-center space-y-3 px-8'>
<Generator className='size-8 text-text-quaternary' />
<div className='text-center text-[13px] font-normal leading-5 text-text-tertiary'>
<div>{t('appDebug.generate.newNoDataLine1')}</div>
<Link className='text-text-accent' href='//todo' target='_blank'>{t('appDebug.generate.newNoDataLine2')}</Link>
</div>
</div>
)
const handleModelChange = useCallback((newValue: { modelId: string; provider: string; mode?: string; features?: string[] }) => { const handleModelChange = useCallback((newValue: { modelId: string; provider: string; mode?: string; features?: string[] }) => {
const newModel = { const newModel = {
...model, ...model,
@ -376,7 +366,7 @@ const GetAutomaticRes: FC<IGetAutomaticResProps> = ({
</div> </div>
)} )}
{isLoading && renderLoading} {isLoading && renderLoading}
{isShowAutoPromptResPlaceholder() && !renderNoData} {isShowAutoPromptResPlaceholder() && <ResPlaceholder />}
{isShowConfirmOverwrite && ( {isShowConfirmOverwrite && (
<Confirm <Confirm
title={t('appDebug.generate.overwriteTitle')} title={t('appDebug.generate.overwriteTitle')}

@ -0,0 +1,20 @@
'use client'
import { Generator } from '@/app/components/base/icons/src/vender/other'
import Link from 'next/link'
import type { FC } from 'react'
import React from 'react'
import { useTranslation } from 'react-i18next'
const ResPlaceholder: FC = () => {
const { t } = useTranslation()
return (
<div className='flex h-full w-0 grow flex-col items-center justify-center space-y-3 px-8'>
<Generator className='size-8 text-text-quaternary' />
<div className='text-center text-[13px] font-normal leading-5 text-text-tertiary'>
<div>{t('appDebug.generate.newNoDataLine1')}</div>
<Link className='text-text-accent' href='//todo' target='_blank'>{t('appDebug.generate.newNoDataLine2')}</Link>
</div>
</div>
)
}
export default React.memo(ResPlaceholder)

@ -23,6 +23,7 @@ import { GeneratorType } from '../automatic/types'
import InstructionEditor from '../automatic/instruction-editor-in-workflow' import InstructionEditor from '../automatic/instruction-editor-in-workflow'
import useGenData from '../automatic/use-gen-data' import useGenData from '../automatic/use-gen-data'
import Result from '../automatic/result' import Result from '../automatic/result'
import ResPlaceholder from '../automatic/res-placeholder'
const i18nPrefix = 'appDebug.generate' const i18nPrefix = 'appDebug.generate'
export type IGetCodeGeneratorResProps = { export type IGetCodeGeneratorResProps = {
@ -179,15 +180,6 @@ export const GetCodeGeneratorResModal: FC<IGetCodeGeneratorResProps> = (
<div className='text-[13px] text-text-tertiary'>{t('appDebug.codegen.loading')}</div> <div className='text-[13px] text-text-tertiary'>{t('appDebug.codegen.loading')}</div>
</div> </div>
) )
const renderNoData = (
<div className='flex h-full w-0 grow flex-col items-center justify-center space-y-3 px-8'>
<Generator className='h-14 w-14 text-text-tertiary' />
<div className='text-center text-[13px] font-normal leading-5 text-text-tertiary'>
<div>{t('appDebug.codegen.noDataLine1')}</div>
<div>{t('appDebug.codegen.noDataLine2')}</div>
</div>
</div>
)
return ( return (
<Modal <Modal
@ -245,7 +237,7 @@ export const GetCodeGeneratorResModal: FC<IGetCodeGeneratorResProps> = (
</div> </div>
</div> </div>
{isLoading && renderLoading} {isLoading && renderLoading}
{!isLoading && !current && renderNoData} {!isLoading && !current && <ResPlaceholder />}
{(!isLoading && current) && ( {(!isLoading && current) && (
<div className='h-full w-0 grow bg-background-default-subtle p-6 pb-0'> <div className='h-full w-0 grow bg-background-default-subtle p-6 pb-0'>
<Result <Result

Loading…
Cancel
Save