| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | import React from 'react'import Modal from '@/app/components/base/modal'import AppIcon from '@/app/components/base/app-icon'import type { SiteInfo } from '@/models/share'import { appDefaultIconBackground } from '@/config'import cn from 'classnames'type Props = {  data?: SiteInfo  isShow: boolean  onClose: () => void}const InfoModal = ({  isShow,  onClose,  data,}: Props) => {  return (    <Modal      isShow={isShow}      onClose={onClose}      className='!p-0 min-w-[400px] max-w-[400px]'      closable    >      <div className={cn('pt-10 px-4 pb-8 flex flex-col items-center gap-4')}>        <AppIcon          size='xxl'          iconType={data?.icon_type}          icon={data?.icon}          background={data?.icon_background || appDefaultIconBackground}          imageUrl={data?.icon_url}        />        <div className='text-text-secondary system-xl-semibold'>{data?.title}</div>        <div className='text-text-tertiary system-xs-regular'>          {/* copyright */}          {data?.copyright && (            <div>© {(new Date()).getFullYear()} {data?.copyright}</div>          )}          {data?.custom_disclaimer && (            <div className='mt-2'>{data.custom_disclaimer}</div>          )}        </div>      </div>    </Modal>  )}export default InfoModal
 |