@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
JavaScript
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;