UNPKG

nitropage

Version:

A free and open source, extensible visual page builder based on SolidStart.

21 lines (17 loc) 685 B
import { getUser } from "#lib/auth/server"; import { EditorUiContext } from "#lib/context/admin"; import { getValidLayouts as getValidLayouts_ } from "#lib/server/layout"; import { createAsyncStore, query } from "@solidjs/router"; import { useContext } from "solid-js"; export const getValidLayouts = query(async (pageId: string) => { "use server"; await getUser({ assert: {} }); return await getValidLayouts_(pageId); }, "np-validLayouts"); export const useValidLayouts = () => { const [editorUi] = useContext(EditorUiContext)!; return createAsyncStore( async () => (await getValidLayouts(editorUi.pageId)) ?? {}, { initialValue: {}, deferStream: true }, ); };