UNPKG

@baseplate-dev/project-builder-web

Version:

Web interface for constructing project builder JSON

3 lines (2 loc) 2.46 kB
import{i as t}from"./_virtual___federation_fn_import-C4el_tlG.js";import{j as e}from"./jsx-runtime-D_zvdyIk.js";import{z as v,s as y}from"./index-BsqYBobW.js";import{K as R}from"./index--XHV4ygU.js";import{u as F}from"./use-definition-schema-Dyj6xH4G.js";const{appEntityType:L,authConfigSpec:P,createWebAppSchema:D}=await t("@baseplate-dev/project-builder-lib"),{useBlockUnsavedChangesNavigate:k,useProjectDefinition:E,useResettableForm:M}=await t("@baseplate-dev/project-builder-lib/web"),{Button:W,FormActionBar:B,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:O}=await t("@tanstack/react-router"),J=function(){const{webDefinition:o}=v.useRouteContext(),{definition:b,saveDefinitionWithFeedback:f,pluginContainer:j}=E(),S=F(D),a=M({resolver:y(S),values:o}),{control:i,handleSubmit:A,reset:g,watch:w}=a,s=A(n=>f(l=>{l.apps=l.apps.map(d=>d.id===o.id?n:d)}));k({control:i,reset:g,onSubmit:s});const r=j.getPluginSpecOptional(P)?.getAuthRoles(b).map(n=>({label:n.name,value:n.id})),c=w("adminApp.enabled"),C=L.keyFromId(o.id);return e.jsxs("form",{className:"w-full max-w-7xl space-y-4 p-4",onSubmit:s,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(W,{variant:"secondary",asChild:!0,children:e.jsxs(O,{to:"/admin-sections/$appKey",params:{appKey:C},children:[e.jsx(R,{}),"Manage Admin Sections"]})})})]})]}),e.jsx(B,{form:a})]})};export{J as component}; //# sourceMappingURL=admin-BL9_Anbd.js.map