123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 'use client'
- import type { FC } from 'react'
- import React, { useCallback, useState } from 'react'
- import { useTranslation } from 'react-i18next'
- import Input from './input'
- import Button from '@/app/components/base/button'
- const I18N_PREFIX = 'datasetCreation.stepOne.website'
- type Props = {
- isRunning: boolean
- onRun: (url: string) => void
- }
- const UrlInput: FC<Props> = ({
- isRunning,
- onRun,
- }) => {
- const { t } = useTranslation()
- const [url, setUrl] = useState('')
- const handleUrlChange = useCallback((url: string | number) => {
- setUrl(url as string)
- }, [])
- const handleOnRun = useCallback(() => {
- if (isRunning)
- return
- onRun(url)
- }, [isRunning, onRun, url])
- return (
- <div className='flex items-center justify-between'>
- <Input
- value={url}
- onChange={handleUrlChange}
- placeholder='https://docs.dify.ai'
- />
- <Button
- variant='primary'
- onClick={handleOnRun}
- className='ml-2'
- loading={isRunning}
- >
- {!isRunning ? t(`${I18N_PREFIX}.run`) : ''}
- </Button>
- </div>
- )
- }
- export default React.memo(UrlInput)
|