From ae8fed26c62f8f09ebcbf4b41888b6def6902ede Mon Sep 17 00:00:00 2001 From: Pritam Kundu Date: Tue, 10 Dec 2024 14:48:14 +0530 Subject: [PATCH] fix: comment like button --- client/bun.lockb | Bin 165654 -> 167318 bytes client/package.json | 34 ++--- client/src/components/LikeButton.jsx | 122 ++++++++++-------- client/src/components/dialogues/SharePost.jsx | 4 +- client/src/hooks/reactions.js | 8 +- server/bun.lockb | Bin 32071 -> 32046 bytes server/package.json | 10 +- 7 files changed, 100 insertions(+), 78 deletions(-) diff --git a/client/bun.lockb b/client/bun.lockb index 6f390ff02d04906ef0185ee2c6e58d73beb87b62..8617f7d421cea6563607307ee02e44222ea5d9d2 100644 GIT binary patch delta 35652 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 diff --git a/client/package.json b/client/package.json index 6d09a2b..907e414 100644 --- a/client/package.json +++ b/client/package.json @@ -22,21 +22,21 @@ "start": "bun x vite preview" }, "dependencies": { - "@clerk/clerk-react": "^5.17.1", - "@emotion/react": "^11.13.5", - "@emotion/styled": "^11.13.5", - "@mui/icons-material": "^6.1.9", + "@clerk/clerk-react": "^5.19.2", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.0", + "@mui/icons-material": "^6.1.10", "@mui/lab": "^6.0.0-beta.12", - "@mui/material": "^6.1.9", - "@tanstack/react-query": "^5.62.0", - "@tanstack/react-query-devtools": "^5.62.0", - "axios": "^1.7.8", + "@mui/material": "^6.1.10", + "@tanstack/react-query": "^5.62.3", + "@tanstack/react-query-devtools": "^5.62.3", + "axios": "^1.7.9", "moment": "^2.30.1", - "react": "^19.0.0-rc-7670501b-20241124", - "react-dom": "^19.0.0-rc-7670501b-20241124", + "react": "^19.0.0", + "react-dom": "^19.0.0", "react-intersection-observer": "^9.13.1", - "react-router": "^7.0.1", - "zustand": "^5.0.1" + "react-router": "^7.0.2", + "zustand": "^5.0.2" }, "devDependencies": { "@eslint/js": "^9.16.0", @@ -46,11 +46,11 @@ "eslint": "^9.16.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-react": "^7.37.2", - "eslint-plugin-react-hooks": "^5.1.0-rc-fb9a90fa48-20240614", - "eslint-plugin-react-refresh": "^0.4.14", + "eslint-plugin-react-hooks": "^5.1.0", + "eslint-plugin-react-refresh": "^0.4.16", "globals": "^15.13.0", - "prettier": "^3.4.1", - "vite": "^6.0.1" + "prettier": "^3.4.2", + "vite": "^6.0.3" }, "repository": { "type": "git", @@ -63,4 +63,4 @@ "diary", "digital-diary" ] -} \ No newline at end of file +} diff --git a/client/src/components/LikeButton.jsx b/client/src/components/LikeButton.jsx index c3212c8..7bcc0f0 100644 --- a/client/src/components/LikeButton.jsx +++ b/client/src/components/LikeButton.jsx @@ -1,4 +1,4 @@ -import { useState } from 'react' +import { useEffect, useRef, useState } from 'react' import { Stack, IconButton, @@ -10,17 +10,20 @@ import { ListItem, ListItemText, ListItemAvatar, - Avatar + Avatar, + ClickAwayListener } from '@mui/material' import { ThumbUp, ThumbUpOffAlt } from '@mui/icons-material' import { useGetCommentLikes, useLikeComment, useGetLikedUsers } from '@/hooks' import { useUser } from '@clerk/clerk-react' +import { UserAvatar } from '.' const LikeButton = ({ commentId }) => { const { user } = useUser() const { data, isFetching } = useGetCommentLikes(commentId) const { mutate: likeComment } = useLikeComment() const [anchorEl, setAnchorEl] = useState(null) + const [isOpen, setIsOpen] = useState(false) const handleLike = () => likeComment({ @@ -30,10 +33,11 @@ const LikeButton = ({ commentId }) => { const handleMouseEnter = (event) => { setAnchorEl(event.currentTarget) + setIsOpen(true) } - const handleMouseLeave = () => { - setAnchorEl(null) + const handleClose = () => { + setIsOpen(false) } if (isFetching) { @@ -41,54 +45,70 @@ const LikeButton = ({ commentId }) => { } return ( - - - {data.isLiked ? ( - - ) : ( - + + + + {data.isLiked ? ( + + ) : ( + + )} + + + {data.likeCount} {data.likeCount === 1 ? 'like' : 'likes'} + + {data.likeCount > 0 && ( + )} - - - {data.likes} {data.likes === 1 ? 'like' : 'likes'} - - {data.likes > 0 && ( - setAnchorEl(null)} - totalLikes={data.likes} - /> - )} - + + ) } const UserList = ({ commentId, anchorEl, open, onClose, totalLikes }) => { const { data, isFetching, fetchNextPage, hasNextPage } = useGetLikedUsers(commentId) + const listRef = useRef(null) - const handleScroll = (event) => { - const { scrollTop, clientHeight, scrollHeight } = event.currentTarget - if ( - scrollHeight - scrollTop <= clientHeight + 1 && - hasNextPage && - !isFetching - ) { - fetchNextPage() + useEffect(() => { + const handleScroll = () => { + if (listRef.current) { + const { scrollTop, clientHeight, scrollHeight } = + listRef.current + if ( + scrollHeight - scrollTop <= clientHeight + 1 && + hasNextPage && + !isFetching + ) { + fetchNextPage() + } + } } - } - if (!open) return null + const currentListRef = listRef.current + if (currentListRef) { + currentListRef.addEventListener('scroll', handleScroll) + } + + return () => { + if (currentListRef) { + currentListRef.removeEventListener('scroll', handleScroll) + } + } + }, [fetchNextPage, hasNextPage, isFetching]) return ( { anchorEl={anchorEl} placement="bottom-start" onClose={onClose} + modifiers={[ + { + name: 'offset', + options: { offset: [0, 8] } + } + ]} > {data?.pages.flatMap((page) => page.users.slice(0, totalLikes).map((user) => ( - - {user.name.charAt(0)} - + - + )) )} diff --git a/client/src/components/dialogues/SharePost.jsx b/client/src/components/dialogues/SharePost.jsx index 9b69b7f..83239d6 100644 --- a/client/src/components/dialogues/SharePost.jsx +++ b/client/src/components/dialogues/SharePost.jsx @@ -28,10 +28,12 @@ const SharePostDialog = ({ url, open, setOpen }) => { whatsapp: `https://api.whatsapp.com/send?text=${encodeURIComponent(url)}` } const { openSnackbar } = useStore() - const handleCopy = () => + const handleCopy = () =>{ navigator.clipboard.writeText(url).then(() => { openSnackbar('Link copied to clipboard', 'info') }) + handleClose() + } return (

{ const previousData = queryClient.getQueryData(queryKey) queryClient.setQueryData(queryKey, () => ({ - likes: - (previousData?.likes || 0) + + likeCount: + (previousData?.likeCount || 0) + (previousData?.isLiked ? -1 : 1), isLiked: !previousData?.isLiked })) @@ -115,8 +115,8 @@ export const useGetLikedUsers = (commentId) => { const end = start + pageSize const dummyUsers = Array.from({ length: pageSize }, (_, i) => ({ id: start + i + 1, - name: `User ${start + i + 1}`, - avatarColor: `hsl(${Math.random() * 360}, 70%, 50%)` + fullName: `John Doe ${start + i + 1}`, + imageUrl: `https://i.pravatar.cc?u=${start + i + 1}` })) return { users: dummyUsers, diff --git a/server/bun.lockb b/server/bun.lockb index ea324964f3dd46d2d47d246162c4e62d9e3b413c..5977e920d6ac7b7056546d9e41c848e82e129d8e 100644 GIT binary patch delta 3504 zcmeHKd010d7Ju(SkRS6comSloD`3T+!pk zN3B~?##UT1qvI$pU)^Y3M=jzvD1sgFYhA{vw&Fl`AoBn(}LwKRxbd1jv6z>5TG`Eex;`_HTp?gMS8{9mDWZrb0aDC9f1Qj1974 zeQ9t>ULo@gRcLY)S|sfU_&_^`{Iat0%F+Tx4(mC;nk>hm(IY6y)^i7jaYgwMZtGo#*$j+7E;MW0ZsVa z2wnDS?z{jb4zc_}^qD5Jpto1Dk zjs(IrTfQ}>Y#gdE;Nzqev>+pYEK$V|^g>jzH>r>n3zOr{pmR~PsnF!2<}bs{h2a|x z?prIlV-6s3jb;5n=c;CBLzAnTe+pA=vIly;l6&O{61Q0Xd`uc`lc6Z`_aP%2=zz77 z_aiaz6paC~Sk0e6%WPvw?*HhP)d}59=*iJv(e-eAYXMZNA?aIi=4#w&KbDgT-~W`=2(fP+W2S@yNfI zkIK7gbNK$)45PrObwte%$$B>KY8lb+@GZ4 zSoX5G?)LW~EiGGae%({7Ji2sWr&Uhlt%a{XF8ByD%QAy@gP2)5PR-5It7X&R1}Mrd zw%2}J-?DB~=WEeEKbNYO+uJwZYpD~2*Se2j0)xI5Tf5la{o;Dt<)Bru=lq_nK4)w_ zcDS(O%$Z$~65s~kOEt!W0n03F7PmXK_Wfg@-RVv+*4$hB)7h}Sm*>ncp5c4)MY`jL zCf^VCec~L}*UGa$*7@Gap0i~YC(EOO%o>txBm0$>a{Uz_ICFsK5!}$ z!iiu0WAvZU2bZO85EG)os?ZRkg%u$Jc#JFDo75$5O%ZnFU#F-7S;*tUfNxH+;`*B(zLG6HXo_B+SYz(Gw-nT zL;voOlG?w4ug9d*Deb+B{_cCBzT-i|loJcOewDnl$8dOsMt=zvzzl_kRl=VXT4+@W zKoF*3RiF#gLS~o%+L1*AKU@pe;Q}ZQ*Gx7aRTLu2=!(?`nijNMt=hk&yQZMNBlGIh zbXThryn6$Nl(c~C;GSF8ULKE8*u<9U4z(V4*^+lB{grG_+h@z-fB3TUWqLCQZQ-uq z8KFrrpLiy-FBT`g5O$1xe#fEiVw_IY6BO6%qgws(tdi?~8quxljpB64n`8a23wHN@ zepH-#@m|Zbw#Cio0?+SqUsAne_Wh$UBf?=MD#BRv7)q=|yZ1teo~~@CURxY=1z|F-Jda zx=_&3Hx)r+nd$hz)(Sr9evq6l3#UVJ9)b?nnTR+KRA@G zP~~DzkH|yhBj~WF0+5E7f*?PpA*iZMKuknXrHTU240mTL1v*3)g6a&_tTB+1;T29r zfGUmx;fA1JH5CM`I*bQ`_Jrk^!9va4&cFw@rLZl-*N1wvBCV`JkQP~yBSs@6(4BF# zCJ1{pHxPmM3r30vM#vB$h)@KL6Cx4h3w=N4DBxwq6a|U~?T2)*teYh5f;fR9M-ik* zQbfrHUJde?Ux!;94kRIH`|k#c`c&{}!xTt!P^sEd-#kX#6ESsI{xuUj*fv9Drk@3N zV0-2)%TSp#6h`O_?ihsz92DX$<9Xra4c_&Ar#Ut!LMoHWVV5qMRT!V@8aP&Nten1# zEK^8 zYuQRD%WcN<%1$qK|LtX>AVDAKo@j5%nIRJ;A8l5-MGwrYpElcxO@s!$5BJakzS6sK z&mG{rezca4pTK*lWxnEboeKRO%E$PmbUkPKG>l8iCUF*+6S(%rFHy>& cw#du4ZBe}?l$I)>v1$Y~Ew(kvs$9AM0%|xuZ~y=R delta 3424 zcmeHKc~p~E7XRKyfJFHS7?y-!1(YQ$At8hiQV1v@5Kvqo1lN$_Qq-c-78eRmhoV*~ zc&!R9;98tfTa2wOow`)((kh+W(^?!C?5IQA#86-*eCTefRy| zyWf59-J9>-mm>r0`~YiGhn_!?^5v!vYo>XIhw%~O^1Ts1p6val&{@Cj%>s|+TPpMM z&dF<7^em3!y%AV&;I7%L|zGHAbSu$TD_`btF} zh*k+Q_>_M}Re{sudvyf?9ETQl#-}|n+hX3mpZFOQ4BiV zSF>pN!aW9jJjBitk0y8M@YI0Z%g3clQ1A1IayEIDxD5{Y;DB7qyr9%8jjaTmkJUv@>@e8y*#|8$Ge6D;uF2Bei!qwXuv2DoZ^Tv-wItoxdKMk< zuv;)lMqpf%kcnWohe1e3<{G0E4((ZT2zxWphJ)KOgYWL$epa{l%ufidB zTs<~_lZT)Uiey{C7G!3BgBE-$ojpOXvs#KX28g5W;woK2nnz%$Ttb>SuD~V3HT9g5J5s(j3^<3LYl^HL{R>lrio`F z7!-^SETXsOAV`L5n$_;=9n=&C`l!i%9)i3qM39gs`w9e&FLHK{p7H+(VkG|O2!bu7 zD*dxh8atz9HF@(R%t;S~;W!34zA{sY%w=Ah|R(Rgq7#C3c`sP?i z)h~IC^10`vS$-9(M?2G?KqXHPTo;{ZKB34Tx#NEKrJo<)edA%<$~Vm{novE+#7zb z@>-938``4^noU;tMlC?O%EDrxM{R|*@dBjATUZ>di?>3uMu7Xs;=!n~LLai78Vl3H zcgVJB1t`#3m=0RBR>(;Z;IYGbBa(!T^{PFP zc%ZkdXLL-wt+uX9TDrXJFFoTuP4&U^V{b*rmmgU@Os968S@!nnuQFm)->$wq z?8jh+576m?Bq9GDzir~Mz~y|}xGLWcDt+I3uYFkbGhkto732m1E+<*o1W*{PZ~ryahCd^rig-r&d z$?EJgMR`K6yB}6|5!(;`6Dr(QSV+8KN~RLtNv(25W!imsc@eZb{Ge_6LIqwTTqoRA z)VNwMrwAV?n?YX`2_;2|dO8E2N6;BM7mzn@vveKLG|uLk^-M%Nh9fhBSQjW~&ks%%2Cu9q=U?0Y`3LJ_ zc{W?CHmWh2;|16?yE|#&R?_fc63-IUS_6&b zNMX;M1Z68`jjqWva%;-&=Qlgiw@$55W0v;8zvirAXJP5w?QAs&c7^iyr>TbwdyEo% zT?wk&i&}y{SIJES3mc}-^J4%F_R!!2%M9_sOeY(2c!OsTKyZZe#sD}{CdaQj-l2frvY_8HbXn-w z6>vCol0N#jP@N4ehF*t8A;k}a{#E=jS$~ODdp{|m4-n;TP(Akuvm9JL(*rWA zLtt*D7}_gBF#V@1_A;Hbd{MU>lElhv*RXMs1_G8TovoFdc-Jq+sac-KyJ6;_=EXlV TJ%lU_b>_X)AaageHJ1MmzYq|3 diff --git a/server/package.json b/server/package.json index 4ee5b2d..f19ca98 100644 --- a/server/package.json +++ b/server/package.json @@ -26,16 +26,16 @@ "prisma:deploy": "prisma migrate deploy" }, "dependencies": { - "@clerk/backend": "^1.18.0", + "@clerk/backend": "^1.20.2", "@elysiajs/cors": "^1.1.1", "@elysiajs/cron": "^1.1.1", "@elysiajs/swagger": "^1.1.6", "@neondatabase/serverless": "^0.10.4", - "@prisma/adapter-neon": "^6.0.0", - "@prisma/client": "^6.0.0", + "@prisma/adapter-neon": "^6.0.1", + "@prisma/client": "^6.0.1", "cloudinary": "^2.5.1", "elysia": "latest", - "svix": "^1.42.0" + "svix": "^1.43.0" }, "peerDependencies": { "typescript": "^5.6.3" @@ -57,4 +57,4 @@ "cron", "render" ] -} \ No newline at end of file +}