airdcpp-webui
Version:
2 lines • 20.9 kB
JavaScript
;(self.webpackChunkairdcpp_webui=self.webpackChunkairdcpp_webui||[]).push([[550],{4112:(n,e,s)=>{s.d(e,{R:()=>t});var i=s(4425);const t=(n,e)=>({id:"remove",displayName:"Close",access:e,icon:i.A.REMOVE,handler:({itemData:e,socket:s})=>s.delete(`${n}/${e.id}`)})},38453:(n,e,s)=>{s.d(e,{J:()=>t,q:()=>o});var i=s(74848);s(96540);const t=({label:n,text:e})=>(0,i.jsx)("div",{className:"grid-item",children:(0,i.jsx)("div",{className:"item-inner",children:n&&"string"==typeof e?`${n}: ${e}`:e})}),o=({children:n})=>(0,i.jsxs)("div",{className:"session-footer",children:[(0,i.jsx)("div",{className:"ui footer divider"}),(0,i.jsx)("div",{className:"info-grid ui",children:n})]})},46510:(n,e,s)=>{s.d(e,{A:()=>a});var i=s(71354),t=s.n(i),o=s(76314),r=s.n(o)()(t());r.push([n.id,".session-container {\n background-color: white;\n}\n\n.session-container.horizontal.ui.grid {\n margin: 0px !important;\n}\n\n.session-container.horizontal .menu-column .item.new {\n padding: 0.78571429em 1.1em !important;\n}\n\n.session-container.horizontal .ui.vertical.menu .item > i.icon {\n margin: 0 0.35714286em 0 0 !important;\n}\n\n.session-container.horizontal .session-layout > .ui.divider {\n margin: 5px 0px 0px 0px;\n}\n\n.session-container.vertical {\n padding: 15px;\n display: flex;\n flex-direction: column;\n}\n.session-layout {\n flex: 100 100 auto;\n display: flex;\n overflow: hidden;\n}\n\n.session-container.horizontal .session-layout {\n flex-direction: column;\n}\n\n.session-container.vertical .menu-bar {\n justify-content: space-between;\n margin: 0px !important;\n}\n\n.session-container.vertical .menu-bar .content-left {\n width: 100%;\n}\n\n.session-container.vertical .menu-bar .close-button.item:before {\n background: none !important;\n}\n\n.session-container.vertical .menu-bar .close-button.item {\n box-shadow: none !important;\n}\n\n.session-container.vertical .menu-bar .content-left > .ui.dropdown {\n float: left;\n}\n\n.session-container.vertical .menu-bar .content-left > .ui.dropdown .menu {\n max-height: calc(100dvh - 140px);\n overflow-y: auto;\n overflow-x: hidden;\n max-width: calc(100vw - 30px);\n}\n\n.session-container.vertical .session-item .count.label {\n margin-left: 1em !important;\n}\n\n.session-container.vertical .session-header {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.session-container.vertical .session-header > div {\n max-width: 90%; /* Hack, auto width won't work without \"overflow: hidden\", but that would prevent viewing the menu items */\n padding: 0.82857143em 0.4285714em;\n line-height: 1.2;\n}\n\n.session-container.vertical .session-header > div:before {\n background: none !important;\n}\n\n.session-container.vertical .session-header > i {\n margin-left: 10px;\n}\n\n.session-container.vertical .session-header .ui.dropdown > i {\n margin: 0px 5px;\n}\n\n/* Fix a few inconsistencies between 'icon' and 'icons' classnames */\n.session-container.horizontal .session-header .header > i,\n.session-container.vertical .session-header > i {\n width: inherit !important;\n font-size: 1.5em;\n}\n\n.session-container.horizontal .session-header .ui.header {\n align-items: center;\n}\n\n.session-container.vertical .menu-bar {\n border-radius: 0px !important;\n padding-bottom: 0px;\n}\n\n.session-container,\n.session-layout,\n.session-container.horizontal .column {\n height: 100%;\n}\n\n.session-container.horizontal .column > div {\n max-height: 100%;\n}\n\n.session-container .session-item {\n overflow: hidden;\n display: flex !important;\n align-items: center;\n padding: 0.68571429em 0.92857143em !important;\n height: 35px;\n}\n\n.session-container .session-item .session-status {\n float: none !important;\n margin: 0 0.5em 0 0 !important;\n}\n\n.session-container .session-item span.name {\n overflow: hidden;\n flex: 1 1 100%;\n line-height: 1.2;\n}\n\n.session-container .session-status {\n margin-right: 5px;\n margin-top: 3px;\n}\n\n.session-container.horizontal .menu-column {\n display: flex !important;\n flex-direction: column;\n padding-right: 0px !important;\n}\n\n.session-container.horizontal .menu-column .menu {\n width: initial !important;\n overflow-y: auto;\n padding-top: 10px;\n flex: 1;\n}\n\n.session-container.horizontal .menu-column .session-item span.name,\n.session-container .session-header .ui.dropdown .caption {\n overflow: hidden;\n white-space: nowrap;\n}\n\n.session-container .session-header .title .ui.dropdown {\n width: 100%;\n}\n\n.session-layout .sub.header {\n overflow: hidden;\n}\n\n.session-layout .sub.header img {\n vertical-align: text-top;\n}\n\n.session-footer .info-grid {\n margin-top: 7px !important;\n font-size: small;\n color: grey;\n display: flex;\n flex: 1;\n align-items: flex-end;\n}\n\n.session-footer .info-grid > div {\n flex: 1;\n}\n\n.session-footer .info-grid > div:last-child > div {\n float: right;\n}\n\n.session-footer .info-grid > div:only-child > div {\n float: inherit;\n}\n\n.session-footer .ui.checkbox {\n min-height: inherit !important;\n}\n\n.session-footer .divider {\n margin-top: 8px;\n margin-bottom: 0px;\n}\n\n/* New session layout */\n.session.new {\n flex: 100 100 0%;\n display: flex;\n flex-direction: column;\n overflow-y: hidden;\n margin-top: 20px;\n padding: 1px;\n}\n\n.session.new .recents {\n flex: 100 100 0%;\n display: flex;\n flex-direction: column;\n margin-top: 20px;\n overflow-y: hidden;\n}\n\n.session.new .recents .list {\n padding: 3px 5px;\n flex: 100 100 0%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n","",{version:3,sources:["webpack://./src/routes/Sidebar/sessions.css"],names:[],mappings:"AAAA;EACE,uBAAuB;AACzB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,aAAa;EACb,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,gBAAgB;AAClB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,8BAA8B;EAC9B,sBAAsB;AACxB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,gCAAgC;EAChC,gBAAgB;EAChB,kBAAkB;EAClB,6BAA6B;AAC/B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;AACd;;AAEA;EACE,cAAc,EAAE,2GAA2G;EAC3H,iCAAiC;EACjC,gBAAgB;AAClB;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,eAAe;AACjB;;AAEA,oEAAoE;AACpE;;EAEE,yBAAyB;EACzB,gBAAgB;AAClB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,6BAA6B;EAC7B,mBAAmB;AACrB;;AAEA;;;EAGE,YAAY;AACd;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;EAChB,wBAAwB;EACxB,mBAAmB;EACnB,6CAA6C;EAC7C,YAAY;AACd;;AAEA;EACE,sBAAsB;EACtB,8BAA8B;AAChC;;AAEA;EACE,gBAAgB;EAChB,cAAc;EACd,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,eAAe;AACjB;;AAEA;EACE,wBAAwB;EACxB,sBAAsB;EACtB,6BAA6B;AAC/B;;AAEA;EACE,yBAAyB;EACzB,gBAAgB;EAChB,iBAAiB;EACjB,OAAO;AACT;;AAEA;;EAEE,gBAAgB;EAChB,mBAAmB;AACrB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,0BAA0B;EAC1B,gBAAgB;EAChB,WAAW;EACX,aAAa;EACb,OAAO;EACP,qBAAqB;AACvB;;AAEA;EACE,OAAO;AACT;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,eAAe;EACf,kBAAkB;AACpB;;AAEA,uBAAuB;AACvB;EACE,gBAAgB;EAChB,aAAa;EACb,sBAAsB;EACtB,kBAAkB;EAClB,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,gBAAgB;EAChB,aAAa;EACb,sBAAsB;EACtB,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,kBAAkB;AACpB",sourcesContent:[".session-container {\n background-color: white;\n}\n\n.session-container.horizontal.ui.grid {\n margin: 0px !important;\n}\n\n.session-container.horizontal .menu-column .item.new {\n padding: 0.78571429em 1.1em !important;\n}\n\n.session-container.horizontal .ui.vertical.menu .item > i.icon {\n margin: 0 0.35714286em 0 0 !important;\n}\n\n.session-container.horizontal .session-layout > .ui.divider {\n margin: 5px 0px 0px 0px;\n}\n\n.session-container.vertical {\n padding: 15px;\n display: flex;\n flex-direction: column;\n}\n.session-layout {\n flex: 100 100 auto;\n display: flex;\n overflow: hidden;\n}\n\n.session-container.horizontal .session-layout {\n flex-direction: column;\n}\n\n.session-container.vertical .menu-bar {\n justify-content: space-between;\n margin: 0px !important;\n}\n\n.session-container.vertical .menu-bar .content-left {\n width: 100%;\n}\n\n.session-container.vertical .menu-bar .close-button.item:before {\n background: none !important;\n}\n\n.session-container.vertical .menu-bar .close-button.item {\n box-shadow: none !important;\n}\n\n.session-container.vertical .menu-bar .content-left > .ui.dropdown {\n float: left;\n}\n\n.session-container.vertical .menu-bar .content-left > .ui.dropdown .menu {\n max-height: calc(100dvh - 140px);\n overflow-y: auto;\n overflow-x: hidden;\n max-width: calc(100vw - 30px);\n}\n\n.session-container.vertical .session-item .count.label {\n margin-left: 1em !important;\n}\n\n.session-container.vertical .session-header {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.session-container.vertical .session-header > div {\n max-width: 90%; /* Hack, auto width won't work without \"overflow: hidden\", but that would prevent viewing the menu items */\n padding: 0.82857143em 0.4285714em;\n line-height: 1.2;\n}\n\n.session-container.vertical .session-header > div:before {\n background: none !important;\n}\n\n.session-container.vertical .session-header > i {\n margin-left: 10px;\n}\n\n.session-container.vertical .session-header .ui.dropdown > i {\n margin: 0px 5px;\n}\n\n/* Fix a few inconsistencies between 'icon' and 'icons' classnames */\n.session-container.horizontal .session-header .header > i,\n.session-container.vertical .session-header > i {\n width: inherit !important;\n font-size: 1.5em;\n}\n\n.session-container.horizontal .session-header .ui.header {\n align-items: center;\n}\n\n.session-container.vertical .menu-bar {\n border-radius: 0px !important;\n padding-bottom: 0px;\n}\n\n.session-container,\n.session-layout,\n.session-container.horizontal .column {\n height: 100%;\n}\n\n.session-container.horizontal .column > div {\n max-height: 100%;\n}\n\n.session-container .session-item {\n overflow: hidden;\n display: flex !important;\n align-items: center;\n padding: 0.68571429em 0.92857143em !important;\n height: 35px;\n}\n\n.session-container .session-item .session-status {\n float: none !important;\n margin: 0 0.5em 0 0 !important;\n}\n\n.session-container .session-item span.name {\n overflow: hidden;\n flex: 1 1 100%;\n line-height: 1.2;\n}\n\n.session-container .session-status {\n margin-right: 5px;\n margin-top: 3px;\n}\n\n.session-container.horizontal .menu-column {\n display: flex !important;\n flex-direction: column;\n padding-right: 0px !important;\n}\n\n.session-container.horizontal .menu-column .menu {\n width: initial !important;\n overflow-y: auto;\n padding-top: 10px;\n flex: 1;\n}\n\n.session-container.horizontal .menu-column .session-item span.name,\n.session-container .session-header .ui.dropdown .caption {\n overflow: hidden;\n white-space: nowrap;\n}\n\n.session-container .session-header .title .ui.dropdown {\n width: 100%;\n}\n\n.session-layout .sub.header {\n overflow: hidden;\n}\n\n.session-layout .sub.header img {\n vertical-align: text-top;\n}\n\n.session-footer .info-grid {\n margin-top: 7px !important;\n font-size: small;\n color: grey;\n display: flex;\n flex: 1;\n align-items: flex-end;\n}\n\n.session-footer .info-grid > div {\n flex: 1;\n}\n\n.session-footer .info-grid > div:last-child > div {\n float: right;\n}\n\n.session-footer .info-grid > div:only-child > div {\n float: inherit;\n}\n\n.session-footer .ui.checkbox {\n min-height: inherit !important;\n}\n\n.session-footer .divider {\n margin-top: 8px;\n margin-bottom: 0px;\n}\n\n/* New session layout */\n.session.new {\n flex: 100 100 0%;\n display: flex;\n flex-direction: column;\n overflow-y: hidden;\n margin-top: 20px;\n padding: 1px;\n}\n\n.session.new .recents {\n flex: 100 100 0%;\n display: flex;\n flex-direction: column;\n margin-top: 20px;\n overflow-y: hidden;\n}\n\n.session.new .recents .list {\n padding: 3px 5px;\n flex: 100 100 0%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n"],sourceRoot:""}]);const a=r},78046:(n,e,s)=>{s.d(e,{Z:()=>c});var i=s(74848),t=(s(96540),s(99347)),o=s(67749),r=s(32389),a=s(42695),A=s(13017),l=s(97145);const c=(n,e,s)=>c=>{const{t:d}=(0,r.Bd)(),m=(0,a.lw)(d,s),u=(0,A.g)(),p=(0,l.c7)(n=>e(n).sessions);return p?(0,i.jsx)(n,{items:p,params:u,sessionT:m}):(0,i.jsx)(t.A,{text:(0,a.Tl)("Loading sessions",d,o.KV.COMMON)})}},80783:(n,e,s)=>{s.d(e,{q:()=>l});var i=s(96540),t=s(97145),o=s(48249),r=s(39364),a=s(80377),A=s(35106);const l=(n,e,s,l=!1)=>{const c=(0,r.sL)(),d=(0,o.F)(),m=(0,t.c7)(n=>n.activity.userActive),u=(0,t.c7)(n=>s(n).setActiveSession),p=i.useRef(void 0),h=n=>{(0,A.m)(n,()=>{e.setRead(n,d)}),p.current=void 0};i.useEffect(()=>()=>{u(null)},[]),i.useEffect(()=>(u(n),()=>{p.current&&(clearTimeout(p.current),n&&h(n))}),[n.id]),i.useEffect(()=>{m&&(n=>{const e=l?1e3*c.getState().settings.getValue(a.x.UNREAD_LABEL_DELAY):0;p.current=window.setTimeout(()=>h(n),e)})(n)},[m,n.id])}},91950:(n,e,s)=>{s.d(e,{A:()=>en});var i=s(74848),t=s(96540),o=s(99347),r=s(8098),a=s(68514),A=s(31104),l=s(19247),c=s(25906),d=s(67749),m=s(42695),u=s(4425),p=s(32389),h=s(97145);const E=({sessionMenuItems:n,newButton:e,sessionStoreSelector:s,listActionMenuGetter:t})=>{const{t:o}=(0,p.Bd)(),r=(0,h.c7)(n=>s(n).getTotalUrgencies);return(0,i.jsxs)(A.A,{triggerIcon:(0,i.jsx)(c.Z,{label:"Session menu",urgencies:r()}),children:[(0,i.jsx)(l.A,{caption:(0,m.Tl)("New",o,d.KV.COMMON),children:e}),(0,i.jsx)(l.A,{caption:(0,m.Tl)("Current sessions",o,d.KV.COMMON),children:n}),(0,i.jsx)(l.A,{children:t()})]})},g=({actions:n,activeItem:e})=>{if(!e||(0,r.vU)())return null;const s=Object.values(n.actions)[Object.values(n.actions).length-1];return(0,i.jsx)(a.A,{className:"basic small item close-button",action:s,moduleData:n.moduleData,itemData:e,icon:u.A.CLOSE})},B=({itemHeaderIcon:n,itemHeaderTitle:e})=>(0,i.jsxs)("div",{className:"session-header",children:[n,e]}),x=n=>{var{children:e,onKeyDown:s}=n,t=function(n,e){var s={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(s[i]=n[i]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var t=0;for(i=Object.getOwnPropertySymbols(n);t<i.length;t++)e.indexOf(i[t])<0&&Object.prototype.propertyIsEnumerable.call(n,i[t])&&(s[i[t]]=n[i[t]])}return s}(n,["children","onKeyDown"]);return(0,i.jsxs)("div",{className:"session-container vertical",onKeyDown:s,tabIndex:0,children:[(0,i.jsxs)("div",{className:"ui main menu menu-bar",children:[(0,i.jsxs)("div",{className:"content-left",children:[(0,i.jsx)(E,Object.assign({},t)),(0,i.jsx)(B,Object.assign({},t))]}),(0,i.jsx)(g,Object.assign({},t))]}),(0,i.jsx)("div",{className:"session-layout",children:e})]})};var f=s(31224),v=s(73070);const C=({sessionMenuItems:n,newButton:e,itemHeaderIcon:s,itemHeaderTitle:o,children:r,itemHeaderDescription:a,onKeyDown:A})=>(e&&(e=t.cloneElement(e,{className:e.props.className+" ui fluid button"})),(0,i.jsxs)(v.xA,{className:"session-container horizontal",onKeyDown:A,tabIndex:0,children:[(0,i.jsxs)("div",{className:"four wide column menu-column",children:[e,!!n.length&&(0,i.jsx)("div",{className:"ui vertical secondary menu",role:"menubar",children:n})]}),(0,i.jsx)("div",{className:"twelve wide stretched column content-column session",children:(0,i.jsxs)("div",{className:"ui segment session-layout",children:[(0,i.jsx)(f.A,{className:"session-header",icon:s,title:(0,i.jsx)("div",{className:"title",children:o}),subHeader:a}),(0,i.jsx)("div",{className:"ui divider",style:{margin:"5px 0px 0px 0px"}}),r]})})]}));var w=s(32728),b=s(18220),y=s(13017),j=s(20311),I=s.n(j);const N=({baseUrl:n})=>{const e=(0,y.Zp)(),s=e=>(I()(!!e,"Trying to get session URL without a session"),`/${n}/session/${e}`),i=`/${n}/new`;return{newUrl:`/${n}/new`,replaceNew:()=>{e(i,{replace:!0})},getSessionUrl:s,pushSession:n=>{e(s(n))},replaceSession:(n,i)=>{e(s(n),{replace:!0,state:i})}}};var O=s(48249);const S=(n,e)=>n.find(n=>n.id===e);var z=s(71352),k=s(46942),T=s.n(k),M=s(45325);const D=({url:n,title:e,className:s})=>(0,i.jsx)(M.A,{className:T()("new",s),icon:u.A.CREATE,url:n,children:e},"button-new"),H=({sessionItem:n,status:e,name:s,unreadInfoStoreSelector:t,url:o})=>(0,i.jsx)(M.A,{url:o,className:"session-item",icon:e,sessionItem:n,unreadInfoStoreSelector:t,children:s});var U=s(83994),K=s(27725),L=s(39364),G=s(85072),V=s.n(G),Y=s(97825),W=s.n(Y),R=s(77659),$=s.n(R),q=s(55056),_=s.n(q),F=s(10540),P=s.n(F),Z=s(41113),J=s.n(Z),X=s(46510),Q={};Q.styleTagTransform=J(),Q.setAttributes=_(),Q.insert=$().bind(null,"head"),Q.domAPI=W(),Q.insertStyleElement=P(),V()(X.A,Q),X.A&&X.A.locals&&X.A.locals;var nn=s(70756);const en=n=>{const e=(0,L.wV)(),s=(0,b.y)(),a=(0,y.Zp)(),A=(0,y.zy)(),{activeItem:l,onKeyDown:c}=(n=>{const[e,s]=t.useState(null),i=(0,y.zy)(),o=(0,O.F)(),{pushSession:a,replaceSession:A,newUrl:l,replaceNew:c}=N({baseUrl:n.baseUrl}),d=()=>`${n.baseUrl}_last_active`;return t.useLayoutEffect(()=>{if(i.pathname===l)return void(e&&s(null));if((()=>{const e=i,t=e.state&&e.state.pending,o=S(n.items,n.activeId);return o?t?(A(o.id,{pending:!1}),!0):(s(o),(0,r.MS)(d(),n.activeId),!0):!!t||0===n.items.length&&(c(),s(null),!0)})())return;if(!e){const e=(0,r.H5)(d());if(e&&S(n.items,e))return void A(e)}const{items:t,activeId:o}=n;let a=0;const m=S(t,o);m&&(a=t.indexOf(m),a===t.length-1&&(a-=1)),A(t[a].id)},[i,n.items]),{onKeyDown:e=>{const{key:s,altKey:i}=e;if(!i||"ArrowUp"!==s&&"ArrowDown"!==s){if(i&&"Insert"===s)e.preventDefault(),c();else if(i&&"Delete"===s){e.preventDefault();const{items:s,activeId:i,sessionApi:t}=n,r=S(s,i);r&&t.removeSession(r,o)}}else{e.preventDefault();const{items:i,activeId:t}=n,o=S(i,t);if(!o)return;const r=i.indexOf(o);if(-1===r)return;const A=i["ArrowUp"===s?r-1:r+1];A&&a(A.id)}},activeItem:e}})(n),h=(0,nn.z)(e,n.editAccess),E=!!n.newLayout&&A.pathname.endsWith("/new"),{disableSideMenu:g,items:B,sessionStoreSelector:f,sessionT:v,uiActions:j}=n,I=g||(0,r.vU)(s),{getItemHeaderTitle:k,getItemHeaderDescription:T,getItemHeaderIcon:M,getNewButton:G,getSessionMenuItems:V,getSessionActionMenuItems:Y}=(n=>{const e=(0,O.F)(),s=(0,y.zy)(),{t}=(0,p.Bd)(),{newUrl:o,getSessionUrl:r}=N({baseUrl:n.baseUrl}),a=e=>{const{itemStatusGetter:s,itemHeaderIconGetter:t}=n;return s?(0,i.jsx)("div",{className:"ui session-status empty circular left mini label "+s(e)}):(0,i.jsx)(U.A,{icon:t(e)})};return{getItemHeaderDescription:()=>{const{itemHeaderDescriptionGetter:e,newDescription:s,activeItem:i,isNewLayout:t}=n;return t?s:i?e(i):null},getItemHeaderIcon:()=>{const{itemHeaderIconGetter:e,newIcon:s,activeItem:t,isNewLayout:o}=n;return o?(0,i.jsx)(U.A,{icon:s}):t?(0,i.jsx)(U.A,{icon:e(t)}):null},getItemHeaderTitle:()=>{const{activeItem:e,newCaption:t,remoteMenuId:o,isNewLayout:r}=n;if(r)return(0,i.jsx)("div",{children:t});if(!e)return null;const{uiActions:a,actionIds:A,itemNameGetter:l,itemHeaderTitleGetter:c}=n,d=A?[...A,"divider","remove"]:void 0,m=(0,i.jsx)(z.Wy,{caption:l(e),actions:a,itemData:e,ids:d,remoteMenuId:o});if(c){const n=c(e,s,m);if(n)return n}return m},getSessionActionMenuItems:()=>{const{items:s,hasEditAccess:o}=n;return o&&0!==s.length?(0,i.jsx)(K.A,{onClick:()=>{const{sessionApi:s,items:i}=n;i.forEach(n=>s.removeSession(n,e))},icon:u.A.REMOVE,children:(0,m.Tl)("Close all",t,d.KV.COMMON)},"close"):null},getNewButton:()=>{const{newCaption:e,hasEditAccess:s}=n;return s&&e?(0,i.jsx)(D,{title:e,url:o},"new-button"):null},getSessionMenuItems:()=>n.items.map(e=>{const{itemNameGetter:s,sessionStoreSelector:t}=n;return(0,i.jsx)(H,{url:r(e.id),name:s(e),unreadInfoStoreSelector:t,status:a(e),sessionItem:e},e.id)})}})(Object.assign(Object.assign({},n),{activeItem:l,hasEditAccess:h,isNewLayout:E}));if(!h&&0===B.length)return(0,i.jsx)(w.A,{title:(0,m.Tl)("No items to show",v.plainT,d.KV.COMMON),description:v.plainT((0,m.j2)("noSessionEditAccess",d.KV.COMMON),"You aren't allowed to open new sessions")});const W=I?x:C;return(0,i.jsx)(W,{itemHeaderTitle:k(),itemHeaderDescription:T(),itemHeaderIcon:M(),newButton:G(),sessionMenuItems:V(),listActionMenuGetter:Y,activeItem:l,sessionStoreSelector:f,onKeyDown:c,actions:j,children:(()=>{const{newLayout:e,sessionT:s}=n;return E&&e?(0,i.jsx)(e,{navigate:a,location:A,sessionT:s}):(()=>{const{activeId:e,items:s,sessionItemLayout:t,sessionApi:r,uiActions:c,sessionT:u,baseUrl:p}=n;if(!l){const{state:n}=A;return n&&n.pending?(0,i.jsx)(o.A,{text:(0,m.Tl)("Waiting for server response",u.plainT,d.KV.COMMON)}):e||0!==s.length?(0,i.jsx)(o.A,{text:(0,m.Tl)("Loading session",u.plainT,d.KV.COMMON)}):void console.error("SessionLayout route: active session missing")}return(0,i.jsx)(t,{sessionItem:l,sessionApi:r,uiActions:c,location:A,navigate:a,sessionT:u,baseUrl:p})})()})()})}}}]);
//# sourceMappingURL=550.43735d298b0c3e70c6bd.chunk.js.map