add edited info on message

This commit is contained in:
Guillaume Dorce 2022-11-03 10:05:27 +01:00
parent 5684e19582
commit f01baf4c2e
5 changed files with 30 additions and 15 deletions

View File

@ -10,17 +10,25 @@ const Avatar = ({ user }: any) => {
const [firstLoad, setFirstLoad] = useState(true);
if (firstLoad) {
fetch(gravatarUrl).then((response) => {
if (response.status === 200) {
fetch(gravatarUrl)
.then((response) => {
if (response.ok) {
setAvatar(gravatarUrl);
}
setFirstLoad(false);
})
.catch((e) => {
setFirstLoad(false);
});
}
return (
<div className="avatar shrink-0">
<Image src={avatar} alt="avatar" className="rounded-full w-12 h-12 md:w-16 md:h-16 transition-all cursor-pointer" />
<Image
src={avatar}
alt="avatar"
className="rounded-full w-12 h-12 md:w-16 md:h-16 transition-all cursor-pointer"
/>
</div>
);
};

View File

@ -40,6 +40,7 @@ const Message = ({ message }: any) => {
</div>
<Text text={message.content} />
{message.image && <Image src={message.image} alt="image" className="w-fit rounded-lg cursor-pointer" />}
<div className="flex justify-between">
<div className="text-grey-light date">
{new Date(message.createdAt).toLocaleDateString(undefined, {
year: 'numeric',
@ -49,6 +50,8 @@ const Message = ({ message }: any) => {
minute: 'numeric',
})}
</div>
{message.edited && <div className="text-grey-light italic">Modifié</div>}
</div>
{me.data?.id === message.author.id ? null : (
<Like
messageId={message.id}

View File

@ -37,6 +37,7 @@ model Post {
updatedAt DateTime @updatedAt
likes Int @default(0)
likedBy Like[]
edited Boolean @default(false)
}
model Like {

View File

@ -66,6 +66,7 @@ const editPost = async (post: Post): Promise<PrismaPost | null | Error> => {
data: {
content: post.content,
image: post.image,
edited: true,
},
});

View File

@ -8,6 +8,7 @@ interface Post {
authorId: number;
likes?: number | undefined;
likedBy?: Like[] | undefined;
edited?: boolean | undefined;
}
const Post: z.ZodType<Post> = z.object({
@ -17,6 +18,7 @@ const Post: z.ZodType<Post> = z.object({
authorId: z.number(),
likes: z.number().optional(),
likedBy: z.array(Like).optional(),
edited: z.boolean().optional(),
});
export { Post };