feat: extend theme builder with block visibility, layout, effects, media, and custom CSS tabs
- Add theme-blocks.ts registry with 24 themeable blocks across 4 categories - Extend resolver to resolve blocks, layout, effects, media, and custom CSS per scope - Add data-theme-block attributes to all site layout blocks - Extend ScopedThemeVars to generate CSS for block visibility, layout vars, effect vars, media vars, and custom CSS - Rewrite admin UI with 6 tabs: Colors, Blocks, Layout, Effects, Media, Custom - Extend server actions to save/load all new setting types - No database migration needed - uses existing theme_scope_values table with prefixed keys
This commit is contained in:
1 parent
3efd6c90f0
commit
adf0658916
7 files changed
+1334
-75
No files matched your search
@@ -22,20 +22,35 @@ export default async function SiteLayout({
|
||||
<>
|
||||
{session?.user?.id ? (
|
||||
<>
|
||||
<TopHeader session={session} />
|
||||
<SiteHeader />
|
||||
<Navigation session={session} />
|
||||
<div data-theme-block="top_header">
|
||||
<TopHeader session={session} />
|
||||
</div>
|
||||
<div data-theme-block="site_header">
|
||||
<SiteHeader />
|
||||
</div>
|
||||
<div data-theme-block="navigation">
|
||||
<Navigation session={session} />
|
||||
</div>
|
||||
</>
|
||||
) : null}
|
||||
<main>
|
||||
<div className="mx-auto mt-4 grid max-w-7xl grid-cols-12 gap-x-3 gap-y-5 px-3 py-3 sm:px-4 sm:py-4 md:mt-0 md:px-6 md:py-6 md:gap-y-6">
|
||||
<div
|
||||
data-theme-block="content_grid"
|
||||
className="mx-auto mt-4 grid max-w-7xl grid-cols-12 gap-x-3 gap-y-5 px-3 py-3 sm:px-4 sm:py-4 md:mt-0 md:px-6 md:py-6 md:gap-y-6"
|
||||
>
|
||||
<div className="col-span-12 min-w-0">
|
||||
<MotionPageWrapper>{children}</MotionPageWrapper>
|
||||
<div data-theme-block="page_transition">
|
||||
<MotionPageWrapper>{children}</MotionPageWrapper>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<SiteFooter />
|
||||
<RadioPlayerGate />
|
||||
<div data-theme-block="footer">
|
||||
<SiteFooter />
|
||||
</div>
|
||||
<div data-theme-block="radio_player">
|
||||
<RadioPlayerGate />
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
Reference in new issue
Block a user