Files
5chan/src/views/pending-post/pending-post.tsx
T

38 lines
1.2 KiB
TypeScript

import { useEffect } from 'react';
import { useNavigate, useParams } from 'react-router-dom';
import { useAccountComment, useAccountComments } from '@plebbit/plebbit-react-hooks';
import { Post } from '../post';
const PendingPost = () => {
const { accountComments } = useAccountComments();
const { accountCommentIndex } = useParams<{ accountCommentIndex?: string }>();
const commentIndex = accountCommentIndex ? parseInt(accountCommentIndex) : undefined;
const post = useAccountComment({ commentIndex });
const navigate = useNavigate();
useEffect(() => window.scrollTo(0, 0), []);
const isValidAccountCommentIndex =
!accountCommentIndex ||
(!isNaN(parseInt(accountCommentIndex)) &&
parseInt(accountCommentIndex) >= 0 &&
accountComments?.length > 0 &&
parseInt(accountCommentIndex) < accountComments.length);
useEffect(() => {
if (!isValidAccountCommentIndex) {
navigate('/not-found', { replace: true });
}
}, [isValidAccountCommentIndex, navigate]);
useEffect(() => {
if (post?.cid && post?.subplebbitAddress) {
navigate(`/p/${post?.subplebbitAddress}/c/${post?.cid}`, { replace: true });
}
}, [post, navigate]);
return <Post post={post} />;
};
export default PendingPost;