mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-12 12:04:16 +00:00
improve postCard
data handling
This commit is contained in:
parent
59432a29a9
commit
ee631595d7
@ -17,6 +17,8 @@ export default React.memo(({
|
|||||||
events = {},
|
events = {},
|
||||||
fullmode
|
fullmode
|
||||||
}) => {
|
}) => {
|
||||||
|
const isSelf = app.permissions.checkUserIdIsSelf(data.user_id)
|
||||||
|
|
||||||
const [loading, setLoading] = React.useState(true)
|
const [loading, setLoading] = React.useState(true)
|
||||||
|
|
||||||
const [likes, setLikes] = React.useState(data.likes ?? [])
|
const [likes, setLikes] = React.useState(data.likes ?? [])
|
||||||
@ -61,6 +63,15 @@ export default React.memo(({
|
|||||||
return await events.onClickOpen(data)
|
return await events.onClickOpen(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const onClickEdit = async () => {
|
||||||
|
if (typeof events.onClickEdit !== "function") {
|
||||||
|
console.warn("onClickEdit event is not a function")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
return await events.onClickEdit(data)
|
||||||
|
}
|
||||||
|
|
||||||
const onDataUpdate = (data) => {
|
const onDataUpdate = (data) => {
|
||||||
console.log("onDataUpdate", data)
|
console.log("onDataUpdate", data)
|
||||||
|
|
||||||
@ -82,6 +93,9 @@ export default React.memo(({
|
|||||||
app.eventBus.emit("style.compactMode", true)
|
app.eventBus.emit("style.compactMode", true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
app.eventBus.on(`post.${data._id}.delete`, onClickDelete)
|
||||||
|
app.eventBus.on(`post.${data._id}.update`, onClickEdit)
|
||||||
|
|
||||||
// first listen to post changes
|
// first listen to post changes
|
||||||
window.app.api.namespaces["main"].listenEvent(`post.dataUpdate.${data._id}`, onDataUpdate)
|
window.app.api.namespaces["main"].listenEvent(`post.dataUpdate.${data._id}`, onDataUpdate)
|
||||||
|
|
||||||
@ -93,6 +107,9 @@ export default React.memo(({
|
|||||||
app.eventBus.emit("style.compactMode", false)
|
app.eventBus.emit("style.compactMode", false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
app.eventBus.off(`post.${data._id}.delete`, onClickDelete)
|
||||||
|
app.eventBus.off(`post.${data._id}.update`, onClickEdit)
|
||||||
|
|
||||||
// remove the listener
|
// remove the listener
|
||||||
window.app.api.namespaces["main"].unlistenEvent(`post.dataUpdate.${data._id}`, onDataUpdate)
|
window.app.api.namespaces["main"].unlistenEvent(`post.dataUpdate.${data._id}`, onDataUpdate)
|
||||||
}
|
}
|
||||||
@ -125,6 +142,9 @@ export default React.memo(({
|
|||||||
{ ["noHide"]: !expansibleActions },
|
{ ["noHide"]: !expansibleActions },
|
||||||
{ ["fullmode"]: fullmode },
|
{ ["fullmode"]: fullmode },
|
||||||
)}
|
)}
|
||||||
|
context-menu={"postCard-context"}
|
||||||
|
user-id={data.user_id}
|
||||||
|
self-post={isSelf.toString()}
|
||||||
>
|
>
|
||||||
<div className="wrapper">
|
<div className="wrapper">
|
||||||
<PostHeader
|
<PostHeader
|
||||||
@ -149,7 +169,7 @@ export default React.memo(({
|
|||||||
}
|
}
|
||||||
{!fullmode &&
|
{!fullmode &&
|
||||||
<PostActions
|
<PostActions
|
||||||
isSelf={app.permissions.checkUserIdIsSelf(data.user_id)}
|
isSelf={isSelf}
|
||||||
defaultLiked={hasLiked}
|
defaultLiked={hasLiked}
|
||||||
defaultSaved={hasSaved}
|
defaultSaved={hasSaved}
|
||||||
onClickLike={onClickLike}
|
onClickLike={onClickLike}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user