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 {SignUpButton} from './nav/sidebar' export default function ProfileCarousel(props: {profile: Profile; refreshProfile: () => void}) { const {profile} = props const photoNums = profile.photo_urls ? profile.photo_urls.length : 0 const [lightboxUrl, setLightboxUrl] = useState('') const [lightboxOpen, setLightboxOpen] = useState(false) // const [isEditMode, setIsEditMode] = useState(false) // const [addPhotosOpen, setAddPhotosOpen] = useState(false) // const [pinnedUrl, setPinnedUrl] = useState(profile.pinned_url) // const [photoUrls, setPhotoUrls] = useState(profile.photo_urls ?? []) const currentUser = useUser() // const isCurrentUser = currentUser?.id === profile.user_id // const handleSaveChanges = async () => { // await updateProfile({ // pinned_url: pinnedUrl ?? undefined, // photo_urls: photoUrls, // }) // setIsEditMode(false) // refreshProfile() // } if (photoNums == 0 && !profile.pinned_url) return if (!currentUser && profile.visibility !== 'public') { return ( {profile.pinned_url && (
)} {photoNums > 0 && (
+{photoNums}
)}
) } return ( <> {/*
*/} {/* {isCurrentUser && !isEditMode && (*/} {/* setIsEditMode(true)}*/} {/* color="gray-outline"*/} {/* size="sm"*/} {/* >*/} {/* Edit photos*/} {/* */} {/* )}*/} {/* {isCurrentUser && isEditMode && (*/} {/* */} {/* {*/} {/* // TODO this is stale if you've saved*/} {/* setPhotoUrls(profile.photo_urls ?? [])*/} {/* setPinnedUrl(profile.pinned_url)*/} {/* setIsEditMode(false)*/} {/* }}*/} {/* color="gray-outline"*/} {/* size="sm"*/} {/* >*/} {/* Cancel*/} {/* */} {/* */} {/* */} {/* )}*/} {/*
*/} {/*{isEditMode ? (*/} {/* */} {/* {*/} {/* const newPinnedUrl = newOrder[0]*/} {/* const newPhotoUrls = newOrder.filter(*/} {/* (url) => url !== newPinnedUrl*/} {/* )*/} {/* setPinnedUrl(newPinnedUrl)*/} {/* setPhotoUrls(newPhotoUrls)*/} {/* }}*/} {/* onDelete={(url) => {*/} {/* if (url === pinnedUrl) {*/} {/* const newPhotos = photoUrls.filter((u) => u !== url)*/} {/* setPinnedUrl(newPhotos[0] ?? null)*/} {/* setPhotoUrls(newPhotos.slice(1))*/} {/* } else {*/} {/* setPhotoUrls(photoUrls.filter((u) => u !== url))*/} {/* }*/} {/* }}*/} {/* onSetProfilePic={(url) => {*/} {/* if (url === pinnedUrl) return*/} {/* setPinnedUrl(url)*/} {/* setPhotoUrls(*/} {/* [...photoUrls.filter((u) => u !== url), pinnedUrl].filter(*/} {/* Boolean*/} {/* ) as string[]*/} {/* )*/} {/* }}*/} {/* />*/} {/* setAddPhotosOpen(true)}*/} {/* color="gray-outline"*/} {/* size="sm"*/} {/* className="self-start"*/} {/* >*/} {/* */} {/* Add photos*/} {/* */} {/* */} {/*) : (*/} {buildArray(profile.pinned_url, profile.photo_urls).map((url, i) => (
{ setLightboxUrl(url) setLightboxOpen(true) }} />

{(profile.image_descriptions as Record)?.[url]}

))} {/*{isCurrentUser && (profile.photo_urls?.length ?? 0) > 1 && (*/} {/* setAddPhotosOpen(true)}*/} {/* >*/} {/* */} {/* */} {/*)}*/}
{/* )}*/} {/*{isCurrentUser && (*/} {/* */} {/* */} {/* */} {/* */} {/* setAddPhotosOpen(false)}*/} {/* >*/} {/* Done*/} {/* */} {/* */} {/* */} {/* */} {/*)}*/} ) }