import {Profile} from 'common/profiles/profile' import {buildArray} from 'common/util/array' import Image from 'next/image' import {useState} from 'react' import {Col} from 'web/components/layout/col' import {Modal} from 'web/components/layout/modal' import {Carousel} from 'web/components/widgets/carousel' import {useUser} from 'web/hooks/use-user' import {isVideo} from 'web/lib/firebase/storage' import {SignUpButton} from './nav/sidebar' export default function ProfileCarousel(props: {profile: Profile}) { const {profile} = props const photoNums = profile.photo_urls ? profile.photo_urls.length : 0 const [lightboxUrl, setLightboxUrl] = useState('') const [lightboxOpen, setLightboxOpen] = useState(false) const currentUser = useUser() if (photoNums == 0 && !profile.pinned_url) return if (!currentUser && profile.visibility !== 'public') { return ( {profile.pinned_url && ( )} {photoNums > 0 && ( +{photoNums} )} ) } return ( <> {buildArray(profile.pinned_url, profile.photo_urls).map((url, i) => ( {isVideo(url) ? ( { setLightboxUrl(url) setLightboxOpen(true) }} /> ) : ( { setLightboxUrl(url) setLightboxOpen(true) }} /> )} {(profile.image_descriptions as Record)?.[url] && ( {(profile.image_descriptions as Record)?.[url]} )} ))} {isVideo(lightboxUrl) ? ( ) : ( )} > ) }
{(profile.image_descriptions as Record)?.[url]}