mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
38 lines
1.2 KiB
TypeScript
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;
|