index.tsx 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. 'use client'
  2. import type { FC } from 'react'
  3. import React from 'react'
  4. import { useTranslation } from 'react-i18next'
  5. import cn from 'classnames'
  6. import type { IConfigProps } from '../config'
  7. import Config from '../config'
  8. import s from './style.module.css'
  9. const Line = (
  10. <svg width="720" height="1" viewBox="0 0 720 1" fill="none" xmlns="http://www.w3.org/2000/svg">
  11. <line y1="0.5" x2="720" y2="0.5" stroke="url(#paint0_linear_6845_53470)"/>
  12. <defs>
  13. <linearGradient id="paint0_linear_6845_53470" x1="0" y1="1" x2="720" y2="1" gradientUnits="userSpaceOnUse">
  14. <stop stopColor="#F2F4F7" stopOpacity="0"/>
  15. <stop offset="0.491667" stopColor="#F2F4F7"/>
  16. <stop offset="1" stopColor="#F2F4F7" stopOpacity="0"/>
  17. </linearGradient>
  18. </defs>
  19. </svg>
  20. )
  21. const Init: FC<IConfigProps> = ({
  22. ...configProps
  23. }) => {
  24. const { t } = useTranslation()
  25. return (
  26. <div className='h-full flex items-center'>
  27. <div>
  28. <div className='w-[480px] mx-auto text-center'>
  29. <div className={cn(s.textGradient, 'mb-2 leading-[32px] font-semibold text-[24px]')}>{t('explore.universalChat.welcome')}</div>
  30. <div className='mb-2 font-normal text-sm text-gray-500'>{t('explore.universalChat.welcomeDescribe')}</div>
  31. </div>
  32. <div className='flex mb-2 mx-auto h-8 items-center'>
  33. {Line}
  34. </div>
  35. <Config className='w-[480px] mx-auto' {...configProps} />
  36. </div>
  37. </div>
  38. )
  39. }
  40. export default React.memo(Init)