UNPKG

@baseplate-dev/project-builder-web

Version:

Web interface for constructing project builder JSON

3 lines (2 loc) 2.42 kB
import{i as t}from"./_virtual___federation_fn_import-DOo8C-zl.js";import{j as e}from"./jsx-runtime-D_zvdyIk.js";import{B as v,b as y}from"./index-DiAhmW9l.js";import{K as F}from"./index-G5ZRloOW.js";const{appEntityType:L,authConfigSpec:R,createWebAppSchema:P}=await t("@baseplate-dev/project-builder-lib"),{useBlockUnsavedChangesNavigate:D,useDefinitionSchema:k,useProjectDefinition:B,useResettableForm:E}=await t("@baseplate-dev/project-builder-lib/web"),{Button:M,FormActionBar:W,InputFieldController:K,MultiComboboxFieldController:N,SectionList:U,SectionListSection:p,SectionListSectionContent:m,SectionListSectionDescription:u,SectionListSectionHeader:h,SectionListSectionTitle:x,SwitchFieldController:I}=await t("@baseplate-dev/ui-components"),{Link:T}=await t("@tanstack/react-router");function z(){const{webDefinition:a}=v.useRouteContext(),{definition:b,saveDefinitionWithFeedback:f,pluginContainer:j}=B(),S=k(P),s=E({resolver:y(S),values:a}),{control:i,handleSubmit:A,reset:w,watch:g}=s,o=A(n=>f(l=>{l.apps=l.apps.map(d=>d.id===a.id?n:d)}));D({control:i,reset:w,onSubmit:o});const r=j.use(R).getAuthConfig(b)?.roles.map(n=>({label:n.name,value:n.id})),c=g("adminApp.enabled"),C=L.keyFromId(a.id);return e.jsxs("form",{className:"w-full max-w-7xl space-y-4 p-4",onSubmit:o,children:[e.jsxs(U,{children:[e.jsxs(p,{children:[e.jsxs(h,{children:[e.jsx(x,{children:"Admin Configuration"}),e.jsx(u,{children:"Configure administrative features for your web application."})]}),e.jsxs(m,{className:"space-y-6",children:[e.jsx(I,{label:"Enable Admin Panel",description:"Add administrative interface to your web application",control:i,name:"adminApp.enabled"}),c&&e.jsxs(e.Fragment,{children:[e.jsx(K,{label:"Admin Path Prefix",placeholder:"/admin",description:"URL prefix for admin routes (e.g. /admin)",control:i,name:"adminApp.pathPrefix"}),r&&e.jsx(N,{label:"Admin Access Roles",description:"Which roles can access the admin panel",control:i,options:r,name:"adminApp.allowedRoles"})]})]})]}),c&&e.jsxs(p,{children:[e.jsxs(h,{children:[e.jsx(x,{children:"Admin Sections"}),e.jsx(u,{children:"Manage CRUD interfaces for your data models."})]}),e.jsx(m,{children:e.jsx(M,{variant:"secondary",asChild:!0,children:e.jsxs(T,{to:"/admin-sections/$appKey",params:{appKey:C},children:[e.jsx(F,{}),"Manage Admin Sections"]})})})]})]}),e.jsx(W,{form:s})]})}export{z as component}; //# sourceMappingURL=admin-BG4EKR32.js.map