UNPKG

@ai-growth/nextjs

Version:

Seamlessly integrate Sanity CMS with Next.js applications for automated blog routing and rendering

10 lines (9 loc) 1.39 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import styles from './DefaultTemplate.module.css'; /** * LoadingSkeleton component for displaying loading states */ export const LoadingSkeleton = ({ showAuthor = true, showMetadata = true, className = '', }) => { return (_jsxs("div", { className: `${styles.defaultTemplate} ${styles.loadingSkeleton} ${className}`, children: [_jsxs("div", { className: styles.skeletonHeader, children: [_jsx("div", { className: styles.skeletonBadge }), _jsx("div", { className: styles.skeletonTitle }), showMetadata && (_jsxs("div", { className: styles.skeletonMetadata, children: [_jsx("div", { className: styles.skeletonDate }), _jsx("div", { className: styles.skeletonDescription })] }))] }), _jsxs("div", { className: styles.skeletonBody, children: [_jsx("div", { className: styles.skeletonParagraph }), _jsx("div", { className: styles.skeletonParagraph }), _jsx("div", { className: styles.skeletonParagraph }), _jsx("div", { className: styles.skeletonParagraph })] }), showAuthor && (_jsxs("div", { className: styles.skeletonAuthor, children: [_jsx("div", { className: styles.skeletonAuthorAvatar }), _jsxs("div", { className: styles.skeletonAuthorDetails, children: [_jsx("div", { className: styles.skeletonAuthorName }), _jsx("div", { className: styles.skeletonAuthorBio })] })] }))] })); }; export default LoadingSkeleton;