| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | 
							- 'use client'
 
- import type { FC } from 'react'
 
- import React, { useState } from 'react'
 
- import s from './style.module.css'
 
- import cn from '@/utils/classnames'
 
- import ImagePreview from '@/app/components/base/image-uploader/image-preview'
 
- type Props = {
 
-   srcs: string[]
 
- }
 
- const getWidthStyle = (imgNum: number) => {
 
-   if (imgNum === 1) {
 
-     return {
 
-       maxWidth: '100%',
 
-     }
 
-   }
 
-   if (imgNum === 2 || imgNum === 4) {
 
-     return {
 
-       width: 'calc(50% - 4px)',
 
-     }
 
-   }
 
-   return {
 
-     width: 'calc(33.3333% - 5.3333px)',
 
-   }
 
- }
 
- const ImageGallery: FC<Props> = ({
 
-   srcs,
 
- }) => {
 
-   const [imagePreviewUrl, setImagePreviewUrl] = useState('')
 
-   const imgNum = srcs.length
 
-   const imgStyle = getWidthStyle(imgNum)
 
-   return (
 
-     <div className={cn(s[`img-${imgNum}`], 'flex flex-wrap')}>
 
-       {/* TODO: support preview */}
 
-       {srcs.map((src, index) => (
 
-         // eslint-disable-next-line @next/next/no-img-element
 
-         <img
 
-           key={index}
 
-           className={s.item}
 
-           style={imgStyle}
 
-           src={src}
 
-           alt=''
 
-           onClick={() => setImagePreviewUrl(src)}
 
-           onError={e => e.currentTarget.remove()}
 
-         />
 
-       ))}
 
-       {
 
-         imagePreviewUrl && (
 
-           <ImagePreview
 
-             url={imagePreviewUrl}
 
-             onCancel={() => setImagePreviewUrl('')} title={''} />
 
-         )
 
-       }
 
-     </div>
 
-   )
 
- }
 
- export default React.memo(ImageGallery)
 
- export const ImageGalleryTest = () => {
 
-   const imgGallerySrcs = (() => {
 
-     const srcs = []
 
-     for (let i = 0; i < 6; i++)
 
-       // srcs.push('https://placekitten.com/640/360')
 
-       // srcs.push('https://placekitten.com/360/640')
 
-       srcs.push('https://placekitten.com/360/360')
 
-     return srcs
 
-   })()
 
-   return (
 
-     <div className='space-y-2'>
 
-       {imgGallerySrcs.map((_, index) => (
 
-         <div key={index} className='p-4 pb-2 rounded-lg bg-[#D1E9FF80]'>
 
-           <ImageGallery srcs={imgGallerySrcs.slice(0, index + 1)} />
 
-         </div>
 
-       ))}
 
-     </div>
 
-   )
 
- }
 
 
  |