import { useEffect, useState } from 'react' import { siteConfig } from '@/lib/config' import Card from '@/themes/hexo/components/Card' import { useGlobal } from '@/lib/global' import Link from 'next/link' import { RecentComments } from '@waline/client' /** * @see https://waline.js.org/guide/get-started.html * @param {*} props * @returns */ const HexoRecentComments = (props) => { const [comments, updateComments] = useState([]) const { locale } = useGlobal() const [onLoading, changeLoading] = useState(true) useEffect(() => { RecentComments({ serverURL: siteConfig('COMMENT_WALINE_SERVER_URL'), count: 5 }).then(({ comments }) => { changeLoading(false) updateComments(comments) }) }, []) return (
{locale.COMMON.RECENT_COMMENTS}
{onLoading &&
Loading...
} {!onLoading && comments && comments.length === 0 &&
No Comments
} {!onLoading && comments && comments.length > 0 && comments.map((comment) =>
--{comment.nick}
)} ) } export default HexoRecentComments