mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-07-02 17:08:39 +00:00
* feat(www): wip break everything * feat(www): wip chunks * feat(www): wip chunk mode * feat: lift mode * feat: update chunks * fix: resize in lift mode * fix: hasLiftMode * fix: types * fix: toolbar Thanks @mrnbpt * chore: format check * feat: add tracking for enable_lift_mode * chore: format write * docs: add changelog
30 lines
753 B
TypeScript
30 lines
753 B
TypeScript
import { getBlock } from "@/lib/blocks"
|
|
import { BlockPreview } from "@/components/block-preview"
|
|
import { styles } from "@/registry/styles"
|
|
|
|
export async function BlockDisplay({ name }: { name: string }) {
|
|
const blocks = await Promise.all(
|
|
styles.map(async (style) => {
|
|
const block = await getBlock(name, style.name)
|
|
const hasLiftMode = block?.chunks ? block?.chunks?.length > 0 : false
|
|
|
|
// Cannot (and don't need to) pass to the client.
|
|
delete block?.component
|
|
delete block?.chunks
|
|
|
|
return {
|
|
...block,
|
|
hasLiftMode,
|
|
}
|
|
})
|
|
)
|
|
|
|
if (!blocks?.length) {
|
|
return null
|
|
}
|
|
|
|
return blocks.map((block) => (
|
|
<BlockPreview key={`${block.style}-${block.name}`} block={block} />
|
|
))
|
|
}
|