refactor(useRating): simplify

This commit is contained in:
Timothy Z. 2025-06-03 15:05:43 +03:00
parent faee4166c3
commit ad680ca2a5

View file

@ -5,34 +5,32 @@ const useRating = (metaDetails: MetaDetails) => {
const { core } = useServices(); const { core } = useServices();
const like = useMemo(() => { const like = useMemo(() => {
return metaDetails.like !== null && metaDetails.like.type === 'Ready' ? metaDetails.like.content : null; return metaDetails.like?.type === 'Ready' ? metaDetails.like.content : null;
}, [metaDetails.like]); }, [metaDetails.like]);
const setRating = useCallback(
(status: string) => { const setRating = useCallback((status: LoadableError | null) => {
if (!metaDetails.metaItem || !metaDetails.metaItem.content) { const metaId = metaDetails.metaItem?.content?.content?.id;
return; if (!metaId) return;
}
core.transport.dispatch({ core.transport.dispatch({
action: 'MetaDetails', action: 'MetaDetails',
args: {
action: 'Rate',
args: { args: {
action: 'Rate', id: metaId,
args: { status,
id: metaDetails?.metaItem.content.content?.id,
status: status,
},
}, },
}); },
}, });
[metaDetails], }, [metaDetails.metaItem?.content?.content?.id]);
);
const onLiked = () => { const onLiked = useCallback(() => {
setRating(like === 'liked' ? null : 'liked'); setRating(like === 'liked' ? null : 'liked');
}; }, [like, setRating]);
const onLoved = () => { const onLoved = useCallback(() => {
setRating(like === 'loved' ? null : 'loved'); setRating(like === 'loved' ? null : 'loved');
}; }, [like, setRating]);
return { return {
onLiked, onLiked,