- New TinaCMS collection 'pages' with 15 block templates: Hero, TextBlock, TwoColumn, Features, Stats, Testimonials, Team, FAQ, CTABanner, Video, Gallery, Pricing, Timeline, Divider, ContactForm - Each page has published toggle (unpublished → 404) - Route /p/:slug renders dynamic pages from content/pages/*.json - scripts/copy-pages.mjs copies content/pages → public/pages at build - prerender.mjs extended to prerender published pages - All blocks styled with design tokens + Framer Motion animations Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
666 B
CSS
33 lines
666 B
CSS
.dynamic-page {
|
|
min-height: 60vh;
|
|
padding-top: 80px;
|
|
}
|
|
.dynamic-page-container {
|
|
max-width: 800px;
|
|
margin: 0 auto;
|
|
padding: 60px 24px;
|
|
}
|
|
.dynamic-page-loading,
|
|
.dynamic-page-not-found {
|
|
color: var(--light-grey-100);
|
|
font-family: var(--font-primary);
|
|
text-align: center;
|
|
padding: 60px 0;
|
|
}
|
|
.dynamic-page-not-found {
|
|
font-size: 2rem;
|
|
font-weight: 600;
|
|
}
|
|
.dynamic-page-back {
|
|
display: inline-block;
|
|
color: var(--orange-100);
|
|
text-decoration: none;
|
|
font-family: var(--font-primary);
|
|
font-size: 0.9rem;
|
|
margin-bottom: 24px;
|
|
transition: opacity 0.2s;
|
|
}
|
|
.dynamic-page-back:hover { opacity: 0.7; }
|
|
.dynamic-page-blocks {
|
|
width: 100%;
|
|
}
|