adminizer 5.1.0-build.27 → 5.1.0-build.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/{abnfDiagram-VCTEODGH-Bg_8zqPp.js → abnfDiagram-VCTEODGH-CpSXY7qH.js} +1 -1
- package/assets/add-DQWffo5j.js +1 -0
- package/assets/{add-group-CCG3KsbU.js → add-group-OdAd30ej.js} +1 -1
- package/assets/{add-user-C3zbmYCp.js → add-user-C6cqZSzp.js} +1 -1
- package/assets/ai-assistant/agent.es.js +9725 -8297
- package/assets/app-DMN-4aCp.js +138 -0
- package/assets/app-TCCHARSx.css +1 -0
- package/assets/{arc-Eis4jA3C.js → arc-6oG0N2EU.js} +1 -1
- package/assets/{architectureDiagram-5GKGNRK7-vRaEat2I.js → architectureDiagram-5GKGNRK7-BO5E3Osk.js} +1 -1
- package/assets/{blockDiagram-I7D4REHJ-D4p6mNO0.js → blockDiagram-I7D4REHJ-DpKAEeRQ.js} +1 -1
- package/assets/{c4Diagram-7LVT6UL2-Ndcevqf2.js → c4Diagram-7LVT6UL2-K4ilHoqv.js} +1 -1
- package/assets/{catalog-JTO3wxaD.js → catalog-BaSowP5U.js} +3 -3
- package/assets/channel-Dh5UPZKs.js +1 -0
- package/assets/{chunk-2Q5K7J3B-BCBceaUW.js → chunk-2Q5K7J3B-CFvbnPgN.js} +1 -1
- package/assets/{chunk-5VM5RSS4-CYJCrcuC.js → chunk-5VM5RSS4-Cxb3_K7a.js} +1 -1
- package/assets/{chunk-F27PBJKO-CcLD2Xr5.js → chunk-F27PBJKO-Bp-e-RqW.js} +1 -1
- package/assets/{chunk-IMKFNOWR-CnAhNJXV.js → chunk-IMKFNOWR-D03Bbv3p.js} +1 -1
- package/assets/{chunk-JWPE2WC7-DyvpPELY.js → chunk-JWPE2WC7-BQzIFXbt.js} +1 -1
- package/assets/{chunk-POPQ4Y6H-BbZC5GHP.js → chunk-POPQ4Y6H-DGPhwQEk.js} +1 -1
- package/assets/{chunk-SVP7TREG-Bpic-apZ.js → chunk-SVP7TREG-CFG2uzdK.js} +1 -1
- package/assets/{chunk-TICWLB2K-D_HH7iEP.js → chunk-TICWLB2K-BRoATx6O.js} +1 -1
- package/assets/{chunk-XXDRQBXY-BHYuhi0S.js → chunk-XXDRQBXY-MTSPV1jX.js} +1 -1
- package/assets/classDiagram-ZZMXUADV-a_pfQoRf.js +1 -0
- package/assets/classDiagram-v2-VYDZK3BY-a_pfQoRf.js +1 -0
- package/assets/controls/ckeditor.es.js +265 -259
- package/assets/controls/jsoneditor.es.js +182 -185
- package/assets/controls/leaflet.es.js +29 -26
- package/assets/{cose-bilkent-JH36ORCC-VW9sgRDq.js → cose-bilkent-JH36ORCC-Cd04LiHO.js} +1 -1
- package/assets/{cynefin-OW5HDTMX-DCUuRnt0.js → cynefin-OW5HDTMX-Cvk-t4EK.js} +1 -1
- package/assets/{cynefinDiagram-5FMLGOSQ-Bga2ArjW.js → cynefinDiagram-5FMLGOSQ-CHBsEINZ.js} +1 -1
- package/assets/{dagre-GXQ25YYZ-CsS1V8Fd.js → dagre-GXQ25YYZ-Dq-0d5Tl.js} +1 -1
- package/assets/{dashboard-4b-DtCkn.js → dashboard-BZo6F7y9.js} +2 -2
- package/assets/{diagram-S7CK7UJ4-BkgFMSZX.js → diagram-S7CK7UJ4-BKDTPndI.js} +1 -1
- package/assets/{diagram-UQ7AKVKN-BzC2nIdX.js → diagram-UQ7AKVKN-DZYq9mm9.js} +1 -1
- package/assets/{diagram-VSXAHHWV-Dt7D4ksU.js → diagram-VSXAHHWV-CVOsZwCq.js} +1 -1
- package/assets/{diagram-VX7I27RA-0hu_EZ4u.js → diagram-VX7I27RA-BCBXgENw.js} +1 -1
- package/assets/{diagram-Z3DM3KII-fpCB_fIc.js → diagram-Z3DM3KII-ByNHDStX.js} +1 -1
- package/assets/{docs-UOtmhzZS.js → docs-CDmOUM3P.js} +1 -1
- package/assets/{ebnfDiagram-PWID7BFC-C_2xqmKB.js → ebnfDiagram-PWID7BFC-WrVgmCqC.js} +1 -1
- package/assets/{erDiagram-RLTQ6QDP-DFPGs6yp.js → erDiagram-RLTQ6QDP-1QXTF1US.js} +1 -1
- package/assets/{flowDiagram-HODETNUW-DPOGstiG.js → flowDiagram-HODETNUW-DWcydZT-.js} +1 -1
- package/assets/{ganttDiagram-EL5Y4UJY-CypeJ7AX.js → ganttDiagram-EL5Y4UJY-BDrQ3uCR.js} +1 -1
- package/assets/{gitGraphDiagram-WWUBYQGX-DxAhGz-2.js → gitGraphDiagram-WWUBYQGX-oD2bpMWh.js} +1 -1
- package/assets/{history-DMrI0-e9.js → history-CTbCqtJA.js} +1 -1
- package/assets/{infoDiagram-27XIBGKW-BX6gP2sE.js → infoDiagram-27XIBGKW-C8opSvmW.js} +1 -1
- package/assets/{init-user-90rWJO11.js → init-user-DDmp5FmX.js} +1 -1
- package/assets/{ishikawaDiagram-5VMMS53U-HRaXncwz.js → ishikawaDiagram-5VMMS53U-CqOCcw38.js} +1 -1
- package/assets/{journeyDiagram-3NMN7TZE-CsXR3QVf.js → journeyDiagram-3NMN7TZE-B1OlZWx5.js} +1 -1
- package/assets/{kanban-definition-UXKFOSKX-DCIVI8Ji.js → kanban-definition-UXKFOSKX-DIEdmOZD.js} +1 -1
- package/assets/{layout-IGSohxrW.js → layout-Cznoi1Xi.js} +1 -1
- package/assets/{linear-M6iGQUwN.js → linear-DbhwLrTs.js} +1 -1
- package/assets/{list-gbZSukX6.js → list-X8LYs75t.js} +2 -2
- package/assets/{login-CjOSctXD.js → login-D0flIAhA.js} +1 -1
- package/assets/manifest.json +277 -277
- package/assets/{media-manager-_LexG3oh.js → media-manager-cyrZjDu3.js} +1 -1
- package/assets/{mermaid.core-DAck1uaB.js → mermaid.core-DtG9mjld.js} +5 -5
- package/assets/{mindmap-definition-YA3MSWOX-D1EfOJAc.js → mindmap-definition-YA3MSWOX-G8OJl_uT.js} +1 -1
- package/assets/module-D347sEFr.js +1 -0
- package/assets/{notification-BjQO_nNz.js → notification-C7usJcF-.js} +1 -1
- package/assets/{pegDiagram-XKGWAZYB-Cc8Gjl6W.js → pegDiagram-XKGWAZYB-CqOymfUM.js} +1 -1
- package/assets/{pieDiagram-E7YTZNPT-BoNu3GzD.js → pieDiagram-E7YTZNPT-C_nbNUey.js} +1 -1
- package/assets/{quadrantDiagram-AXDQQJYC-BcZvJIwl.js → quadrantDiagram-AXDQQJYC-RDCWL_jp.js} +1 -1
- package/assets/{railroadDiagram-O6MQD6OU-B5509Hzu.js → railroadDiagram-O6MQD6OU-Bi_j7Fb_.js} +1 -1
- package/assets/{register-B8lUjWa4.js → register-DhdaEsna.js} +1 -1
- package/assets/{requirementDiagram-BXWQKSXE-BjD2Lyol.js → requirementDiagram-BXWQKSXE-Cg6IzoFA.js} +1 -1
- package/assets/{ru-Bga9nURh.js → ru-DMAUOdKr.js} +1 -1
- package/assets/{sankeyDiagram-P5KCCOFB-CytF1cEb.js → sankeyDiagram-P5KCCOFB-BNN3S4hm.js} +1 -1
- package/assets/{sequenceDiagram-WJ2MYXX4-D4NPQNvE.js → sequenceDiagram-WJ2MYXX4-C9UEgNLg.js} +1 -1
- package/assets/{sizeCapture-INFHLROL-tYZn2Att.js → sizeCapture-INFHLROL-DH9gM8J8.js} +1 -1
- package/assets/{stateDiagram-D77RDMKH-DeP6-EWJ.js → stateDiagram-D77RDMKH-CzuNaJnp.js} +1 -1
- package/assets/stateDiagram-v2-MP3YSRHH-Cm0oV4uL.js +1 -0
- package/assets/{swimlanes-42K2YHIH-CBwp_Dkj.js → swimlanes-42K2YHIH-DlfHkCIp.js} +1 -1
- package/assets/swimlanesDiagram-VR7AAH4N-Cc5GTkO2.js +8 -0
- package/assets/{timeline-definition-24CTP7MA-yLEcbTCW.js → timeline-definition-24CTP7MA-B45WKY9z.js} +1 -1
- package/assets/{use-appearance-D6-vqhEK.js → use-appearance-DPeAg6kc.js} +1 -1
- package/assets/{user-filters-list-DVP21R0w.js → user-filters-list-B-txVF_a.js} +1 -1
- package/assets/{vennDiagram-4TSXK5OY-D-jH0690.js → vennDiagram-4TSXK5OY-BARlq8EX.js} +1 -1
- package/assets/{wardleyDiagram-VM6X3IG4-pPY5kYLN.js → wardleyDiagram-VM6X3IG4-DSGKYXrr.js} +1 -1
- package/assets/{welcome-DlBvTvMc.js → welcome-Cdhwf3y4.js} +1 -1
- package/assets/with-app-layout-CcoboJFc.js +31 -0
- package/assets/{xychartDiagram-S5SC5T6Z-C8jeu2VX.js → xychartDiagram-S5SC5T6Z-DPA8cj4H.js} +1 -1
- package/controllers/adminLinks.d.ts +7 -0
- package/controllers/adminLinks.js +10 -0
- package/controllers/catalog/FrontendCatalogAdapter.d.ts +5 -5
- package/controllers/catalog/FrontentCatalogAdapter.d.ts +5 -5
- package/helpers/menuHelper.d.ts +11 -1
- package/helpers/menuHelper.js +16 -6
- package/helpers/navigationAccessHelper.d.ts +10 -3
- package/helpers/navigationAccessHelper.js +21 -2
- package/helpers/pathPattern.d.ts +5 -0
- package/helpers/pathPattern.js +10 -0
- package/interfaces/adminpanelConfig.d.ts +23 -0
- package/lib/admin-links/AdminLinkHandler.d.ts +41 -0
- package/lib/admin-links/AdminLinkHandler.js +94 -1
- package/lib/ai-assistant/AiAssistantUiMethodHandler.d.ts +4 -22
- package/lib/ai-assistant/AiAssistantUiMethodHandler.js +3 -47
- package/lib/docs/AbstractDocumentation.js +2 -4
- package/lib/media-manager/helpers/MediaManagerHelper.d.ts +1 -1
- package/lib/notifications/AbstractNotificationService.d.ts +3 -3
- package/package.json +1 -2
- package/system/Router.js +7 -0
- package/system/bindDocs.js +1 -1
- package/system/bindInertia.js +16 -0
- package/ui/components/ui/badge.d.ts +1 -1
- package/ui/components/ui/badge.js +1 -0
- package/ui/components/ui/command.d.ts +3 -1
- package/ui/components/ui/command.js +2 -2
- package/assets/add-CIUloDP7.js +0 -1
- package/assets/app-DPmI-MvN.css +0 -1
- package/assets/app-DcPnWJ2A.js +0 -138
- package/assets/channel-BedsMG7l.js +0 -1
- package/assets/classDiagram-ZZMXUADV-D7IRPQh5.js +0 -1
- package/assets/classDiagram-v2-VYDZK3BY-D7IRPQh5.js +0 -1
- package/assets/module-D5BInbsL.js +0 -1
- package/assets/stateDiagram-v2-MP3YSRHH-C6MIQ0z8.js +0 -1
- package/assets/swimlanesDiagram-VR7AAH4N-CnU6gLkz.js +0 -8
- package/assets/with-app-layout-BUF49K2m.js +0 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as p,r as u,d as a}from"./chunk-SVP7TREG-
|
|
1
|
+
import{g as p,r as u,d as a}from"./chunk-SVP7TREG-CFG2uzdK.js";import{p as f}from"./chunk-JWPE2WC7-BQzIFXbt.js";import{_ as n,l as o}from"./mermaid.core-DtG9mjld.js";import{M as c,b as d}from"./cynefin-OW5HDTMX-Cvk-t4EK.js";import"./app-DMN-4aCp.js";import"./isObject-DL-BuaBl.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},F={parser:R,db:a,renderer:u,styles:p};export{F as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as t,r as e,t as o,j as a,A as c}from"./app-DMN-4aCp.js";import{w as f}from"./with-app-layout-CcoboJFc.js";import"./use-appearance-DPeAg6kc.js";const p=[];function u(){const r=t();return e.useEffect(()=>{const s=r.props.flash;s&&(s.success&&o.success(s.success),s.error&&o.error(s.error))},[r.props.flash]),a.jsx(a.Fragment,{children:a.jsx(c,{page:r,catalog:!1})})}const m=f(u,{breadcrumbs:p,className:"overflow-auto h-[calc(100svh-16px)]"});export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as E,g as I,r as p,j as e,d as k,p as S,H as C,M as R,o as w,L as v,I as f,J as O,K as A,N as z,O as D,P as M,Q as q,R as B,V as G,W as H,q as J}from"./app-
|
|
1
|
+
import{u as E,g as I,r as p,j as e,d as k,p as S,H as C,M as R,o as w,L as v,I as f,J as O,K as A,N as z,O as D,P as M,Q as q,R as B,V as G,W as H,q as J}from"./app-DMN-4aCp.js";import{w as U}from"./with-app-layout-CcoboJFc.js";import"./use-appearance-DPeAg6kc.js";const b=p.memo(({field:s,disabled:c,value:d,onCheckedChange:m,tooltip:i})=>{const x=p.useCallback(h=>{m(s.name,h)},[s.name,m]);return e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx(O,{id:s.name,className:"cursor-pointer size-5",disabled:c,checked:d,onCheckedChange:x}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx(v,{className:"cursor-pointer",htmlFor:s.name,children:s.label}),i&&e.jsx(A,{children:e.jsxs(z,{children:[e.jsx(D,{onClick:h=>h.preventDefault(),children:e.jsx(C,{iconNode:M,className:"text-primary w-5 h-5 cursor-pointer"})}),e.jsx(q,{align:"center",side:"top",children:e.jsx("p",{children:s.tooltip})})]})})]})]})}),K=p.memo(({field:s,disabled:c,value:d,onCheckedChange:m,onRightsChange:i})=>{const x=s.options?.permissionOptions,[h,N]=p.useState(!1),[o,r]=p.useState(null),[l,g]=p.useState(!1),[t,n]=p.useState(null);if(!x)return e.jsx(b,{field:s,disabled:c,value:d,onCheckedChange:m,tooltip:!0});const y=`token-record-rights-${s.name.slice(15)}`,j=x.rights,F=async()=>{if(!(o||l)){g(!0),n(null);try{const a=s.name.slice(15),u=await J.getJson(`${window.routePrefix}/access-rights/permission-options`,{params:{tokenId:a}});r(u.data.options)}catch{n("Не удалось загрузить варианты разрешения")}finally{g(!1)}}},T=a=>{N(a),a&&F()},$=(a,u)=>{const L=u===!0?Array.from(new Set([...j,a])):j.filter(P=>P!==a);i(y,L)};return e.jsxs("div",{className:"grid gap-2",children:[e.jsx(b,{field:s,disabled:c,value:d,onCheckedChange:m,tooltip:!0}),d&&e.jsxs(B,{open:h,onOpenChange:T,children:[e.jsx(G,{asChild:!0,children:e.jsxs(k,{type:"button",variant:"outline",size:"sm",className:"w-fit ml-8",disabled:c,children:["Выбрать варианты (",j.length,")"]})}),e.jsxs(H,{align:"start",className:"max-h-80 overflow-y-auto",children:[l&&e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx(w,{className:"size-4 animate-spin"}),"Загрузка…"]}),t&&e.jsx("p",{className:"text-sm text-destructive",children:t}),o?.map(a=>e.jsxs("div",{className:"flex gap-3 items-start py-1",children:[e.jsx(O,{id:`${s.name}-${a.id}`,checked:j.includes(a.id),disabled:c,onCheckedChange:u=>$(a.id,u)}),e.jsxs(v,{className:"cursor-pointer grid gap-0.5",htmlFor:`${s.name}-${a.id}`,children:[e.jsx("span",{children:a.name}),a.description&&e.jsx("span",{className:"text-xs font-normal text-muted-foreground",children:a.description})]})]},a.id)),o?.length===0&&e.jsx("p",{className:"text-sm text-muted-foreground",children:"Вариантов нет"})]})]})]})});function Q(){const s=E(),{fields:c,groupedTokens:d,users:m}=s.props,{data:i,setData:x,clearErrors:h,post:N,processing:o}=I({...Object.fromEntries(c.map(t=>[t.name,t.value])),...Object.fromEntries(m.map(t=>[t.name,t.value])),...Object.fromEntries(d.flatMap(t=>t.fields.flatMap(n=>[[n.name,n.value],...n.options?.permissionOptions?[[`token-record-rights-${n.name.slice(15)}`,n.options.permissionOptions.rights]]:[]])))}),r=t=>s.props.fields.find(n=>n.name===t),l=p.useCallback((t,n)=>{h(),x(t,n)},[]),g=t=>{t.preventDefault(),N(s.props.postLink)};return e.jsxs("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:[e.jsxs("div",{className:"w-full sticky z-[1001] py-4 pb-8 top-0 h-fit bg-background flex gap-4",children:[e.jsx(k,{className:"mb-3 w-fit",asChild:!0,children:e.jsxs(S,{href:s.props.btnBack.link,children:[e.jsx(C,{iconNode:R}),s.props.btnBack.title]})}),e.jsxs(k,{variant:"green",type:"submit",className:"w-fit",form:"addUserForm",disabled:o||s.props.view,children:[o&&e.jsx(w,{className:"h-4 w-4 animate-spin"}),s.props.btnSave.title]})]}),e.jsx("form",{id:"addUserForm",onSubmit:g,className:`${s.props.view?"cursor-not-allowed":""}`,children:e.jsxs("div",{className:"flex flex-col gap-6 max-w-[1144px]",children:[e.jsx("h2",{className:"font-bold text-xl",children:s.props.head}),e.jsxs("div",{className:"grid gap-4",children:[e.jsx(v,{htmlFor:r("name")?.name,children:r("name")?.label}),e.jsx(f,{id:r("name")?.name,type:"text",required:!0,tabIndex:1,autoComplete:r("name")?.name,value:i.name,onChange:t=>l("name",t.target.value),disabled:o||s.props.view,placeholder:r("name")?.label})]}),e.jsxs("div",{className:"grid gap-4",children:[e.jsx(v,{htmlFor:r("description")?.name,children:r("description")?.label}),e.jsx(f,{id:r("description")?.name,type:"text",required:!0,tabIndex:1,autoComplete:r("description")?.name,value:i.description,onChange:t=>l("description",t.target.value),disabled:o||s.props.view,placeholder:r("description")?.label})]}),s.props.users.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("h2",{className:"font-bold text-xl",children:s.props.userHead}),s.props.users.map(t=>e.jsx(b,{field:t,disabled:o||s.props.view,value:i[t.name],onCheckedChange:l},t.name))]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 xl:grid-cols-4 gap-4",children:s.props.groupedTokens?.length>0&&s.props.groupedTokens.map(t=>e.jsxs("div",{className:"grid gap-4 content-start justify-between",children:[e.jsx("h2",{className:"font-bold text-xl mt-3",children:t.header}),t.fields.map(n=>n.options?.permissionOptions?e.jsx(K,{field:{...n,options:{permissionOptions:{...n.options.permissionOptions,rights:i[`token-record-rights-${n.name.slice(15)}`]}}},disabled:o||s.props.view,value:i[n.name],onCheckedChange:l,onRightsChange:l},n.name):e.jsx(b,{field:n,disabled:o||s.props.view,value:i[n.name],onCheckedChange:l,tooltip:!0},n.name))]},t.header))})]})})]})}const V=[];function W(){return e.jsx(Q,{})}const Z=U(W,{breadcrumbs:V});export{Z as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as H,r as m,g as M,j as e,d,p as f,H as w,M as O,o as Y,L as n,I as c,h as b,i as v,k as N,l as y,m as C,n as k,J as g,K as _,N as $,O as J,P as Q,Q as Z,Y as G,Z as W,_ as X,q as P,t as h}from"./app-
|
|
1
|
+
import{u as H,r as m,g as M,j as e,d,p as f,H as w,M as O,o as Y,L as n,I as c,h as b,i as v,k as N,l as y,m as C,n as k,J as g,K as _,N as $,O as J,P as Q,Q as Z,Y as G,Z as W,_ as X,q as P,t as h}from"./app-DMN-4aCp.js";import{c as ee,w as se}from"./with-app-layout-CcoboJFc.js";import"./use-appearance-DPeAg6kc.js";function ae(){const l=H(),[A,F]=m.useState(),{fields:I,groups:U,auth:z}=l.props,[p,K]=m.useState(!1),[x,S]=m.useState(l.props.apiKey),[R,u]=m.useState(!1),{data:r,setData:T,errors:j,setError:L,clearErrors:E,post:q,processing:i}=M({...Object.fromEntries(I.map(s=>[s.name,s.value])),...Object.fromEntries(U.map(s=>[s.name,s.value]))});m.useEffect(()=>{(async()=>{const o=await P.get(`${window.routePrefix}/get-timezones`);F(o.data.timezones)})()},[]);const a=s=>l.props.fields.find(o=>o.name===s),D=s=>{if(s.preventDefault(),r.userPassword!==r.repeatUserPassword){L("repeatUserPassword",l.props.passwordError);return}q(l.props.postLink)},t=(s,o)=>{E(),T(s,o)},V=async()=>{try{const s=await P.post(`${window.routePrefix}/api/user-key/regenerate`);S(s.data.apiKey),h.success("User API key regenerated")}catch(s){console.error("Failed to regenerate user API key:",s),h.error("Failed to regenerate user API key")}u(!1)},B=async()=>{if(x)try{await navigator.clipboard.writeText(x),h.success("API key copied to clipboard")}catch{h.error("Failed to copy")}};return e.jsxs("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:[e.jsxs("div",{className:"w-full sticky z-[1001] py-4 pb-8 top-0 h-fit bg-background flex gap-4",children:[e.jsx(d,{className:"mb-3 w-fit",asChild:!0,children:e.jsxs(f,{href:l.props.btnBack.link,children:[e.jsx(w,{iconNode:O}),l.props.btnBack.title]})}),e.jsxs(d,{variant:"green",type:"submit",className:"w-fit",form:"addUserForm",disabled:i||l.props.view,children:[i&&e.jsx(Y,{className:"h-4 w-4 animate-spin"}),l.props.btnSave.title]})]}),e.jsx("form",{id:"addUserForm",onSubmit:D,className:l.props.view?"cursor-not-allowed":"",children:e.jsxs("div",{className:"flex flex-col gap-10 max-w-[1144px]",children:[e.jsx("h2",{className:"font-bold text-xl",children:l.props.head}),e.jsxs("div",{className:"flex-col xl:flex-row flex gap-16",children:[e.jsxs("div",{className:"basis-1/2 flex flex-col gap-6",children:[e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("login")?.name,children:a("login")?.label}),e.jsx(c,{id:a("login")?.name,type:"text",required:!0,tabIndex:1,autoComplete:"username",value:r.login,onChange:s=>t("login",s.target.value),disabled:i||l.props.view,placeholder:a("login")?.label}),e.jsx(b,{message:j.login})]}),e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("fullName")?.name,children:a("fullName")?.label}),e.jsx(c,{id:a("fullName")?.name,type:"text",required:!0,tabIndex:1,autoComplete:"additional-name",value:r.fullName,onChange:s=>t("fullName",s.target.value),disabled:i||l.props.view,placeholder:a("fullName")?.label})]}),e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("email")?.name,children:a("email")?.label}),e.jsx(c,{id:a("email")?.name,type:"email",required:!0,tabIndex:1,autoComplete:"email",value:r.email,onChange:s=>t("email",s.target.value),disabled:i||l.props.view,placeholder:a("email")?.label})]})]}),e.jsxs("div",{className:"basis-1/2 flex flex-col gap-6",children:[e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("timezone")?.name,children:a("timezone")?.label}),e.jsxs(v,{onValueChange:s=>t("timezone",s),defaultValue:r.timezone,disabled:i||l.props.view,children:[e.jsx(N,{className:"w-full cursor-pointer",children:e.jsx(y,{placeholder:a("timezone")?.name})}),e.jsx(C,{children:(A??[]).map(s=>e.jsx(k,{value:s.value,children:s.label},s.value))})]})]}),e.jsxs("div",{className:"flex flex-col md:flex-row justify-start gap-4 xl:justify-between items-start md:items-center",children:[a("date")&&e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("date")?.name,children:a("date")?.label}),e.jsx(c,{id:a("date")?.name,type:"date",className:"max-w-fit",tabIndex:1,value:r.date,onChange:s=>t("date",s.target.value),disabled:i})]}),e.jsxs("div",{className:"flex gap-6",children:[a("isAdmin")&&e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{className:"cursor-pointer",htmlFor:a("isAdmin")?.name,children:a("isAdmin")?.label}),e.jsx(g,{id:a("isAdmin")?.name,className:"cursor-pointer size-5",disabled:i||l.props.view,checked:r.isAdmin,onCheckedChange:s=>t("isAdmin",s)})]}),a("isConfirmed")&&e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{className:"cursor-pointer",htmlFor:a("isConfirmed")?.name,children:a("isConfirmed")?.label}),e.jsx(g,{id:a("isConfirmed")?.name,className:"cursor-pointer size-5",disabled:i||l.props.view,checked:r.isConfirmed,onCheckedChange:s=>t("isConfirmed",s)})]})]})]}),a("locale")&&e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("locale")?.name,children:a("locale")?.label}),e.jsxs(v,{onValueChange:s=>t("locale",s),defaultValue:r.locale,disabled:i||l.props.view,children:[e.jsx(N,{className:"w-full cursor-pointer",children:e.jsx(y,{placeholder:a("locale")?.name})}),e.jsx(C,{children:(l.props.locales??[]).map(s=>e.jsx(k,{value:s.value,children:s.label},s.value))})]})]})]})]}),z.user.isAdministrator&&e.jsx(d,{className:"w-fit",asChild:!0,variant:"outline",children:e.jsxs(f,{href:l.props.userPretend.postLink,method:"post",data:{login:r.login,pretend:!0},children:[e.jsx(ee,{name:"masks",className:"!text-[18px]"}),l.props.userPretend.label]})}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx("label",{className:"font-bold text-xl",children:a("userPassword")?.label}),e.jsx(_,{children:e.jsxs($,{children:[e.jsx(J,{onClick:s=>s.preventDefault(),children:e.jsx(w,{iconNode:Q,className:"text-primary w-5 h-5 cursor-pointer"})}),e.jsx(Z,{align:"center",side:"top",children:e.jsx("p",{children:a("userPassword")?.tooltip})})]})})]}),e.jsxs("div",{className:"grid grid-col-1 lg:grid-cols-2 grid-rows-2 gap-x-16 gap-y-6",children:[e.jsxs("div",{className:"grid gap-4 col-span-1",children:[e.jsx(n,{htmlFor:a("userPassword")?.name,children:a("userPassword")?.label}),e.jsx(c,{id:a("userPassword")?.name,type:"password",required:!l.props.edit,tabIndex:1,autoComplete:"new-password",value:r.password,onChange:s=>t("userPassword",s.target.value),disabled:i||l.props.view,placeholder:a("userPassword")?.label})]}),e.jsxs("div",{className:"grid gap-4 col-span-1 col-start-1",children:[e.jsx(n,{htmlFor:a("repeatUserPassword")?.name,children:a("repeatUserPassword")?.label}),e.jsx(c,{id:a("repeatUserPassword")?.name,type:"password",required:!l.props.edit,tabIndex:1,autoComplete:"new-password",value:r.repeatUserPassword,onChange:s=>t("repeatUserPassword",s.target.value),disabled:i||l.props.view,placeholder:a("repeatUserPassword")?.label}),e.jsx(b,{message:j.repeatUserPassword})]})]}),l.props.groups.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("h2",{className:"font-bold text-xl",children:l.props.groupHead}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-5 xl:grid-cols-6 gap-4",children:l.props.groups.map(s=>e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{className:"cursor-pointer",htmlFor:s.name,children:s.label}),e.jsx(g,{id:s.name,disabled:i||l.props.view,className:"cursor-pointer size-5",checked:r[s.name],onCheckedChange:o=>t(s.name,o)})]},s.name))})]}),l.props.edit&&!l.props.view&&e.jsxs(e.Fragment,{children:[e.jsxs("h2",{className:"font-bold text-xl flex items-center gap-2",children:[e.jsx(G,{className:"w-5 h-5"}),"User API Key (for feeds)"]}),e.jsxs("div",{className:"flex flex-col gap-4",children:[x&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("code",{className:"flex-1 text-sm bg-muted px-3 py-2 rounded font-mono truncate",children:p?x:"••••••••••••••••••••••••"}),e.jsx(d,{variant:"outline",size:"sm",type:"button",onClick:()=>K(!p),children:p?"Hide":"Show"}),p&&e.jsx(d,{variant:"outline",size:"sm",type:"button",onClick:B,children:e.jsx(W,{className:"w-4 h-4"})})]}),e.jsxs(d,{variant:"outline",size:"sm",type:"button",className:"w-fit",onClick:()=>u(!0),children:[e.jsx(X,{className:"w-4 h-4 mr-2"}),"Regenerate User API Key"]}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Regenerating this key will invalidate all existing feed URLs. You will need to update the ",e.jsx("code",{className:"bg-muted px-1 text-xs",children:"?userKey="})," parameter in all feed links."]})]})]}),R&&e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",children:e.jsxs("div",{className:"bg-background rounded-lg shadow-lg max-w-md w-full p-6",children:[e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Regenerate User API Key"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"This will invalidate all existing feed URLs. You will need to update them with the new userKey."}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(d,{variant:"outline",type:"button",onClick:()=>u(!1),children:"Cancel"}),e.jsx(d,{variant:"destructive",type:"button",onClick:V,children:"Regenerate"})]})]})})]})})]})}const le=[];function re(){return e.jsx(ae,{})}const de=se(re,{breadcrumbs:le});export{de as default};
|