From e02c7545fb8ed3f4d3492ee90b537e84442b65d6 Mon Sep 17 00:00:00 2001 From: Johnny Bouder Date: Fri, 22 Mar 2024 12:55:15 -0400 Subject: [PATCH 1/4] Updates --- ui/src/pages/home/home.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/src/pages/home/home.tsx b/ui/src/pages/home/home.tsx index 2fe3d4a7..0e91cb63 100644 --- a/ui/src/pages/home/home.tsx +++ b/ui/src/pages/home/home.tsx @@ -21,6 +21,7 @@ export const Home = (): React.ReactElement => {

Home

+

Manage your apps and services

From 48a238b31ecf2d37ca8c496c44c90d9092a9e813 Mon Sep 17 00:00:00 2001 From: jbouder Date: Fri, 22 Mar 2024 16:57:50 +0000 Subject: [PATCH 2/4] Apply automatic changes --- jhub_apps/static/js/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jhub_apps/static/js/index.js b/jhub_apps/static/js/index.js index f18443fc..e37efd6c 100644 --- a/jhub_apps/static/js/index.js +++ b/jhub_apps/static/js/index.js @@ -164,4 +164,4 @@ Error generating stack: `+i.message+` Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var i="",s=0;s{const r=K8("button-group",t);return p.jsx("ul",{id:e,className:r,children:x.Children.map(n,(o,i)=>p.jsx("li",{className:"button-group-item",children:o},i))})};var Hg={},OE={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(OE);var Jn=OE.exports,rh={};const q8=qE(eA);var yb;function er(){return yb||(yb=1,function(e){"use client";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=q8}(rh)),rh}var G8=Jn;Object.defineProperty(Hg,"__esModule",{value:!0});var LE=Hg.default=void 0,Q8=G8(er()),X8=p;LE=Hg.default=(0,Q8.default)((0,X8.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreHoriz");const Y8=({id:e,items:t})=>{const n=ve.useRef(null);return p.jsxs("div",{className:"context-menu-container",id:e,tabIndex:0,ref:n,children:[p.jsx(LE,{}),p.jsx("ul",{className:"context-menu",children:t.filter(r=>r.visible).map(r=>p.jsx("li",{children:p.jsx("a",{className:r.disabled?"disabled":"",onClick:o=>{var i;r.onClick&&!r.disabled&&(r.onClick(o),(i=n.current)==null||i.blur())},children:r.title})},`context-menu-item-${r.id}`))})]})};var Kg={},Z8=Jn;Object.defineProperty(Kg,"__esModule",{value:!0});var ME=Kg.default=void 0,J8=Z8(er()),e9=p;ME=Kg.default=(0,J8.default)((0,e9.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1"}),"HomeRounded");var qg={},t9=Jn;Object.defineProperty(qg,"__esModule",{value:!0});var FE=qg.default=void 0,n9=t9(er()),r9=p;FE=qg.default=(0,n9.default)((0,r9.jsx)("path",{d:"M8.12 9.29 12 13.17l3.88-3.88c.39-.39 1.02-.39 1.41 0 .39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0L6.7 10.7a.9959.9959 0 0 1 0-1.41c.39-.38 1.03-.39 1.42 0"}),"KeyboardArrowDownRounded");var Gg={},o9=Jn;Object.defineProperty(Gg,"__esModule",{value:!0});var DE=Gg.default=void 0,i9=o9(er()),s9=p;DE=Gg.default=(0,i9.default)((0,s9.jsx)("path",{d:"M8.12 14.71 12 10.83l3.88 3.88c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L12.7 8.71a.9959.9959 0 0 0-1.41 0L6.7 13.3c-.39.39-.39 1.02 0 1.41.39.38 1.03.39 1.42 0"}),"KeyboardArrowUpRounded");var Qg={},a9=Jn;Object.defineProperty(Qg,"__esModule",{value:!0});var jE=Qg.default=void 0,l9=a9(er()),u9=p;jE=Qg.default=(0,l9.default)((0,u9.jsx)("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu");var Xg={},c9=Jn;Object.defineProperty(Xg,"__esModule",{value:!0});var BE=Xg.default=void 0,d9=c9(er()),f9=p;BE=Xg.default=(0,d9.default)((0,f9.jsx)("path",{fillRule:"evenodd",d:"M19 12.87c0-.47-.34-.85-.8-.98C16.93 11.54 16 10.38 16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.38-.93 2.54-2.2 2.89-.46.13-.8.51-.8.98V13c0 .55.45 1 1 1h4.98l.02 7c0 .55.45 1 1 1s1-.45 1-1l-.02-7H18c.55 0 1-.45 1-1z"}),"PushPinRounded");const bb=re(mc)(({theme:e})=>({fontWeight:700,paddingLeft:e.spacing(4),paddingTop:e.spacing(1),paddingBottom:e.spacing(1)})),xb=re(GC)(({theme:e})=>({paddingLeft:e.spacing(4)})),p9=({...e})=>{const t=Do(),[n,r]=ve.useState(null),o=!!n,i=JL(t.breakpoints.down("sm")),{window:s}=e,[a,l]=x.useState(!i),[u]=_t(ca),[,c]=_t(Ni),[d,f]=x.useState([]),{isLoading:b,error:m,data:g}=Kr({queryKey:["service-data"],queryFn:()=>Xt.get("/services/").then(h=>h.data).then(h=>h),enabled:!!u}),S=()=>{l(h=>!h)};x.useEffect(()=>{!b&&g&&u&&f(()=>hE(g,u.name))},[b,g,u]),x.useEffect(()=>{c(m?m.message:void 0)},[m,c]),x.useEffect(()=>{l(!i)},[i]);const v=p.jsxs(on,{children:[p.jsx(Ea,{disablePadding:!0,sx:{mt:10,mb:2},children:p.jsxs(GC,{sx:{pl:3},onClick:()=>_r(`${Wn}`),children:[p.jsx(o1,{children:p.jsx(ME,{})}),p.jsx(mc,{primary:"Home"})]})}),p.jsx(Z0,{}),d.find(h=>h.pinned)?p.jsxs(p.Fragment,{children:[p.jsxs(sm,{children:[p.jsx(Ea,{disablePadding:!0,children:p.jsx(bb,{primary:"Pinned",disableTypography:!0})}),d.filter(h=>h.pinned).map((h,y)=>p.jsx(Ea,{disablePadding:!0,children:p.jsxs(xb,{onClick:()=>_r(h.url),children:[p.jsx(mc,{primary:h.name}),p.jsx(o1,{sx:{minWidth:"32px"},children:p.jsx(BE,{})})]})},y))]}),p.jsx(Z0,{})]}):p.jsx(p.Fragment,{}),p.jsxs(sm,{children:[p.jsx(Ea,{disablePadding:!0,children:p.jsx(bb,{primary:"Services",disableTypography:!0,sx:{pt:2}})}),d.map((h,y)=>p.jsx(Ea,{disablePadding:!0,children:p.jsx(xb,{onClick:()=>_r(h.url),children:p.jsx(mc,{primary:h.name})})},y))]})]});return p.jsxs(on,{sx:{flexGrow:1},children:[p.jsx(gN,{position:"fixed",sx:{zIndex:h=>h.zIndex.drawer+1,backgroundColor:h=>h.palette.common.black},children:p.jsxs(ND,{children:[p.jsx($C,{color:"inherit","aria-label":"open drawer",edge:"start",onClick:S,sx:{mr:2,display:{sm:"none"}},children:p.jsx(jE,{})}),p.jsx(on,{component:"div",sx:{flexGrow:1,display:{xs:"none",sm:"block"}},children:p.jsx("a",{href:Wn,children:p.jsx("img",{src:E8(),alt:"logo",height:"28"})})}),p.jsxs(on,{sx:{display:{xs:"none",sm:"block"}},children:[p.jsxs(At,{id:"profile-menu-btn","aria-controls":o?"profile-menu-list":void 0,"aria-haspopup":"true","aria-expanded":o?"true":void 0,onClick:h=>r(h.currentTarget),endIcon:o?p.jsx(DE,{}):p.jsx(FE,{}),sx:{color:t.palette.common.white,fontWeight:700},children:[u==null?void 0:u.name," ",u!=null&&u.admin?"(admin)":""]}),p.jsxs(ZC,{id:"profile-menu-list",anchorEl:n,open:o,onClose:()=>r(null),MenuListProps:{"aria-labelledby":"profile-menu-btn"},sx:{marginTop:"20px"},children:[p.jsx(il,{onClick:()=>_r(`${Wn}/token`),sx:{width:"180px"},children:"Tokens"}),u!=null&&u.admin?p.jsx(il,{onClick:()=>_r(`${Wn}/admin`),children:"Admin"}):p.jsx(p.Fragment,{}),p.jsx(il,{onClick:()=>_r(`${Wn}/logout`),children:"Logout"})]})]})]})}),p.jsx("nav",{children:p.jsx(GO,{container:s!==void 0?()=>s().document.body:void 0,variant:"persistent",open:a,onClose:S,ModalProps:{keepMounted:!0},sx:{"& .MuiDrawer-paper":{boxSizing:"border-box",width:240}},children:v})})]})},h9=({severity:e="error",message:t,onClose:n})=>p.jsx("div",{className:"alert-wrapper",children:t?p.jsx(oN,{id:"alert-notification",severity:e,onClose:n,children:t}):p.jsx(p.Fragment,{})});var Yg={},m9=Jn;Object.defineProperty(Yg,"__esModule",{value:!0});var zE=Yg.default=void 0,v9=m9(er()),g9=p;zE=Yg.default=(0,v9.default)((0,g9.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1m-4.44-6.19-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0"}),"CropOriginalRounded");var Zg={},y9=Jn;Object.defineProperty(Zg,"__esModule",{value:!0});var UE=Zg.default=void 0,b9=y9(er()),x9=p;UE=Zg.default=(0,b9.default)((0,x9.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2zM18 4h-2.5l-.71-.71c-.18-.18-.44-.29-.7-.29H9.91c-.26 0-.52.11-.7.29L8.5 4H6c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1"}),"DeleteRounded");var Jg={},S9=Jn;Object.defineProperty(Jg,"__esModule",{value:!0});var VE=Jg.default=void 0,C9=S9(er()),w9=p;VE=Jg.default=(0,C9.default)((0,w9.jsx)("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm4 18H6V4h7v5h5zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z"}),"UploadFile");var ey={},R9=Jn;Object.defineProperty(ey,"__esModule",{value:!0});var WE=ey.default=void 0,E9=R9(er()),_9=p;WE=ey.default=(0,E9.default)((0,_9.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility");const k9=({id:e,name:t,currentImage:n,setCurrentImage:r,currentFile:o,setCurrentFile:i,...s})=>{const[a,l]=x.useState(!1),[u,c]=x.useState(!1),d=x.useRef(null),f=C=>{C.preventDefault(),l(!0)},b=C=>{C.preventDefault(),l(!0)},m=C=>{C.preventDefault(),l(!1)},g=C=>{C.preventDefault(),l(!1);const R=C.dataTransfer.files[0];i(R)},S=C=>{if(!C.target.files)return;const R=C.target.files[0];i(R)},v=C=>{C.preventDefault(),c(!0)},h=C=>{C.preventDefault();const R=d.current;R&&R.click()},y=C=>{C.preventDefault();const R=d.current;R&&(R.value="",i(void 0),r(void 0))};return x.useEffect(()=>{const C=d.current;if(C&&C.files&&C.files.length>0){const R=C.files[0];i(R)}},[d,i]),p.jsxs("div",{id:`thumbnail-${e}`,className:"thumbnail",children:[p.jsxs("div",{id:`thumbnail-body-${e}`,className:`thumbnail-body ${a?"dragging":""} ${o||n?"selected":""}`,onDragOver:f,onDragEnter:b,onDragLeave:m,onDrop:g,children:[o||n?p.jsx("div",{className:"thumbnail-img-container",children:p.jsx("img",{src:o?URL.createObjectURL(o):n,alt:"App thumnail",className:"thumbnail-img"})}):p.jsx("div",{className:"thumbnail-icon-container",tabIndex:0,onClick:h,children:p.jsx(zE,{className:"thumbnail-icon"})}),p.jsx("input",{ref:d,id:e,name:t,type:"file",accept:"image/*",onChange:S,style:{display:"none"},...s})]}),p.jsxs("div",{className:"thumbnail-actions",children:[p.jsx(At,{id:"view-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(WE,{}),onClick:v,disabled:!o&&!n,children:"View Thumbnail"}),p.jsx(At,{id:"upload-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(VE,{}),onClick:h,children:"Upload Thumbnail"}),p.jsx(At,{id:"remove-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(UE,{}),onClick:y,disabled:!o&&!n,children:"Remove Thumbnail"})]}),p.jsx(hc,{onClose:()=>c(!1),open:u,children:p.jsx("img",{src:o?URL.createObjectURL(o):n,alt:"App thumnail"})})]})};var ty={},T9=Jn;Object.defineProperty(ty,"__esModule",{value:!0});var tp=ty.default=void 0,A9=T9(er()),$9=p;tp=ty.default=(0,A9.default)((0,$9.jsx)("path",{d:"M19 11H7.83l4.88-4.88c.39-.39.39-1.03 0-1.42a.9959.9959 0 0 0-1.41 0l-6.59 6.59c-.39.39-.39 1.02 0 1.41l6.59 6.59c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L7.83 13H19c.55 0 1-.45 1-1s-.45-1-1-1"}),"ArrowBackRounded");const $n=re("div")(({theme:e})=>({padding:e.spacing(0)})),P9=()=>p.jsx(on,{className:"container",children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>_r(Wn),children:"Back"})})}),p.jsxs($n,{children:[p.jsx("h1",{className:"form-heading",children:"Create a new app"}),p.jsxs("p",{className:"form-paragraph",children:["Begin your project by entering the details below. For more information about creating an app,"," ",p.jsx("a",{href:"https://jhub-apps.nebari.dev/docs/reference/create-app-form",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"}),"."]})]}),p.jsx($n,{children:p.jsx(NE,{})})]})}),N9=()=>{const[e]=kw(),t=e.get("id");return p.jsx(on,{className:"container",children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>_r(Wn),children:"Back"})})}),p.jsxs($n,{children:[p.jsx("h1",{className:"form-heading",children:"Edit app"}),p.jsxs("p",{className:"form-paragraph",children:["Edit your app details here. For more information on editing your app,"," ",p.jsx("a",{href:"https://jhub-apps.nebari.dev/docs/reference/create-app-form",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"}),"."]})]}),p.jsx($n,{children:p.jsx(p.Fragment,{children:t?p.jsx(NE,{id:t}):p.jsx(p.Fragment,{children:"No app found."})})})]})})};var ny={},I9=Jn;Object.defineProperty(ny,"__esModule",{value:!0});var HE=ny.default=void 0,O9=I9(er()),L9=p;HE=ny.default=(0,O9.default)((0,L9.jsx)("path",{d:"M18 13h-5v5c0 .55-.45 1-1 1s-1-.45-1-1v-5H6c-.55 0-1-.45-1-1s.45-1 1-1h5V6c0-.55.45-1 1-1s1 .45 1 1v5h5c.55 0 1 .45 1 1s-.45 1-1 1"}),"AddRounded");const M9=({id:e,title:t,description:n,thumbnail:r,framework:o,url:i,username:s,ready:a=!1,isPublic:l=!1,isShared:u=!1})=>{const c=_f(),[d,f]=x.useState(!1),[,b]=_t(Ni),[m,g]=x.useState(!1),[S,v]=x.useState(!1),[h,y]=x.useState(!1),C=async({id:V})=>await Xt.post(`/server/${V}`),R=async({id:V,remove:G})=>await Xt.delete(`/server/${V}`,{params:{remove:G}}),{mutate:_}=Ks({mutationFn:C,retry:1}),{mutate:E}=Ks({mutationFn:R,retry:1}),k=()=>{f(!0),E({id:e,remove:!0},{onSuccess:async()=>{f(!1),y(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},M=()=>{f(!0),_({id:e},{onSuccess:async()=>{f(!1),g(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},P=()=>{f(!0),E({id:e,remove:!1},{onSuccess:async()=>{f(!1),v(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},W=[{id:"start",title:"Start",onClick:()=>g(!0),visible:!0,disabled:a},{id:"stop",title:"Stop",onClick:()=>v(!0),visible:!0,disabled:!a||u},{id:"edit",title:"Edit",onClick:()=>window.location.href=`${ag}/edit-app?id=${e}`,visible:!0,disabled:u||e===""},{id:"delete",title:"Delete",onClick:()=>y(!0),visible:!0,disabled:u||e===""}],z=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to start ",p.jsx("b",{children:t}),"?"]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>g(!1),children:"Cancel"}),p.jsx(At,{id:"start-btn",variant:"contained",color:"primary",onClick:()=>M(),disabled:d,children:"Start"})]})]}),D=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to stop ",p.jsx("b",{children:t}),"?"]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>v(!1),children:"Cancel"}),p.jsx(At,{id:"stop-btn",variant:"contained",color:"primary",onClick:()=>P(),disabled:d,children:"Stop"})]})]}),U=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to delete ",p.jsx("b",{children:t}),"? This action is permanent and cannot be reversed."]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>y(!1),children:"Cancel"}),p.jsx(At,{id:"delete-btn",variant:"contained",color:"primary",onClick:()=>k(),disabled:d,children:"Delete"})]})]});return p.jsxs("div",{className:"card",id:`card-${e}`,tabIndex:0,children:[p.jsxs("div",{className:"card-header-media",children:[p.jsxs("div",{className:"card-header-menu",children:[p.jsx(Y8,{id:`card-menu-${e}`,items:W}),m&&p.jsxs(hc,{open:m,onClose:g,children:[p.jsxs(Lp,{children:["Start ",t]}),p.jsx(Op,{children:z})]}),S&&p.jsxs(hc,{open:S,onClose:v,children:[p.jsxs(Lp,{children:["Stop ",t]}),p.jsx(Op,{children:D})]}),h&&p.jsxs(hc,{open:h,onClose:y,children:[p.jsxs(Lp,{children:["Delete ",t]}),p.jsx(Op,{children:U})]})]}),p.jsx("div",{className:"card-header-img",children:r?p.jsx("img",{src:r,alt:"App thumb"}):p.jsx(p.Fragment,{})})]}),p.jsx("div",{className:"card-header",children:p.jsx("h3",{className:"font-bold",children:p.jsx("a",{href:i,children:t})})}),p.jsxs("div",{className:"card-body",children:[p.jsx("p",{children:n}),s?p.jsxs("div",{children:[p.jsx("span",{className:"font-bold",children:"Author: "}),s]}):p.jsx(p.Fragment,{})]}),p.jsxs("div",{className:"card-footer",children:[p.jsx(Q0,{id:`tag-${e}`,label:o,variant:"outlined",size:"small"}),l?p.jsx(Q0,{id:`tag-${e}`,label:"Public",variant:"outlined",size:"small"}):p.jsx(p.Fragment,{})]})]})},Sb=({appType:e="My",filter:t})=>{const[n]=_t(ca),[,r]=_t(Ni),[o,i]=x.useState([]),{isLoading:s,error:a,data:l}=Kr({queryKey:["app-state"],queryFn:()=>Xt.get("/server/").then(u=>u.data).then(u=>u),enabled:!!n});return x.useEffect(()=>{if(!s&&l){const u=t.toLowerCase();i(()=>w8(l,e).filter(c=>{var d,f;return c.name.toLowerCase().includes(u)||((d=c.description)==null?void 0:d.toLowerCase().includes(u))||((f=c.framework)==null?void 0:f.toLowerCase().includes(u))}))}},[s,l,e,t]),x.useEffect(()=>{r(a?a.message:void 0)},[a,r]),p.jsx(on,{children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsxs(on,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",paddingBottom:"48px"},children:[p.jsx("div",{className:"grid-heading-left",children:p.jsxs("h2",{children:[e," Apps"]})}),p.jsx("div",{className:"grid-heading-center",children:p.jsx("hr",{className:"grid-spacer"})}),p.jsx("div",{className:"grid-heading-right",children:p.jsxs("h2",{children:[o.length," apps"]})})]})}),p.jsx($n,{children:p.jsx(on,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"16px",justifyContent:"flex-start",paddingBottom:"48px"},children:s?p.jsx("div",{className:"font-bold",children:"Loading..."}):o.length>0?p.jsx(p.Fragment,{children:o.map(u=>p.jsx(M9,{id:u.id,title:u.name,description:u.description,thumbnail:u.thumbnail,framework:u.framework,url:u.url,ready:u.ready,username:u.username,isPublic:u.public,isShared:e==="Shared"},`app-${u.id}`))}):p.jsx("div",{children:"No apps available"})})})]})})},F9=()=>{const[e]=_t(ca),[,t]=_t(Ni),[n,r]=x.useState([]),{isLoading:o,error:i,data:s}=Kr({queryKey:["service-data"],queryFn:()=>Xt.get("/services/").then(l=>l.data).then(l=>l),enabled:!!e}),a=(l,u)=>{u?window.open(l,"_blank"):window.location.assign(l)};return x.useEffect(()=>{!o&&s&&e&&r(()=>hE(s,e.name))},[o,s,e]),x.useEffect(()=>{t(i?i.message:void 0)},[i,t]),p.jsx(on,{children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsxs(on,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",paddingBottom:"48px"},children:[p.jsx("div",{className:"grid-heading-left",children:p.jsx("h2",{children:"Services"})}),p.jsx("div",{className:"grid-heading-center",children:p.jsx("hr",{className:"grid-spacer"})}),p.jsx("div",{className:"grid-heading-right",children:p.jsxs("h2",{children:[n.length," services"]})})]})}),p.jsx($n,{children:p.jsx(on,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"16px",justifyContent:"flex-start",paddingBottom:"48px"},children:o?p.jsx("div",{className:"font-bold",children:"Loading..."}):n.length>0?p.jsx(p.Fragment,{children:n.map((l,u)=>p.jsx(At,{id:`service-${u}`,variant:"outlined",color:"secondary",style:{minWidth:"180px"},onClick:()=>{a(l.url,l.external)},children:l.name},`service-${u}`))}):p.jsx("div",{children:"No services available"})})})]})})},Cb=()=>{const[e,t]=x.useState(""),n=r=>{const o=r.target;t(o.value)};return p.jsxs(on,{sx:{flexGrow:1},className:"container",children:[p.jsxs(Uu,{container:!0,spacing:2,paddingBottom:"48px",children:[p.jsx(Uu,{item:!0,xs:12,md:2,children:p.jsx($n,{children:p.jsx("h1",{children:"Home"})})}),p.jsx(Uu,{item:!0,xs:8,md:8,children:p.jsx($n,{children:p.jsx(qi,{id:"search",size:"small",placeholder:"Search...","aria-label":"Search for an app",className:"search-bar",onChange:n})})}),p.jsx(Uu,{item:!0,xs:4,md:2,children:p.jsx($n,{children:p.jsx(on,{display:"flex",justifyContent:"flex-end",children:p.jsx(At,{id:"create-app",variant:"contained",color:"primary",startIcon:p.jsx(HE,{}),onClick:()=>{window.location.href=`${ag}/create-app`},children:"Create App"})})})})]}),p.jsx(F9,{}),p.jsx(Sb,{appType:"My",filter:e}),p.jsx(Sb,{appType:"Shared",filter:e})]})},D9=()=>{const[e]=kw(),t=mg(),n=_f(),[r,o]=x.useState(!1),[i]=_t(ca),[s,a]=_t(AE),[l]=_t(PE),[u]=_t($E),[,c]=_t(Ni),[d,f]=ve.useState((s==null?void 0:s.profile)||""),b=e.get("id"),{data:m,isLoading:g,error:S}=Kr({queryKey:["server-types"],queryFn:()=>Xt.get("/spawner-profiles/").then(E=>E.data).then(E=>E),enabled:!!i}),v=E=>{f(E),s&&a({...s,profile:E})},h=E=>{E.preventDefault();const k={servername:(s==null?void 0:s.display_name)||"",user_options:{jhub_app:!0,name:(s==null?void 0:s.display_name)||"",display_name:(s==null?void 0:s.display_name)||"",description:(s==null?void 0:s.description)||"",framework:(s==null?void 0:s.framework)||"",thumbnail:(s==null?void 0:s.thumbnail)||"",filepath:(s==null?void 0:s.filepath)||"",conda_env:(s==null?void 0:s.conda_env)||"",env:(s==null?void 0:s.env)||"",custom_command:(s==null?void 0:s.custom_command)||"",profile:(s==null?void 0:s.profile)||"",public:(s==null?void 0:s.is_public)||!1}};o(!0),b?_(k,{onSuccess:async()=>{n.invalidateQueries({queryKey:["app-state"]})},onError:async M=>{o(!1),c(M.message)}}):R(k,{onSuccess:async M=>{const P=i==null?void 0:i.name;if(P&&(M==null?void 0:M.length)>1){const W=M[1];window.location.assign(`/hub/spawn-pending/${P}/${W}`)}},onError:async M=>{o(!1),c(M.message)}})},y=async({servername:E,user_options:k})=>{const M={accept:"application/json","Content-Type":"multipart/form-data"},P=new FormData;return P.append("data",JSON.stringify({servername:E,user_options:k})),l&&P.append("thumbnail",l),(await Xt.post("/server",P,{headers:M})).data},C=async({servername:E,user_options:k})=>{const M={accept:"application/json","Content-Type":"multipart/form-data"},P=new FormData;return P.append("data",JSON.stringify({servername:E,user_options:k})),l?P.append("thumbnail",l):u&&P.append("thumbnail_data_url",u),(await Xt.put(`/server/${E}`,P,{headers:M})).data},{mutate:R}=Ks({mutationFn:y,retry:1}),{mutate:_}=Ks({mutationFn:C,retry:1});return p.jsxs("div",{className:"container",children:[p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>t(b?`/edit-app?id=${b}`:"/create-app"),children:"Back"})}),p.jsxs("div",{className:"row",children:[p.jsx("h1",{className:"form-heading",children:"Server Type"}),p.jsxs("p",{className:"form-paragraph",children:["Please select the appropriate server for your app. For more information on server types,"," ",p.jsx("span",{children:p.jsx("a",{href:"https://www.nebari.dev/docs/welcome",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"})}),"."]})]}),S?p.jsxs("div",{children:["An error occurred: ",S.message]}):g?p.jsx("div",{className:"font-bold center",children:"Loading..."}):m&&m.length>0?p.jsxs("form",{className:"form",onSubmit:h,children:[p.jsx("div",{className:"form-section",children:p.jsx(tD,{children:m==null?void 0:m.map((E,k)=>p.jsx(FI,{className:"server-type-card",onClick:()=>v(E.slug),tabIndex:0,children:p.jsxs(VI,{children:[p.jsx(UC,{value:E.slug,id:E.slug,control:p.jsx(ZF,{checked:d?d===E.slug:k===0}),label:E.display_name},E.slug),p.jsx("p",{children:E.description})]})},`server-type-card-${E.slug}`))})}),p.jsx("hr",{}),p.jsxs("div",{className:"button-section",children:[p.jsx("div",{className:"prev",children:p.jsx(At,{id:"cancel-btn",type:"button",variant:"text",color:"secondary",onClick:()=>_r(Wn),children:"Cancel"})}),p.jsx("div",{className:"next",children:p.jsx(At,{id:"submit-btn",type:"submit",variant:"contained",color:"primary",disabled:r,children:b?p.jsx(p.Fragment,{children:"Save"}):p.jsx(p.Fragment,{children:"Create App"})})})]})]}):p.jsx("div",{children:"No servers available"})]})},j9=()=>{const[,e]=_t(W8),[,t]=_t(ca),[n,r]=_t(Ni),{error:o,data:i}=Kr({queryKey:["user-state"],queryFn:()=>Xt.get("/user").then(s=>s.data).then(s=>s)});return x.useEffect(()=>{o&&r(o.message)},[o,r]),x.useEffect(()=>{e(C8())},[e]),x.useEffect(()=>{i&&t({...i})},[i,t]),p.jsxs("div",{children:[p.jsx(p9,{}),p.jsxs(on,{component:"main",sx:{flexGrow:1,pt:9,pl:{xs:1,sm:33},pr:1},children:[n?p.jsx(h9,{message:n,onClose:()=>r(void 0)}):p.jsx(p.Fragment,{}),p.jsxs(c4,{children:[p.jsx(Gi,{path:"/home",element:p.jsx(Cb,{})}),p.jsx(Gi,{path:"/create-app",element:p.jsx(P9,{})}),p.jsx(Gi,{path:"/edit-app",element:p.jsx(N9,{})}),p.jsx(Gi,{path:"/server-types",element:p.jsx(D9,{})}),p.jsx(Gi,{path:"/",element:p.jsx(Cb,{})})]})]})]})},B9={50:"#2491FF",100:"#2491FF",200:"#2491FF",300:"#2491FF",400:"#2491FF",500:"#005EA2",600:"#1A4480",700:"#1A4480",800:"#1A4480",900:"#162E51"},Lt={50:"#F7F8F8",100:"#E1E3E4",200:"#C3C7CB",300:"#A6ACB2",400:"#90969C",500:"#5B5F63",600:"#44474A",700:"#3C3C3B",800:"#242628",900:"#1A1C1D"},Xu="#BA18DA",wb="#BA18DA10",Rb="#9B00CE",Vi="#18817A",z9="#18817A10",U9="#12635E",V9="#D72D47",W9="#F66A0A",gr="#FFFFFF",Eb="#000000",Yu=Kd({typography:{fontFamily:'"Inter", sans-serif'},components:{MuiButtonBase:{defaultProps:{disableRipple:!0,style:{textTransform:"none",textWrap:"nowrap"}}},MuiFormControl:{defaultProps:{fullWidth:!0,sx:{marginBottom:"12px"}}},MuiTextField:{defaultProps:{autoComplete:"off",fullWidth:!0,sx:{marginBottom:"0"}}},MuiSelect:{defaultProps:{fullWidth:!0}}}}),H9=Kd(Yu,{palette:{primary:Yu.palette.augmentColor({color:{light:wb,main:Xu,dark:Rb,contrastText:gr},name:"primary"}),secondary:Yu.palette.augmentColor({color:{light:z9,main:Vi,dark:U9,contrastText:gr},name:"secondary"}),gray:Yu.palette.augmentColor({color:{light:Lt[300],main:Lt[500],dark:Lt[700],contrastText:Eb,50:Lt[50],100:Lt[100],200:Lt[200],300:Lt[300],400:Lt[400],500:Lt[500],600:Lt[600],700:Lt[700],800:Lt[800],900:Lt[900]},name:"gray"}),warning:{main:W9,contrastText:gr},error:{main:V9,contrastText:gr},info:{main:B9,contrastText:gr},success:{main:Vi[500],contrastText:gr},common:{black:Eb,white:gr}},components:{MuiButton:{variants:[{props:{variant:"contained",color:"primary"},style:{minWidth:"120px",backgroundColor:`${Xu}`,border:`1px solid ${Xu}`,fontWeight:700,"&:hover":{backgroundColor:`${Rb}`},"&:disabled":{borderColor:"transparent"}}},{props:{variant:"contained",color:"secondary"},style:{minWidth:"120px",backgroundColor:Lt[100],border:`1px solid ${Lt[100]}`,color:Lt[700],fontWeight:700,"&:hover":{backgroundColor:gr,filter:"brightness(0.96)"},"&:disabled":{borderColor:"transparent"}}},{props:{variant:"outlined",color:"secondary"},style:{minWidth:"120px",backgroundColor:gr,border:`2px solid ${Vi}`,color:`${Vi}`,fontWeight:700,textTransform:"none","&:hover":{backgroundColor:gr,borderWidth:2,border:`2px solid ${Vi}`,color:`${Vi}`}}},{props:{variant:"text",color:"primary"},style:{color:`${Xu}`,"&:focus":{backgroundColor:`${wb}`}}},{props:{variant:"text",color:"secondary"},style:{color:Lt[500],"&:focus":{backgroundColor:`${Lt[100]}`}}}]}}}),K9=new URL(window.location.href),q9=new rj;xm.createRoot(document.getElementById("root")).render(p.jsx(ve.StrictMode,{children:p.jsx(h4,{basename:K9.pathname.indexOf("hub")===-1?ag:Wn,children:p.jsx(i6,{children:p.jsxs(GT,{theme:H9,children:[p.jsx(JI,{}),p.jsx(lj,{client:q9,children:p.jsx(j9,{})})]})})})})); +*/(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var i="",s=0;s{const r=K8("button-group",t);return p.jsx("ul",{id:e,className:r,children:x.Children.map(n,(o,i)=>p.jsx("li",{className:"button-group-item",children:o},i))})};var Hg={},OE={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(OE);var Jn=OE.exports,rh={};const q8=qE(eA);var yb;function er(){return yb||(yb=1,function(e){"use client";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=q8}(rh)),rh}var G8=Jn;Object.defineProperty(Hg,"__esModule",{value:!0});var LE=Hg.default=void 0,Q8=G8(er()),X8=p;LE=Hg.default=(0,Q8.default)((0,X8.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreHoriz");const Y8=({id:e,items:t})=>{const n=ve.useRef(null);return p.jsxs("div",{className:"context-menu-container",id:e,tabIndex:0,ref:n,children:[p.jsx(LE,{}),p.jsx("ul",{className:"context-menu",children:t.filter(r=>r.visible).map(r=>p.jsx("li",{children:p.jsx("a",{className:r.disabled?"disabled":"",onClick:o=>{var i;r.onClick&&!r.disabled&&(r.onClick(o),(i=n.current)==null||i.blur())},children:r.title})},`context-menu-item-${r.id}`))})]})};var Kg={},Z8=Jn;Object.defineProperty(Kg,"__esModule",{value:!0});var ME=Kg.default=void 0,J8=Z8(er()),e9=p;ME=Kg.default=(0,J8.default)((0,e9.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1"}),"HomeRounded");var qg={},t9=Jn;Object.defineProperty(qg,"__esModule",{value:!0});var FE=qg.default=void 0,n9=t9(er()),r9=p;FE=qg.default=(0,n9.default)((0,r9.jsx)("path",{d:"M8.12 9.29 12 13.17l3.88-3.88c.39-.39 1.02-.39 1.41 0 .39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0L6.7 10.7a.9959.9959 0 0 1 0-1.41c.39-.38 1.03-.39 1.42 0"}),"KeyboardArrowDownRounded");var Gg={},o9=Jn;Object.defineProperty(Gg,"__esModule",{value:!0});var DE=Gg.default=void 0,i9=o9(er()),s9=p;DE=Gg.default=(0,i9.default)((0,s9.jsx)("path",{d:"M8.12 14.71 12 10.83l3.88 3.88c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L12.7 8.71a.9959.9959 0 0 0-1.41 0L6.7 13.3c-.39.39-.39 1.02 0 1.41.39.38 1.03.39 1.42 0"}),"KeyboardArrowUpRounded");var Qg={},a9=Jn;Object.defineProperty(Qg,"__esModule",{value:!0});var jE=Qg.default=void 0,l9=a9(er()),u9=p;jE=Qg.default=(0,l9.default)((0,u9.jsx)("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu");var Xg={},c9=Jn;Object.defineProperty(Xg,"__esModule",{value:!0});var BE=Xg.default=void 0,d9=c9(er()),f9=p;BE=Xg.default=(0,d9.default)((0,f9.jsx)("path",{fillRule:"evenodd",d:"M19 12.87c0-.47-.34-.85-.8-.98C16.93 11.54 16 10.38 16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.38-.93 2.54-2.2 2.89-.46.13-.8.51-.8.98V13c0 .55.45 1 1 1h4.98l.02 7c0 .55.45 1 1 1s1-.45 1-1l-.02-7H18c.55 0 1-.45 1-1z"}),"PushPinRounded");const bb=re(mc)(({theme:e})=>({fontWeight:700,paddingLeft:e.spacing(4),paddingTop:e.spacing(1),paddingBottom:e.spacing(1)})),xb=re(GC)(({theme:e})=>({paddingLeft:e.spacing(4)})),p9=({...e})=>{const t=Do(),[n,r]=ve.useState(null),o=!!n,i=JL(t.breakpoints.down("sm")),{window:s}=e,[a,l]=x.useState(!i),[u]=_t(ca),[,c]=_t(Ni),[d,f]=x.useState([]),{isLoading:b,error:m,data:g}=Kr({queryKey:["service-data"],queryFn:()=>Xt.get("/services/").then(h=>h.data).then(h=>h),enabled:!!u}),S=()=>{l(h=>!h)};x.useEffect(()=>{!b&&g&&u&&f(()=>hE(g,u.name))},[b,g,u]),x.useEffect(()=>{c(m?m.message:void 0)},[m,c]),x.useEffect(()=>{l(!i)},[i]);const v=p.jsxs(on,{children:[p.jsx(Ea,{disablePadding:!0,sx:{mt:10,mb:2},children:p.jsxs(GC,{sx:{pl:3},onClick:()=>_r(`${Wn}`),children:[p.jsx(o1,{children:p.jsx(ME,{})}),p.jsx(mc,{primary:"Home"})]})}),p.jsx(Z0,{}),d.find(h=>h.pinned)?p.jsxs(p.Fragment,{children:[p.jsxs(sm,{children:[p.jsx(Ea,{disablePadding:!0,children:p.jsx(bb,{primary:"Pinned",disableTypography:!0})}),d.filter(h=>h.pinned).map((h,y)=>p.jsx(Ea,{disablePadding:!0,children:p.jsxs(xb,{onClick:()=>_r(h.url),children:[p.jsx(mc,{primary:h.name}),p.jsx(o1,{sx:{minWidth:"32px"},children:p.jsx(BE,{})})]})},y))]}),p.jsx(Z0,{})]}):p.jsx(p.Fragment,{}),p.jsxs(sm,{children:[p.jsx(Ea,{disablePadding:!0,children:p.jsx(bb,{primary:"Services",disableTypography:!0,sx:{pt:2}})}),d.map((h,y)=>p.jsx(Ea,{disablePadding:!0,children:p.jsx(xb,{onClick:()=>_r(h.url),children:p.jsx(mc,{primary:h.name})})},y))]})]});return p.jsxs(on,{sx:{flexGrow:1},children:[p.jsx(gN,{position:"fixed",sx:{zIndex:h=>h.zIndex.drawer+1,backgroundColor:h=>h.palette.common.black},children:p.jsxs(ND,{children:[p.jsx($C,{color:"inherit","aria-label":"open drawer",edge:"start",onClick:S,sx:{mr:2,display:{sm:"none"}},children:p.jsx(jE,{})}),p.jsx(on,{component:"div",sx:{flexGrow:1,display:{xs:"none",sm:"block"}},children:p.jsx("a",{href:Wn,children:p.jsx("img",{src:E8(),alt:"logo",height:"28"})})}),p.jsxs(on,{sx:{display:{xs:"none",sm:"block"}},children:[p.jsxs(At,{id:"profile-menu-btn","aria-controls":o?"profile-menu-list":void 0,"aria-haspopup":"true","aria-expanded":o?"true":void 0,onClick:h=>r(h.currentTarget),endIcon:o?p.jsx(DE,{}):p.jsx(FE,{}),sx:{color:t.palette.common.white,fontWeight:700},children:[u==null?void 0:u.name," ",u!=null&&u.admin?"(admin)":""]}),p.jsxs(ZC,{id:"profile-menu-list",anchorEl:n,open:o,onClose:()=>r(null),MenuListProps:{"aria-labelledby":"profile-menu-btn"},sx:{marginTop:"20px"},children:[p.jsx(il,{onClick:()=>_r(`${Wn}/token`),sx:{width:"180px"},children:"Tokens"}),u!=null&&u.admin?p.jsx(il,{onClick:()=>_r(`${Wn}/admin`),children:"Admin"}):p.jsx(p.Fragment,{}),p.jsx(il,{onClick:()=>_r(`${Wn}/logout`),children:"Logout"})]})]})]})}),p.jsx("nav",{children:p.jsx(GO,{container:s!==void 0?()=>s().document.body:void 0,variant:"persistent",open:a,onClose:S,ModalProps:{keepMounted:!0},sx:{"& .MuiDrawer-paper":{boxSizing:"border-box",width:240}},children:v})})]})},h9=({severity:e="error",message:t,onClose:n})=>p.jsx("div",{className:"alert-wrapper",children:t?p.jsx(oN,{id:"alert-notification",severity:e,onClose:n,children:t}):p.jsx(p.Fragment,{})});var Yg={},m9=Jn;Object.defineProperty(Yg,"__esModule",{value:!0});var zE=Yg.default=void 0,v9=m9(er()),g9=p;zE=Yg.default=(0,v9.default)((0,g9.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1m-4.44-6.19-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0"}),"CropOriginalRounded");var Zg={},y9=Jn;Object.defineProperty(Zg,"__esModule",{value:!0});var UE=Zg.default=void 0,b9=y9(er()),x9=p;UE=Zg.default=(0,b9.default)((0,x9.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2zM18 4h-2.5l-.71-.71c-.18-.18-.44-.29-.7-.29H9.91c-.26 0-.52.11-.7.29L8.5 4H6c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1"}),"DeleteRounded");var Jg={},S9=Jn;Object.defineProperty(Jg,"__esModule",{value:!0});var VE=Jg.default=void 0,C9=S9(er()),w9=p;VE=Jg.default=(0,C9.default)((0,w9.jsx)("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm4 18H6V4h7v5h5zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z"}),"UploadFile");var ey={},R9=Jn;Object.defineProperty(ey,"__esModule",{value:!0});var WE=ey.default=void 0,E9=R9(er()),_9=p;WE=ey.default=(0,E9.default)((0,_9.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility");const k9=({id:e,name:t,currentImage:n,setCurrentImage:r,currentFile:o,setCurrentFile:i,...s})=>{const[a,l]=x.useState(!1),[u,c]=x.useState(!1),d=x.useRef(null),f=C=>{C.preventDefault(),l(!0)},b=C=>{C.preventDefault(),l(!0)},m=C=>{C.preventDefault(),l(!1)},g=C=>{C.preventDefault(),l(!1);const R=C.dataTransfer.files[0];i(R)},S=C=>{if(!C.target.files)return;const R=C.target.files[0];i(R)},v=C=>{C.preventDefault(),c(!0)},h=C=>{C.preventDefault();const R=d.current;R&&R.click()},y=C=>{C.preventDefault();const R=d.current;R&&(R.value="",i(void 0),r(void 0))};return x.useEffect(()=>{const C=d.current;if(C&&C.files&&C.files.length>0){const R=C.files[0];i(R)}},[d,i]),p.jsxs("div",{id:`thumbnail-${e}`,className:"thumbnail",children:[p.jsxs("div",{id:`thumbnail-body-${e}`,className:`thumbnail-body ${a?"dragging":""} ${o||n?"selected":""}`,onDragOver:f,onDragEnter:b,onDragLeave:m,onDrop:g,children:[o||n?p.jsx("div",{className:"thumbnail-img-container",children:p.jsx("img",{src:o?URL.createObjectURL(o):n,alt:"App thumnail",className:"thumbnail-img"})}):p.jsx("div",{className:"thumbnail-icon-container",tabIndex:0,onClick:h,children:p.jsx(zE,{className:"thumbnail-icon"})}),p.jsx("input",{ref:d,id:e,name:t,type:"file",accept:"image/*",onChange:S,style:{display:"none"},...s})]}),p.jsxs("div",{className:"thumbnail-actions",children:[p.jsx(At,{id:"view-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(WE,{}),onClick:v,disabled:!o&&!n,children:"View Thumbnail"}),p.jsx(At,{id:"upload-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(VE,{}),onClick:h,children:"Upload Thumbnail"}),p.jsx(At,{id:"remove-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(UE,{}),onClick:y,disabled:!o&&!n,children:"Remove Thumbnail"})]}),p.jsx(hc,{onClose:()=>c(!1),open:u,children:p.jsx("img",{src:o?URL.createObjectURL(o):n,alt:"App thumnail"})})]})};var ty={},T9=Jn;Object.defineProperty(ty,"__esModule",{value:!0});var tp=ty.default=void 0,A9=T9(er()),$9=p;tp=ty.default=(0,A9.default)((0,$9.jsx)("path",{d:"M19 11H7.83l4.88-4.88c.39-.39.39-1.03 0-1.42a.9959.9959 0 0 0-1.41 0l-6.59 6.59c-.39.39-.39 1.02 0 1.41l6.59 6.59c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L7.83 13H19c.55 0 1-.45 1-1s-.45-1-1-1"}),"ArrowBackRounded");const $n=re("div")(({theme:e})=>({padding:e.spacing(0)})),P9=()=>p.jsx(on,{className:"container",children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>_r(Wn),children:"Back"})})}),p.jsxs($n,{children:[p.jsx("h1",{className:"form-heading",children:"Create a new app"}),p.jsxs("p",{className:"form-paragraph",children:["Begin your project by entering the details below. For more information about creating an app,"," ",p.jsx("a",{href:"https://jhub-apps.nebari.dev/docs/reference/create-app-form",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"}),"."]})]}),p.jsx($n,{children:p.jsx(NE,{})})]})}),N9=()=>{const[e]=kw(),t=e.get("id");return p.jsx(on,{className:"container",children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>_r(Wn),children:"Back"})})}),p.jsxs($n,{children:[p.jsx("h1",{className:"form-heading",children:"Edit app"}),p.jsxs("p",{className:"form-paragraph",children:["Edit your app details here. For more information on editing your app,"," ",p.jsx("a",{href:"https://jhub-apps.nebari.dev/docs/reference/create-app-form",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"}),"."]})]}),p.jsx($n,{children:p.jsx(p.Fragment,{children:t?p.jsx(NE,{id:t}):p.jsx(p.Fragment,{children:"No app found."})})})]})})};var ny={},I9=Jn;Object.defineProperty(ny,"__esModule",{value:!0});var HE=ny.default=void 0,O9=I9(er()),L9=p;HE=ny.default=(0,O9.default)((0,L9.jsx)("path",{d:"M18 13h-5v5c0 .55-.45 1-1 1s-1-.45-1-1v-5H6c-.55 0-1-.45-1-1s.45-1 1-1h5V6c0-.55.45-1 1-1s1 .45 1 1v5h5c.55 0 1 .45 1 1s-.45 1-1 1"}),"AddRounded");const M9=({id:e,title:t,description:n,thumbnail:r,framework:o,url:i,username:s,ready:a=!1,isPublic:l=!1,isShared:u=!1})=>{const c=_f(),[d,f]=x.useState(!1),[,b]=_t(Ni),[m,g]=x.useState(!1),[S,v]=x.useState(!1),[h,y]=x.useState(!1),C=async({id:V})=>await Xt.post(`/server/${V}`),R=async({id:V,remove:G})=>await Xt.delete(`/server/${V}`,{params:{remove:G}}),{mutate:_}=Ks({mutationFn:C,retry:1}),{mutate:E}=Ks({mutationFn:R,retry:1}),k=()=>{f(!0),E({id:e,remove:!0},{onSuccess:async()=>{f(!1),y(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},M=()=>{f(!0),_({id:e},{onSuccess:async()=>{f(!1),g(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},P=()=>{f(!0),E({id:e,remove:!1},{onSuccess:async()=>{f(!1),v(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},W=[{id:"start",title:"Start",onClick:()=>g(!0),visible:!0,disabled:a},{id:"stop",title:"Stop",onClick:()=>v(!0),visible:!0,disabled:!a||u},{id:"edit",title:"Edit",onClick:()=>window.location.href=`${ag}/edit-app?id=${e}`,visible:!0,disabled:u||e===""},{id:"delete",title:"Delete",onClick:()=>y(!0),visible:!0,disabled:u||e===""}],z=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to start ",p.jsx("b",{children:t}),"?"]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>g(!1),children:"Cancel"}),p.jsx(At,{id:"start-btn",variant:"contained",color:"primary",onClick:()=>M(),disabled:d,children:"Start"})]})]}),D=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to stop ",p.jsx("b",{children:t}),"?"]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>v(!1),children:"Cancel"}),p.jsx(At,{id:"stop-btn",variant:"contained",color:"primary",onClick:()=>P(),disabled:d,children:"Stop"})]})]}),U=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to delete ",p.jsx("b",{children:t}),"? This action is permanent and cannot be reversed."]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>y(!1),children:"Cancel"}),p.jsx(At,{id:"delete-btn",variant:"contained",color:"primary",onClick:()=>k(),disabled:d,children:"Delete"})]})]});return p.jsxs("div",{className:"card",id:`card-${e}`,tabIndex:0,children:[p.jsxs("div",{className:"card-header-media",children:[p.jsxs("div",{className:"card-header-menu",children:[p.jsx(Y8,{id:`card-menu-${e}`,items:W}),m&&p.jsxs(hc,{open:m,onClose:g,children:[p.jsxs(Lp,{children:["Start ",t]}),p.jsx(Op,{children:z})]}),S&&p.jsxs(hc,{open:S,onClose:v,children:[p.jsxs(Lp,{children:["Stop ",t]}),p.jsx(Op,{children:D})]}),h&&p.jsxs(hc,{open:h,onClose:y,children:[p.jsxs(Lp,{children:["Delete ",t]}),p.jsx(Op,{children:U})]})]}),p.jsx("div",{className:"card-header-img",children:r?p.jsx("img",{src:r,alt:"App thumb"}):p.jsx(p.Fragment,{})})]}),p.jsx("div",{className:"card-header",children:p.jsx("h3",{className:"font-bold",children:p.jsx("a",{href:i,children:t})})}),p.jsxs("div",{className:"card-body",children:[p.jsx("p",{children:n}),s?p.jsxs("div",{children:[p.jsx("span",{className:"font-bold",children:"Author: "}),s]}):p.jsx(p.Fragment,{})]}),p.jsxs("div",{className:"card-footer",children:[p.jsx(Q0,{id:`tag-${e}`,label:o,variant:"outlined",size:"small"}),l?p.jsx(Q0,{id:`tag-${e}`,label:"Public",variant:"outlined",size:"small"}):p.jsx(p.Fragment,{})]})]})},Sb=({appType:e="My",filter:t})=>{const[n]=_t(ca),[,r]=_t(Ni),[o,i]=x.useState([]),{isLoading:s,error:a,data:l}=Kr({queryKey:["app-state"],queryFn:()=>Xt.get("/server/").then(u=>u.data).then(u=>u),enabled:!!n});return x.useEffect(()=>{if(!s&&l){const u=t.toLowerCase();i(()=>w8(l,e).filter(c=>{var d,f;return c.name.toLowerCase().includes(u)||((d=c.description)==null?void 0:d.toLowerCase().includes(u))||((f=c.framework)==null?void 0:f.toLowerCase().includes(u))}))}},[s,l,e,t]),x.useEffect(()=>{r(a?a.message:void 0)},[a,r]),p.jsx(on,{children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsxs(on,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",paddingBottom:"48px"},children:[p.jsx("div",{className:"grid-heading-left",children:p.jsxs("h2",{children:[e," Apps"]})}),p.jsx("div",{className:"grid-heading-center",children:p.jsx("hr",{className:"grid-spacer"})}),p.jsx("div",{className:"grid-heading-right",children:p.jsxs("h2",{children:[o.length," apps"]})})]})}),p.jsx($n,{children:p.jsx(on,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"16px",justifyContent:"flex-start",paddingBottom:"48px"},children:s?p.jsx("div",{className:"font-bold",children:"Loading..."}):o.length>0?p.jsx(p.Fragment,{children:o.map(u=>p.jsx(M9,{id:u.id,title:u.name,description:u.description,thumbnail:u.thumbnail,framework:u.framework,url:u.url,ready:u.ready,username:u.username,isPublic:u.public,isShared:e==="Shared"},`app-${u.id}`))}):p.jsx("div",{children:"No apps available"})})})]})})},F9=()=>{const[e]=_t(ca),[,t]=_t(Ni),[n,r]=x.useState([]),{isLoading:o,error:i,data:s}=Kr({queryKey:["service-data"],queryFn:()=>Xt.get("/services/").then(l=>l.data).then(l=>l),enabled:!!e}),a=(l,u)=>{u?window.open(l,"_blank"):window.location.assign(l)};return x.useEffect(()=>{!o&&s&&e&&r(()=>hE(s,e.name))},[o,s,e]),x.useEffect(()=>{t(i?i.message:void 0)},[i,t]),p.jsx(on,{children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsxs(on,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",paddingBottom:"48px"},children:[p.jsx("div",{className:"grid-heading-left",children:p.jsx("h2",{children:"Services"})}),p.jsx("div",{className:"grid-heading-center",children:p.jsx("hr",{className:"grid-spacer"})}),p.jsx("div",{className:"grid-heading-right",children:p.jsxs("h2",{children:[n.length," services"]})})]})}),p.jsx($n,{children:p.jsx(on,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"16px",justifyContent:"flex-start",paddingBottom:"48px"},children:o?p.jsx("div",{className:"font-bold",children:"Loading..."}):n.length>0?p.jsx(p.Fragment,{children:n.map((l,u)=>p.jsx(At,{id:`service-${u}`,variant:"outlined",color:"secondary",style:{minWidth:"180px"},onClick:()=>{a(l.url,l.external)},children:l.name},`service-${u}`))}):p.jsx("div",{children:"No services available"})})})]})})},Cb=()=>{const[e,t]=x.useState(""),n=r=>{const o=r.target;t(o.value)};return p.jsxs(on,{sx:{flexGrow:1},className:"container",children:[p.jsxs(Uu,{container:!0,spacing:2,paddingBottom:"48px",children:[p.jsx(Uu,{item:!0,xs:12,md:2,children:p.jsxs($n,{children:[p.jsx("h1",{children:"Home"}),p.jsx("p",{children:"Manage your apps and services"})]})}),p.jsx(Uu,{item:!0,xs:8,md:8,children:p.jsx($n,{children:p.jsx(qi,{id:"search",size:"small",placeholder:"Search...","aria-label":"Search for an app",className:"search-bar",onChange:n})})}),p.jsx(Uu,{item:!0,xs:4,md:2,children:p.jsx($n,{children:p.jsx(on,{display:"flex",justifyContent:"flex-end",children:p.jsx(At,{id:"create-app",variant:"contained",color:"primary",startIcon:p.jsx(HE,{}),onClick:()=>{window.location.href=`${ag}/create-app`},children:"Create App"})})})})]}),p.jsx(F9,{}),p.jsx(Sb,{appType:"My",filter:e}),p.jsx(Sb,{appType:"Shared",filter:e})]})},D9=()=>{const[e]=kw(),t=mg(),n=_f(),[r,o]=x.useState(!1),[i]=_t(ca),[s,a]=_t(AE),[l]=_t(PE),[u]=_t($E),[,c]=_t(Ni),[d,f]=ve.useState((s==null?void 0:s.profile)||""),b=e.get("id"),{data:m,isLoading:g,error:S}=Kr({queryKey:["server-types"],queryFn:()=>Xt.get("/spawner-profiles/").then(E=>E.data).then(E=>E),enabled:!!i}),v=E=>{f(E),s&&a({...s,profile:E})},h=E=>{E.preventDefault();const k={servername:(s==null?void 0:s.display_name)||"",user_options:{jhub_app:!0,name:(s==null?void 0:s.display_name)||"",display_name:(s==null?void 0:s.display_name)||"",description:(s==null?void 0:s.description)||"",framework:(s==null?void 0:s.framework)||"",thumbnail:(s==null?void 0:s.thumbnail)||"",filepath:(s==null?void 0:s.filepath)||"",conda_env:(s==null?void 0:s.conda_env)||"",env:(s==null?void 0:s.env)||"",custom_command:(s==null?void 0:s.custom_command)||"",profile:(s==null?void 0:s.profile)||"",public:(s==null?void 0:s.is_public)||!1}};o(!0),b?_(k,{onSuccess:async()=>{n.invalidateQueries({queryKey:["app-state"]})},onError:async M=>{o(!1),c(M.message)}}):R(k,{onSuccess:async M=>{const P=i==null?void 0:i.name;if(P&&(M==null?void 0:M.length)>1){const W=M[1];window.location.assign(`/hub/spawn-pending/${P}/${W}`)}},onError:async M=>{o(!1),c(M.message)}})},y=async({servername:E,user_options:k})=>{const M={accept:"application/json","Content-Type":"multipart/form-data"},P=new FormData;return P.append("data",JSON.stringify({servername:E,user_options:k})),l&&P.append("thumbnail",l),(await Xt.post("/server",P,{headers:M})).data},C=async({servername:E,user_options:k})=>{const M={accept:"application/json","Content-Type":"multipart/form-data"},P=new FormData;return P.append("data",JSON.stringify({servername:E,user_options:k})),l?P.append("thumbnail",l):u&&P.append("thumbnail_data_url",u),(await Xt.put(`/server/${E}`,P,{headers:M})).data},{mutate:R}=Ks({mutationFn:y,retry:1}),{mutate:_}=Ks({mutationFn:C,retry:1});return p.jsxs("div",{className:"container",children:[p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>t(b?`/edit-app?id=${b}`:"/create-app"),children:"Back"})}),p.jsxs("div",{className:"row",children:[p.jsx("h1",{className:"form-heading",children:"Server Type"}),p.jsxs("p",{className:"form-paragraph",children:["Please select the appropriate server for your app. For more information on server types,"," ",p.jsx("span",{children:p.jsx("a",{href:"https://www.nebari.dev/docs/welcome",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"})}),"."]})]}),S?p.jsxs("div",{children:["An error occurred: ",S.message]}):g?p.jsx("div",{className:"font-bold center",children:"Loading..."}):m&&m.length>0?p.jsxs("form",{className:"form",onSubmit:h,children:[p.jsx("div",{className:"form-section",children:p.jsx(tD,{children:m==null?void 0:m.map((E,k)=>p.jsx(FI,{className:"server-type-card",onClick:()=>v(E.slug),tabIndex:0,children:p.jsxs(VI,{children:[p.jsx(UC,{value:E.slug,id:E.slug,control:p.jsx(ZF,{checked:d?d===E.slug:k===0}),label:E.display_name},E.slug),p.jsx("p",{children:E.description})]})},`server-type-card-${E.slug}`))})}),p.jsx("hr",{}),p.jsxs("div",{className:"button-section",children:[p.jsx("div",{className:"prev",children:p.jsx(At,{id:"cancel-btn",type:"button",variant:"text",color:"secondary",onClick:()=>_r(Wn),children:"Cancel"})}),p.jsx("div",{className:"next",children:p.jsx(At,{id:"submit-btn",type:"submit",variant:"contained",color:"primary",disabled:r,children:b?p.jsx(p.Fragment,{children:"Save"}):p.jsx(p.Fragment,{children:"Create App"})})})]})]}):p.jsx("div",{children:"No servers available"})]})},j9=()=>{const[,e]=_t(W8),[,t]=_t(ca),[n,r]=_t(Ni),{error:o,data:i}=Kr({queryKey:["user-state"],queryFn:()=>Xt.get("/user").then(s=>s.data).then(s=>s)});return x.useEffect(()=>{o&&r(o.message)},[o,r]),x.useEffect(()=>{e(C8())},[e]),x.useEffect(()=>{i&&t({...i})},[i,t]),p.jsxs("div",{children:[p.jsx(p9,{}),p.jsxs(on,{component:"main",sx:{flexGrow:1,pt:9,pl:{xs:1,sm:33},pr:1},children:[n?p.jsx(h9,{message:n,onClose:()=>r(void 0)}):p.jsx(p.Fragment,{}),p.jsxs(c4,{children:[p.jsx(Gi,{path:"/home",element:p.jsx(Cb,{})}),p.jsx(Gi,{path:"/create-app",element:p.jsx(P9,{})}),p.jsx(Gi,{path:"/edit-app",element:p.jsx(N9,{})}),p.jsx(Gi,{path:"/server-types",element:p.jsx(D9,{})}),p.jsx(Gi,{path:"/",element:p.jsx(Cb,{})})]})]})]})},B9={50:"#2491FF",100:"#2491FF",200:"#2491FF",300:"#2491FF",400:"#2491FF",500:"#005EA2",600:"#1A4480",700:"#1A4480",800:"#1A4480",900:"#162E51"},Lt={50:"#F7F8F8",100:"#E1E3E4",200:"#C3C7CB",300:"#A6ACB2",400:"#90969C",500:"#5B5F63",600:"#44474A",700:"#3C3C3B",800:"#242628",900:"#1A1C1D"},Xu="#BA18DA",wb="#BA18DA10",Rb="#9B00CE",Vi="#18817A",z9="#18817A10",U9="#12635E",V9="#D72D47",W9="#F66A0A",gr="#FFFFFF",Eb="#000000",Yu=Kd({typography:{fontFamily:'"Inter", sans-serif'},components:{MuiButtonBase:{defaultProps:{disableRipple:!0,style:{textTransform:"none",textWrap:"nowrap"}}},MuiFormControl:{defaultProps:{fullWidth:!0,sx:{marginBottom:"12px"}}},MuiTextField:{defaultProps:{autoComplete:"off",fullWidth:!0,sx:{marginBottom:"0"}}},MuiSelect:{defaultProps:{fullWidth:!0}}}}),H9=Kd(Yu,{palette:{primary:Yu.palette.augmentColor({color:{light:wb,main:Xu,dark:Rb,contrastText:gr},name:"primary"}),secondary:Yu.palette.augmentColor({color:{light:z9,main:Vi,dark:U9,contrastText:gr},name:"secondary"}),gray:Yu.palette.augmentColor({color:{light:Lt[300],main:Lt[500],dark:Lt[700],contrastText:Eb,50:Lt[50],100:Lt[100],200:Lt[200],300:Lt[300],400:Lt[400],500:Lt[500],600:Lt[600],700:Lt[700],800:Lt[800],900:Lt[900]},name:"gray"}),warning:{main:W9,contrastText:gr},error:{main:V9,contrastText:gr},info:{main:B9,contrastText:gr},success:{main:Vi[500],contrastText:gr},common:{black:Eb,white:gr}},components:{MuiButton:{variants:[{props:{variant:"contained",color:"primary"},style:{minWidth:"120px",backgroundColor:`${Xu}`,border:`1px solid ${Xu}`,fontWeight:700,"&:hover":{backgroundColor:`${Rb}`},"&:disabled":{borderColor:"transparent"}}},{props:{variant:"contained",color:"secondary"},style:{minWidth:"120px",backgroundColor:Lt[100],border:`1px solid ${Lt[100]}`,color:Lt[700],fontWeight:700,"&:hover":{backgroundColor:gr,filter:"brightness(0.96)"},"&:disabled":{borderColor:"transparent"}}},{props:{variant:"outlined",color:"secondary"},style:{minWidth:"120px",backgroundColor:gr,border:`2px solid ${Vi}`,color:`${Vi}`,fontWeight:700,textTransform:"none","&:hover":{backgroundColor:gr,borderWidth:2,border:`2px solid ${Vi}`,color:`${Vi}`}}},{props:{variant:"text",color:"primary"},style:{color:`${Xu}`,"&:focus":{backgroundColor:`${wb}`}}},{props:{variant:"text",color:"secondary"},style:{color:Lt[500],"&:focus":{backgroundColor:`${Lt[100]}`}}}]}}}),K9=new URL(window.location.href),q9=new rj;xm.createRoot(document.getElementById("root")).render(p.jsx(ve.StrictMode,{children:p.jsx(h4,{basename:K9.pathname.indexOf("hub")===-1?ag:Wn,children:p.jsx(i6,{children:p.jsxs(GT,{theme:H9,children:[p.jsx(JI,{}),p.jsx(lj,{client:q9,children:p.jsx(j9,{})})]})})})})); From 485fdf2e80588607f23dc0d1bb03aa3e3ef8511a Mon Sep 17 00:00:00 2001 From: Johnny Bouder Date: Fri, 22 Mar 2024 13:03:32 -0400 Subject: [PATCH 3/4] Updates --- ui/src/pages/home/home.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/pages/home/home.tsx b/ui/src/pages/home/home.tsx index 0e91cb63..5ed3eb59 100644 --- a/ui/src/pages/home/home.tsx +++ b/ui/src/pages/home/home.tsx @@ -21,7 +21,7 @@ export const Home = (): React.ReactElement => {

Home

-

Manage your apps and services

+

Manage your apps and services!

From bcc345892587f39b6dc8a0ca3f91881a739c6300 Mon Sep 17 00:00:00 2001 From: jbouder Date: Fri, 22 Mar 2024 17:04:38 +0000 Subject: [PATCH 4/4] Add build files --- jhub_apps/static/js/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jhub_apps/static/js/index.js b/jhub_apps/static/js/index.js index e37efd6c..06de7a24 100644 --- a/jhub_apps/static/js/index.js +++ b/jhub_apps/static/js/index.js @@ -164,4 +164,4 @@ Error generating stack: `+i.message+` Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var i="",s=0;s{const r=K8("button-group",t);return p.jsx("ul",{id:e,className:r,children:x.Children.map(n,(o,i)=>p.jsx("li",{className:"button-group-item",children:o},i))})};var Hg={},OE={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(OE);var Jn=OE.exports,rh={};const q8=qE(eA);var yb;function er(){return yb||(yb=1,function(e){"use client";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=q8}(rh)),rh}var G8=Jn;Object.defineProperty(Hg,"__esModule",{value:!0});var LE=Hg.default=void 0,Q8=G8(er()),X8=p;LE=Hg.default=(0,Q8.default)((0,X8.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreHoriz");const Y8=({id:e,items:t})=>{const n=ve.useRef(null);return p.jsxs("div",{className:"context-menu-container",id:e,tabIndex:0,ref:n,children:[p.jsx(LE,{}),p.jsx("ul",{className:"context-menu",children:t.filter(r=>r.visible).map(r=>p.jsx("li",{children:p.jsx("a",{className:r.disabled?"disabled":"",onClick:o=>{var i;r.onClick&&!r.disabled&&(r.onClick(o),(i=n.current)==null||i.blur())},children:r.title})},`context-menu-item-${r.id}`))})]})};var Kg={},Z8=Jn;Object.defineProperty(Kg,"__esModule",{value:!0});var ME=Kg.default=void 0,J8=Z8(er()),e9=p;ME=Kg.default=(0,J8.default)((0,e9.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1"}),"HomeRounded");var qg={},t9=Jn;Object.defineProperty(qg,"__esModule",{value:!0});var FE=qg.default=void 0,n9=t9(er()),r9=p;FE=qg.default=(0,n9.default)((0,r9.jsx)("path",{d:"M8.12 9.29 12 13.17l3.88-3.88c.39-.39 1.02-.39 1.41 0 .39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0L6.7 10.7a.9959.9959 0 0 1 0-1.41c.39-.38 1.03-.39 1.42 0"}),"KeyboardArrowDownRounded");var Gg={},o9=Jn;Object.defineProperty(Gg,"__esModule",{value:!0});var DE=Gg.default=void 0,i9=o9(er()),s9=p;DE=Gg.default=(0,i9.default)((0,s9.jsx)("path",{d:"M8.12 14.71 12 10.83l3.88 3.88c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L12.7 8.71a.9959.9959 0 0 0-1.41 0L6.7 13.3c-.39.39-.39 1.02 0 1.41.39.38 1.03.39 1.42 0"}),"KeyboardArrowUpRounded");var Qg={},a9=Jn;Object.defineProperty(Qg,"__esModule",{value:!0});var jE=Qg.default=void 0,l9=a9(er()),u9=p;jE=Qg.default=(0,l9.default)((0,u9.jsx)("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu");var Xg={},c9=Jn;Object.defineProperty(Xg,"__esModule",{value:!0});var BE=Xg.default=void 0,d9=c9(er()),f9=p;BE=Xg.default=(0,d9.default)((0,f9.jsx)("path",{fillRule:"evenodd",d:"M19 12.87c0-.47-.34-.85-.8-.98C16.93 11.54 16 10.38 16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.38-.93 2.54-2.2 2.89-.46.13-.8.51-.8.98V13c0 .55.45 1 1 1h4.98l.02 7c0 .55.45 1 1 1s1-.45 1-1l-.02-7H18c.55 0 1-.45 1-1z"}),"PushPinRounded");const bb=re(mc)(({theme:e})=>({fontWeight:700,paddingLeft:e.spacing(4),paddingTop:e.spacing(1),paddingBottom:e.spacing(1)})),xb=re(GC)(({theme:e})=>({paddingLeft:e.spacing(4)})),p9=({...e})=>{const t=Do(),[n,r]=ve.useState(null),o=!!n,i=JL(t.breakpoints.down("sm")),{window:s}=e,[a,l]=x.useState(!i),[u]=_t(ca),[,c]=_t(Ni),[d,f]=x.useState([]),{isLoading:b,error:m,data:g}=Kr({queryKey:["service-data"],queryFn:()=>Xt.get("/services/").then(h=>h.data).then(h=>h),enabled:!!u}),S=()=>{l(h=>!h)};x.useEffect(()=>{!b&&g&&u&&f(()=>hE(g,u.name))},[b,g,u]),x.useEffect(()=>{c(m?m.message:void 0)},[m,c]),x.useEffect(()=>{l(!i)},[i]);const v=p.jsxs(on,{children:[p.jsx(Ea,{disablePadding:!0,sx:{mt:10,mb:2},children:p.jsxs(GC,{sx:{pl:3},onClick:()=>_r(`${Wn}`),children:[p.jsx(o1,{children:p.jsx(ME,{})}),p.jsx(mc,{primary:"Home"})]})}),p.jsx(Z0,{}),d.find(h=>h.pinned)?p.jsxs(p.Fragment,{children:[p.jsxs(sm,{children:[p.jsx(Ea,{disablePadding:!0,children:p.jsx(bb,{primary:"Pinned",disableTypography:!0})}),d.filter(h=>h.pinned).map((h,y)=>p.jsx(Ea,{disablePadding:!0,children:p.jsxs(xb,{onClick:()=>_r(h.url),children:[p.jsx(mc,{primary:h.name}),p.jsx(o1,{sx:{minWidth:"32px"},children:p.jsx(BE,{})})]})},y))]}),p.jsx(Z0,{})]}):p.jsx(p.Fragment,{}),p.jsxs(sm,{children:[p.jsx(Ea,{disablePadding:!0,children:p.jsx(bb,{primary:"Services",disableTypography:!0,sx:{pt:2}})}),d.map((h,y)=>p.jsx(Ea,{disablePadding:!0,children:p.jsx(xb,{onClick:()=>_r(h.url),children:p.jsx(mc,{primary:h.name})})},y))]})]});return p.jsxs(on,{sx:{flexGrow:1},children:[p.jsx(gN,{position:"fixed",sx:{zIndex:h=>h.zIndex.drawer+1,backgroundColor:h=>h.palette.common.black},children:p.jsxs(ND,{children:[p.jsx($C,{color:"inherit","aria-label":"open drawer",edge:"start",onClick:S,sx:{mr:2,display:{sm:"none"}},children:p.jsx(jE,{})}),p.jsx(on,{component:"div",sx:{flexGrow:1,display:{xs:"none",sm:"block"}},children:p.jsx("a",{href:Wn,children:p.jsx("img",{src:E8(),alt:"logo",height:"28"})})}),p.jsxs(on,{sx:{display:{xs:"none",sm:"block"}},children:[p.jsxs(At,{id:"profile-menu-btn","aria-controls":o?"profile-menu-list":void 0,"aria-haspopup":"true","aria-expanded":o?"true":void 0,onClick:h=>r(h.currentTarget),endIcon:o?p.jsx(DE,{}):p.jsx(FE,{}),sx:{color:t.palette.common.white,fontWeight:700},children:[u==null?void 0:u.name," ",u!=null&&u.admin?"(admin)":""]}),p.jsxs(ZC,{id:"profile-menu-list",anchorEl:n,open:o,onClose:()=>r(null),MenuListProps:{"aria-labelledby":"profile-menu-btn"},sx:{marginTop:"20px"},children:[p.jsx(il,{onClick:()=>_r(`${Wn}/token`),sx:{width:"180px"},children:"Tokens"}),u!=null&&u.admin?p.jsx(il,{onClick:()=>_r(`${Wn}/admin`),children:"Admin"}):p.jsx(p.Fragment,{}),p.jsx(il,{onClick:()=>_r(`${Wn}/logout`),children:"Logout"})]})]})]})}),p.jsx("nav",{children:p.jsx(GO,{container:s!==void 0?()=>s().document.body:void 0,variant:"persistent",open:a,onClose:S,ModalProps:{keepMounted:!0},sx:{"& .MuiDrawer-paper":{boxSizing:"border-box",width:240}},children:v})})]})},h9=({severity:e="error",message:t,onClose:n})=>p.jsx("div",{className:"alert-wrapper",children:t?p.jsx(oN,{id:"alert-notification",severity:e,onClose:n,children:t}):p.jsx(p.Fragment,{})});var Yg={},m9=Jn;Object.defineProperty(Yg,"__esModule",{value:!0});var zE=Yg.default=void 0,v9=m9(er()),g9=p;zE=Yg.default=(0,v9.default)((0,g9.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1m-4.44-6.19-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0"}),"CropOriginalRounded");var Zg={},y9=Jn;Object.defineProperty(Zg,"__esModule",{value:!0});var UE=Zg.default=void 0,b9=y9(er()),x9=p;UE=Zg.default=(0,b9.default)((0,x9.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2zM18 4h-2.5l-.71-.71c-.18-.18-.44-.29-.7-.29H9.91c-.26 0-.52.11-.7.29L8.5 4H6c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1"}),"DeleteRounded");var Jg={},S9=Jn;Object.defineProperty(Jg,"__esModule",{value:!0});var VE=Jg.default=void 0,C9=S9(er()),w9=p;VE=Jg.default=(0,C9.default)((0,w9.jsx)("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm4 18H6V4h7v5h5zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z"}),"UploadFile");var ey={},R9=Jn;Object.defineProperty(ey,"__esModule",{value:!0});var WE=ey.default=void 0,E9=R9(er()),_9=p;WE=ey.default=(0,E9.default)((0,_9.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility");const k9=({id:e,name:t,currentImage:n,setCurrentImage:r,currentFile:o,setCurrentFile:i,...s})=>{const[a,l]=x.useState(!1),[u,c]=x.useState(!1),d=x.useRef(null),f=C=>{C.preventDefault(),l(!0)},b=C=>{C.preventDefault(),l(!0)},m=C=>{C.preventDefault(),l(!1)},g=C=>{C.preventDefault(),l(!1);const R=C.dataTransfer.files[0];i(R)},S=C=>{if(!C.target.files)return;const R=C.target.files[0];i(R)},v=C=>{C.preventDefault(),c(!0)},h=C=>{C.preventDefault();const R=d.current;R&&R.click()},y=C=>{C.preventDefault();const R=d.current;R&&(R.value="",i(void 0),r(void 0))};return x.useEffect(()=>{const C=d.current;if(C&&C.files&&C.files.length>0){const R=C.files[0];i(R)}},[d,i]),p.jsxs("div",{id:`thumbnail-${e}`,className:"thumbnail",children:[p.jsxs("div",{id:`thumbnail-body-${e}`,className:`thumbnail-body ${a?"dragging":""} ${o||n?"selected":""}`,onDragOver:f,onDragEnter:b,onDragLeave:m,onDrop:g,children:[o||n?p.jsx("div",{className:"thumbnail-img-container",children:p.jsx("img",{src:o?URL.createObjectURL(o):n,alt:"App thumnail",className:"thumbnail-img"})}):p.jsx("div",{className:"thumbnail-icon-container",tabIndex:0,onClick:h,children:p.jsx(zE,{className:"thumbnail-icon"})}),p.jsx("input",{ref:d,id:e,name:t,type:"file",accept:"image/*",onChange:S,style:{display:"none"},...s})]}),p.jsxs("div",{className:"thumbnail-actions",children:[p.jsx(At,{id:"view-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(WE,{}),onClick:v,disabled:!o&&!n,children:"View Thumbnail"}),p.jsx(At,{id:"upload-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(VE,{}),onClick:h,children:"Upload Thumbnail"}),p.jsx(At,{id:"remove-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(UE,{}),onClick:y,disabled:!o&&!n,children:"Remove Thumbnail"})]}),p.jsx(hc,{onClose:()=>c(!1),open:u,children:p.jsx("img",{src:o?URL.createObjectURL(o):n,alt:"App thumnail"})})]})};var ty={},T9=Jn;Object.defineProperty(ty,"__esModule",{value:!0});var tp=ty.default=void 0,A9=T9(er()),$9=p;tp=ty.default=(0,A9.default)((0,$9.jsx)("path",{d:"M19 11H7.83l4.88-4.88c.39-.39.39-1.03 0-1.42a.9959.9959 0 0 0-1.41 0l-6.59 6.59c-.39.39-.39 1.02 0 1.41l6.59 6.59c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L7.83 13H19c.55 0 1-.45 1-1s-.45-1-1-1"}),"ArrowBackRounded");const $n=re("div")(({theme:e})=>({padding:e.spacing(0)})),P9=()=>p.jsx(on,{className:"container",children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>_r(Wn),children:"Back"})})}),p.jsxs($n,{children:[p.jsx("h1",{className:"form-heading",children:"Create a new app"}),p.jsxs("p",{className:"form-paragraph",children:["Begin your project by entering the details below. For more information about creating an app,"," ",p.jsx("a",{href:"https://jhub-apps.nebari.dev/docs/reference/create-app-form",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"}),"."]})]}),p.jsx($n,{children:p.jsx(NE,{})})]})}),N9=()=>{const[e]=kw(),t=e.get("id");return p.jsx(on,{className:"container",children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>_r(Wn),children:"Back"})})}),p.jsxs($n,{children:[p.jsx("h1",{className:"form-heading",children:"Edit app"}),p.jsxs("p",{className:"form-paragraph",children:["Edit your app details here. For more information on editing your app,"," ",p.jsx("a",{href:"https://jhub-apps.nebari.dev/docs/reference/create-app-form",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"}),"."]})]}),p.jsx($n,{children:p.jsx(p.Fragment,{children:t?p.jsx(NE,{id:t}):p.jsx(p.Fragment,{children:"No app found."})})})]})})};var ny={},I9=Jn;Object.defineProperty(ny,"__esModule",{value:!0});var HE=ny.default=void 0,O9=I9(er()),L9=p;HE=ny.default=(0,O9.default)((0,L9.jsx)("path",{d:"M18 13h-5v5c0 .55-.45 1-1 1s-1-.45-1-1v-5H6c-.55 0-1-.45-1-1s.45-1 1-1h5V6c0-.55.45-1 1-1s1 .45 1 1v5h5c.55 0 1 .45 1 1s-.45 1-1 1"}),"AddRounded");const M9=({id:e,title:t,description:n,thumbnail:r,framework:o,url:i,username:s,ready:a=!1,isPublic:l=!1,isShared:u=!1})=>{const c=_f(),[d,f]=x.useState(!1),[,b]=_t(Ni),[m,g]=x.useState(!1),[S,v]=x.useState(!1),[h,y]=x.useState(!1),C=async({id:V})=>await Xt.post(`/server/${V}`),R=async({id:V,remove:G})=>await Xt.delete(`/server/${V}`,{params:{remove:G}}),{mutate:_}=Ks({mutationFn:C,retry:1}),{mutate:E}=Ks({mutationFn:R,retry:1}),k=()=>{f(!0),E({id:e,remove:!0},{onSuccess:async()=>{f(!1),y(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},M=()=>{f(!0),_({id:e},{onSuccess:async()=>{f(!1),g(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},P=()=>{f(!0),E({id:e,remove:!1},{onSuccess:async()=>{f(!1),v(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},W=[{id:"start",title:"Start",onClick:()=>g(!0),visible:!0,disabled:a},{id:"stop",title:"Stop",onClick:()=>v(!0),visible:!0,disabled:!a||u},{id:"edit",title:"Edit",onClick:()=>window.location.href=`${ag}/edit-app?id=${e}`,visible:!0,disabled:u||e===""},{id:"delete",title:"Delete",onClick:()=>y(!0),visible:!0,disabled:u||e===""}],z=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to start ",p.jsx("b",{children:t}),"?"]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>g(!1),children:"Cancel"}),p.jsx(At,{id:"start-btn",variant:"contained",color:"primary",onClick:()=>M(),disabled:d,children:"Start"})]})]}),D=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to stop ",p.jsx("b",{children:t}),"?"]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>v(!1),children:"Cancel"}),p.jsx(At,{id:"stop-btn",variant:"contained",color:"primary",onClick:()=>P(),disabled:d,children:"Stop"})]})]}),U=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to delete ",p.jsx("b",{children:t}),"? This action is permanent and cannot be reversed."]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>y(!1),children:"Cancel"}),p.jsx(At,{id:"delete-btn",variant:"contained",color:"primary",onClick:()=>k(),disabled:d,children:"Delete"})]})]});return p.jsxs("div",{className:"card",id:`card-${e}`,tabIndex:0,children:[p.jsxs("div",{className:"card-header-media",children:[p.jsxs("div",{className:"card-header-menu",children:[p.jsx(Y8,{id:`card-menu-${e}`,items:W}),m&&p.jsxs(hc,{open:m,onClose:g,children:[p.jsxs(Lp,{children:["Start ",t]}),p.jsx(Op,{children:z})]}),S&&p.jsxs(hc,{open:S,onClose:v,children:[p.jsxs(Lp,{children:["Stop ",t]}),p.jsx(Op,{children:D})]}),h&&p.jsxs(hc,{open:h,onClose:y,children:[p.jsxs(Lp,{children:["Delete ",t]}),p.jsx(Op,{children:U})]})]}),p.jsx("div",{className:"card-header-img",children:r?p.jsx("img",{src:r,alt:"App thumb"}):p.jsx(p.Fragment,{})})]}),p.jsx("div",{className:"card-header",children:p.jsx("h3",{className:"font-bold",children:p.jsx("a",{href:i,children:t})})}),p.jsxs("div",{className:"card-body",children:[p.jsx("p",{children:n}),s?p.jsxs("div",{children:[p.jsx("span",{className:"font-bold",children:"Author: "}),s]}):p.jsx(p.Fragment,{})]}),p.jsxs("div",{className:"card-footer",children:[p.jsx(Q0,{id:`tag-${e}`,label:o,variant:"outlined",size:"small"}),l?p.jsx(Q0,{id:`tag-${e}`,label:"Public",variant:"outlined",size:"small"}):p.jsx(p.Fragment,{})]})]})},Sb=({appType:e="My",filter:t})=>{const[n]=_t(ca),[,r]=_t(Ni),[o,i]=x.useState([]),{isLoading:s,error:a,data:l}=Kr({queryKey:["app-state"],queryFn:()=>Xt.get("/server/").then(u=>u.data).then(u=>u),enabled:!!n});return x.useEffect(()=>{if(!s&&l){const u=t.toLowerCase();i(()=>w8(l,e).filter(c=>{var d,f;return c.name.toLowerCase().includes(u)||((d=c.description)==null?void 0:d.toLowerCase().includes(u))||((f=c.framework)==null?void 0:f.toLowerCase().includes(u))}))}},[s,l,e,t]),x.useEffect(()=>{r(a?a.message:void 0)},[a,r]),p.jsx(on,{children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsxs(on,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",paddingBottom:"48px"},children:[p.jsx("div",{className:"grid-heading-left",children:p.jsxs("h2",{children:[e," Apps"]})}),p.jsx("div",{className:"grid-heading-center",children:p.jsx("hr",{className:"grid-spacer"})}),p.jsx("div",{className:"grid-heading-right",children:p.jsxs("h2",{children:[o.length," apps"]})})]})}),p.jsx($n,{children:p.jsx(on,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"16px",justifyContent:"flex-start",paddingBottom:"48px"},children:s?p.jsx("div",{className:"font-bold",children:"Loading..."}):o.length>0?p.jsx(p.Fragment,{children:o.map(u=>p.jsx(M9,{id:u.id,title:u.name,description:u.description,thumbnail:u.thumbnail,framework:u.framework,url:u.url,ready:u.ready,username:u.username,isPublic:u.public,isShared:e==="Shared"},`app-${u.id}`))}):p.jsx("div",{children:"No apps available"})})})]})})},F9=()=>{const[e]=_t(ca),[,t]=_t(Ni),[n,r]=x.useState([]),{isLoading:o,error:i,data:s}=Kr({queryKey:["service-data"],queryFn:()=>Xt.get("/services/").then(l=>l.data).then(l=>l),enabled:!!e}),a=(l,u)=>{u?window.open(l,"_blank"):window.location.assign(l)};return x.useEffect(()=>{!o&&s&&e&&r(()=>hE(s,e.name))},[o,s,e]),x.useEffect(()=>{t(i?i.message:void 0)},[i,t]),p.jsx(on,{children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsxs(on,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",paddingBottom:"48px"},children:[p.jsx("div",{className:"grid-heading-left",children:p.jsx("h2",{children:"Services"})}),p.jsx("div",{className:"grid-heading-center",children:p.jsx("hr",{className:"grid-spacer"})}),p.jsx("div",{className:"grid-heading-right",children:p.jsxs("h2",{children:[n.length," services"]})})]})}),p.jsx($n,{children:p.jsx(on,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"16px",justifyContent:"flex-start",paddingBottom:"48px"},children:o?p.jsx("div",{className:"font-bold",children:"Loading..."}):n.length>0?p.jsx(p.Fragment,{children:n.map((l,u)=>p.jsx(At,{id:`service-${u}`,variant:"outlined",color:"secondary",style:{minWidth:"180px"},onClick:()=>{a(l.url,l.external)},children:l.name},`service-${u}`))}):p.jsx("div",{children:"No services available"})})})]})})},Cb=()=>{const[e,t]=x.useState(""),n=r=>{const o=r.target;t(o.value)};return p.jsxs(on,{sx:{flexGrow:1},className:"container",children:[p.jsxs(Uu,{container:!0,spacing:2,paddingBottom:"48px",children:[p.jsx(Uu,{item:!0,xs:12,md:2,children:p.jsxs($n,{children:[p.jsx("h1",{children:"Home"}),p.jsx("p",{children:"Manage your apps and services"})]})}),p.jsx(Uu,{item:!0,xs:8,md:8,children:p.jsx($n,{children:p.jsx(qi,{id:"search",size:"small",placeholder:"Search...","aria-label":"Search for an app",className:"search-bar",onChange:n})})}),p.jsx(Uu,{item:!0,xs:4,md:2,children:p.jsx($n,{children:p.jsx(on,{display:"flex",justifyContent:"flex-end",children:p.jsx(At,{id:"create-app",variant:"contained",color:"primary",startIcon:p.jsx(HE,{}),onClick:()=>{window.location.href=`${ag}/create-app`},children:"Create App"})})})})]}),p.jsx(F9,{}),p.jsx(Sb,{appType:"My",filter:e}),p.jsx(Sb,{appType:"Shared",filter:e})]})},D9=()=>{const[e]=kw(),t=mg(),n=_f(),[r,o]=x.useState(!1),[i]=_t(ca),[s,a]=_t(AE),[l]=_t(PE),[u]=_t($E),[,c]=_t(Ni),[d,f]=ve.useState((s==null?void 0:s.profile)||""),b=e.get("id"),{data:m,isLoading:g,error:S}=Kr({queryKey:["server-types"],queryFn:()=>Xt.get("/spawner-profiles/").then(E=>E.data).then(E=>E),enabled:!!i}),v=E=>{f(E),s&&a({...s,profile:E})},h=E=>{E.preventDefault();const k={servername:(s==null?void 0:s.display_name)||"",user_options:{jhub_app:!0,name:(s==null?void 0:s.display_name)||"",display_name:(s==null?void 0:s.display_name)||"",description:(s==null?void 0:s.description)||"",framework:(s==null?void 0:s.framework)||"",thumbnail:(s==null?void 0:s.thumbnail)||"",filepath:(s==null?void 0:s.filepath)||"",conda_env:(s==null?void 0:s.conda_env)||"",env:(s==null?void 0:s.env)||"",custom_command:(s==null?void 0:s.custom_command)||"",profile:(s==null?void 0:s.profile)||"",public:(s==null?void 0:s.is_public)||!1}};o(!0),b?_(k,{onSuccess:async()=>{n.invalidateQueries({queryKey:["app-state"]})},onError:async M=>{o(!1),c(M.message)}}):R(k,{onSuccess:async M=>{const P=i==null?void 0:i.name;if(P&&(M==null?void 0:M.length)>1){const W=M[1];window.location.assign(`/hub/spawn-pending/${P}/${W}`)}},onError:async M=>{o(!1),c(M.message)}})},y=async({servername:E,user_options:k})=>{const M={accept:"application/json","Content-Type":"multipart/form-data"},P=new FormData;return P.append("data",JSON.stringify({servername:E,user_options:k})),l&&P.append("thumbnail",l),(await Xt.post("/server",P,{headers:M})).data},C=async({servername:E,user_options:k})=>{const M={accept:"application/json","Content-Type":"multipart/form-data"},P=new FormData;return P.append("data",JSON.stringify({servername:E,user_options:k})),l?P.append("thumbnail",l):u&&P.append("thumbnail_data_url",u),(await Xt.put(`/server/${E}`,P,{headers:M})).data},{mutate:R}=Ks({mutationFn:y,retry:1}),{mutate:_}=Ks({mutationFn:C,retry:1});return p.jsxs("div",{className:"container",children:[p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>t(b?`/edit-app?id=${b}`:"/create-app"),children:"Back"})}),p.jsxs("div",{className:"row",children:[p.jsx("h1",{className:"form-heading",children:"Server Type"}),p.jsxs("p",{className:"form-paragraph",children:["Please select the appropriate server for your app. For more information on server types,"," ",p.jsx("span",{children:p.jsx("a",{href:"https://www.nebari.dev/docs/welcome",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"})}),"."]})]}),S?p.jsxs("div",{children:["An error occurred: ",S.message]}):g?p.jsx("div",{className:"font-bold center",children:"Loading..."}):m&&m.length>0?p.jsxs("form",{className:"form",onSubmit:h,children:[p.jsx("div",{className:"form-section",children:p.jsx(tD,{children:m==null?void 0:m.map((E,k)=>p.jsx(FI,{className:"server-type-card",onClick:()=>v(E.slug),tabIndex:0,children:p.jsxs(VI,{children:[p.jsx(UC,{value:E.slug,id:E.slug,control:p.jsx(ZF,{checked:d?d===E.slug:k===0}),label:E.display_name},E.slug),p.jsx("p",{children:E.description})]})},`server-type-card-${E.slug}`))})}),p.jsx("hr",{}),p.jsxs("div",{className:"button-section",children:[p.jsx("div",{className:"prev",children:p.jsx(At,{id:"cancel-btn",type:"button",variant:"text",color:"secondary",onClick:()=>_r(Wn),children:"Cancel"})}),p.jsx("div",{className:"next",children:p.jsx(At,{id:"submit-btn",type:"submit",variant:"contained",color:"primary",disabled:r,children:b?p.jsx(p.Fragment,{children:"Save"}):p.jsx(p.Fragment,{children:"Create App"})})})]})]}):p.jsx("div",{children:"No servers available"})]})},j9=()=>{const[,e]=_t(W8),[,t]=_t(ca),[n,r]=_t(Ni),{error:o,data:i}=Kr({queryKey:["user-state"],queryFn:()=>Xt.get("/user").then(s=>s.data).then(s=>s)});return x.useEffect(()=>{o&&r(o.message)},[o,r]),x.useEffect(()=>{e(C8())},[e]),x.useEffect(()=>{i&&t({...i})},[i,t]),p.jsxs("div",{children:[p.jsx(p9,{}),p.jsxs(on,{component:"main",sx:{flexGrow:1,pt:9,pl:{xs:1,sm:33},pr:1},children:[n?p.jsx(h9,{message:n,onClose:()=>r(void 0)}):p.jsx(p.Fragment,{}),p.jsxs(c4,{children:[p.jsx(Gi,{path:"/home",element:p.jsx(Cb,{})}),p.jsx(Gi,{path:"/create-app",element:p.jsx(P9,{})}),p.jsx(Gi,{path:"/edit-app",element:p.jsx(N9,{})}),p.jsx(Gi,{path:"/server-types",element:p.jsx(D9,{})}),p.jsx(Gi,{path:"/",element:p.jsx(Cb,{})})]})]})]})},B9={50:"#2491FF",100:"#2491FF",200:"#2491FF",300:"#2491FF",400:"#2491FF",500:"#005EA2",600:"#1A4480",700:"#1A4480",800:"#1A4480",900:"#162E51"},Lt={50:"#F7F8F8",100:"#E1E3E4",200:"#C3C7CB",300:"#A6ACB2",400:"#90969C",500:"#5B5F63",600:"#44474A",700:"#3C3C3B",800:"#242628",900:"#1A1C1D"},Xu="#BA18DA",wb="#BA18DA10",Rb="#9B00CE",Vi="#18817A",z9="#18817A10",U9="#12635E",V9="#D72D47",W9="#F66A0A",gr="#FFFFFF",Eb="#000000",Yu=Kd({typography:{fontFamily:'"Inter", sans-serif'},components:{MuiButtonBase:{defaultProps:{disableRipple:!0,style:{textTransform:"none",textWrap:"nowrap"}}},MuiFormControl:{defaultProps:{fullWidth:!0,sx:{marginBottom:"12px"}}},MuiTextField:{defaultProps:{autoComplete:"off",fullWidth:!0,sx:{marginBottom:"0"}}},MuiSelect:{defaultProps:{fullWidth:!0}}}}),H9=Kd(Yu,{palette:{primary:Yu.palette.augmentColor({color:{light:wb,main:Xu,dark:Rb,contrastText:gr},name:"primary"}),secondary:Yu.palette.augmentColor({color:{light:z9,main:Vi,dark:U9,contrastText:gr},name:"secondary"}),gray:Yu.palette.augmentColor({color:{light:Lt[300],main:Lt[500],dark:Lt[700],contrastText:Eb,50:Lt[50],100:Lt[100],200:Lt[200],300:Lt[300],400:Lt[400],500:Lt[500],600:Lt[600],700:Lt[700],800:Lt[800],900:Lt[900]},name:"gray"}),warning:{main:W9,contrastText:gr},error:{main:V9,contrastText:gr},info:{main:B9,contrastText:gr},success:{main:Vi[500],contrastText:gr},common:{black:Eb,white:gr}},components:{MuiButton:{variants:[{props:{variant:"contained",color:"primary"},style:{minWidth:"120px",backgroundColor:`${Xu}`,border:`1px solid ${Xu}`,fontWeight:700,"&:hover":{backgroundColor:`${Rb}`},"&:disabled":{borderColor:"transparent"}}},{props:{variant:"contained",color:"secondary"},style:{minWidth:"120px",backgroundColor:Lt[100],border:`1px solid ${Lt[100]}`,color:Lt[700],fontWeight:700,"&:hover":{backgroundColor:gr,filter:"brightness(0.96)"},"&:disabled":{borderColor:"transparent"}}},{props:{variant:"outlined",color:"secondary"},style:{minWidth:"120px",backgroundColor:gr,border:`2px solid ${Vi}`,color:`${Vi}`,fontWeight:700,textTransform:"none","&:hover":{backgroundColor:gr,borderWidth:2,border:`2px solid ${Vi}`,color:`${Vi}`}}},{props:{variant:"text",color:"primary"},style:{color:`${Xu}`,"&:focus":{backgroundColor:`${wb}`}}},{props:{variant:"text",color:"secondary"},style:{color:Lt[500],"&:focus":{backgroundColor:`${Lt[100]}`}}}]}}}),K9=new URL(window.location.href),q9=new rj;xm.createRoot(document.getElementById("root")).render(p.jsx(ve.StrictMode,{children:p.jsx(h4,{basename:K9.pathname.indexOf("hub")===-1?ag:Wn,children:p.jsx(i6,{children:p.jsxs(GT,{theme:H9,children:[p.jsx(JI,{}),p.jsx(lj,{client:q9,children:p.jsx(j9,{})})]})})})})); +*/(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var i="",s=0;s{const r=K8("button-group",t);return p.jsx("ul",{id:e,className:r,children:x.Children.map(n,(o,i)=>p.jsx("li",{className:"button-group-item",children:o},i))})};var Hg={},OE={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(OE);var Jn=OE.exports,rh={};const q8=qE(eA);var yb;function er(){return yb||(yb=1,function(e){"use client";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=q8}(rh)),rh}var G8=Jn;Object.defineProperty(Hg,"__esModule",{value:!0});var LE=Hg.default=void 0,Q8=G8(er()),X8=p;LE=Hg.default=(0,Q8.default)((0,X8.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreHoriz");const Y8=({id:e,items:t})=>{const n=ve.useRef(null);return p.jsxs("div",{className:"context-menu-container",id:e,tabIndex:0,ref:n,children:[p.jsx(LE,{}),p.jsx("ul",{className:"context-menu",children:t.filter(r=>r.visible).map(r=>p.jsx("li",{children:p.jsx("a",{className:r.disabled?"disabled":"",onClick:o=>{var i;r.onClick&&!r.disabled&&(r.onClick(o),(i=n.current)==null||i.blur())},children:r.title})},`context-menu-item-${r.id}`))})]})};var Kg={},Z8=Jn;Object.defineProperty(Kg,"__esModule",{value:!0});var ME=Kg.default=void 0,J8=Z8(er()),e9=p;ME=Kg.default=(0,J8.default)((0,e9.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1"}),"HomeRounded");var qg={},t9=Jn;Object.defineProperty(qg,"__esModule",{value:!0});var FE=qg.default=void 0,n9=t9(er()),r9=p;FE=qg.default=(0,n9.default)((0,r9.jsx)("path",{d:"M8.12 9.29 12 13.17l3.88-3.88c.39-.39 1.02-.39 1.41 0 .39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0L6.7 10.7a.9959.9959 0 0 1 0-1.41c.39-.38 1.03-.39 1.42 0"}),"KeyboardArrowDownRounded");var Gg={},o9=Jn;Object.defineProperty(Gg,"__esModule",{value:!0});var DE=Gg.default=void 0,i9=o9(er()),s9=p;DE=Gg.default=(0,i9.default)((0,s9.jsx)("path",{d:"M8.12 14.71 12 10.83l3.88 3.88c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L12.7 8.71a.9959.9959 0 0 0-1.41 0L6.7 13.3c-.39.39-.39 1.02 0 1.41.39.38 1.03.39 1.42 0"}),"KeyboardArrowUpRounded");var Qg={},a9=Jn;Object.defineProperty(Qg,"__esModule",{value:!0});var jE=Qg.default=void 0,l9=a9(er()),u9=p;jE=Qg.default=(0,l9.default)((0,u9.jsx)("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu");var Xg={},c9=Jn;Object.defineProperty(Xg,"__esModule",{value:!0});var BE=Xg.default=void 0,d9=c9(er()),f9=p;BE=Xg.default=(0,d9.default)((0,f9.jsx)("path",{fillRule:"evenodd",d:"M19 12.87c0-.47-.34-.85-.8-.98C16.93 11.54 16 10.38 16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.38-.93 2.54-2.2 2.89-.46.13-.8.51-.8.98V13c0 .55.45 1 1 1h4.98l.02 7c0 .55.45 1 1 1s1-.45 1-1l-.02-7H18c.55 0 1-.45 1-1z"}),"PushPinRounded");const bb=re(mc)(({theme:e})=>({fontWeight:700,paddingLeft:e.spacing(4),paddingTop:e.spacing(1),paddingBottom:e.spacing(1)})),xb=re(GC)(({theme:e})=>({paddingLeft:e.spacing(4)})),p9=({...e})=>{const t=Do(),[n,r]=ve.useState(null),o=!!n,i=JL(t.breakpoints.down("sm")),{window:s}=e,[a,l]=x.useState(!i),[u]=_t(ca),[,c]=_t(Ni),[d,f]=x.useState([]),{isLoading:b,error:m,data:g}=Kr({queryKey:["service-data"],queryFn:()=>Xt.get("/services/").then(h=>h.data).then(h=>h),enabled:!!u}),S=()=>{l(h=>!h)};x.useEffect(()=>{!b&&g&&u&&f(()=>hE(g,u.name))},[b,g,u]),x.useEffect(()=>{c(m?m.message:void 0)},[m,c]),x.useEffect(()=>{l(!i)},[i]);const v=p.jsxs(on,{children:[p.jsx(Ea,{disablePadding:!0,sx:{mt:10,mb:2},children:p.jsxs(GC,{sx:{pl:3},onClick:()=>_r(`${Wn}`),children:[p.jsx(o1,{children:p.jsx(ME,{})}),p.jsx(mc,{primary:"Home"})]})}),p.jsx(Z0,{}),d.find(h=>h.pinned)?p.jsxs(p.Fragment,{children:[p.jsxs(sm,{children:[p.jsx(Ea,{disablePadding:!0,children:p.jsx(bb,{primary:"Pinned",disableTypography:!0})}),d.filter(h=>h.pinned).map((h,y)=>p.jsx(Ea,{disablePadding:!0,children:p.jsxs(xb,{onClick:()=>_r(h.url),children:[p.jsx(mc,{primary:h.name}),p.jsx(o1,{sx:{minWidth:"32px"},children:p.jsx(BE,{})})]})},y))]}),p.jsx(Z0,{})]}):p.jsx(p.Fragment,{}),p.jsxs(sm,{children:[p.jsx(Ea,{disablePadding:!0,children:p.jsx(bb,{primary:"Services",disableTypography:!0,sx:{pt:2}})}),d.map((h,y)=>p.jsx(Ea,{disablePadding:!0,children:p.jsx(xb,{onClick:()=>_r(h.url),children:p.jsx(mc,{primary:h.name})})},y))]})]});return p.jsxs(on,{sx:{flexGrow:1},children:[p.jsx(gN,{position:"fixed",sx:{zIndex:h=>h.zIndex.drawer+1,backgroundColor:h=>h.palette.common.black},children:p.jsxs(ND,{children:[p.jsx($C,{color:"inherit","aria-label":"open drawer",edge:"start",onClick:S,sx:{mr:2,display:{sm:"none"}},children:p.jsx(jE,{})}),p.jsx(on,{component:"div",sx:{flexGrow:1,display:{xs:"none",sm:"block"}},children:p.jsx("a",{href:Wn,children:p.jsx("img",{src:E8(),alt:"logo",height:"28"})})}),p.jsxs(on,{sx:{display:{xs:"none",sm:"block"}},children:[p.jsxs(At,{id:"profile-menu-btn","aria-controls":o?"profile-menu-list":void 0,"aria-haspopup":"true","aria-expanded":o?"true":void 0,onClick:h=>r(h.currentTarget),endIcon:o?p.jsx(DE,{}):p.jsx(FE,{}),sx:{color:t.palette.common.white,fontWeight:700},children:[u==null?void 0:u.name," ",u!=null&&u.admin?"(admin)":""]}),p.jsxs(ZC,{id:"profile-menu-list",anchorEl:n,open:o,onClose:()=>r(null),MenuListProps:{"aria-labelledby":"profile-menu-btn"},sx:{marginTop:"20px"},children:[p.jsx(il,{onClick:()=>_r(`${Wn}/token`),sx:{width:"180px"},children:"Tokens"}),u!=null&&u.admin?p.jsx(il,{onClick:()=>_r(`${Wn}/admin`),children:"Admin"}):p.jsx(p.Fragment,{}),p.jsx(il,{onClick:()=>_r(`${Wn}/logout`),children:"Logout"})]})]})]})}),p.jsx("nav",{children:p.jsx(GO,{container:s!==void 0?()=>s().document.body:void 0,variant:"persistent",open:a,onClose:S,ModalProps:{keepMounted:!0},sx:{"& .MuiDrawer-paper":{boxSizing:"border-box",width:240}},children:v})})]})},h9=({severity:e="error",message:t,onClose:n})=>p.jsx("div",{className:"alert-wrapper",children:t?p.jsx(oN,{id:"alert-notification",severity:e,onClose:n,children:t}):p.jsx(p.Fragment,{})});var Yg={},m9=Jn;Object.defineProperty(Yg,"__esModule",{value:!0});var zE=Yg.default=void 0,v9=m9(er()),g9=p;zE=Yg.default=(0,v9.default)((0,g9.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1m-4.44-6.19-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0"}),"CropOriginalRounded");var Zg={},y9=Jn;Object.defineProperty(Zg,"__esModule",{value:!0});var UE=Zg.default=void 0,b9=y9(er()),x9=p;UE=Zg.default=(0,b9.default)((0,x9.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2zM18 4h-2.5l-.71-.71c-.18-.18-.44-.29-.7-.29H9.91c-.26 0-.52.11-.7.29L8.5 4H6c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1"}),"DeleteRounded");var Jg={},S9=Jn;Object.defineProperty(Jg,"__esModule",{value:!0});var VE=Jg.default=void 0,C9=S9(er()),w9=p;VE=Jg.default=(0,C9.default)((0,w9.jsx)("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm4 18H6V4h7v5h5zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z"}),"UploadFile");var ey={},R9=Jn;Object.defineProperty(ey,"__esModule",{value:!0});var WE=ey.default=void 0,E9=R9(er()),_9=p;WE=ey.default=(0,E9.default)((0,_9.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility");const k9=({id:e,name:t,currentImage:n,setCurrentImage:r,currentFile:o,setCurrentFile:i,...s})=>{const[a,l]=x.useState(!1),[u,c]=x.useState(!1),d=x.useRef(null),f=C=>{C.preventDefault(),l(!0)},b=C=>{C.preventDefault(),l(!0)},m=C=>{C.preventDefault(),l(!1)},g=C=>{C.preventDefault(),l(!1);const R=C.dataTransfer.files[0];i(R)},S=C=>{if(!C.target.files)return;const R=C.target.files[0];i(R)},v=C=>{C.preventDefault(),c(!0)},h=C=>{C.preventDefault();const R=d.current;R&&R.click()},y=C=>{C.preventDefault();const R=d.current;R&&(R.value="",i(void 0),r(void 0))};return x.useEffect(()=>{const C=d.current;if(C&&C.files&&C.files.length>0){const R=C.files[0];i(R)}},[d,i]),p.jsxs("div",{id:`thumbnail-${e}`,className:"thumbnail",children:[p.jsxs("div",{id:`thumbnail-body-${e}`,className:`thumbnail-body ${a?"dragging":""} ${o||n?"selected":""}`,onDragOver:f,onDragEnter:b,onDragLeave:m,onDrop:g,children:[o||n?p.jsx("div",{className:"thumbnail-img-container",children:p.jsx("img",{src:o?URL.createObjectURL(o):n,alt:"App thumnail",className:"thumbnail-img"})}):p.jsx("div",{className:"thumbnail-icon-container",tabIndex:0,onClick:h,children:p.jsx(zE,{className:"thumbnail-icon"})}),p.jsx("input",{ref:d,id:e,name:t,type:"file",accept:"image/*",onChange:S,style:{display:"none"},...s})]}),p.jsxs("div",{className:"thumbnail-actions",children:[p.jsx(At,{id:"view-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(WE,{}),onClick:v,disabled:!o&&!n,children:"View Thumbnail"}),p.jsx(At,{id:"upload-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(VE,{}),onClick:h,children:"Upload Thumbnail"}),p.jsx(At,{id:"remove-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:p.jsx(UE,{}),onClick:y,disabled:!o&&!n,children:"Remove Thumbnail"})]}),p.jsx(hc,{onClose:()=>c(!1),open:u,children:p.jsx("img",{src:o?URL.createObjectURL(o):n,alt:"App thumnail"})})]})};var ty={},T9=Jn;Object.defineProperty(ty,"__esModule",{value:!0});var tp=ty.default=void 0,A9=T9(er()),$9=p;tp=ty.default=(0,A9.default)((0,$9.jsx)("path",{d:"M19 11H7.83l4.88-4.88c.39-.39.39-1.03 0-1.42a.9959.9959 0 0 0-1.41 0l-6.59 6.59c-.39.39-.39 1.02 0 1.41l6.59 6.59c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L7.83 13H19c.55 0 1-.45 1-1s-.45-1-1-1"}),"ArrowBackRounded");const $n=re("div")(({theme:e})=>({padding:e.spacing(0)})),P9=()=>p.jsx(on,{className:"container",children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>_r(Wn),children:"Back"})})}),p.jsxs($n,{children:[p.jsx("h1",{className:"form-heading",children:"Create a new app"}),p.jsxs("p",{className:"form-paragraph",children:["Begin your project by entering the details below. For more information about creating an app,"," ",p.jsx("a",{href:"https://jhub-apps.nebari.dev/docs/reference/create-app-form",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"}),"."]})]}),p.jsx($n,{children:p.jsx(NE,{})})]})}),N9=()=>{const[e]=kw(),t=e.get("id");return p.jsx(on,{className:"container",children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>_r(Wn),children:"Back"})})}),p.jsxs($n,{children:[p.jsx("h1",{className:"form-heading",children:"Edit app"}),p.jsxs("p",{className:"form-paragraph",children:["Edit your app details here. For more information on editing your app,"," ",p.jsx("a",{href:"https://jhub-apps.nebari.dev/docs/reference/create-app-form",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"}),"."]})]}),p.jsx($n,{children:p.jsx(p.Fragment,{children:t?p.jsx(NE,{id:t}):p.jsx(p.Fragment,{children:"No app found."})})})]})})};var ny={},I9=Jn;Object.defineProperty(ny,"__esModule",{value:!0});var HE=ny.default=void 0,O9=I9(er()),L9=p;HE=ny.default=(0,O9.default)((0,L9.jsx)("path",{d:"M18 13h-5v5c0 .55-.45 1-1 1s-1-.45-1-1v-5H6c-.55 0-1-.45-1-1s.45-1 1-1h5V6c0-.55.45-1 1-1s1 .45 1 1v5h5c.55 0 1 .45 1 1s-.45 1-1 1"}),"AddRounded");const M9=({id:e,title:t,description:n,thumbnail:r,framework:o,url:i,username:s,ready:a=!1,isPublic:l=!1,isShared:u=!1})=>{const c=_f(),[d,f]=x.useState(!1),[,b]=_t(Ni),[m,g]=x.useState(!1),[S,v]=x.useState(!1),[h,y]=x.useState(!1),C=async({id:V})=>await Xt.post(`/server/${V}`),R=async({id:V,remove:G})=>await Xt.delete(`/server/${V}`,{params:{remove:G}}),{mutate:_}=Ks({mutationFn:C,retry:1}),{mutate:E}=Ks({mutationFn:R,retry:1}),k=()=>{f(!0),E({id:e,remove:!0},{onSuccess:async()=>{f(!1),y(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},M=()=>{f(!0),_({id:e},{onSuccess:async()=>{f(!1),g(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},P=()=>{f(!0),E({id:e,remove:!1},{onSuccess:async()=>{f(!1),v(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async V=>{f(!1),b(V.message)}})},W=[{id:"start",title:"Start",onClick:()=>g(!0),visible:!0,disabled:a},{id:"stop",title:"Stop",onClick:()=>v(!0),visible:!0,disabled:!a||u},{id:"edit",title:"Edit",onClick:()=>window.location.href=`${ag}/edit-app?id=${e}`,visible:!0,disabled:u||e===""},{id:"delete",title:"Delete",onClick:()=>y(!0),visible:!0,disabled:u||e===""}],z=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to start ",p.jsx("b",{children:t}),"?"]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>g(!1),children:"Cancel"}),p.jsx(At,{id:"start-btn",variant:"contained",color:"primary",onClick:()=>M(),disabled:d,children:"Start"})]})]}),D=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to stop ",p.jsx("b",{children:t}),"?"]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>v(!1),children:"Cancel"}),p.jsx(At,{id:"stop-btn",variant:"contained",color:"primary",onClick:()=>P(),disabled:d,children:"Stop"})]})]}),U=p.jsxs(p.Fragment,{children:[p.jsxs("p",{className:"card-dialog-body",children:["Are you sure you want to delete ",p.jsx("b",{children:t}),"? This action is permanent and cannot be reversed."]}),p.jsxs(nh,{children:[p.jsx(At,{id:"cancel-btn",variant:"text",color:"secondary",onClick:()=>y(!1),children:"Cancel"}),p.jsx(At,{id:"delete-btn",variant:"contained",color:"primary",onClick:()=>k(),disabled:d,children:"Delete"})]})]});return p.jsxs("div",{className:"card",id:`card-${e}`,tabIndex:0,children:[p.jsxs("div",{className:"card-header-media",children:[p.jsxs("div",{className:"card-header-menu",children:[p.jsx(Y8,{id:`card-menu-${e}`,items:W}),m&&p.jsxs(hc,{open:m,onClose:g,children:[p.jsxs(Lp,{children:["Start ",t]}),p.jsx(Op,{children:z})]}),S&&p.jsxs(hc,{open:S,onClose:v,children:[p.jsxs(Lp,{children:["Stop ",t]}),p.jsx(Op,{children:D})]}),h&&p.jsxs(hc,{open:h,onClose:y,children:[p.jsxs(Lp,{children:["Delete ",t]}),p.jsx(Op,{children:U})]})]}),p.jsx("div",{className:"card-header-img",children:r?p.jsx("img",{src:r,alt:"App thumb"}):p.jsx(p.Fragment,{})})]}),p.jsx("div",{className:"card-header",children:p.jsx("h3",{className:"font-bold",children:p.jsx("a",{href:i,children:t})})}),p.jsxs("div",{className:"card-body",children:[p.jsx("p",{children:n}),s?p.jsxs("div",{children:[p.jsx("span",{className:"font-bold",children:"Author: "}),s]}):p.jsx(p.Fragment,{})]}),p.jsxs("div",{className:"card-footer",children:[p.jsx(Q0,{id:`tag-${e}`,label:o,variant:"outlined",size:"small"}),l?p.jsx(Q0,{id:`tag-${e}`,label:"Public",variant:"outlined",size:"small"}):p.jsx(p.Fragment,{})]})]})},Sb=({appType:e="My",filter:t})=>{const[n]=_t(ca),[,r]=_t(Ni),[o,i]=x.useState([]),{isLoading:s,error:a,data:l}=Kr({queryKey:["app-state"],queryFn:()=>Xt.get("/server/").then(u=>u.data).then(u=>u),enabled:!!n});return x.useEffect(()=>{if(!s&&l){const u=t.toLowerCase();i(()=>w8(l,e).filter(c=>{var d,f;return c.name.toLowerCase().includes(u)||((d=c.description)==null?void 0:d.toLowerCase().includes(u))||((f=c.framework)==null?void 0:f.toLowerCase().includes(u))}))}},[s,l,e,t]),x.useEffect(()=>{r(a?a.message:void 0)},[a,r]),p.jsx(on,{children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsxs(on,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",paddingBottom:"48px"},children:[p.jsx("div",{className:"grid-heading-left",children:p.jsxs("h2",{children:[e," Apps"]})}),p.jsx("div",{className:"grid-heading-center",children:p.jsx("hr",{className:"grid-spacer"})}),p.jsx("div",{className:"grid-heading-right",children:p.jsxs("h2",{children:[o.length," apps"]})})]})}),p.jsx($n,{children:p.jsx(on,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"16px",justifyContent:"flex-start",paddingBottom:"48px"},children:s?p.jsx("div",{className:"font-bold",children:"Loading..."}):o.length>0?p.jsx(p.Fragment,{children:o.map(u=>p.jsx(M9,{id:u.id,title:u.name,description:u.description,thumbnail:u.thumbnail,framework:u.framework,url:u.url,ready:u.ready,username:u.username,isPublic:u.public,isShared:e==="Shared"},`app-${u.id}`))}):p.jsx("div",{children:"No apps available"})})})]})})},F9=()=>{const[e]=_t(ca),[,t]=_t(Ni),[n,r]=x.useState([]),{isLoading:o,error:i,data:s}=Kr({queryKey:["service-data"],queryFn:()=>Xt.get("/services/").then(l=>l.data).then(l=>l),enabled:!!e}),a=(l,u)=>{u?window.open(l,"_blank"):window.location.assign(l)};return x.useEffect(()=>{!o&&s&&e&&r(()=>hE(s,e.name))},[o,s,e]),x.useEffect(()=>{t(i?i.message:void 0)},[i,t]),p.jsx(on,{children:p.jsxs(iu,{children:[p.jsx($n,{children:p.jsxs(on,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",paddingBottom:"48px"},children:[p.jsx("div",{className:"grid-heading-left",children:p.jsx("h2",{children:"Services"})}),p.jsx("div",{className:"grid-heading-center",children:p.jsx("hr",{className:"grid-spacer"})}),p.jsx("div",{className:"grid-heading-right",children:p.jsxs("h2",{children:[n.length," services"]})})]})}),p.jsx($n,{children:p.jsx(on,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"16px",justifyContent:"flex-start",paddingBottom:"48px"},children:o?p.jsx("div",{className:"font-bold",children:"Loading..."}):n.length>0?p.jsx(p.Fragment,{children:n.map((l,u)=>p.jsx(At,{id:`service-${u}`,variant:"outlined",color:"secondary",style:{minWidth:"180px"},onClick:()=>{a(l.url,l.external)},children:l.name},`service-${u}`))}):p.jsx("div",{children:"No services available"})})})]})})},Cb=()=>{const[e,t]=x.useState(""),n=r=>{const o=r.target;t(o.value)};return p.jsxs(on,{sx:{flexGrow:1},className:"container",children:[p.jsxs(Uu,{container:!0,spacing:2,paddingBottom:"48px",children:[p.jsx(Uu,{item:!0,xs:12,md:2,children:p.jsxs($n,{children:[p.jsx("h1",{children:"Home"}),p.jsx("p",{children:"Manage your apps and services!"})]})}),p.jsx(Uu,{item:!0,xs:8,md:8,children:p.jsx($n,{children:p.jsx(qi,{id:"search",size:"small",placeholder:"Search...","aria-label":"Search for an app",className:"search-bar",onChange:n})})}),p.jsx(Uu,{item:!0,xs:4,md:2,children:p.jsx($n,{children:p.jsx(on,{display:"flex",justifyContent:"flex-end",children:p.jsx(At,{id:"create-app",variant:"contained",color:"primary",startIcon:p.jsx(HE,{}),onClick:()=>{window.location.href=`${ag}/create-app`},children:"Create App"})})})})]}),p.jsx(F9,{}),p.jsx(Sb,{appType:"My",filter:e}),p.jsx(Sb,{appType:"Shared",filter:e})]})},D9=()=>{const[e]=kw(),t=mg(),n=_f(),[r,o]=x.useState(!1),[i]=_t(ca),[s,a]=_t(AE),[l]=_t(PE),[u]=_t($E),[,c]=_t(Ni),[d,f]=ve.useState((s==null?void 0:s.profile)||""),b=e.get("id"),{data:m,isLoading:g,error:S}=Kr({queryKey:["server-types"],queryFn:()=>Xt.get("/spawner-profiles/").then(E=>E.data).then(E=>E),enabled:!!i}),v=E=>{f(E),s&&a({...s,profile:E})},h=E=>{E.preventDefault();const k={servername:(s==null?void 0:s.display_name)||"",user_options:{jhub_app:!0,name:(s==null?void 0:s.display_name)||"",display_name:(s==null?void 0:s.display_name)||"",description:(s==null?void 0:s.description)||"",framework:(s==null?void 0:s.framework)||"",thumbnail:(s==null?void 0:s.thumbnail)||"",filepath:(s==null?void 0:s.filepath)||"",conda_env:(s==null?void 0:s.conda_env)||"",env:(s==null?void 0:s.env)||"",custom_command:(s==null?void 0:s.custom_command)||"",profile:(s==null?void 0:s.profile)||"",public:(s==null?void 0:s.is_public)||!1}};o(!0),b?_(k,{onSuccess:async()=>{n.invalidateQueries({queryKey:["app-state"]})},onError:async M=>{o(!1),c(M.message)}}):R(k,{onSuccess:async M=>{const P=i==null?void 0:i.name;if(P&&(M==null?void 0:M.length)>1){const W=M[1];window.location.assign(`/hub/spawn-pending/${P}/${W}`)}},onError:async M=>{o(!1),c(M.message)}})},y=async({servername:E,user_options:k})=>{const M={accept:"application/json","Content-Type":"multipart/form-data"},P=new FormData;return P.append("data",JSON.stringify({servername:E,user_options:k})),l&&P.append("thumbnail",l),(await Xt.post("/server",P,{headers:M})).data},C=async({servername:E,user_options:k})=>{const M={accept:"application/json","Content-Type":"multipart/form-data"},P=new FormData;return P.append("data",JSON.stringify({servername:E,user_options:k})),l?P.append("thumbnail",l):u&&P.append("thumbnail_data_url",u),(await Xt.put(`/server/${E}`,P,{headers:M})).data},{mutate:R}=Ks({mutationFn:y,retry:1}),{mutate:_}=Ks({mutationFn:C,retry:1});return p.jsxs("div",{className:"container",children:[p.jsx("div",{className:"form-breadcrumb",children:p.jsx(At,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:p.jsx(tp,{}),onClick:()=>t(b?`/edit-app?id=${b}`:"/create-app"),children:"Back"})}),p.jsxs("div",{className:"row",children:[p.jsx("h1",{className:"form-heading",children:"Server Type"}),p.jsxs("p",{className:"form-paragraph",children:["Please select the appropriate server for your app. For more information on server types,"," ",p.jsx("span",{children:p.jsx("a",{href:"https://www.nebari.dev/docs/welcome",target:"_blank",rel:"noopener noreferrer",className:"form-paragraph-link",children:"visit our docs"})}),"."]})]}),S?p.jsxs("div",{children:["An error occurred: ",S.message]}):g?p.jsx("div",{className:"font-bold center",children:"Loading..."}):m&&m.length>0?p.jsxs("form",{className:"form",onSubmit:h,children:[p.jsx("div",{className:"form-section",children:p.jsx(tD,{children:m==null?void 0:m.map((E,k)=>p.jsx(FI,{className:"server-type-card",onClick:()=>v(E.slug),tabIndex:0,children:p.jsxs(VI,{children:[p.jsx(UC,{value:E.slug,id:E.slug,control:p.jsx(ZF,{checked:d?d===E.slug:k===0}),label:E.display_name},E.slug),p.jsx("p",{children:E.description})]})},`server-type-card-${E.slug}`))})}),p.jsx("hr",{}),p.jsxs("div",{className:"button-section",children:[p.jsx("div",{className:"prev",children:p.jsx(At,{id:"cancel-btn",type:"button",variant:"text",color:"secondary",onClick:()=>_r(Wn),children:"Cancel"})}),p.jsx("div",{className:"next",children:p.jsx(At,{id:"submit-btn",type:"submit",variant:"contained",color:"primary",disabled:r,children:b?p.jsx(p.Fragment,{children:"Save"}):p.jsx(p.Fragment,{children:"Create App"})})})]})]}):p.jsx("div",{children:"No servers available"})]})},j9=()=>{const[,e]=_t(W8),[,t]=_t(ca),[n,r]=_t(Ni),{error:o,data:i}=Kr({queryKey:["user-state"],queryFn:()=>Xt.get("/user").then(s=>s.data).then(s=>s)});return x.useEffect(()=>{o&&r(o.message)},[o,r]),x.useEffect(()=>{e(C8())},[e]),x.useEffect(()=>{i&&t({...i})},[i,t]),p.jsxs("div",{children:[p.jsx(p9,{}),p.jsxs(on,{component:"main",sx:{flexGrow:1,pt:9,pl:{xs:1,sm:33},pr:1},children:[n?p.jsx(h9,{message:n,onClose:()=>r(void 0)}):p.jsx(p.Fragment,{}),p.jsxs(c4,{children:[p.jsx(Gi,{path:"/home",element:p.jsx(Cb,{})}),p.jsx(Gi,{path:"/create-app",element:p.jsx(P9,{})}),p.jsx(Gi,{path:"/edit-app",element:p.jsx(N9,{})}),p.jsx(Gi,{path:"/server-types",element:p.jsx(D9,{})}),p.jsx(Gi,{path:"/",element:p.jsx(Cb,{})})]})]})]})},B9={50:"#2491FF",100:"#2491FF",200:"#2491FF",300:"#2491FF",400:"#2491FF",500:"#005EA2",600:"#1A4480",700:"#1A4480",800:"#1A4480",900:"#162E51"},Lt={50:"#F7F8F8",100:"#E1E3E4",200:"#C3C7CB",300:"#A6ACB2",400:"#90969C",500:"#5B5F63",600:"#44474A",700:"#3C3C3B",800:"#242628",900:"#1A1C1D"},Xu="#BA18DA",wb="#BA18DA10",Rb="#9B00CE",Vi="#18817A",z9="#18817A10",U9="#12635E",V9="#D72D47",W9="#F66A0A",gr="#FFFFFF",Eb="#000000",Yu=Kd({typography:{fontFamily:'"Inter", sans-serif'},components:{MuiButtonBase:{defaultProps:{disableRipple:!0,style:{textTransform:"none",textWrap:"nowrap"}}},MuiFormControl:{defaultProps:{fullWidth:!0,sx:{marginBottom:"12px"}}},MuiTextField:{defaultProps:{autoComplete:"off",fullWidth:!0,sx:{marginBottom:"0"}}},MuiSelect:{defaultProps:{fullWidth:!0}}}}),H9=Kd(Yu,{palette:{primary:Yu.palette.augmentColor({color:{light:wb,main:Xu,dark:Rb,contrastText:gr},name:"primary"}),secondary:Yu.palette.augmentColor({color:{light:z9,main:Vi,dark:U9,contrastText:gr},name:"secondary"}),gray:Yu.palette.augmentColor({color:{light:Lt[300],main:Lt[500],dark:Lt[700],contrastText:Eb,50:Lt[50],100:Lt[100],200:Lt[200],300:Lt[300],400:Lt[400],500:Lt[500],600:Lt[600],700:Lt[700],800:Lt[800],900:Lt[900]},name:"gray"}),warning:{main:W9,contrastText:gr},error:{main:V9,contrastText:gr},info:{main:B9,contrastText:gr},success:{main:Vi[500],contrastText:gr},common:{black:Eb,white:gr}},components:{MuiButton:{variants:[{props:{variant:"contained",color:"primary"},style:{minWidth:"120px",backgroundColor:`${Xu}`,border:`1px solid ${Xu}`,fontWeight:700,"&:hover":{backgroundColor:`${Rb}`},"&:disabled":{borderColor:"transparent"}}},{props:{variant:"contained",color:"secondary"},style:{minWidth:"120px",backgroundColor:Lt[100],border:`1px solid ${Lt[100]}`,color:Lt[700],fontWeight:700,"&:hover":{backgroundColor:gr,filter:"brightness(0.96)"},"&:disabled":{borderColor:"transparent"}}},{props:{variant:"outlined",color:"secondary"},style:{minWidth:"120px",backgroundColor:gr,border:`2px solid ${Vi}`,color:`${Vi}`,fontWeight:700,textTransform:"none","&:hover":{backgroundColor:gr,borderWidth:2,border:`2px solid ${Vi}`,color:`${Vi}`}}},{props:{variant:"text",color:"primary"},style:{color:`${Xu}`,"&:focus":{backgroundColor:`${wb}`}}},{props:{variant:"text",color:"secondary"},style:{color:Lt[500],"&:focus":{backgroundColor:`${Lt[100]}`}}}]}}}),K9=new URL(window.location.href),q9=new rj;xm.createRoot(document.getElementById("root")).render(p.jsx(ve.StrictMode,{children:p.jsx(h4,{basename:K9.pathname.indexOf("hub")===-1?ag:Wn,children:p.jsx(i6,{children:p.jsxs(GT,{theme:H9,children:[p.jsx(JI,{}),p.jsx(lj,{client:q9,children:p.jsx(j9,{})})]})})})}));