airdcpp-webui
Version:
2 lines • 26.1 kB
JavaScript
;(self.webpackChunkairdcpp_webui=self.webpackChunkairdcpp_webui||[]).push([[187],{48916:(e,t,n)=>{n.d(t,{A:()=>a});var s=n(74848),r=(n(96540),n(83994)),i=n(77856);const a=e=>{var{hub:t}=e,n=function(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n}(e,["hub"]);return(0,s.jsx)(r.A,Object.assign({},n,{icon:(0,i.D8)(t.connect_state.id)+" sitemap"}))}},52237:(e,t,n)=>{n.d(t,{A:()=>l});var s=n(71354),r=n.n(s),i=n(76314),a=n.n(i)()(r());a.push([e.id,".fileitem.info.segment .dupe-paths .path {\n overflow-x: hidden;\n}\n\n.fileitem.info.segment .download.ui.dropdown {\n max-width: 150px;\n margin-top: 10px;\n}\n\n.fileitem.info.segment .title.column {\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.fileitem.info.segment .value.column {\n word-break: break-all;\n}\n","",{version:3,sources:["webpack://./src/components/file-item-info/style.css"],names:[],mappings:"AAAA;EACE,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;EAChB,mBAAmB;AACrB;;AAEA;EACE,qBAAqB;AACvB",sourcesContent:[".fileitem.info.segment .dupe-paths .path {\n overflow-x: hidden;\n}\n\n.fileitem.info.segment .download.ui.dropdown {\n max-width: 150px;\n margin-top: 10px;\n}\n\n.fileitem.info.segment .title.column {\n margin-top: auto;\n margin-bottom: auto;\n}\n\n.fileitem.info.segment .value.column {\n word-break: break-all;\n}\n"],sourceRoot:""}]);const l=a},87721:(e,t,n)=>{n.r(t),n.d(t,{default:()=>tt});var s=n(74848),r=n(96540),i=n(13017),a=n(88939),l=n(47650),o=n(56484),c=n(7892);const u=({itemInfo:e,entity:t},n,s)=>s.post(`${l.A.MODULE_URL}/${t.id}/results/${e.id}/download`,n);var d=n(42695),h=n(48249),p=n(86038),A=n(67749),m=n(99671),f=n(5945),x=n(88544),y=n(54895),g=n(71352),E=n(86668),j=n(32389),v=n(39115),b=n(74416);const S=({result:e})=>{const{formatConnection:t}=(0,b.k)();return(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{className:"user dropdown",children:(0,s.jsx)(g.Bg,{userIcon:!0,user:e.user,directory:e.path,ids:E.F9,contextElement:".ui.modal > .content",remoteMenuId:v.Ay.HINTED_USER})}),(0,s.jsx)("td",{className:"hubs",children:e.user.hub_names}),(0,s.jsx)("td",{className:"connection",children:t(e.connection)}),(0,s.jsx)("td",{className:"slots",children:e.slots.str}),(0,s.jsx)("td",{className:"ip",children:(0,s.jsx)(y.A,{item:e.ip})}),(0,s.jsx)("td",{className:"path",title:e.path,children:e.path})]})},C=(e,t)=>e.user.nicks.localeCompare(t.user.nicks),w=(0,o.A)(({results:e})=>{const{t}=(0,j.Bd)();return(0,s.jsxs)("div",{className:"users",children:[(0,s.jsx)("h2",{children:t((0,d.j2)("usersCount",A.KV.SEARCH),{defaultValue:"User ({{count}})",defaultValue_plural:"Users ({{count}})",count:e.length})}),(0,s.jsxs)("table",{className:"ui striped table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:(0,d.Tl)("User",t,A.KV.SEARCH)}),(0,s.jsx)("th",{children:(0,d.Tl)("Hubs",t,A.KV.SEARCH)}),(0,s.jsx)("th",{style:{width:"70px"},children:(0,d.Tl)("Connection",t,A.KV.SEARCH)}),(0,s.jsx)("th",{style:{width:"50px"},children:(0,d.Tl)("Slots",t,A.KV.SEARCH)}),(0,s.jsx)("th",{children:(0,d.Tl)("IP",t,A.KV.SEARCH)}),(0,s.jsx)("th",{children:(0,d.Tl)("Path",t,A.KV.SEARCH)})]})}),(0,s.jsx)("tbody",{children:e.slice().sort(C).map(e=>(0,s.jsx)(S,{result:e},e.user.cid))})]})]})},{urls:{results:({parentResult:e,instanceId:t},n)=>n.get(`${l.A.INSTANCES_URL}/${t}/results/${e.id}/children`)}});var O=n(65385),_=n(90264);class I extends r.Component{constructor(){super(...arguments),this.itemDataGetter=(e,t)=>{const{instance:n}=this.props;return t.get(`${l.A.INSTANCES_URL}/${n.id}/results/${e}`)}}render(){const{parentResult:e,instance:t}=this.props;return(0,s.jsxs)(m.A,{className:"result",title:e.name,closable:!0,icon:(0,s.jsx)(f.A,{typeInfo:e.type}),fullHeight:!0,children:[(0,s.jsx)(x.A,{downloadHandler:u,itemDataGetter:this.itemDataGetter,sessionItem:t}),(0,s.jsx)(_.G,{fileItem:e,downloadHandler:u,user:e.users.user,showPath:!1,sessionItem:t}),(0,s.jsx)(w,{parentResult:e,instanceId:t.id})]})}}I.displayName="ResultDialog";const N=(0,O.A)((0,o.A)(I,{urls:{parentResult:({params:e,instance:t},n)=>n.get(`${l.A.INSTANCES_URL}/${t.id}/results/${e.resultId}`)}}),"/result/:resultId");var T=n(22005),R=n.n(T),D=n(52267);const B=R().createStore({_viewName:`${l.A.VIEW_ID}_view`,_apiUrl:l.A.INSTANCES_URL,mixins:[(0,D.A)("relevance",!1)]});var U=n(68465),P=n(3570),F=n(44247),k=n(77856),H=n(32728),L=n(4425),G=n(94310);const V={result:{id:"result",displayName:"Result details",icon:L.A.DETAILS,handler:({itemData:e,navigate:t})=>{t(`result/${e.id}`)}},browseContent:{id:"browseContent",displayName:"Browse content",icon:L.A.FILELIST,handler:e=>{var{itemData:t}=e,n=function(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n}(e,["itemData"]);const s={user:t.users.user,path:t.path};return G.u.createRemoteSession(s,n)}}},z={moduleId:A.KV.SEARCH},$={moduleData:z,actions:V},K={moduleData:z,actions:{}};n(92078);const Y=({count:e,user:t},n)=>e>1?n((0,d.j2)("xUsersNicks",A.KV.SEARCH),{defaultValue:"{{count}} user ({{user.nicks}})",defaultValue_plural:"{{count}} users ({{user.nicks}})",count:e,replace:{count:e,user:t}}):t.nicks,M=({cellData:e,rowDataGetter:t,t:n})=>(0,s.jsx)(g.F$,{text:Y(e,n),user:e.user,directory:t().path,userIcon:"simple",ids:E.F9,remoteMenuId:v.Ay.HINTED_USER,children:(0,s.jsx)(g.yj,{actions:$,itemData:t,ids:["result"]})}),W=e=>{var t;return(null==e?void 0:e.users)?e.users.user:null===(t=null==e?void 0:e.users)||void 0===t?void 0:t.user},q=e=>{var{rowDataGetter:t,instance:n}=e,r=function(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n}(e,["rowDataGetter","instance"]);return(0,s.jsx)(F.BH,Object.assign({userGetter:W,rowDataGetter:t,downloadHandler:u,entity:n},r,{children:(0,s.jsx)(g.yj,{actions:$,itemData:t,remoteMenuId:v.Ay.GROUPED_SEARCH_RESULT,entity:n})}))};class Q extends r.Component{constructor(){super(...arguments),this.rowClassNameGetter=e=>(0,k.L5)(e.dupe),this.emptyRowsNodeGetter=()=>{const{running:e,searchString:t,searchT:n}=this.props;return e?null:t?(0,s.jsx)(H.A,{title:n.t("noResults",{defaultValue:'No results found for "{{searchString}}"',replace:{searchString:t}}),description:(0,s.jsx)(j.x6,{i18nKey:n.toI18nKey("noResultsHint"),children:(0,s.jsxs)("div",{className:"ui bulleted list",children:[(0,s.jsx)("div",{className:"item",children:"Ensure that you spelled the words correctly"}),(0,s.jsx)("div",{className:"item",children:"Use different keywords"}),(0,s.jsx)("div",{className:"item",children:"You are searching too frequently (hubs often have a minimum search interval)"}),(0,s.jsx)("div",{className:"item",children:"If you never receive results for common search terms, make sure that your connectivity settings are configured properly"})]})})}):isDemoInstance()&&(0,s.jsx)(H.A,{title:"Demo content available",icon:L.A.TIP,description:'Use the search string "demo" to receive results from the demo share'})},this.itemDataGetter=(e,t)=>{const{instance:n}=this.props;return t.get(`${l.A.INSTANCES_URL}/${n.id}/results/${e}`)}}render(){const{searchT:e,instance:t}=this.props,{translate:n}=e;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(P.A,{emptyRowsNodeGetter:this.emptyRowsNodeGetter,rowClassNameGetter:this.rowClassNameGetter,store:B,textFilterProps:{autoFocus:!1},entityId:t.id,moduleId:A.KV.SEARCH,footerData:(0,s.jsx)(g.Wy,{className:"top left pointing",caption:n("Actions..."),actions:K,header:n("Search actions"),triggerIcon:"chevron up",button:!0,itemData:t,remoteMenuId:v.Ay.SEARCH_INSTANCE}),children:[(0,s.jsx)(U.VP,{name:"Name",width:200,columnKey:"name",flexGrow:8,cell:(0,s.jsx)(q,{instance:t})}),(0,s.jsx)(U.VP,{name:"Size",width:60,columnKey:"size",cell:(0,s.jsx)(F.us,{}),flexGrow:1}),(0,s.jsx)(U.VP,{name:"Type",width:80,columnKey:"type",flexGrow:1,hideWidth:600}),(0,s.jsx)(U.VP,{name:"Relevance",width:60,columnKey:"relevance",cell:(0,s.jsx)(F.qG,{}),flexGrow:1}),(0,s.jsx)(U.VP,{name:"Connection",width:60,columnKey:"connection",cell:(0,s.jsx)(F.Jy,{}),flexGrow:2,hideWidth:600}),(0,s.jsx)(U.VP,{name:"Users",width:120,columnKey:"users",flexGrow:3,cell:(0,s.jsx)(M,{}),hideWidth:600}),(0,s.jsx)(U.VP,{name:"Last modified",width:80,columnKey:"time",cell:(0,s.jsx)(F.Jo,{}),flexGrow:1,hideWidth:800}),(0,s.jsx)(U.VP,{name:"Slots",width:60,columnKey:"slots",flexGrow:1,hideWidth:800})]}),(0,s.jsx)(x.A,{downloadHandler:u,itemDataGetter:this.itemDataGetter,sessionItem:t}),(0,s.jsx)(N,{searchT:e,instance:t})]})}}Q.displayName="ResultTable";const J=Q;var X=n(93226),Z=n(70721),ee=n(53213),te=n(36076);const ne=(0,o.A)(e=>{var{submitHandler:t,historyId:n,history:r,refetchData:i}=e,a=function(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n}(e,["submitHandler","historyId","history","refetchData"]);const l=(0,h.F)(),{t:o}=(0,j.Bd)();return(0,s.jsx)(Z.A,Object.assign({},a,{data:r,submitHandler:e=>{return s=void 0,r=void 0,c=function*(){const s=e.trim();yield(0,te.bd)(()=>(0,ee.G)(l,n,s),o),i(),t(s)},new((a=void 0)||(a=Promise))(function(e,t){function n(e){try{l(c.next(e))}catch(e){t(e)}}function i(e){try{l(c.throw(e))}catch(e){t(e)}}function l(t){var s;t.done?e(t.value):(s=t.value,s instanceof a?s:new a(function(e){e(s)})).then(n,i)}l((c=c.apply(s,r||[])).next())});var s,r,a,c}}))},{urls:{history:({historyId:e},t)=>t.get(X.Ay.STRINGS_URL+"/"+e)},loaderText:null});var se=n(96529),re=n(8098),ie=n(6061),ae=n(73616),le=n(47456),oe=n(48916),ce=n(78340),ue=n(83994);const de=({locals:e,children:t})=>{const{label:n}=e,r=(0,le.aD)(e.value);return(0,s.jsxs)(ce.Ay,{className:"field",defaultActiveIndexes:r?[0]:void 0,children:[(0,s.jsxs)(ce.J6,{children:[(0,s.jsx)(ue.A,{icon:L.A.DROPDOWN}),(0,s.jsx)("span",{style:r?{fontWeight:"bold"}:void 0,children:n})]}),(0,s.jsx)(ce.ub,{children:t})]})},he=({hubs:e,value:t,onChange:n})=>{const r=e.filter(e=>e.connect_state.id===p.gU.CONNECTED),i=t&&t.length?t:r.map(e=>e.hub_url),a=()=>{if(1===i.length)return!1};return(0,s.jsx)(s.Fragment,{children:r.map(e=>(0,s.jsx)("div",{className:"field",children:(0,s.jsx)(ae.A,{id:`hub-${e.id}-checkbox`,caption:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(oe.A,{hub:e}),e.identity.name]}),beforeUnchecked:a,checked:i.includes(e.hub_url),onChange:t=>{const s=(0,le.z_)(i,e.hub_url,t);n(s.length===r.length?null:s)},style:{maxWidth:"300px"}})},e.id))})},pe={renderSelect:e=>(0,s.jsx)(de,{locals:e,children:(0,s.jsx)(he,{onChange:e.onChange,value:e.value,hubs:e.options})}),renderLabel:e=>null},Ae=ie.Ay.form.Form.templates.select.clone(pe);var me=n(79533),fe=n(98573),xe=n(39269);const ye=e=>{const{value:t,unitIndex:n}=(0,me.E)(e,fe.Oz,1024);return{value:t,unitIndex:e?n:2}},ge=({inputProps:e,moduleT:t,onChange:n,value:i})=>{const{formatUnit:a}=(0,b.k)(),l=ye(i),[o,c]=(0,r.useState)(l.value),[u,d]=(0,r.useState)(l.unitIndex),h=()=>{let e=null!=o?o:0;if(u)for(let t=1;t<=u;t++)e*=1024;return e};return(0,r.useEffect)(()=>{const e=h();e!==i&&n(e)},[u,o]),(0,r.useEffect)(()=>{const e=h();if(i!==e){const e=ye(i);c(e.value),d(e.unitIndex)}},[i]),(0,s.jsxs)("div",{style:{display:"flex"},children:[(0,s.jsx)(xe.A,Object.assign({type:"number"},e,{min:0,value:null!=o?o:"",onChange:e=>{const t=e.target.value?parseInt(e.target.value):null;c(t||void 0)}})),(0,s.jsx)("select",{className:"ui select",style:{maxWidth:"100px"},value:fe.Oz[u],onChange:e=>{d(e.target.selectedIndex)},children:fe.Oz.map((e,t)=>(0,s.jsx)("option",{value:e,children:a(e)},e))})]})},Ee={renderInput:e=>(0,s.jsx)(ge,{onChange:e.onChange,value:e.value?parseInt(e.value):0,moduleT:e.context.formT})},je=ie.Ay.form.Form.templates.textbox.clone(Ee);var ve=n(90425),be=n(27725);const Se=({type:e,size:t="large"})=>{return e.id?(0,s.jsx)(f.A,{typeInfo:(n=e,"directory"===n.id?{id:"directory",str:"",files:0,directories:0}:{id:"file",str:"",content_type:n.id}),size:t}):(0,s.jsx)(ue.A,{icon:L.A.ANY,size:t});var n},Ce=(e,t,n)=>{var r;return(0,s.jsx)(be.A,{onClick:()=>t(e.id),icon:(0,s.jsx)(Se,{type:e}),active:n.id===e.id,children:e.str},null!==(r=e.id)&&void 0!==r?r:l.A.DEFAULT_SEARCH_TYPE)},we=(0,o.A)(({searchTypes:e,value:t,onChange:n,moduleT:r})=>{const i=(e=>[{id:null,str:e.translate("Any")},{id:"directory",str:e.translate("Directory")},{id:"file",str:e.translate("File")}])(r),a=e.find(e=>t===e.id)||i.find(e=>t===e.id)||i[0];return(0,s.jsxs)(ve.A,{selection:!0,caption:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Se,{type:a,size:""}),a.str]}),children:[i.map(e=>Ce(e,n,a)),(0,s.jsx)("div",{className:"ui divider"},"divider"),e.map(e=>Ce(e,n,a))]})},{urls:{searchTypes:l.A.SEARCH_TYPES_URL}}),Oe={renderSelect:e=>(0,s.jsx)(we,{onChange:e.onChange,value:e.value||null,moduleT:e.context.formT})},_e=ie.Ay.form.Form.templates.select.clone(Oe);var Ie=n(94413);const Ne={renderFieldset(e,t){const{label:n}=t,r=function(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n}(t,["label"]);return(0,s.jsx)(de,{locals:t,children:ie.Ay.form.Form.templates.struct.renderFieldset(e,r)})},renderLabel:e=>null},Te=ie.Ay.form.Form.templates.struct.clone(Ne),Re=[{key:"file_type",title:"File type",type:p.OP.STRING,optional:!0},{key:"hub_urls",title:"Hubs",type:p.OP.LIST,item_type:p.OP.STRING},{key:"size_limits",title:"Size limits",type:p.OP.STRUCT,optional:!0,definitions:[{key:"min_size",title:"Minimum size",type:p.OP.NUMBER,optional:!0},{key:"max_size",title:"Maximum size",type:p.OP.NUMBER,optional:!0}]}];class De extends r.PureComponent{constructor(e){super(e),this.onFieldChanged=(e,t,n)=>{const s=(r=t,Object.keys(r).reduce((e,t)=>{const n=r[t];return(0,le.aD)(n)&&(e[t]=n),e},{}));var r;return this.props.onChange(Object.keys(s).length?s:null),null},this.save=()=>this.form.save(),this.onSave=e=>Promise.resolve(),this.onFieldSetting=(e,t,n)=>{"hub_urls"===e?Object.assign(t,{factory:ie.Ay.form.Select,template:Ae,options:this.props.hubs}):"min_size"===e||"max_size"===e?Object.assign(t,{template:je}):"excluded"===e?Object.assign(t,{disableOrder:!0}):"file_type"===e?Object.assign(t,{template:_e}):"size_limits"===e&&Object.assign(t,{template:Te})},this.definitions=(0,le.Nn)(Re,e.moduleT)}render(){const{value:e,onChange:t,moduleT:n}=this.props;return(0,s.jsxs)("div",{children:[(0,s.jsx)(Ie.A,{ref:e=>{this.form=e},onFieldChanged:this.onFieldChanged,onFieldSetting:this.onFieldSetting,onSave:this.onSave,fieldDefinitions:this.definitions,sourceValue:e,optionTitleFormatter:e=>e.title,className:"search-options"}),(0,s.jsx)(se.A,{caption:n.translate("Reset all"),onClick:()=>t(null),disabled:!e,style:{marginTop:"10px"}})]})}}De.displayName="SearchOptionForm";var Be=n(82388),Ue=n(44511);const Pe=(0,o.A)(({moduleT:e,onChange:t,value:n,hubs:a})=>{const l=(0,i.zy)(),o=e=>{if(e){const n=(e=>Object.keys(e).reduce((t,n)=>((Array.isArray(e[n])?e[n].length:e[n])&&(t[n]=e[n]),t),{}))(e);t(Object.keys(n).length?n:null)}else t(null)};(0,r.useEffect)(()=>{if(n&&n.hub_urls&&n.hub_urls.length){const e=n.hub_urls,t=e.filter(e=>a.find(t=>t.hub_url===e));t.length!==e.length&&o(Object.assign(Object.assign({},n),{hub_urls:t.length?t:null}))}},[a]);const c=n?Object.keys(n).filter(e=>{const t=n[e];return(0,le.aD)(t)}).length:null;return(0,s.jsx)(Be.A,{triggerClassName:"options",className:"options",trigger:(0,s.jsx)(se.A,{caption:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(ue.A,{icon:L.A.OPTIONS}),!!c&&(0,s.jsx)("span",{style:{fontWeight:"bold",marginRight:"3px",color:"black"},children:`(${c})`}),(0,s.jsx)(ue.A,{icon:L.A.EXPAND})]})}),contentUpdateTrigger:n,children:t=>(0,s.jsx)(De,{moduleT:e,onChange:o,value:n,hubs:a,location:l})})},{urls:{hubs:Ue.A.SESSIONS_URL},onSocketConnected:(e,{refetchData:t})=>{e(Ue.A.MODULE_URL,Ue.A.SESSION_CREATED,()=>t()),e(Ue.A.MODULE_URL,Ue.A.SESSION_UPDATED,e=>{e.connect_state&&t()}),e(Ue.A.MODULE_URL,Ue.A.SESSION_REMOVED,()=>t())},dataConverters:{hubs:e=>e.filter(e=>e.connect_state.id===p.gU.CONNECTED)}}),Fe=({moduleT:e,defaultValue:t,running:n,handleSubmit:i,defaultOptions:a})=>{const[l,o]=(0,r.useState)(a),c=(0,re.vU)();return(0,s.jsx)("div",{className:"search-container",children:(0,s.jsxs)("div",{className:"search-area",children:[(0,s.jsx)(ne,{historyId:X.n2.SEARCH,submitHandler:e=>i(e,l||void 0),disabled:n,defaultValue:t,placeholder:e.translate("Enter search string..."),button:(0,s.jsx)(se.A,{className:"blue",icon:L.A.SEARCH,caption:c?void 0:e.translate("Search"),loading:n})}),(0,s.jsx)(Pe,{moduleT:e,onChange:o,value:l})]})})};var ke=n(85072),He=n.n(ke),Le=n(97825),Ge=n.n(Le),Ve=n(77659),ze=n.n(Ve),$e=n(55056),Ke=n.n($e),Ye=n(10540),Me=n.n(Ye),We=n(41113),qe=n.n(We),Qe=n(92944),Je={};Je.styleTagTransform=qe(),Je.setAttributes=Ke(),Je.insert=ze().bind(null,"head"),Je.domAPI=Ge(),Je.insertStyleElement=Me(),He()(Qe.A,Je),Qe.A&&Qe.A.locals&&Qe.A.locals;var Xe=function(e,t,n,s){return new(n||(n=Promise))(function(r,i){function a(e){try{o(s.next(e))}catch(e){i(e)}}function l(e){try{o(s.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,l)}o((s=s.apply(e,t||[])).next())})};const Ze="search_hubs",et="webui",tt=(0,o.A)(({instance:e,t})=>{var n;const o=(0,i.zy)(),u=(0,i.Zp)(),[m,f]=(0,r.useState)(""),[x,y]=(0,r.useState)(null),g=(0,h.F)(),E=(t,n)=>Xe(void 0,void 0,void 0,function*(){var s;g.logger.info(`Searching for ${t}`),(null==(s=(null==n?void 0:n.hub_urls)||null)?void 0:s.length)?(0,re.xu)(Ze,s):(0,re.kW)(Ze);const r=n||{},{hub_urls:i,size_limits:o}=r,c=function(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n}(r,["hub_urls","size_limits"]);try{const n=yield((e,t,n)=>n.post(`${l.A.INSTANCES_URL}/${e.id}/hub_search`,t))(e,{query:Object.assign(Object.assign({pattern:t},o),c),priority:p.ac.HIGH,hub_urls:i},g);f(t),y(n)}catch(e){a.A.apiError("Search failed",e)}}),j=()=>{const{state:e}=o;(null==e?void 0:e.searchString)&&(E(e.searchString),u(o.pathname,{replace:!0}))};(0,r.useEffect)(()=>{j();const{query:t}=e;t&&f(t.pattern)},[]),(0,r.useEffect)(()=>{j()},[null===(n=o.state)||void 0===n?void 0:n.searchString]),(0,r.useEffect)(()=>{if(!x)return;const e=window.setTimeout(()=>{y(null)},x.queue_time+4e3);return()=>{clearTimeout(e)}},[x]);const v=(0,d.lw)(t,A.KV.SEARCH);return(0,s.jsx)(c.A,{offlineMessage:v.t("searchOffline","You must to be connected to at least one hub in order to perform searches"),children:(0,s.jsxs)("div",{className:"search-layout",children:[(0,s.jsx)(Fe,{moduleT:v,running:!!x,defaultValue:m,handleSubmit:E,defaultOptions:(()=>{const{query:t}=e;return t?{excluded:t.excluded,size_limits:{min_size:t.min_size,max_size:t.max_size},file_type:t.file_type===l.A.DEFAULT_SEARCH_TYPE||"tth"===t.file_type?null:t.file_type,hub_urls:(0,re.wO)(Ze,null)}:null})()}),(0,s.jsx)(J,{searchString:m,running:!!x,searchT:v,instance:e})]})})},{urls:{instance:(e,t)=>Xe(void 0,[e,t],void 0,function*({session:e},t){const n=(yield t.get(`${l.A.INSTANCES_URL}`)).find(t=>t.owner===`session:${e.session_id}:${et}`);if(n)return n;const s=(yield t.post(l.A.INSTANCES_URL,{owner_suffix:et,expiration:0})).id;return t.get(`${l.A.INSTANCES_URL}/${s}`)})}})},90264:(e,t,n)=>{n.d(t,{G:()=>O});var s=n(74848),r=(n(96540),n(74416)),i=n(71352),a=n(86038),l=n(67749),o=n(32389),c=n(42695),u=n(85072),d=n.n(u),h=n(97825),p=n.n(h),A=n(77659),m=n.n(A),f=n(55056),x=n.n(f),y=n(10540),g=n.n(y),E=n(41113),j=n.n(E),v=n(52237),b={};b.styleTagTransform=j(),b.setAttributes=x(),b.insert=m().bind(null,"head"),b.domAPI=p(),b.insertStyleElement=g(),d()(v.A,b),v.A&&v.A.locals&&v.A.locals;var S=n(73070);const C={[a.YF.SHARE_PARTIAL]:"Share (partial)",[a.YF.SHARE_FULL]:"Share (full)",[a.YF.QUEUE_PARTIAL]:"Queue (partial)",[a.YF.QUEUE_FULL]:"Queue (full)",[a.YF.FINISHED_PARTIAL]:"Finished (partial)",[a.YF.FINISHED_FULL]:"Finished (full)",[a.YF.SHARE_QUEUE]:"Share and queue",[a.YF.SHARE_FINISHED]:"Share and finished",[a.YF.QUEUE_FINISHED]:"Queue and finished",[a.YF.SHARE_QUEUE_FINISHED]:"Share, queue and finished"},w=({paths:e})=>(0,s.jsx)("div",{className:"dupe-paths",children:e.map(e=>(0,s.jsx)("div",{className:"path",children:e},e))}),O=({sessionItem:e,fileItem:t,user:n,downloadHandler:a,showPath:u=!0})=>{const{t:d}=(0,o.Bd)(),h=e=>(0,c.Tl)(e,d,l.KV.COMMON),{formatSize:p,formatRelativeTime:A}=(0,r.k)();return(0,s.jsxs)("div",{className:"ui fileitem info segment",children:[(0,s.jsxs)(S.xA,{columns:"two",stackable:!0,children:[(0,s.jsx)(S.fI,{title:h("Name"),text:t.name}),(0,s.jsx)(S.fI,{title:h("Type/content"),text:t.type.str}),(0,s.jsx)(S.fI,{title:h("Size"),text:p(t.size,2,!0)}),(0,s.jsx)(S.fI,{title:h("Last modified"),text:A(t.time||0)}),"file"===t.type.id&&(0,s.jsx)(S.fI,{title:h("TTH"),text:t.tth}),!!t.dupe&&(0,s.jsx)(S.fI,{title:h("Dupe type"),text:h(C[t.dupe.id])}),!!t.dupe&&(0,s.jsx)(S.fI,{title:h("Dupe paths"),text:(0,s.jsx)(w,{paths:t.dupe.paths})}),u&&(0,s.jsx)(S.fI,{title:h("Path"),text:t.path})]}),(0,s.jsx)(i.gU,{caption:h("Actions..."),button:!0,user:n,itemInfoGetter:()=>t,downloadHandler:a,contextElement:".ui.modal > .content",entity:e})]})}},92078:(e,t,n)=>{n.d(t,{Dq:()=>o,_k:()=>c,nQ:()=>a});var s=n(4425),r=n(67749),i=n(47650);const a={id:"create",displayName:"Add type",icon:s.A.CREATE,handler:({navigate:e})=>{e("types")}},l={edit:{id:"edit",displayName:"Edit type",icon:s.A.EDIT,handler:({itemData:e,navigate:t})=>{t(`types/${e.id}`)}},remove:{id:"remove",displayName:"Remove type",icon:s.A.REMOVE,confirmation:{content:"Are you sure that you want to remove the search type {{item.name}}?",approveCaption:"Remove type",rejectCaption:"Don't remove"},filter:({itemData:e})=>!e.default_type,handler:({itemData:e,socket:t})=>t.delete(`${i.A.SEARCH_TYPES_URL}/${e.id}`)}},o={moduleId:r.KV.SETTINGS},c={moduleData:o,actions:l}},92944:(e,t,n)=>{n.d(t,{A:()=>l});var s=n(71354),r=n.n(s),i=n(76314),a=n.n(i)()(r());a.push([e.id,".search-container {\n width: 100%;\n height: 50px;\n}\n\n#mobile-layout .search-container {\n margin-top: 10px;\n}\n\n.search-container .search-area {\n width: 90%;\n max-width: 600px;\n margin-left: auto;\n margin-right: auto;\n display: flex;\n}\n\n.search-container .search-area .options.trigger {\n margin-left: 5px;\n}\n\n.search-container .search-area .options.trigger .button {\n padding-left: 15px;\n padding-right: 5px;\n height: 100%;\n}\n\n.search-container .search-area .ui.input.action {\n flex: 1;\n}\n\n.search-area,\n.search-area .react-autosuggest__container,\n.search-container .search-area .ui.input.action {\n flex: 1;\n}\n\n.search-area,\n.search-area input {\n width: 100%;\n}\n\n.search-area button {\n display: inline-block !important;\n}\n\n.search-layout {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.search-layout .virtual-table {\n height: calc(100% - 50px);\n}\n\n@media only screen and (min-width: 767px) {\n .result.modal td {\n max-width: 250px;\n }\n}\n\n.search-options {\n min-width: 300px;\n}\n\n.search-options .field-hub_urls {\n max-height: 180px;\n overflow-y: auto;\n}\n","",{version:3,sources:["webpack://./src/routes/Search/style.css"],names:[],mappings:"AAAA;EACE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,UAAU;EACV,gBAAgB;EAChB,iBAAiB;EACjB,kBAAkB;EAClB,aAAa;AACf;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,kBAAkB;EAClB,YAAY;AACd;;AAEA;EACE,OAAO;AACT;;AAEA;;;EAGE,OAAO;AACT;;AAEA;;EAEE,WAAW;AACb;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,YAAY;AACd;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE;IACE,gBAAgB;EAClB;AACF;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,gBAAgB;AAClB",sourcesContent:[".search-container {\n width: 100%;\n height: 50px;\n}\n\n#mobile-layout .search-container {\n margin-top: 10px;\n}\n\n.search-container .search-area {\n width: 90%;\n max-width: 600px;\n margin-left: auto;\n margin-right: auto;\n display: flex;\n}\n\n.search-container .search-area .options.trigger {\n margin-left: 5px;\n}\n\n.search-container .search-area .options.trigger .button {\n padding-left: 15px;\n padding-right: 5px;\n height: 100%;\n}\n\n.search-container .search-area .ui.input.action {\n flex: 1;\n}\n\n.search-area,\n.search-area .react-autosuggest__container,\n.search-container .search-area .ui.input.action {\n flex: 1;\n}\n\n.search-area,\n.search-area input {\n width: 100%;\n}\n\n.search-area button {\n display: inline-block !important;\n}\n\n.search-layout {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.search-layout .virtual-table {\n height: calc(100% - 50px);\n}\n\n@media only screen and (min-width: 767px) {\n .result.modal td {\n max-width: 250px;\n }\n}\n\n.search-options {\n min-width: 300px;\n}\n\n.search-options .field-hub_urls {\n max-height: 180px;\n overflow-y: auto;\n}\n"],sourceRoot:""}]);const l=a}}]);
//# sourceMappingURL=search.52d677e31d86ea727809.chunk.js.map