import { BottomSheetMotionDuration, BottomSheetMotionVaiants } from '@/entities/common/model/constant'; import { IMAGE_ROOT } from '@/shared/constants/common'; import { useStore } from '@/shared/model/store'; import { motion } from 'framer-motion'; import { ChangeEvent, useState } from 'react'; import { toPng } from 'html-to-image'; import { snackBar } from '@/shared/lib'; export interface EmailBottomSheetProps { bottomSheetOn: boolean; setBottomSheetOn: (bottomSheetOn: boolean) => void; imageSave: boolean; sendEmail: boolean; sendRequest: (email?: string) => void; }; export const EmailBottomSheet = ({ bottomSheetOn, setBottomSheetOn, imageSave, sendEmail, sendRequest }: EmailBottomSheetProps) => { const optionsEmails = useStore.getState().UserStore.selectOptionsEmails; const email = useStore.getState().UserStore.email; const [userEmail, setUserEmail] = useState(email); const onClickToClose = () => { setBottomSheetOn(false); }; const onClickToRequest = () => { sendRequest(userEmail); }; const downloadImage = () => { const app = document.getElementById('root') as HTMLElement; toPng(app).then((image) => { const link = document.createElement('a'); link.download = 'downloadImage.png'; link.href = image; link.click(); snackBar('이미지가 요청 되었습니다.'); }); }; const onDownloadImage = () => { downloadImage(); setTimeout(() => { onClickToClose(); }, 1000); }; return ( <> { (bottomSheetOn) &&
}

이메일 주소를 선택하세요

{ !!imageSave &&
이미지
이미지 저장
} { !!sendEmail && <>
메일
메일로 받기
{/*

등록된 메일 정보가 없습니다.
이메일 인증정보를 사용자관리 메뉴에서 추가 후 신청하세요.

*/} }
); };