트위터 클론 코딩 최종 프로젝트
firebase storage setting 하구
포스트를 쓰면 real time 으로 포스트 가 올라가는 것을 볼 수가 있다 .
글을 쓰고 post tweet 를 누르면 , firebase data base 에 잘 올라간 것을 확인 할 수가 있다
포스트 삭제 버튼
삭제시 . 삭제 Id 가 같아 야 지울 수있다 .
삭제하고 싶은 트잇의 id 만 알고 있다면 , 그 id 와 동일한 이름을 가진 이미지를 삭제 하면된다 .
export default function Tweet({ username, photo, tweet, userId, id }: ITweet) {
const user = auth.currentUser;
const onDelete = async () => {
const ok = confirm("Are you sure you want to delete this tweet?");
if (!ok || user?.uid !== userId) return;
try {
await deleteDoc(doc(db, "tweets", id));
if (photo) {
const photoRef = ref(storage, `tweets/${user.uid}/${id}`);
await deleteObject(photoRef);
}
} catch (e) {
console.log(e);
} finally {
//
}
};
return (
<Wrapper>
<Column>
<Username>{username}</Username>
<Payload>{tweet}</Payload>
{user?.uid === userId ? (
<DeleteButton onClick={onDelete}>Delete</DeleteButton>
) : null}
</Column>
<Column>{photo ? <Photo src={photo} /> : null}</Column>
</Wrapper>
);
}
복잡복잡 ...