import { siteConfig } from '@/lib/config' import { useGlobal } from '@/lib/global' import { RecentComments } from '@waline/client' import Link from 'next/link' import { useEffect, useState } from 'react' /** * @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