airdcpp-webui 2.13.1-beta.2 → 2.13.1-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/index.html +1 -1
  2. package/dist/js/544.c53e73269ef9280a9961.chunk.js +2 -0
  3. package/dist/js/544.c53e73269ef9280a9961.chunk.js.gz +0 -0
  4. package/dist/js/{544.448df22ece8ebbf1e3b8.chunk.js.map → 544.c53e73269ef9280a9961.chunk.js.map} +1 -1
  5. package/dist/js/{616.2672d1bde46d026c625b.chunk.js → 616.dd4273727f07855470d1.chunk.js} +2 -2
  6. package/dist/js/616.dd4273727f07855470d1.chunk.js.gz +0 -0
  7. package/dist/js/616.dd4273727f07855470d1.chunk.js.map +1 -0
  8. package/dist/js/{794.d943c42236d12d89cbea.chunk.js → 794.47e012cc0ab6686df7ea.chunk.js} +2 -2
  9. package/dist/js/794.47e012cc0ab6686df7ea.chunk.js.gz +0 -0
  10. package/dist/js/{794.d943c42236d12d89cbea.chunk.js.map → 794.47e012cc0ab6686df7ea.chunk.js.map} +1 -1
  11. package/dist/js/{favorite-hubs.8cf10fd101a7f261bdf6.chunk.js → favorite-hubs.412e728342a8c396ef98.chunk.js} +2 -2
  12. package/dist/js/favorite-hubs.412e728342a8c396ef98.chunk.js.gz +0 -0
  13. package/dist/js/favorite-hubs.412e728342a8c396ef98.chunk.js.map +1 -0
  14. package/dist/js/{filelists.906aa635117e09a9d922.chunk.js → filelists.17c118dfc296b68c665e.chunk.js} +2 -2
  15. package/dist/js/filelists.17c118dfc296b68c665e.chunk.js.gz +0 -0
  16. package/dist/js/{filelists.906aa635117e09a9d922.chunk.js.map → filelists.17c118dfc296b68c665e.chunk.js.map} +1 -1
  17. package/dist/js/{files.e0eff9c212893f76f65e.chunk.js → files.0a24d07d2705baeef425.chunk.js} +2 -2
  18. package/dist/js/files.0a24d07d2705baeef425.chunk.js.gz +0 -0
  19. package/dist/js/{files.e0eff9c212893f76f65e.chunk.js.map → files.0a24d07d2705baeef425.chunk.js.map} +1 -1
  20. package/dist/js/{home.760bbf44c8ebebae9fae.chunk.js → home.eb2e2fd8de39e354f551.chunk.js} +3 -3
  21. package/dist/js/home.eb2e2fd8de39e354f551.chunk.js.gz +0 -0
  22. package/dist/js/{home.760bbf44c8ebebae9fae.chunk.js.map → home.eb2e2fd8de39e354f551.chunk.js.map} +1 -1
  23. package/dist/js/{hubs.d141554ce56f4417bb65.chunk.js → hubs.59595a529a5f52ece75d.chunk.js} +2 -2
  24. package/dist/js/hubs.59595a529a5f52ece75d.chunk.js.gz +0 -0
  25. package/dist/js/hubs.59595a529a5f52ece75d.chunk.js.map +1 -0
  26. package/dist/js/locales/en-webui-main-missing-json.2eb155e5cac85f4334fc.chunk.js +1 -0
  27. package/dist/js/locales/en-webui-main-missing-json.2eb155e5cac85f4334fc.chunk.js.gz +0 -0
  28. package/dist/js/{main.9e7cb0f16735f29940a5.entry.js → main.18084969664509d9fa7d.entry.js} +3 -3
  29. package/dist/js/main.18084969664509d9fa7d.entry.js.gz +0 -0
  30. package/dist/js/{main.9e7cb0f16735f29940a5.entry.js.map → main.18084969664509d9fa7d.entry.js.map} +1 -1
  31. package/dist/js/search.7514cc5df1c25b6df4b6.chunk.js +2 -0
  32. package/dist/js/search.7514cc5df1c25b6df4b6.chunk.js.gz +0 -0
  33. package/dist/js/{search.bbc324429532bf9a662a.chunk.js.map → search.7514cc5df1c25b6df4b6.chunk.js.map} +1 -1
  34. package/dist/js/settings.d4d80dbdf51d049be949.chunk.js +2 -0
  35. package/dist/js/settings.d4d80dbdf51d049be949.chunk.js.gz +0 -0
  36. package/dist/js/{settings.b4687a96928a1765a8ba.chunk.js.map → settings.d4d80dbdf51d049be949.chunk.js.map} +1 -1
  37. package/dist/sw.js +1 -1
  38. package/dist/sw.js.gz +0 -0
  39. package/package.json +6 -1
  40. package/dist/js/544.448df22ece8ebbf1e3b8.chunk.js +0 -2
  41. package/dist/js/544.448df22ece8ebbf1e3b8.chunk.js.gz +0 -0
  42. package/dist/js/616.2672d1bde46d026c625b.chunk.js.gz +0 -0
  43. package/dist/js/616.2672d1bde46d026c625b.chunk.js.map +0 -1
  44. package/dist/js/794.d943c42236d12d89cbea.chunk.js.gz +0 -0
  45. package/dist/js/favorite-hubs.8cf10fd101a7f261bdf6.chunk.js.gz +0 -0
  46. package/dist/js/favorite-hubs.8cf10fd101a7f261bdf6.chunk.js.map +0 -1
  47. package/dist/js/filelists.906aa635117e09a9d922.chunk.js.gz +0 -0
  48. package/dist/js/files.e0eff9c212893f76f65e.chunk.js.gz +0 -0
  49. package/dist/js/home.760bbf44c8ebebae9fae.chunk.js.gz +0 -0
  50. package/dist/js/hubs.d141554ce56f4417bb65.chunk.js.gz +0 -0
  51. package/dist/js/hubs.d141554ce56f4417bb65.chunk.js.map +0 -1
  52. package/dist/js/locales/en-webui-main-missing-json.0b38f19328e0a80f6b97.chunk.js +0 -1
  53. package/dist/js/locales/en-webui-main-missing-json.0b38f19328e0a80f6b97.chunk.js.gz +0 -0
  54. package/dist/js/main.9e7cb0f16735f29940a5.entry.js.gz +0 -0
  55. package/dist/js/search.bbc324429532bf9a662a.chunk.js +0 -2
  56. package/dist/js/search.bbc324429532bf9a662a.chunk.js.gz +0 -0
  57. package/dist/js/settings.b4687a96928a1765a8ba.chunk.js +0 -2
  58. package/dist/js/settings.b4687a96928a1765a8ba.chunk.js.gz +0 -0
  59. /package/dist/js/{home.760bbf44c8ebebae9fae.chunk.js.LICENSE.txt → home.eb2e2fd8de39e354f551.chunk.js.LICENSE.txt} +0 -0
  60. /package/dist/js/{main.9e7cb0f16735f29940a5.entry.js.LICENSE.txt → main.18084969664509d9fa7d.entry.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunkairdcpp_webui=self.webpackChunkairdcpp_webui||[]).push([[580],{23896:(e,t,n)=>{n.d(t,{A:()=>s});var a=n(71354),o=n.n(a),r=n(76314),i=n.n(r)()(o());i.push([e.id,".virtual-table .cell-wrapper.connected,\n.virtual-table .cell-wrapper.connected span,\n.virtual-table .cell-wrapper.connected strong {\n color: green;\n}\n\n.virtual-table .cell-wrapper.connecting,\n.virtual-table .cell-wrapper.connecting span,\n.virtual-table .cell-wrapper.connecting strong {\n color: orange;\n}\n\n.virtual-table .cell-wrapper.disconnected,\n.virtual-table .cell-wrapper.disconnected span,\n.virtual-table .cell-wrapper.disconnected strong {\n color: dimslategray;\n}\n","",{version:3,sources:["webpack://./src/routes/FavoriteHubs/style.css"],names:[],mappings:"AAAA;;;EAGE,YAAY;AACd;;AAEA;;;EAGE,aAAa;AACf;;AAEA;;;EAGE,mBAAmB;AACrB",sourcesContent:[".virtual-table .cell-wrapper.connected,\n.virtual-table .cell-wrapper.connected span,\n.virtual-table .cell-wrapper.connected strong {\n color: green;\n}\n\n.virtual-table .cell-wrapper.connecting,\n.virtual-table .cell-wrapper.connecting span,\n.virtual-table .cell-wrapper.connecting strong {\n color: orange;\n}\n\n.virtual-table .cell-wrapper.disconnected,\n.virtual-table .cell-wrapper.disconnected span,\n.virtual-table .cell-wrapper.disconnected strong {\n color: dimslategray;\n}\n"],sourceRoot:""}]);const s=i},86818:(e,t,n)=>{n.d(t,{A:()=>o});const a="share_profiles",o={MODULE_URL:a,PROFILES_URL:a,PROFILE_ADDED:"share_profile_added",PROFILE_UPDATED:"share_profile_updated",PROFILE_REMOVED:"share_profile_removed",HIDDEN_PROFILE_ID:1}},71299:(e,t,n)=>{n.d(t,{A:()=>i});var a=n(2543),o=n(86818),r=n(13546);const i=function(e,t,n){return(0,r.A)(e,(0,a.merge)(n,{urls:{profiles:o.A.PROFILES_URL},dataConverters:{profiles:(e,{t:n})=>e.filter((e=>t||e.id!==o.A.HIDDEN_PROFILE_ID))},onSocketConnected:(e,{refetchData:t})=>{e(o.A.MODULE_URL,o.A.PROFILE_ADDED,(()=>t())),e(o.A.MODULE_URL,o.A.PROFILE_UPDATED,(()=>t())),e(o.A.MODULE_URL,o.A.PROFILE_REMOVED,(()=>t()))}}))}},7673:(e,t,n)=>{n.r(t),n.d(t,{default:()=>fe});var a=n(74848),o=n(96540),r=n(22005),i=n.n(r);const s="favorite_hubs",c=s,l=s;var d=n(52267);const p=i().createStore({_viewName:"favorite_hub_view",_apiUrl:c,mixins:[(0,d.A)("name")]});var u=n(99671),v=n(65385),m=n(86818),A=n(71299),h=n(4425),E=n(51766),_=n(94413),y=n(47456),O=n(86038);const f=({locals:e})=>{const t=(0,o.useRef)();return(0,o.useEffect)((()=>{t.current&&("boolean"==typeof e.value?t.current.indeterminate=!1:t.current.indeterminate=!0)}),[e.value]),(0,a.jsx)("input",Object.assign({ref:t,type:"checkbox"},e.attrs,{onChange:t=>{!1===e.value?e.onChange(null):e.onChange(t.target.checked)}}))},I={renderCheckbox:e=>(0,a.jsx)(f,{locals:e})},w=E.Ay.form.Form.templates.checkbox.clone(I);var b=n(19430),D=n(74416);const g=[{id:O.uu.DISABLED,name:"Disabled"},{id:O.uu.ACTIVE_MODE,name:"Active mode"},{id:O.uu.PASSIVE_MODE,name:"Passive mode"}],T=[{key:"generic",title:"Hub properties",type:O.OP.STRUCT,definitions:[{key:"name",title:"Name",type:O.OP.STRING},{key:"hub_url",title:"Hub URL",type:O.OP.STRING},{key:"hub_description",title:"Hub description",type:O.OP.STRING,optional:!0},{key:"share_profile",title:"Share profile",type:O.OP.NUMBER,help:"Custom share profiles can be selected only after entering an ADC hub address (starting with adc:// or adcs://)",optional:!0},{key:"auto_connect",title:"Auto connect",type:O.OP.BOOLEAN}]},{key:"user",title:"User setting overrides",type:O.OP.STRUCT,definitions:[{key:"nick",title:"Nick",type:O.OP.STRING,optional:!0},{key:"user_description",title:"User description",type:O.OP.STRING,optional:!0}]},{key:"connectivityV4",title:"Connectivity setting overrides (IPv4)",type:O.OP.STRUCT,definitions:[{key:"connection_mode_v4",title:"Connectivity mode",type:O.OP.NUMBER,optional:!0,options:g},{key:"connection_ip_v4",title:"IP address",type:O.OP.STRING,optional:!0}]},{key:"connectivityV6",title:"Connectivity setting overrides (IPv6)",type:O.OP.STRUCT,definitions:[{key:"connection_mode_v6",title:"Connectivity mode",type:O.OP.NUMBER,optional:!0,options:g},{key:"connection_ip_v6",title:"IP address",type:O.OP.STRING,optional:!0}]},{key:"misc",title:"Miscellaneous overrides",type:O.OP.STRUCT,definitions:[{key:"use_main_chat_notify",title:"Use chat notification",type:O.OP.BOOLEAN,optional:!0},{key:"show_joins",title:"Show joins/parts",type:O.OP.BOOLEAN,optional:!0},{key:"away_message",title:"Away message",type:O.OP.TEXT,optional:!0}]}],R=e=>!!e&&(0===e.indexOf("adc://")||0===e.indexOf("adcs://")),S=(e,t,n)=>e.filter((e=>R(t)||e.id===m.A.HIDDEN_PROFILE_ID)).map((e=>(0,b.T)(e,n))).map(y.UM),N=(0,v.A)((0,A.A)((({hubEntry:e,location:t,favT:n,profiles:r,socket:i})=>{const s=(0,D.k)(),c=(0,o.useMemo)((()=>(e=>{if(e)return{generic:e,user:e,connectivityV4:e,connectivityV6:e,misc:e}})(e)),[]),d=(0,o.useMemo)((()=>(0,y.Nn)(T,n)),[]),p=(0,o.useMemo)((()=>({value:"null",text:n.translate("Global default")})),[]),v=!e,A=(0,o.useRef)(null),{translate:O}=n,f=O(v?"Add favorite hub":"Edit favorite hub");return(0,a.jsx)(u.A,{className:"fav-hub",title:f,onApprove:()=>A.current.save(),closable:!1,icon:h.A.FAVORITE,children:(0,a.jsx)(_.A,{ref:A,onFieldChanged:(e,t,n)=>e.includes("hub_url")&&!R(t.generic.hub_url)&&t.share_profile!==m.A.HIDDEN_PROFILE_ID?Promise.resolve({share_profile:null}):null,onFieldSetting:(e,t,n)=>{if("share_profile"===e){const e=n.generic?n.generic.hub_url:void 0;Object.assign(t,{nullOption:p,factory:E.Ay.form.Select,options:S(r,e,s),transformer:y.xs})}else"connection_mode_v4"===e||"connection_mode_v6"===e?Object.assign(t,{nullOption:p,transformer:y.xs}):"use_main_chat_notify"!==e&&"show_joins"!==e||Object.assign(t,{template:w,transformer:{format:e=>void 0===e?null:e,parse:e=>e}})},onSave:e=>{const t=(n=e,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},n.generic),n.user),n.connectivityV4),n.connectivityV6),n.misc));var n;return v?i.post(l,t):i.patch(`${l}/${t.id}`,t)},fieldDefinitions:d,sourceValue:c,location:t})})}),!0,{urls:{hubEntry:({params:e},t)=>e.entryId?t.get(`${l}/${e.entryId}`):Promise.resolve(void 0)}}),"entries/:entryId?");var C=n(22373),P=n(68465),U=n(44247),k=n(46942),V=n.n(k),j=n(90680),x=n(85258),F=n(83994),L=n(42815);const B=e=>{switch(e.id){case O.uv.CONNECTING:return"yellow remove";case O.uv.CONNECTED:return"grey remove";case O.uv.DISCONNECTED:return"green video play"}return""},H=({width:e,cellData:t,rowDataGetter:n})=>{const o=(0,L.zy)(),r=(0,L.Zp)(),i=()=>{j.A.createSession(n().hub_url,{location:o,navigate:r,sessionStore:x.A})},s=()=>{j.A.removeSession({id:t.current_hub_id})};return(0,a.jsxs)("div",{className:"connect-state",children:[(0,a.jsx)(F.A,{icon:V()("icon large link",B(t)),onClick:(()=>{switch(t.id){case O.uv.CONNECTING:case O.uv.CONNECTED:return s;case O.uv.DISCONNECTED:default:return i}})()}),e>120&&t.str]})};var G=n(71352),M=n(85072),K=n.n(M),$=n(97825),z=n.n($),W=n(77659),Y=n.n(W),J=n(55056),X=n.n(J),Z=n(10540),q=n.n(Z),Q=n(41113),ee=n.n(Q),te=n(23896),ne={};ne.styleTagTransform=ee(),ne.setAttributes=X(),ne.insert=Y().bind(null,"head"),ne.domAPI=z(),ne.insertStyleElement=q(),K()(te.A,ne),te.A&&te.A.locals&&te.A.locals;var ae=n(67749),oe=n(42695),re=n(32389),ie=n(32811),se=n(36076),ce=n(39115);const le={create:{id:"create",displayName:"Add new",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.CREATE,handler:({navigate:e})=>{e("/favorite-hubs/entries")}}},de={edit:{id:"edit",displayName:"Edit",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.EDIT,handler:({itemData:e,navigate:t})=>{t(`/favorite-hubs/entries/${e.id}`)}},remove:{id:"remove",displayName:"Remove",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.REMOVE,confirmation:{content:"Are you sure that you want to remove the favorite hub {{item.name}}?",approveCaption:"Remove favorite hub",rejectCaption:"Don't remove"},handler:({itemData:e,socket:t})=>t.delete(l+"/"+e.id)}},pe={moduleId:ae.KV.FAVORITE_HUBS},ue={moduleData:pe,actions:de},ve={moduleData:pe,actions:le},me=(e,t,n)=>e.patch(l+"/"+t.id,{password:n}),Ae=({itemData:e,socket:t},n)=>me(t,e,n),he=({itemData:e})=>e.has_password,Ee={create:{id:"create",displayName:"Set password",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.LOCK,filter:e=>!he(e),input:{content:"Set password for the hub {{item.name}}",approveCaption:"Set password",inputProps:{placeholder:"Enter password",type:"password"}},handler:Ae},change:{id:"change",displayName:"Change password",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.EDIT,filter:he,input:{content:"Enter new password for the hub {{item.name}}",approveCaption:"Update password",inputProps:{placeholder:"Enter password",type:"password"}},handler:Ae},remove:{id:"remove",displayName:"Remove password",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.REMOVE,filter:he,confirmation:{content:"Are you sure that you want to reset the password of the hub {{item.name}}?",approveCaption:"Remove password",rejectCaption:"Don't remove"},handler:({itemData:e,socket:t})=>me(t,e,null)}},_e={moduleData:{moduleId:ae.KV.FAVORITE_HUBS,subId:"password"},actions:Ee};var ye=n(28286);const Oe=({cellData:e,rowDataGetter:t,t:n})=>(0,a.jsx)(G.yj,{caption:e?(0,a.jsx)("strong",{children:(0,oe.Tl)("Set",n,ae.KV.FAVORITE_HUBS)}):(0,oe.Tl)("Not set",n,ae.KV.FAVORITE_HUBS),actions:_e,itemData:t}),fe=()=>{const{t:e}=(0,re.Bd)(),t=(0,oe.lw)(e,ae.KV.FAVORITE_HUBS),{hasAccess:n}=(0,ye.w)(),{translate:o}=t,r=n(O.US.HUBS_EDIT);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(C.A,{rowClassNameGetter:e=>{switch(e.connect_state.id){case O.uv.CONNECTING:return"connecting";case O.uv.CONNECTED:return"connected";case O.uv.DISCONNECTED:return"disconnected"}return""},footerData:(0,a.jsx)(G.Wy,{className:"top left pointing",caption:o("Actions..."),actions:ve,header:o("Favorite hub actions"),triggerIcon:"chevron up",button:!0,remoteMenuId:"favorite_hubs",direction:"upward"}),store:p,moduleId:ae.KV.FAVORITE_HUBS,children:[(0,a.jsx)(P.VP,{name:"State",width:45,columnKey:"connect_state",cell:r?(0,a.jsx)(H,{}):void 0,flexGrow:3}),(0,a.jsx)(P.VP,{name:"Name",width:150,columnKey:"name",flexGrow:6,cell:(0,a.jsx)(U.K,{actions:ue,remoteMenuId:ce.Ay.FAVORITE_HUB})}),(0,a.jsx)(P.VP,{name:"Address",width:270,columnKey:"hub_url",flexGrow:3,hideWidth:700}),(0,a.jsx)(P.VP,{name:"Auto connect",width:65,columnKey:"auto_connect",cell:r?(0,a.jsx)(U.AJ,{onChange:(t,n)=>(0,se.bd)((()=>{return e=n,a={auto_connect:t},ie.A.patch(l+"/"+e.id,a);var e,a}),e),type:"toggle"}):void 0}),(0,a.jsx)(P.VP,{name:"Share profile",width:100,columnKey:"share_profile",flexGrow:1}),(0,a.jsx)(P.VP,{name:"Nick",width:100,columnKey:"nick",flexGrow:1}),(0,a.jsx)(P.VP,{name:"Password",width:100,columnKey:"has_password",cell:(0,a.jsx)(Oe,{})})]}),(0,a.jsx)(N,{favT:t})]})}},19430:(e,t,n)=>{n.d(t,{T:()=>r,v:()=>o});var a=n(86818);const o=(e,{formatSize:t})=>{let n=e.str;return e.id!==a.A.HIDDEN_PROFILE_ID&&(n+=` (${t(e.size)})`),n},r=(e,t)=>({id:e.id,name:o(e,t)})}}]);
2
- //# sourceMappingURL=favorite-hubs.8cf10fd101a7f261bdf6.chunk.js.map
1
+ "use strict";(self.webpackChunkairdcpp_webui=self.webpackChunkairdcpp_webui||[]).push([[580],{23896:(e,t,n)=>{n.d(t,{A:()=>s});var a=n(71354),o=n.n(a),r=n(76314),i=n.n(r)()(o());i.push([e.id,".virtual-table .cell-wrapper.connected,\n.virtual-table .cell-wrapper.connected span,\n.virtual-table .cell-wrapper.connected strong {\n color: green;\n}\n\n.virtual-table .cell-wrapper.connecting,\n.virtual-table .cell-wrapper.connecting span,\n.virtual-table .cell-wrapper.connecting strong {\n color: orange;\n}\n\n.virtual-table .cell-wrapper.disconnected,\n.virtual-table .cell-wrapper.disconnected span,\n.virtual-table .cell-wrapper.disconnected strong {\n color: dimslategray;\n}\n","",{version:3,sources:["webpack://./src/routes/FavoriteHubs/style.css"],names:[],mappings:"AAAA;;;EAGE,YAAY;AACd;;AAEA;;;EAGE,aAAa;AACf;;AAEA;;;EAGE,mBAAmB;AACrB",sourcesContent:[".virtual-table .cell-wrapper.connected,\n.virtual-table .cell-wrapper.connected span,\n.virtual-table .cell-wrapper.connected strong {\n color: green;\n}\n\n.virtual-table .cell-wrapper.connecting,\n.virtual-table .cell-wrapper.connecting span,\n.virtual-table .cell-wrapper.connecting strong {\n color: orange;\n}\n\n.virtual-table .cell-wrapper.disconnected,\n.virtual-table .cell-wrapper.disconnected span,\n.virtual-table .cell-wrapper.disconnected strong {\n color: dimslategray;\n}\n"],sourceRoot:""}]);const s=i},86818:(e,t,n)=>{n.d(t,{A:()=>o});const a="share_profiles",o={MODULE_URL:a,PROFILES_URL:a,PROFILE_ADDED:"share_profile_added",PROFILE_UPDATED:"share_profile_updated",PROFILE_REMOVED:"share_profile_removed",HIDDEN_PROFILE_ID:1}},71299:(e,t,n)=>{n.d(t,{A:()=>i});var a=n(2543),o=n(86818),r=n(13546);const i=function(e,t,n){return(0,r.A)(e,(0,a.merge)(n,{urls:{profiles:o.A.PROFILES_URL},dataConverters:{profiles:(e,{t:n})=>e.filter((e=>t||e.id!==o.A.HIDDEN_PROFILE_ID))},onSocketConnected:(e,{refetchData:t})=>{e(o.A.MODULE_URL,o.A.PROFILE_ADDED,(()=>t())),e(o.A.MODULE_URL,o.A.PROFILE_UPDATED,(()=>t())),e(o.A.MODULE_URL,o.A.PROFILE_REMOVED,(()=>t()))}}))}},7673:(e,t,n)=>{n.r(t),n.d(t,{default:()=>fe});var a=n(74848),o=n(96540),r=n(22005),i=n.n(r);const s="favorite_hubs",c=s,l=s;var d=n(52267);const p=i().createStore({_viewName:"favorite_hub_view",_apiUrl:c,mixins:[(0,d.A)("name")]});var u=n(99671),v=n(65385),m=n(86818),A=n(71299),h=n(4425),E=n(51766),_=n(94413),y=n(47456),O=n(86038);const f=({locals:e})=>{const t=(0,o.useRef)();return(0,o.useEffect)((()=>{t.current&&("boolean"==typeof e.value?t.current.indeterminate=!1:t.current.indeterminate=!0)}),[e.value]),(0,a.jsx)("input",Object.assign({ref:t,type:"checkbox"},e.attrs,{onChange:t=>{!1===e.value?e.onChange(null):e.onChange(t.target.checked)}}))},I={renderCheckbox:e=>(0,a.jsx)(f,{locals:e})},w=E.Ay.form.Form.templates.checkbox.clone(I);var b=n(19430),D=n(74416);const g=[{id:O.uu.DISABLED,name:"Disabled"},{id:O.uu.ACTIVE_MODE,name:"Active mode"},{id:O.uu.PASSIVE_MODE,name:"Passive mode"}],T=[{key:"generic",title:"Hub properties",type:O.OP.STRUCT,definitions:[{key:"name",title:"Name",type:O.OP.STRING},{key:"hub_url",title:"Hub URL",type:O.OP.STRING},{key:"hub_description",title:"Hub description",type:O.OP.STRING,optional:!0},{key:"share_profile",title:"Share profile",type:O.OP.NUMBER,help:"Custom share profiles can be selected only after entering an ADC hub address (starting with adc:// or adcs://)",optional:!0},{key:"auto_connect",title:"Auto connect",type:O.OP.BOOLEAN}]},{key:"user",title:"User setting overrides",type:O.OP.STRUCT,definitions:[{key:"nick",title:"Nick",type:O.OP.STRING,optional:!0},{key:"user_description",title:"User description",type:O.OP.STRING,optional:!0}]},{key:"connectivityV4",title:"Connectivity setting overrides (IPv4)",type:O.OP.STRUCT,definitions:[{key:"connection_mode_v4",title:"Connectivity mode",type:O.OP.NUMBER,optional:!0,options:g},{key:"connection_ip_v4",title:"IP address",type:O.OP.STRING,optional:!0}]},{key:"connectivityV6",title:"Connectivity setting overrides (IPv6)",type:O.OP.STRUCT,definitions:[{key:"connection_mode_v6",title:"Connectivity mode",type:O.OP.NUMBER,optional:!0,options:g},{key:"connection_ip_v6",title:"IP address",type:O.OP.STRING,optional:!0}]},{key:"misc",title:"Miscellaneous overrides",type:O.OP.STRUCT,definitions:[{key:"use_main_chat_notify",title:"Use chat notification",type:O.OP.BOOLEAN,optional:!0},{key:"show_joins",title:"Show joins/parts",type:O.OP.BOOLEAN,optional:!0},{key:"away_message",title:"Away message",type:O.OP.TEXT,optional:!0}]}],R=e=>!!e&&(0===e.indexOf("adc://")||0===e.indexOf("adcs://")),S=(e,t,n)=>e.filter((e=>R(t)||e.id===m.A.HIDDEN_PROFILE_ID)).map((e=>(0,b.T)(e,n))).map(y.UM),N=(0,v.A)((0,A.A)((({hubEntry:e,location:t,favT:n,profiles:r,socket:i})=>{const s=(0,D.k)(),c=(0,o.useMemo)((()=>(e=>{if(e)return{generic:e,user:e,connectivityV4:e,connectivityV6:e,misc:e}})(e)),[]),d=(0,o.useMemo)((()=>(0,y.Nn)(T,n)),[]),p=(0,o.useMemo)((()=>({value:"null",text:n.translate("Global default")})),[]),v=!e,A=(0,o.useRef)(null),{translate:O}=n,f=O(v?"Add favorite hub":"Edit favorite hub");return(0,a.jsx)(u.A,{className:"fav-hub",title:f,onApprove:()=>A.current.save(),closable:!1,icon:h.A.FAVORITE,children:(0,a.jsx)(_.A,{ref:A,onFieldChanged:(e,t,n)=>e.includes("hub_url")&&!R(t.generic.hub_url)&&t.share_profile!==m.A.HIDDEN_PROFILE_ID?Promise.resolve({share_profile:null}):null,onFieldSetting:(e,t,n)=>{if("share_profile"===e){const e=n.generic?n.generic.hub_url:void 0;Object.assign(t,{nullOption:p,factory:E.Ay.form.Select,options:S(r,e,s),transformer:y.xs})}else"connection_mode_v4"===e||"connection_mode_v6"===e?Object.assign(t,{nullOption:p,transformer:y.xs}):"use_main_chat_notify"!==e&&"show_joins"!==e||Object.assign(t,{template:w,transformer:{format:e=>void 0===e?null:e,parse:e=>e}})},onSave:t=>{const n=(a=t,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},a.generic),a.user),a.connectivityV4),a.connectivityV6),a.misc));var a;return v?i.post(l,n):i.patch(`${l}/${e.id}`,n)},fieldDefinitions:d,sourceValue:c,location:t})})}),!0,{urls:{hubEntry:({params:e},t)=>e.entryId?t.get(`${l}/${e.entryId}`):Promise.resolve(void 0)}}),"entries/:entryId?");var C=n(22373),P=n(68465),U=n(44247),k=n(46942),V=n.n(k),j=n(90680),x=n(85258),F=n(83994),L=n(6527);const B=e=>{switch(e.id){case O.uv.CONNECTING:return"yellow remove";case O.uv.CONNECTED:return"grey remove";case O.uv.DISCONNECTED:return"green video play"}return""},H=({width:e,cellData:t,rowDataGetter:n})=>{const o=(0,L.zy)(),r=(0,L.Zp)(),i=()=>{j.A.createSession(n().hub_url,{location:o,navigate:r,sessionStore:x.A})},s=()=>{j.A.removeSession({id:t.current_hub_id})};return(0,a.jsxs)("div",{className:"connect-state",children:[(0,a.jsx)(F.A,{icon:V()("icon large link",B(t)),onClick:(()=>{switch(t.id){case O.uv.CONNECTING:case O.uv.CONNECTED:return s;case O.uv.DISCONNECTED:default:return i}})()}),e>120&&t.str]})};var G=n(71352),M=n(85072),K=n.n(M),$=n(97825),z=n.n($),W=n(77659),Y=n.n(W),J=n(55056),X=n.n(J),Z=n(10540),q=n.n(Z),Q=n(41113),ee=n.n(Q),te=n(23896),ne={};ne.styleTagTransform=ee(),ne.setAttributes=X(),ne.insert=Y().bind(null,"head"),ne.domAPI=z(),ne.insertStyleElement=q(),K()(te.A,ne),te.A&&te.A.locals&&te.A.locals;var ae=n(67749),oe=n(42695),re=n(32389),ie=n(32811),se=n(36076),ce=n(39115);const le={create:{id:"create",displayName:"Add new",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.CREATE,handler:({navigate:e})=>{e("/favorite-hubs/entries")}}},de={edit:{id:"edit",displayName:"Edit",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.EDIT,handler:({itemData:e,navigate:t})=>{t(`/favorite-hubs/entries/${e.id}`)}},remove:{id:"remove",displayName:"Remove",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.REMOVE,confirmation:{content:"Are you sure that you want to remove the favorite hub {{item.name}}?",approveCaption:"Remove favorite hub",rejectCaption:"Don't remove"},handler:({itemData:e,socket:t})=>t.delete(l+"/"+e.id)}},pe={moduleId:ae.KV.FAVORITE_HUBS},ue={moduleData:pe,actions:de},ve={moduleData:pe,actions:le},me=(e,t,n)=>e.patch(l+"/"+t.id,{password:n}),Ae=({itemData:e,socket:t},n)=>me(t,e,n),he=({itemData:e})=>e.has_password,Ee={create:{id:"create",displayName:"Set password",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.LOCK,filter:e=>!he(e),input:{content:"Set password for the hub {{item.name}}",approveCaption:"Set password",inputProps:{placeholder:"Enter password",type:"password"}},handler:Ae},change:{id:"change",displayName:"Change password",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.EDIT,filter:he,input:{content:"Enter new password for the hub {{item.name}}",approveCaption:"Update password",inputProps:{placeholder:"Enter password",type:"password"}},handler:Ae},remove:{id:"remove",displayName:"Remove password",access:O.US.FAVORITE_HUBS_EDIT,icon:h.A.REMOVE,filter:he,confirmation:{content:"Are you sure that you want to reset the password of the hub {{item.name}}?",approveCaption:"Remove password",rejectCaption:"Don't remove"},handler:({itemData:e,socket:t})=>me(t,e,null)}},_e={moduleData:{moduleId:ae.KV.FAVORITE_HUBS,subId:"password"},actions:Ee};var ye=n(28286);const Oe=({cellData:e,rowDataGetter:t,t:n})=>(0,a.jsx)(G.yj,{caption:e?(0,a.jsx)("strong",{children:(0,oe.Tl)("Set",n,ae.KV.FAVORITE_HUBS)}):(0,oe.Tl)("Not set",n,ae.KV.FAVORITE_HUBS),actions:_e,itemData:t}),fe=()=>{const{t:e}=(0,re.Bd)(),t=(0,oe.lw)(e,ae.KV.FAVORITE_HUBS),{hasAccess:n}=(0,ye.w)(),{translate:o}=t,r=n(O.US.HUBS_EDIT);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(C.A,{rowClassNameGetter:e=>{switch(e.connect_state.id){case O.uv.CONNECTING:return"connecting";case O.uv.CONNECTED:return"connected";case O.uv.DISCONNECTED:return"disconnected"}return""},footerData:(0,a.jsx)(G.Wy,{className:"top left pointing",caption:o("Actions..."),actions:ve,header:o("Favorite hub actions"),triggerIcon:"chevron up",button:!0,remoteMenuId:"favorite_hubs",direction:"upward"}),store:p,moduleId:ae.KV.FAVORITE_HUBS,children:[(0,a.jsx)(P.VP,{name:"State",width:45,columnKey:"connect_state",cell:r?(0,a.jsx)(H,{}):void 0,flexGrow:3}),(0,a.jsx)(P.VP,{name:"Name",width:150,columnKey:"name",flexGrow:6,cell:(0,a.jsx)(U.K,{actions:ue,remoteMenuId:ce.Ay.FAVORITE_HUB})}),(0,a.jsx)(P.VP,{name:"Address",width:270,columnKey:"hub_url",flexGrow:3,hideWidth:700}),(0,a.jsx)(P.VP,{name:"Auto connect",width:65,columnKey:"auto_connect",cell:r?(0,a.jsx)(U.AJ,{onChange:(t,n)=>(0,se.bd)((()=>{return e=n,a={auto_connect:t},ie.A.patch(l+"/"+e.id,a);var e,a}),e),type:"toggle"}):void 0}),(0,a.jsx)(P.VP,{name:"Share profile",width:100,columnKey:"share_profile",flexGrow:1}),(0,a.jsx)(P.VP,{name:"Nick",width:100,columnKey:"nick",flexGrow:1}),(0,a.jsx)(P.VP,{name:"Password",width:100,columnKey:"has_password",cell:(0,a.jsx)(Oe,{})})]}),(0,a.jsx)(N,{favT:t})]})}},19430:(e,t,n)=>{n.d(t,{T:()=>r,v:()=>o});var a=n(86818);const o=(e,{formatSize:t})=>{let n=e.str;return e.id!==a.A.HIDDEN_PROFILE_ID&&(n+=` (${t(e.size)})`),n},r=(e,t)=>({id:e.id,name:o(e,t)})}}]);
2
+ //# sourceMappingURL=favorite-hubs.412e728342a8c396ef98.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/favorite-hubs.412e728342a8c396ef98.chunk.js","mappings":"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","sources":["webpack://airdcpp-webui/./src/routes/FavoriteHubs/style.css","webpack://airdcpp-webui/./src/constants/ShareProfileConstants.ts","webpack://airdcpp-webui/./src/decorators/ShareProfileDecorator.tsx","webpack://airdcpp-webui/./src/constants/FavoriteHubConstants.ts","webpack://airdcpp-webui/./src/stores/FavoriteHubStore.js","webpack://airdcpp-webui/./src/components/form/fields/IndeterminateCheckboxField.tsx","webpack://airdcpp-webui/./src/routes/FavoriteHubs/components/FavoriteHubDialog.tsx","webpack://airdcpp-webui/./src/routes/FavoriteHubs/components/ConnectStateCell.tsx","webpack://airdcpp-webui/./src/routes/FavoriteHubs/style.css?f7f3","webpack://airdcpp-webui/./src/actions/ui/favorite-hub/FavoriteHubActions.ts","webpack://airdcpp-webui/./src/actions/ui/favorite-hub/FavoriteHubPasswordActions.ts","webpack://airdcpp-webui/./src/routes/FavoriteHubs/components/FavoriteHubs.tsx","webpack://airdcpp-webui/./src/services/api/FavoriteHubApi.ts","webpack://airdcpp-webui/./src/utils/ShareProfileUtils.ts"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.virtual-table .cell-wrapper.connected,\n.virtual-table .cell-wrapper.connected span,\n.virtual-table .cell-wrapper.connected strong {\n color: green;\n}\n\n.virtual-table .cell-wrapper.connecting,\n.virtual-table .cell-wrapper.connecting span,\n.virtual-table .cell-wrapper.connecting strong {\n color: orange;\n}\n\n.virtual-table .cell-wrapper.disconnected,\n.virtual-table .cell-wrapper.disconnected span,\n.virtual-table .cell-wrapper.disconnected strong {\n color: dimslategray;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/routes/FavoriteHubs/style.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE,YAAY;AACd;;AAEA;;;EAGE,aAAa;AACf;;AAEA;;;EAGE,mBAAmB;AACrB\",\"sourcesContent\":[\".virtual-table .cell-wrapper.connected,\\n.virtual-table .cell-wrapper.connected span,\\n.virtual-table .cell-wrapper.connected strong {\\n color: green;\\n}\\n\\n.virtual-table .cell-wrapper.connecting,\\n.virtual-table .cell-wrapper.connecting span,\\n.virtual-table .cell-wrapper.connecting strong {\\n color: orange;\\n}\\n\\n.virtual-table .cell-wrapper.disconnected,\\n.virtual-table .cell-wrapper.disconnected span,\\n.virtual-table .cell-wrapper.disconnected strong {\\n color: dimslategray;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","const MODULE_URL = 'share_profiles';\nexport default {\n MODULE_URL: MODULE_URL,\n PROFILES_URL: MODULE_URL,\n\n PROFILE_ADDED: 'share_profile_added',\n PROFILE_UPDATED: 'share_profile_updated',\n PROFILE_REMOVED: 'share_profile_removed',\n\n HIDDEN_PROFILE_ID: 1,\n};\n","import * as React from 'react';\r\nimport { merge } from 'lodash';\r\n\r\nimport ShareProfileConstants from 'constants/ShareProfileConstants';\r\n\r\nimport DataProviderDecorator, {\r\n DataProviderDecoratorChildProps,\r\n DataProviderDecoratorSettings,\r\n DataConverter,\r\n} from 'decorators/DataProviderDecorator';\r\n\r\nimport * as API from 'types/api';\r\n\r\ninterface ShareProfileDecoratorDataProps {\r\n profiles: API.ShareProfile[];\r\n}\r\n\r\nexport type ShareProfileDecoratorChildProps = DataProviderDecoratorChildProps &\r\n ShareProfileDecoratorDataProps;\r\n\r\nconst ShareProfileDecorator = function <PropsT extends object>(\r\n Component: React.ComponentType<PropsT & ShareProfileDecoratorChildProps>,\r\n listHidden: boolean,\r\n dataProviderDecoratorSettings?: DataProviderDecoratorSettings<\r\n PropsT,\r\n ShareProfileDecoratorDataProps\r\n >,\r\n) {\r\n const convertProfiles: DataConverter<PropsT> = (data: API.ShareProfile[], { t }) => {\r\n const profiles = data.filter(\r\n (p) => listHidden || p.id !== ShareProfileConstants.HIDDEN_PROFILE_ID,\r\n );\r\n\r\n return profiles;\r\n };\r\n\r\n return DataProviderDecorator<PropsT, ShareProfileDecoratorDataProps>(\r\n Component,\r\n merge(dataProviderDecoratorSettings, {\r\n urls: {\r\n profiles: ShareProfileConstants.PROFILES_URL,\r\n },\r\n dataConverters: {\r\n profiles: convertProfiles,\r\n },\r\n onSocketConnected: (addSocketListener, { refetchData }) => {\r\n addSocketListener(\r\n ShareProfileConstants.MODULE_URL,\r\n ShareProfileConstants.PROFILE_ADDED,\r\n () => refetchData(),\r\n );\r\n addSocketListener(\r\n ShareProfileConstants.MODULE_URL,\r\n ShareProfileConstants.PROFILE_UPDATED,\r\n () => refetchData(),\r\n );\r\n addSocketListener(\r\n ShareProfileConstants.MODULE_URL,\r\n ShareProfileConstants.PROFILE_REMOVED,\r\n () => refetchData(),\r\n );\r\n },\r\n } as DataProviderDecoratorSettings<PropsT, ShareProfileDecoratorDataProps>),\r\n );\r\n};\r\n\r\nexport default ShareProfileDecorator;\r\n","const MODULE_URL = 'favorite_hubs';\n\nexport default {\n MODULE_URL: MODULE_URL,\n HUBS_URL: MODULE_URL,\n};\n","import Reflux from 'reflux';\n\nimport FavoriteHubConstants from 'constants/FavoriteHubConstants';\nimport ViewStoreMixin from 'mixins/ViewStoreMixin';\n\nexport default Reflux.createStore({\n _viewName: 'favorite_hub_view',\n _apiUrl: FavoriteHubConstants.MODULE_URL,\n mixins: [ViewStoreMixin('name')],\n});\n","import { useEffect, useRef } from 'react';\r\nimport * as React from 'react';\r\n\r\nimport * as UI from 'types/ui';\r\nimport t from 'utils/tcomb-form';\r\n\r\ninterface IndeterminateCheckboxProps {\r\n locals: UI.FormLocals<any, boolean | null, UI.EmptyObject>;\r\n}\r\n\r\nconst IndeterminateCheckbox: React.FC<IndeterminateCheckboxProps> = ({ locals }) => {\r\n const inputRef = useRef<HTMLInputElement>();\r\n\r\n useEffect(() => {\r\n if (!inputRef.current) {\r\n return;\r\n }\r\n\r\n if (typeof locals.value === 'boolean') {\r\n inputRef.current.indeterminate = false;\r\n } else {\r\n inputRef.current.indeterminate = true;\r\n }\r\n }, [locals.value]);\r\n\r\n return (\r\n <input\r\n ref={inputRef}\r\n type=\"checkbox\"\r\n {...locals.attrs}\r\n onChange={(evt) => {\r\n // Toggle between true/false/indeterminate\r\n if (locals.value === false) {\r\n locals.onChange(null);\r\n } else {\r\n locals.onChange(evt.target.checked);\r\n }\r\n }}\r\n />\r\n );\r\n};\r\n\r\ntype TCombTemplate = {\r\n renderCheckbox: (\r\n locals: UI.FormLocals<any, boolean | null, UI.EmptyObject>,\r\n ) => React.ReactNode;\r\n};\r\n\r\nconst IndeterminateCheckboxTemplate: TCombTemplate = {\r\n renderCheckbox(locals) {\r\n return <IndeterminateCheckbox locals={locals} />;\r\n },\r\n};\r\n\r\nexport const IndeterminateCheckboxField = t.form.Form.templates.checkbox.clone(\r\n IndeterminateCheckboxTemplate,\r\n);\r\n","import { useMemo, useRef } from 'react';\r\nimport RouteModal from 'components/semantic/RouteModal';\r\n\r\nimport ModalRouteDecorator, {\r\n ModalRouteDecoratorChildProps,\r\n} from 'decorators/ModalRouteDecorator';\r\n\r\nimport ShareProfileConstants from 'constants/ShareProfileConstants';\r\nimport FavoriteHubConstants from 'constants/FavoriteHubConstants';\r\n\r\nimport ShareProfileDecorator, {\r\n ShareProfileDecoratorChildProps,\r\n} from 'decorators/ShareProfileDecorator';\r\nimport IconConstants from 'constants/IconConstants';\r\n\r\nimport t from 'utils/tcomb-form';\r\n\r\nimport Form, {\r\n FormFieldChangeHandler,\r\n FormFieldSettingHandler,\r\n FormSaveHandler,\r\n} from 'components/form/Form';\r\nimport { normalizeEnumValue, intTransformer, translateForm } from 'utils/FormUtils';\r\n\r\nimport * as API from 'types/api';\r\nimport * as UI from 'types/ui';\r\n\r\nimport { FavoriteHubEntry } from 'types/api';\r\nimport { IndeterminateCheckboxField } from 'components/form/fields/IndeterminateCheckboxField';\r\nimport { profileToEnumValue } from 'utils/ShareProfileUtils';\r\nimport { Formatter, useFormatter } from 'context/FormatterContext';\r\n\r\nconst ConnectivityModeOptions: API.SettingEnumOption[] = [\r\n {\r\n id: API.ConnectivityModeEnum.DISABLED,\r\n name: 'Disabled',\r\n },\r\n {\r\n id: API.ConnectivityModeEnum.ACTIVE_MODE,\r\n name: 'Active mode',\r\n },\r\n {\r\n id: API.ConnectivityModeEnum.PASSIVE_MODE,\r\n name: 'Passive mode',\r\n },\r\n];\r\n\r\nconst Fields: UI.FormFieldDefinition[] = [\r\n {\r\n key: 'generic',\r\n title: 'Hub properties',\r\n type: API.SettingTypeEnum.STRUCT,\r\n definitions: [\r\n {\r\n key: 'name',\r\n title: 'Name',\r\n type: API.SettingTypeEnum.STRING,\r\n },\r\n {\r\n key: 'hub_url',\r\n title: 'Hub URL',\r\n type: API.SettingTypeEnum.STRING,\r\n },\r\n {\r\n key: 'hub_description',\r\n title: 'Hub description',\r\n type: API.SettingTypeEnum.STRING,\r\n optional: true,\r\n },\r\n {\r\n key: 'share_profile',\r\n title: 'Share profile',\r\n type: API.SettingTypeEnum.NUMBER,\r\n // eslint-disable-next-line max-len\r\n help: 'Custom share profiles can be selected only after entering an ADC hub address (starting with adc:// or adcs://)',\r\n optional: true,\r\n },\r\n {\r\n key: 'auto_connect',\r\n title: 'Auto connect',\r\n type: API.SettingTypeEnum.BOOLEAN,\r\n },\r\n ],\r\n },\r\n {\r\n key: 'user',\r\n title: 'User setting overrides',\r\n type: API.SettingTypeEnum.STRUCT,\r\n definitions: [\r\n {\r\n key: 'nick',\r\n title: 'Nick',\r\n type: API.SettingTypeEnum.STRING,\r\n optional: true,\r\n },\r\n {\r\n key: 'user_description',\r\n title: 'User description',\r\n type: API.SettingTypeEnum.STRING,\r\n optional: true,\r\n },\r\n ],\r\n },\r\n {\r\n key: 'connectivityV4',\r\n title: 'Connectivity setting overrides (IPv4)',\r\n type: API.SettingTypeEnum.STRUCT,\r\n definitions: [\r\n {\r\n key: 'connection_mode_v4',\r\n title: 'Connectivity mode',\r\n type: API.SettingTypeEnum.NUMBER,\r\n optional: true,\r\n options: ConnectivityModeOptions,\r\n },\r\n {\r\n key: 'connection_ip_v4',\r\n title: 'IP address',\r\n type: API.SettingTypeEnum.STRING,\r\n optional: true,\r\n },\r\n ],\r\n },\r\n {\r\n key: 'connectivityV6',\r\n title: 'Connectivity setting overrides (IPv6)',\r\n type: API.SettingTypeEnum.STRUCT,\r\n definitions: [\r\n {\r\n key: 'connection_mode_v6',\r\n title: 'Connectivity mode',\r\n type: API.SettingTypeEnum.NUMBER,\r\n optional: true,\r\n options: ConnectivityModeOptions,\r\n },\r\n {\r\n key: 'connection_ip_v6',\r\n title: 'IP address',\r\n type: API.SettingTypeEnum.STRING,\r\n optional: true,\r\n },\r\n ],\r\n },\r\n {\r\n key: 'misc',\r\n title: 'Miscellaneous overrides',\r\n type: API.SettingTypeEnum.STRUCT,\r\n definitions: [\r\n {\r\n key: 'use_main_chat_notify',\r\n title: 'Use chat notification',\r\n type: API.SettingTypeEnum.BOOLEAN,\r\n optional: true,\r\n },\r\n {\r\n key: 'show_joins',\r\n title: 'Show joins/parts',\r\n type: API.SettingTypeEnum.BOOLEAN,\r\n optional: true,\r\n },\r\n {\r\n key: 'away_message',\r\n title: 'Away message',\r\n type: API.SettingTypeEnum.TEXT,\r\n optional: true,\r\n },\r\n ],\r\n },\r\n];\r\n\r\ninterface Entry extends UI.FormValueMap {\r\n generic: Pick<\r\n FavoriteHubEntry,\r\n 'name' | 'hub_url' | 'hub_description' | 'auto_connect' | 'share_profile'\r\n >;\r\n user: Pick<FavoriteHubEntry, 'nick' | 'user_description'>;\r\n connectivityV4: Pick<FavoriteHubEntry, 'connection_mode_v4' | 'connection_ip_v4'>;\r\n connectivityV6: Pick<FavoriteHubEntry, 'connection_mode_v6' | 'connection_ip_v6'>;\r\n misc: Pick<FavoriteHubEntry, 'use_main_chat_notify' | 'show_joins' | 'away_message'>;\r\n}\r\n\r\nconst toFormEntry = (entry?: API.FavoriteHubEntry): Entry | undefined => {\r\n if (!entry) {\r\n return undefined;\r\n }\r\n\r\n return {\r\n generic: entry,\r\n user: entry,\r\n connectivityV4: entry,\r\n connectivityV6: entry,\r\n misc: entry,\r\n };\r\n};\r\n\r\nconst toFavoriteHub = (\r\n entry: RecursivePartial<Entry>,\r\n): RecursivePartial<API.FavoriteHubEntry> => {\r\n return {\r\n ...entry.generic,\r\n ...entry.user,\r\n ...entry.connectivityV4,\r\n ...entry.connectivityV6,\r\n ...entry.misc,\r\n };\r\n};\r\n\r\nconst isAdcHub = (hubUrl?: string) =>\r\n !!hubUrl && (hubUrl.indexOf('adc://') === 0 || hubUrl.indexOf('adcs://') === 0);\r\n\r\n// Get selection values for the profiles field\r\nconst getFieldProfiles = (\r\n profiles: API.ShareProfile[],\r\n url: string | undefined,\r\n formatter: Formatter,\r\n): UI.FormOption[] => {\r\n return profiles\r\n .filter((p) => isAdcHub(url) || p.id === ShareProfileConstants.HIDDEN_PROFILE_ID)\r\n .map((p) => profileToEnumValue(p, formatter))\r\n .map(normalizeEnumValue);\r\n};\r\n\r\ninterface FavoriteHubDialogProps {\r\n favT: UI.ModuleTranslator;\r\n}\r\n\r\ninterface DataProps {\r\n hubEntry?: API.FavoriteHubEntry;\r\n}\r\n\r\ntype Props = FavoriteHubDialogProps &\r\n DataProps &\r\n ShareProfileDecoratorChildProps &\r\n ModalRouteDecoratorChildProps;\r\n\r\nconst FavoriteHubDialog: React.FC<Props> = ({\r\n hubEntry,\r\n location,\r\n favT,\r\n profiles,\r\n socket,\r\n}) => {\r\n const formatter = useFormatter();\r\n\r\n const formValue = useMemo<Entry | undefined>(() => toFormEntry(hubEntry), []);\r\n const formDefinitions = useMemo<UI.FormFieldDefinition[]>(\r\n () => translateForm(Fields, favT),\r\n [],\r\n );\r\n const nullOption = useMemo<UI.FormOption<string>>(\r\n () => ({\r\n value: 'null',\r\n text: favT.translate('Global default'),\r\n }),\r\n [],\r\n );\r\n\r\n const isNew = !hubEntry;\r\n\r\n const formRef = useRef<Form<Entry>>(null);\r\n\r\n const onFieldChanged: FormFieldChangeHandler<Entry> = (id, value, hasChanges) => {\r\n if (id.includes('hub_url')) {\r\n if (\r\n !isAdcHub(value.generic!.hub_url) &&\r\n value.share_profile !== ShareProfileConstants.HIDDEN_PROFILE_ID\r\n ) {\r\n // Reset share profile\r\n return Promise.resolve({\r\n share_profile: null,\r\n });\r\n }\r\n }\r\n\r\n return null;\r\n };\r\n\r\n const handleSave = () => {\r\n return formRef.current!.save();\r\n };\r\n\r\n const onSave: FormSaveHandler<Entry> = (changedFields) => {\r\n const updatedEntryFields = toFavoriteHub(changedFields);\r\n if (isNew) {\r\n return socket.post(FavoriteHubConstants.HUBS_URL, updatedEntryFields);\r\n }\r\n\r\n return socket.patch(\r\n `${FavoriteHubConstants.HUBS_URL}/${hubEntry!.id}`,\r\n updatedEntryFields,\r\n );\r\n };\r\n\r\n const onFieldSetting: FormFieldSettingHandler<Entry> = (\r\n id,\r\n fieldOptions,\r\n formValue,\r\n ) => {\r\n if (id === 'share_profile') {\r\n const hubUrl = formValue.generic ? formValue.generic.hub_url : undefined;\r\n\r\n // Since the options are added dynamically based on the URL protocol, they must be\r\n // normalized to use the tcomb format\r\n Object.assign(fieldOptions, {\r\n nullOption,\r\n factory: t.form.Select,\r\n options: getFieldProfiles(profiles, hubUrl, formatter),\r\n transformer: intTransformer,\r\n });\r\n } else if (id === 'connection_mode_v4' || id === 'connection_mode_v6') {\r\n Object.assign(fieldOptions, {\r\n nullOption,\r\n transformer: intTransformer,\r\n });\r\n } else if (id === 'use_main_chat_notify' || id === 'show_joins') {\r\n Object.assign(fieldOptions, {\r\n template: IndeterminateCheckboxField,\r\n transformer: {\r\n format: (value: boolean | null) => (value === undefined ? null : value),\r\n parse: (value: boolean | null) => value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const { translate } = favT;\r\n const title = translate(isNew ? 'Add favorite hub' : 'Edit favorite hub');\r\n return (\r\n <RouteModal\r\n className=\"fav-hub\"\r\n title={title}\r\n onApprove={handleSave}\r\n closable={false}\r\n icon={IconConstants.FAVORITE}\r\n >\r\n <Form<Entry>\r\n ref={formRef}\r\n onFieldChanged={onFieldChanged}\r\n onFieldSetting={onFieldSetting}\r\n onSave={onSave}\r\n fieldDefinitions={formDefinitions}\r\n sourceValue={formValue}\r\n location={location}\r\n />\r\n </RouteModal>\r\n );\r\n};\r\n\r\nexport default ModalRouteDecorator<FavoriteHubDialogProps>(\r\n ShareProfileDecorator(FavoriteHubDialog, true, {\r\n urls: {\r\n hubEntry: ({ params }, socket) => {\r\n if (!params.entryId) {\r\n return Promise.resolve(undefined);\r\n }\r\n\r\n return socket.get(`${FavoriteHubConstants.HUBS_URL}/${params.entryId}`);\r\n },\r\n },\r\n }),\r\n 'entries/:entryId?',\r\n);\r\n","import classNames from 'classnames';\r\n\r\nimport HubActions from 'actions/reflux/HubActions';\r\nimport HubSessionStore from 'stores/HubSessionStore';\r\n\r\nimport Icon from 'components/semantic/Icon';\r\nimport { RowWrapperCellChildProps } from 'components/table/RowWrapperCell';\r\n\r\nimport * as API from 'types/api';\r\nimport { useLocation, useNavigate } from 'react-router';\r\n\r\nexport type ConnectStateCellProps = RowWrapperCellChildProps<\r\n API.FavoriteHubConnectState,\r\n API.FavoriteHubEntry\r\n>;\r\n\r\nconst getIcon = (state: API.FavoriteHubConnectState) => {\r\n switch (state.id) {\r\n case API.FavoriteHubConnectStateEnum.CONNECTING:\r\n return 'yellow remove';\r\n case API.FavoriteHubConnectStateEnum.CONNECTED:\r\n return 'grey remove';\r\n case API.FavoriteHubConnectStateEnum.DISCONNECTED:\r\n return 'green video play';\r\n default:\r\n }\r\n\r\n return '';\r\n};\r\n\r\nconst ConnectStateCell: React.FC<ConnectStateCellProps> = ({\r\n width,\r\n cellData,\r\n rowDataGetter,\r\n}) => {\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n\r\n const handleCreateSession = () => {\r\n HubActions.createSession(rowDataGetter!().hub_url, {\r\n location,\r\n navigate,\r\n sessionStore: HubSessionStore,\r\n });\r\n };\r\n\r\n const handleRemoveSession = () => {\r\n HubActions.removeSession({ id: cellData!.current_hub_id });\r\n };\r\n\r\n const getClickAction = () => {\r\n switch (cellData!.id) {\r\n case API.FavoriteHubConnectStateEnum.CONNECTING:\r\n case API.FavoriteHubConnectStateEnum.CONNECTED:\r\n return handleRemoveSession;\r\n case API.FavoriteHubConnectStateEnum.DISCONNECTED:\r\n default:\r\n return handleCreateSession;\r\n }\r\n };\r\n\r\n return (\r\n <div className=\"connect-state\">\r\n <Icon\r\n icon={classNames('icon large link', getIcon(cellData!))}\r\n onClick={getClickAction()}\r\n />\r\n {width! > 120 && cellData!.str}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ConnectStateCell;\r\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","import FavoriteHubConstants from 'constants/FavoriteHubConstants';\r\nimport IconConstants from 'constants/IconConstants';\r\n\r\nimport * as API from 'types/api';\r\nimport * as UI from 'types/ui';\r\n\r\nconst handleCreate: UI.ActionHandler<undefined> = ({ navigate }) => {\r\n navigate('/favorite-hubs/entries');\r\n};\r\n\r\nconst handleEdit: UI.ActionHandler<API.FavoriteHubEntry> = ({\r\n itemData: hub,\r\n navigate,\r\n}) => {\r\n navigate(`/favorite-hubs/entries/${hub.id}`);\r\n};\r\n\r\nconst handleRemove: UI.ActionHandler<API.FavoriteHubEntry> = ({\r\n itemData: hub,\r\n socket,\r\n}) => {\r\n return socket.delete(FavoriteHubConstants.HUBS_URL + '/' + hub.id);\r\n};\r\n\r\nexport const FavoriteHubCreateAction = {\r\n id: 'create',\r\n displayName: 'Add new',\r\n access: API.AccessEnum.FAVORITE_HUBS_EDIT,\r\n icon: IconConstants.CREATE,\r\n handler: handleCreate,\r\n};\r\n\r\nexport const FavoriteHubEditAction = {\r\n id: 'edit',\r\n displayName: 'Edit',\r\n access: API.AccessEnum.FAVORITE_HUBS_EDIT,\r\n icon: IconConstants.EDIT,\r\n handler: handleEdit,\r\n};\r\n\r\nexport const FavoriteHubRemoveAction = {\r\n id: 'remove',\r\n displayName: 'Remove',\r\n access: API.AccessEnum.FAVORITE_HUBS_EDIT,\r\n icon: IconConstants.REMOVE,\r\n confirmation: {\r\n content: 'Are you sure that you want to remove the favorite hub {{item.name}}?',\r\n approveCaption: 'Remove favorite hub',\r\n rejectCaption: `Don't remove`,\r\n },\r\n handler: handleRemove,\r\n};\r\n\r\nconst FavoriteHubCreateActions: UI.ActionListType<undefined> = {\r\n create: FavoriteHubCreateAction,\r\n};\r\n\r\nconst FavoriteHubEditActions: UI.ActionListType<API.FavoriteHubEntry> = {\r\n edit: FavoriteHubEditAction,\r\n remove: FavoriteHubRemoveAction,\r\n};\r\n\r\nexport const FavoriteHubActionModule = {\r\n moduleId: UI.Modules.FAVORITE_HUBS,\r\n};\r\n\r\nexport const FavoriteHubEditActionMenu = {\r\n moduleData: FavoriteHubActionModule,\r\n actions: FavoriteHubEditActions,\r\n};\r\n\r\nexport const FavoriteHubActionMenu = {\r\n moduleData: FavoriteHubActionModule,\r\n actions: FavoriteHubCreateActions,\r\n};\r\n","import FavoriteHubConstants from 'constants/FavoriteHubConstants';\r\nimport IconConstants from 'constants/IconConstants';\r\nimport { APISocket } from 'services/SocketService';\r\n\r\nimport * as API from 'types/api';\r\nimport * as UI from 'types/ui';\r\n\r\nconst sendPassword = (\r\n socket: APISocket,\r\n hub: API.FavoriteHubEntry,\r\n password: string | null,\r\n) => {\r\n return socket.patch(FavoriteHubConstants.HUBS_URL + '/' + hub.id, {\r\n password,\r\n });\r\n};\r\n\r\nconst handleSetPassword: UI.ActionHandler<API.FavoriteHubEntry> = (\r\n { itemData: hub, socket },\r\n password: string,\r\n) => {\r\n return sendPassword(socket, hub, password);\r\n};\r\n\r\nconst handleRemovePassword: UI.ActionHandler<API.FavoriteHubEntry> = ({\r\n itemData: hub,\r\n socket,\r\n}) => {\r\n return sendPassword(socket, hub, null);\r\n};\r\n\r\ntype Filter = UI.ActionFilter<API.FavoriteHubEntry>;\r\nconst hasPassword: Filter = ({ itemData: data }) => data.has_password;\r\nconst noPassword: Filter = (data) => !hasPassword(data);\r\n\r\nconst FavoriteHubPasswordCreateAction = {\r\n id: 'create',\r\n displayName: 'Set password',\r\n access: API.AccessEnum.FAVORITE_HUBS_EDIT,\r\n icon: IconConstants.LOCK,\r\n filter: noPassword,\r\n input: {\r\n content: 'Set password for the hub {{item.name}}',\r\n approveCaption: 'Set password',\r\n inputProps: {\r\n placeholder: 'Enter password',\r\n type: 'password',\r\n },\r\n },\r\n handler: handleSetPassword,\r\n};\r\n\r\nconst FavoriteHubPasswordChangeAction = {\r\n id: 'change',\r\n displayName: 'Change password',\r\n access: API.AccessEnum.FAVORITE_HUBS_EDIT,\r\n icon: IconConstants.EDIT,\r\n filter: hasPassword,\r\n input: {\r\n content: 'Enter new password for the hub {{item.name}}',\r\n approveCaption: 'Update password',\r\n inputProps: {\r\n placeholder: 'Enter password',\r\n type: 'password',\r\n },\r\n },\r\n handler: handleSetPassword,\r\n};\r\n\r\nconst FavoriteHubPasswordRemoveAction = {\r\n id: 'remove',\r\n displayName: 'Remove password',\r\n access: API.AccessEnum.FAVORITE_HUBS_EDIT,\r\n icon: IconConstants.REMOVE,\r\n filter: hasPassword,\r\n confirmation: {\r\n content: 'Are you sure that you want to reset the password of the hub {{item.name}}?',\r\n approveCaption: 'Remove password',\r\n rejectCaption: `Don't remove`,\r\n },\r\n handler: handleRemovePassword,\r\n};\r\n\r\nconst FavoriteHubPasswordActions: UI.ActionListType<API.FavoriteHubEntry> = {\r\n create: FavoriteHubPasswordCreateAction,\r\n change: FavoriteHubPasswordChangeAction,\r\n remove: FavoriteHubPasswordRemoveAction,\r\n};\r\n\r\nexport const FavoriteHubPasswordActionModule = {\r\n moduleId: UI.Modules.FAVORITE_HUBS,\r\n subId: 'password',\r\n};\r\n\r\nexport const FavoriteHubPasswordActionMenu = {\r\n moduleData: FavoriteHubPasswordActionModule,\r\n actions: FavoriteHubPasswordActions,\r\n};\r\n","import * as React from 'react';\r\n\r\nimport FavoriteHubStore from 'stores/FavoriteHubStore';\r\nimport FavoriteHubDialog from './FavoriteHubDialog';\r\n\r\nimport VirtualTable from 'components/table/VirtualTable';\r\nimport { Column } from 'fixed-data-table-2';\r\nimport { CheckboxCell, ActionMenuCell } from 'components/table/Cell';\r\nimport ConnectStateCell from './ConnectStateCell';\r\n\r\nimport { ActionMenu, TableActionMenu } from 'components/action-menu';\r\nimport { RowWrapperCellChildProps } from 'components/table/RowWrapperCell';\r\n\r\nimport '../style.css';\r\n\r\nimport * as API from 'types/api';\r\nimport * as UI from 'types/ui';\r\n\r\nimport { translate, getModuleT } from 'utils/TranslationUtils';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { updateFavoriteHub } from 'services/api/FavoriteHubApi';\r\nimport { runBackgroundSocketAction } from 'utils/ActionUtils';\r\nimport MenuConstants from 'constants/MenuConstants';\r\nimport {\r\n FavoriteHubActionMenu,\r\n FavoriteHubEditActionMenu,\r\n FavoriteHubPasswordActionMenu,\r\n} from 'actions/ui/favorite-hub';\r\nimport { useSession } from 'context/SessionContext';\r\n\r\nconst PasswordCell: React.FC<RowWrapperCellChildProps<string, API.FavoriteHubEntry>> = ({\r\n cellData,\r\n rowDataGetter,\r\n t,\r\n}) => (\r\n <TableActionMenu\r\n caption={\r\n cellData ? (\r\n <strong>{translate('Set', t!, UI.Modules.FAVORITE_HUBS)}</strong>\r\n ) : (\r\n translate('Not set', t!, UI.Modules.FAVORITE_HUBS)\r\n )\r\n }\r\n actions={FavoriteHubPasswordActionMenu}\r\n itemData={rowDataGetter!}\r\n />\r\n);\r\n\r\nconst FavoriteHubs: React.FC = () => {\r\n const { t } = useTranslation();\r\n\r\n const rowClassNameGetter = (rowData: API.FavoriteHubEntry) => {\r\n switch (rowData.connect_state.id) {\r\n case API.FavoriteHubConnectStateEnum.CONNECTING:\r\n return 'connecting';\r\n case API.FavoriteHubConnectStateEnum.CONNECTED:\r\n return 'connected';\r\n case API.FavoriteHubConnectStateEnum.DISCONNECTED:\r\n return 'disconnected';\r\n default:\r\n }\r\n\r\n return '';\r\n };\r\n\r\n const onChangeAutoConnect = (checked: boolean, rowData: API.FavoriteHubEntry) => {\r\n return runBackgroundSocketAction(\r\n () =>\r\n updateFavoriteHub(rowData, {\r\n auto_connect: checked,\r\n }),\r\n t,\r\n );\r\n };\r\n\r\n const favT = getModuleT(t, UI.Modules.FAVORITE_HUBS);\r\n\r\n const { hasAccess } = useSession();\r\n const { translate } = favT;\r\n const editAccess = hasAccess(API.AccessEnum.HUBS_EDIT);\r\n return (\r\n <>\r\n <VirtualTable\r\n rowClassNameGetter={rowClassNameGetter}\r\n footerData={\r\n <ActionMenu\r\n className=\"top left pointing\"\r\n caption={translate('Actions...')}\r\n actions={FavoriteHubActionMenu}\r\n header={translate('Favorite hub actions')}\r\n triggerIcon=\"chevron up\"\r\n button={true}\r\n remoteMenuId=\"favorite_hubs\"\r\n direction=\"upward\"\r\n />\r\n }\r\n store={FavoriteHubStore}\r\n moduleId={UI.Modules.FAVORITE_HUBS}\r\n >\r\n <Column\r\n name=\"State\"\r\n width={45}\r\n columnKey=\"connect_state\"\r\n cell={editAccess ? <ConnectStateCell /> : undefined}\r\n flexGrow={3}\r\n />\r\n <Column\r\n name=\"Name\"\r\n width={150}\r\n columnKey=\"name\"\r\n flexGrow={6}\r\n cell={\r\n <ActionMenuCell\r\n actions={FavoriteHubEditActionMenu}\r\n remoteMenuId={MenuConstants.FAVORITE_HUB}\r\n />\r\n }\r\n />\r\n <Column\r\n name=\"Address\"\r\n width={270}\r\n columnKey=\"hub_url\"\r\n flexGrow={3}\r\n hideWidth={700}\r\n />\r\n <Column\r\n name=\"Auto connect\"\r\n width={65}\r\n columnKey=\"auto_connect\"\r\n cell={\r\n editAccess ? (\r\n <CheckboxCell onChange={onChangeAutoConnect} type=\"toggle\" />\r\n ) : undefined\r\n }\r\n />\r\n <Column name=\"Share profile\" width={100} columnKey=\"share_profile\" flexGrow={1} />\r\n <Column name=\"Nick\" width={100} columnKey=\"nick\" flexGrow={1} />\r\n <Column\r\n name=\"Password\"\r\n width={100}\r\n columnKey=\"has_password\"\r\n cell={<PasswordCell />}\r\n />\r\n </VirtualTable>\r\n <FavoriteHubDialog favT={favT} />\r\n </>\r\n );\r\n};\r\n\r\nexport default FavoriteHubs;\r\n","import * as API from 'types/api';\r\n\r\nimport SocketService from 'services/SocketService';\r\nimport FavoriteHubConstants from 'constants/FavoriteHubConstants';\r\n\r\nexport const updateFavoriteHub = (\r\n hub: API.FavoriteHubEntry,\r\n data: Partial<API.FavoriteHubEntryBase>,\r\n) => {\r\n return SocketService.patch(FavoriteHubConstants.HUBS_URL + '/' + hub.id, data);\r\n};\r\n","import ShareProfileConstants from 'constants/ShareProfileConstants';\r\n\r\nimport { Formatter } from 'context/FormatterContext';\r\n\r\nimport * as API from 'types/api';\r\n\r\nexport const formatProfileNameWithSize = (\r\n profile: API.ShareProfile,\r\n { formatSize }: Formatter,\r\n) => {\r\n let str = profile.str;\r\n if (profile.id !== ShareProfileConstants.HIDDEN_PROFILE_ID) {\r\n str += ` (${formatSize(profile.size)})`;\r\n }\r\n\r\n return str;\r\n};\r\n\r\nexport const profileToEnumValue = (profile: API.ShareProfile, formatter: Formatter) => {\r\n return {\r\n id: profile.id,\r\n name: formatProfileNameWithSize(profile, formatter),\r\n };\r\n};\r\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","MODULE_URL","PROFILES_URL","PROFILE_ADDED","PROFILE_UPDATED","PROFILE_REMOVED","HIDDEN_PROFILE_ID","Component","listHidden","dataProviderDecoratorSettings","merge","urls","profiles","dataConverters","data","t","filter","p","onSocketConnected","addSocketListener","refetchData","_viewName","_apiUrl","FavoriteHubConstants","mixins","ViewStoreMixin","IndeterminateCheckbox","locals","inputRef","useRef","useEffect","current","value","indeterminate","ref","type","attrs","onChange","evt","target","checked","IndeterminateCheckboxTemplate","renderCheckbox","IndeterminateCheckboxField","form","Form","templates","checkbox","clone","ConnectivityModeOptions","DISABLED","name","ACTIVE_MODE","PASSIVE_MODE","Fields","key","title","STRUCT","definitions","STRING","optional","NUMBER","help","BOOLEAN","options","TEXT","isAdcHub","hubUrl","indexOf","getFieldProfiles","url","formatter","ShareProfileConstants","map","ModalRouteDecorator","ShareProfileDecorator","hubEntry","location","favT","socket","formValue","useMemo","entry","generic","user","connectivityV4","connectivityV6","misc","toFormEntry","formDefinitions","nullOption","text","translate","isNew","formRef","RouteModal","className","onApprove","save","closable","icon","IconConstants","FAVORITE","onFieldChanged","hasChanges","includes","hub_url","share_profile","Promise","resolve","onFieldSetting","fieldOptions","undefined","Object","assign","factory","Select","transformer","template","format","parse","onSave","changedFields","updatedEntryFields","post","patch","fieldDefinitions","sourceValue","params","entryId","get","getIcon","state","CONNECTING","CONNECTED","DISCONNECTED","width","cellData","rowDataGetter","navigate","handleCreateSession","HubActions","createSession","sessionStore","HubSessionStore","handleRemoveSession","removeSession","current_hub_id","Icon","onClick","getClickAction","str","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","FavoriteHubCreateActions","create","displayName","access","FAVORITE_HUBS_EDIT","CREATE","handler","FavoriteHubEditActions","edit","EDIT","itemData","hub","remove","REMOVE","confirmation","content","approveCaption","rejectCaption","delete","FavoriteHubActionModule","moduleId","FAVORITE_HUBS","FavoriteHubEditActionMenu","moduleData","actions","FavoriteHubActionMenu","sendPassword","password","handleSetPassword","hasPassword","has_password","FavoriteHubPasswordActions","LOCK","input","inputProps","placeholder","change","FavoriteHubPasswordActionMenu","subId","PasswordCell","caption","hasAccess","editAccess","HUBS_EDIT","VirtualTable","rowClassNameGetter","rowData","connect_state","footerData","header","triggerIcon","button","remoteMenuId","direction","store","FavoriteHubStore","columnKey","cell","flexGrow","MenuConstants","FAVORITE_HUB","hideWidth","updateFavoriteHub","auto_connect","SocketService","formatProfileNameWithSize","profile","formatSize","size","profileToEnumValue"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunkairdcpp_webui=self.webpackChunkairdcpp_webui||[]).push([[760],{52237:(e,t,n)=>{n.d(t,{A:()=>a});var s=n(71354),i=n.n(s),o=n(76314),r=n.n(o)()(i());r.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 a=r},98737:(e,t,n)=>{n.d(t,{A:()=>a});var s=n(71354),i=n.n(s),o=n(76314),r=n.n(o)()(i());r.push([e.id,"#sidebar .virtual-table {\n flex: 1 100 100%;\n}\n\n.filelist.session .browser,\n.filelist.session .browser .virtual-table {\n height: calc(100% - 35px);\n}\n\n#mobile-layout .filelist.session .browser {\n height: 100%;\n}\n\n#mobile-layout .filelist.session .browser {\n height: calc(100% - 10px);\n}\n\n@media screen and (min-color-index: 0) and(-webkit-min-device-pixel-ratio:0) {\n /* Safari specific CSS */\n .filelist.session .browser {\n height: calc(100% - 95px);\n }\n\n #mobile-layout .filelist.session .browser {\n height: calc(100% - 60px);\n }\n}\n\n.filelist.session .browser .ui.segment {\n margin-bottom: 10px;\n}\n\n.filelist.session {\n max-height: 100%;\n overflow: hidden;\n margin-top: 10px;\n flex: 1 1 100%;\n}\n\n.session.new .profile.ui.dropdown {\n margin-top: 10px;\n color: gray;\n align-self: flex-end;\n}\n","",{version:3,sources:["webpack://./src/routes/Sidebar/routes/Filelists/style.css"],names:[],mappings:"AAAA;EACE,gBAAgB;AAClB;;AAEA;;EAEE,yBAAyB;AAC3B;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,wBAAwB;EACxB;IACE,yBAAyB;EAC3B;;EAEA;IACE,yBAAyB;EAC3B;AACF;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,gBAAgB;EAChB,WAAW;EACX,oBAAoB;AACtB",sourcesContent:["#sidebar .virtual-table {\n flex: 1 100 100%;\n}\n\n.filelist.session .browser,\n.filelist.session .browser .virtual-table {\n height: calc(100% - 35px);\n}\n\n#mobile-layout .filelist.session .browser {\n height: 100%;\n}\n\n#mobile-layout .filelist.session .browser {\n height: calc(100% - 10px);\n}\n\n@media screen and (min-color-index: 0) and(-webkit-min-device-pixel-ratio:0) {\n /* Safari specific CSS */\n .filelist.session .browser {\n height: calc(100% - 95px);\n }\n\n #mobile-layout .filelist.session .browser {\n height: calc(100% - 60px);\n }\n}\n\n.filelist.session .browser .ui.segment {\n margin-bottom: 10px;\n}\n\n.filelist.session {\n max-height: 100%;\n overflow: hidden;\n margin-top: 10px;\n flex: 1 1 100%;\n}\n\n.session.new .profile.ui.dropdown {\n margin-top: 10px;\n color: gray;\n align-self: flex-end;\n}\n"],sourceRoot:""}]);const a=r},90264:(e,t,n)=>{n.d(t,{G:()=>L});var s=n(74848),i=(n(96540),n(74416)),o=n(71352),r=n(86038),a=n(67749),l=n(32389),c=n(42695),d=n(85072),A=n.n(d),u=n(97825),m=n.n(u),p=n(77659),f=n.n(p),h=n(55056),E=n.n(h),x=n(10540),y=n.n(x),g=n(41113),I=n.n(g),S=n(52237),w={};w.styleTagTransform=I(),w.setAttributes=E(),w.insert=f().bind(null,"head"),w.domAPI=m(),w.insertStyleElement=y(),A()(S.A,w),S.A&&S.A.locals&&S.A.locals;var v=n(73070);const b={[r.YF.SHARE_PARTIAL]:"Share (partial)",[r.YF.SHARE_FULL]:"Share (full)",[r.YF.QUEUE_PARTIAL]:"Queue (partial)",[r.YF.QUEUE_FULL]:"Queue (full)",[r.YF.FINISHED_PARTIAL]:"Finished (partial)",[r.YF.FINISHED_FULL]:"Finished (full)",[r.YF.SHARE_QUEUE]:"Share and queue",[r.YF.SHARE_FINISHED]:"Share and finished",[r.YF.QUEUE_FINISHED]:"Queue and finished",[r.YF.SHARE_QUEUE_FINISHED]:"Share, queue and finished"},j=({paths:e})=>(0,s.jsx)("div",{className:"dupe-paths",children:e.map((e=>(0,s.jsx)("div",{className:"path",children:e},e)))}),L=({session:e,fileItem:t,user:n,downloadHandler:r,showPath:d=!0})=>{const{t:A}=(0,l.Bd)(),u=e=>(0,c.Tl)(e,A,a.KV.COMMON),{formatSize:m,formatRelativeTime:p}=(0,i.k)();return(0,s.jsxs)("div",{className:"ui fileitem info segment",children:[(0,s.jsxs)(v.xA,{columns:"two",stackable:!0,children:[(0,s.jsx)(v.fI,{title:u("Name"),text:t.name}),(0,s.jsx)(v.fI,{title:u("Type/content"),text:t.type.str}),(0,s.jsx)(v.fI,{title:u("Size"),text:m(t.size,!0)}),(0,s.jsx)(v.fI,{title:u("Last modified"),text:p(t.time||0)}),"file"===t.type.id&&(0,s.jsx)(v.fI,{title:u("TTH"),text:t.tth}),!!t.dupe&&(0,s.jsx)(v.fI,{title:u("Dupe type"),text:u(b[t.dupe.id])}),!!t.dupe&&(0,s.jsx)(v.fI,{title:u("Dupe paths"),text:(0,s.jsx)(j,{paths:t.dupe.paths})}),d&&(0,s.jsx)(v.fI,{title:u("Path"),text:t.path})]}),(0,s.jsx)(o.gU,{caption:u("Actions..."),button:!0,user:n,itemInfoGetter:()=>t,downloadHandler:r,contextElement:".ui.modal > .content",entity:e})]})}},86818:(e,t,n)=>{n.d(t,{A:()=>i});const s="share_profiles",i={MODULE_URL:s,PROFILES_URL:s,PROFILE_ADDED:"share_profile_added",PROFILE_UPDATED:"share_profile_updated",PROFILE_REMOVED:"share_profile_removed",HIDDEN_PROFILE_ID:1}},71299:(e,t,n)=>{n.d(t,{A:()=>r});var s=n(2543),i=n(86818),o=n(13546);const r=function(e,t,n){return(0,o.A)(e,(0,s.merge)(n,{urls:{profiles:i.A.PROFILES_URL},dataConverters:{profiles:(e,{t:n})=>e.filter((e=>t||e.id!==i.A.HIDDEN_PROFILE_ID))},onSocketConnected:(e,{refetchData:t})=>{e(i.A.MODULE_URL,i.A.PROFILE_ADDED,(()=>t())),e(i.A.MODULE_URL,i.A.PROFILE_UPDATED,(()=>t())),e(i.A.MODULE_URL,i.A.PROFILE_REMOVED,(()=>t()))}}))}},62705:(e,t,n)=>{n.d(t,{A:()=>u});var s=n(74848),i=(n(96540),n(13546)),o=n(74416),r=n(31224),a=n(2253),l=n(93226),c=n(67749),d=n(42695),A=n(32389);const u=(0,i.A)((({entries:e,entryTitleRenderer:t,hasSession:n,entryIcon:i})=>{const{formatRelativeTime:l}=(0,o.k)(),{t:u}=(0,A.Bd)();return 0===e.length?null:(0,s.jsxs)("div",{className:"recents",children:[(0,s.jsx)(r.A,{title:(0,d.Tl)("Recent sessions",u,c.KV.COMMON),size:""}),(0,s.jsx)("div",{className:"ui relaxed divided list",children:e.map(((e,o)=>(0,s.jsx)(a.c,{header:t(e),description:!!e.last_opened&&u((0,d.j2)("openedAgo",c.KV.COMMON),{defaultValue:"Opened {{timeAgo}}",replace:{timeAgo:l(e.last_opened)}}),icon:(n(e)?"green ":"")+i},o)))})]})}),{urls:{entries:({entryType:e},t)=>t.get(`${l.Ay.SESSIONS_URL}/${e}/0`)}})},22187:(e,t,n)=>{n.d(t,{A:()=>l});var s=n(74848),i=n(77856),o=n(71352),r=n(93866),a=n(39115);function l(e){return{itemNameGetter:e=>e.user.nicks,itemStatusGetter(e){const{flags:t}=e.user;return(0,i.Z)(t)},itemHeaderDescriptionGetter:e=>e.user.hub_names,itemHeaderIconGetter:e=>(0,s.jsx)(r.A,{flags:e.user.flags}),itemHeaderTitleGetter(t,n,i){const{user:r}=t;return(0,s.jsx)(o.Bg,{user:r,ids:e,remoteMenuId:a.Ay.HINTED_USER,children:i})}}}},50747:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Le});var s=n(74848),i=n(96540),o=n(91950),r=n(22187),a=n(17585),l=n(40599),c=n(62705),d=n(90425),A=n(27725),u=n(71299),m=n(19430),p=n(74416);const f=(0,u.A)((({sessionT:e,profiles:t,onProfileChanged:n})=>{const i=(0,p.k)();return(0,s.jsx)(d.A,{className:"profile top right pointing",caption:e.translate("Browse own share..."),triggerIcon:"",children:t.map((e=>(0,s.jsx)(A.A,{onClick:()=>n(e.id),children:(0,m.v)(e,i)},e.id)))})}),!1);var h=n(93226),E=n(4425),x=n(16674);const y=e=>{const t=t=>{const{navigate:n,location:s}=e;l.A.createSession({user:t},{navigate:n,location:s,sessionStore:a.A})},{sessionT:n}=e;return(0,s.jsxs)("div",{className:"filelist session new",children:[(0,s.jsx)(x.M,{onChange:t,offlineMessage:n.t("offlineMessage","You must to be connected to at least one hub in order to download filelists from other users"),isClearable:!1,autoFocus:!0}),(0,s.jsx)(f,{onProfileChanged:t=>{const{navigate:n,location:s}=e;l.A.ownList(t,{navigate:n,location:s,sessionStore:a.A})},sessionT:n}),(0,s.jsx)(c.A,{entryType:h.iM.FILELIST,hasSession:e=>a.A.getSession(e.user.cid),entryTitleRenderer:e=>(0,s.jsx)("a",{onClick:n=>t(e.user),children:e.user.nicks+(e.description?` (${e.description})`:"")}),entryIcon:E.A.FILELISTS_PLAIN})]})};var g=n(38453),I=n(8098);const S=({session:e,sessionT:t})=>{const{formatSize:n}=(0,p.k)();if((0,I.mY)())return null;let i=e.location.type.str;return i.length>0&&(i=`${n(e.location.size)} (${i})`),(0,s.jsxs)(g.q,{children:[(0,s.jsx)(g.J,{label:t.translate("Directory size"),text:i}),(0,s.jsx)(g.J,{label:t.translate("Total list size"),text:n(e.total_size)})]})};var w=n(79531),v=n(99347),b=n(32728),j=n(46942),L=n.n(j),_=n(85035),D=n(71352),C=n(88544),T=n(99671),R=n(5945),B=n(65385),O=n(13546),F=n(90264),N=n(34792),U=n(50915);const P=e=>(t,n)=>n.get(`${N.A.MODULE_URL}/${e.id}/items/${t}`);class H extends i.Component{render(){const{fileItem:e,session:t}=this.props;return(0,s.jsxs)(T.A,Object.assign({className:"filelist-item",title:e.name,closable:!0,icon:(0,s.jsx)(R.A,{typeInfo:e.type}),fullHeight:!0},this.props,{children:[(0,s.jsx)(C.A,{downloadHandler:U.jJ,itemDataGetter:P(t),userGetter:()=>t.user,session:t}),(0,s.jsx)(F.G,{fileItem:e,downloadHandler:U.jJ,user:t.user,session:t})]}))}}H.displayName="FilelistItemInfoDialog";const G=(0,B.A)((0,O.A)(H,{urls:{fileItem:({params:e,session:t},n)=>P(t)(e.itemId,n)}}),"item/:itemId");var k=n(77856),M=n(52267),$=n(22005);const z=n.n($)().createStore({_viewName:"filelist_view",_apiUrl:N.A.SESSIONS_URL,_sessionStore:a.A,mixins:[(0,M.A)("name")]});var V=n(22373),Y=n(44247),K=n(68465),Q=n(67749),J=n(39115),q=n(86038),W=n(59548);const X={reloadDirectory:{id:"reloadDirectory",displayName:"Reload",access:q.US.FILELISTS_VIEW,icon:E.A.RELOAD,filter:e=>(({entity:e})=>e.partial_list)(e)&&(({itemData:e})=>"directory"===e.type.id)(e),handler:({itemData:e,entity:t,socket:n})=>n.post(`${N.A.SESSIONS_URL}/${t.id}/directory`,{list_path:e.path,reload:!0})},refreshShare:{id:"refreshShare",displayName:"Refresh in share",access:q.US.SETTINGS_EDIT,icon:E.A.REFRESH_COLORED,filter:({entity:e})=>e.user.flags.includes("self"),handler:({itemData:e})=>(0,W.t7)(e.path)},details:{id:"details",displayName:"Details",icon:E.A.DETAILS,handler:({itemData:e,navigate:t})=>{t(`item/${e.id}`)},filter:e=>!(({itemData:e})=>"/"===e.path)(e)}},Z={moduleData:{moduleId:Q.KV.FILELISTS,subId:"item"},actions:X},ee={remove:(0,n(4112).R)(N.A.SESSIONS_URL,q.US.FILELISTS_EDIT)},te={moduleData:{moduleId:Q.KV.FILELISTS},actions:ee};const ne=e=>{var{rowDataGetter:t,onClickDirectory:n,session:i}=e,o=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 i=0;for(s=Object.getOwnPropertySymbols(e);i<s.length;i++)t.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(e,s[i])&&(n[s[i]]=e[s[i]])}return n}(e,["rowDataGetter","onClickDirectory","session"]);return(0,s.jsx)(Y.BH,Object.assign({clickHandlerGetter:n,userGetter:()=>i.user,downloadHandler:U.jJ,rowDataGetter:t,entity:i,remoteMenuId:J.Ay.FILELIST_ITEM},o,{children:(0,s.jsx)(D.yj,{actions:Z,itemData:t,ids:["refreshShare","details"],entity:i})}))};class se extends i.Component{constructor(){super(...arguments),this.rowClassNameGetter=e=>this.props.session.user.flags.includes("self")?"":(0,k.L5)(e.dupe),this.emptyRowsNodeGetter=()=>{const{location:e,state:t}=this.props.session,{translate:n}=this.props.sessionT;if("download_failed"===t.id)return(0,s.jsx)(b.A,{icon:E.A.ERROR,title:n("Download failed"),description:t.str});const{files:i,directories:o}=e.type;return 0!==i||0!==o?(0,s.jsx)(v.A,{text:n("Updating view")}):e.complete?(0,s.jsx)(b.A,{title:n("No content to display"),description:n("The directory is empty")}):(0,s.jsx)(v.A,{text:n("Preparing download")})},this.onClickDirectory=(e,t)=>{if("directory"===t().type.id)return()=>this.props.onClickDirectory(this.props.session.location.path+e+"/")},this.userGetter=()=>this.props.session.user}render(){const{session:e}=this.props;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(V.A,{emptyRowsNodeGetter:this.emptyRowsNodeGetter,rowClassNameGetter:this.rowClassNameGetter,store:z,entityId:e.id,viewId:e.location.path,sessionStore:a.A,moduleId:Q.KV.FILELISTS,children:[(0,s.jsx)(K.VP,{name:"Name",width:200,columnKey:"name",cell:(0,s.jsx)(ne,{onClickDirectory:this.onClickDirectory,session:e}),flexGrow:8}),(0,s.jsx)(K.VP,{name:"Size",width:60,columnKey:"size",cell:(0,s.jsx)(Y.us,{}),flexGrow:1}),(0,s.jsx)(K.VP,{name:"Type",width:70,columnKey:"type",flexGrow:1,hideWidth:500}),(0,s.jsx)(K.VP,{name:"Last modified",width:80,columnKey:"time",cell:(0,s.jsx)(Y.Jo,{}),flexGrow:1})]}),(0,s.jsx)(G,{session:e})]})}}const ie=se;var oe=n(42815),re=n(36076);var ae=n(88939);const le=e=>{const{sessionT:t,session:n}=e,[o,r]=i.useState(!1),a=(({session:e,location:t,sessionT:n})=>{var s,o;const r=(0,oe.Zp)(),a=(e,n)=>{const s=t.state;if(e===(null==s?void 0:s.directory))return;const i={directory:e};r(t.pathname,{state:i,replace:n})};return i.useEffect((()=>{const n=t.state;n?n.directory!==e.location.path&&a(e.location.path,!0):a(e.location.path,!0)}),[null===(s=e.location)||void 0===s?void 0:s.path]),i.useEffect((()=>{const s=t.state;if(!s)return;const i=s.directory;i!==e.location.path&&i&&(t=>{(0,re.bd)((()=>(0,U.Qs)(e,t)),n.plainT)})(i)}),[null===(o=t.state)||void 0===o?void 0:o.directory]),a})(e),l=e=>{o||r(!0),a(e,!1)};(0,oe.KP)((({currentLocation:e,nextLocation:n,historyAction:s})=>!("POP"!==s||!o||n.pathname===e.pathname||(r(!1),ae.A.info({title:t.t("confirmLeave","Confirm action"),message:t.t("confirmLeaveDesc","Click the back button again to leave this filelist")}),0))));const c=()=>n.location,d=P(n);return(0,s.jsxs)("div",{className:"browser",children:[(0,s.jsx)(_.A,{path:n.location.path,separator:"/",rootPath:"/",rootName:t.translate("Root"),itemClickHandler:l,selectedNameFormatter:e=>(0,s.jsx)(D.gU,{caption:e,user:n.user,itemInfoGetter:c,downloadHandler:U.jJ,contextElement:".session-container",entity:n,remoteMenuId:J.Ay.FILELIST_ITEM,children:(0,s.jsx)(D.Wy,{itemData:n.location,actions:Z,entity:n})}),entityId:n.id}),(0,s.jsx)(ie,{session:n,sessionT:t,onClickDirectory:l}),(0,s.jsx)(C.A,{downloadHandler:U.jJ,itemDataGetter:d,userGetter:()=>n.user,session:n})]})},ce=(0,w.A)((e=>{const{session:t,sessionT:n,location:i}=e,{user:o,location:r,state:a}=t,l=o.flags.includes("self"),c=L()("filelist session",{self:l});return o.flags.includes("offline")&&!l?(0,s.jsx)("div",{className:c,children:(0,s.jsx)(b.A,{title:n.t("userOffline","User offline"),description:n.t("userOfflineDesc","You will be able to continue browsing when the user comes back online")})}):"loaded"!==a.id&&"download_failed"!==a.id||!r?(0,s.jsx)("div",{className:c,children:(0,s.jsx)(v.A,{text:a.str})}):(0,s.jsxs)("div",{className:c,children:[(0,s.jsx)(le,{location:i,session:t,sessionT:n}),(0,s.jsx)(S,{session:t,sessionT:n})]})}));var de=n(85072),Ae=n.n(de),ue=n(97825),me=n.n(ue),pe=n(77659),fe=n.n(pe),he=n(55056),Ee=n.n(he),xe=n(10540),ye=n.n(xe),ge=n(41113),Ie=n.n(ge),Se=n(98737),we={};we.styleTagTransform=Ie(),we.setAttributes=Ee(),we.insert=fe().bind(null,"head"),we.domAPI=me(),we.insertStyleElement=ye(),Ae()(Se.A,we),Se.A&&Se.A.locals&&Se.A.locals;var ve=n(78046);const be=(0,r.A)(["message"]),je={itemLabelGetter:()=>null,itemNameGetter:e=>e.share_profile?e.share_profile.str:be.itemNameGetter(e),itemStatusGetter:e=>e.share_profile?"blue":be.itemStatusGetter(e),itemHeaderTitleGetter:(e,t,n)=>e.share_profile?n:be.itemHeaderTitleGetter(e,t,n),itemHeaderDescriptionGetter:e=>e.share_profile?null:be.itemHeaderDescriptionGetter(e),itemHeaderIconGetter:e=>e.share_profile?"green server":be.itemHeaderIconGetter(e)},Le=(0,ve.Z)((e=>{const{params:t,sessionT:n}=e,i=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 i=0;for(s=Object.getOwnPropertySymbols(e);i<s.length;i++)t.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(e,s[i])&&(n[s[i]]=e[s[i]])}return n}(e,["params","sessionT"]);return(0,s.jsx)(o.A,Object.assign({activeId:t.id,baseUrl:"filelists",newCaption:n.t("new","Open filelist"),newDescription:n.t("newDesc","Start browsing a new filelist"),newIcon:E.A.FILELISTS_PLAIN,disableSideMenu:!0,editAccess:q.US.FILELISTS_EDIT,uiActions:te,sessionApi:l.A,unreadInfoStore:a.A,sessionItemLayout:ce,newLayout:y,sessionT:n,remoteMenuId:"filelist"},je,i))}),a.A,Q.KV.FILELISTS)},88569:(e,t,n)=>{n.d(t,{H:()=>a,U:()=>r});var s=n(41860),i=n(41110),o=function(e,t,n,s){return new(n||(n=Promise))((function(i,o){function r(e){try{l(s.next(e))}catch(e){o(e)}}function a(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(r,a)}l((s=s.apply(e,t||[])).next())}))};const r=(e,t)=>o(void 0,void 0,void 0,(function*(){try{return(yield(0,i.F)(`${getBasePath()}temp`,{method:"POST",headers:{"X-Authorization":t,Authorization:t},body:e})).headers.get("Location")}catch(e){throw e}})),a=(e,t,n)=>o(void 0,void 0,void 0,(function*(){try{const o=yield(0,i.F)((e=>`${window.location.origin}${getBasePath()}proxy?url=${encodeURIComponent(e)}`)(e),Object.assign({headers:{"X-Authorization":s.A.authToken,"Cache-Control":"no-store, must-revalidate, max-age=0"}},n));return(yield t)?o.json():o.text()}catch(t){throw console.error(`CORS HTTP request failed (${e})`,t),t}}))},59548:(e,t,n)=>{n.d(t,{Lt:()=>d,eo:()=>a,sf:()=>l,t7:()=>c});var s=n(42191),i=n(32811),o=n(88569),r=n(86038);const a=(e,t,n,r)=>{return a=void 0,l=[e,t,n,r],d=function*(e,t,n,{authToken:r}){try{const a=yield(0,o.U)(e,r);return yield i.A.post(s.A.TEMP_SHARES_URL,{name:e.name,file_id:a,hub_url:t,cid:n})}catch(e){throw e}},new((c=void 0)||(c=Promise))((function(e,t){function n(e){try{i(d.next(e))}catch(e){t(e)}}function s(e){try{i(d.throw(e))}catch(e){t(e)}}function i(t){var i;t.done?e(t.value):(i=t.value,i instanceof c?i:new c((function(e){e(i)}))).then(n,s)}i((d=d.apply(a,l||[])).next())}));var a,l,c,d},l=e=>i.A.post(s.A.REFRESH_PATHS_URL,{paths:e,priority:r.DH.MANUAL}),c=e=>i.A.post(s.A.REFRESH_VIRTUAL_URL,{path:e}),d=e=>i.A.delete(`${s.A.REFRESH_TASKS_URL}/${e}`)},19430:(e,t,n)=>{n.d(t,{T:()=>o,v:()=>i});var s=n(86818);const i=(e,{formatSize:t})=>{let n=e.str;return e.id!==s.A.HIDDEN_PROFILE_ID&&(n+=` (${t(e.size)})`),n},o=(e,t)=>({id:e.id,name:i(e,t)})}}]);
2
- //# sourceMappingURL=filelists.906aa635117e09a9d922.chunk.js.map
1
+ "use strict";(self.webpackChunkairdcpp_webui=self.webpackChunkairdcpp_webui||[]).push([[760],{52237:(e,t,n)=>{n.d(t,{A:()=>a});var s=n(71354),i=n.n(s),o=n(76314),r=n.n(o)()(i());r.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 a=r},98737:(e,t,n)=>{n.d(t,{A:()=>a});var s=n(71354),i=n.n(s),o=n(76314),r=n.n(o)()(i());r.push([e.id,"#sidebar .virtual-table {\n flex: 1 100 100%;\n}\n\n.filelist.session .browser,\n.filelist.session .browser .virtual-table {\n height: calc(100% - 35px);\n}\n\n#mobile-layout .filelist.session .browser {\n height: 100%;\n}\n\n#mobile-layout .filelist.session .browser {\n height: calc(100% - 10px);\n}\n\n@media screen and (min-color-index: 0) and(-webkit-min-device-pixel-ratio:0) {\n /* Safari specific CSS */\n .filelist.session .browser {\n height: calc(100% - 95px);\n }\n\n #mobile-layout .filelist.session .browser {\n height: calc(100% - 60px);\n }\n}\n\n.filelist.session .browser .ui.segment {\n margin-bottom: 10px;\n}\n\n.filelist.session {\n max-height: 100%;\n overflow: hidden;\n margin-top: 10px;\n flex: 1 1 100%;\n}\n\n.session.new .profile.ui.dropdown {\n margin-top: 10px;\n color: gray;\n align-self: flex-end;\n}\n","",{version:3,sources:["webpack://./src/routes/Sidebar/routes/Filelists/style.css"],names:[],mappings:"AAAA;EACE,gBAAgB;AAClB;;AAEA;;EAEE,yBAAyB;AAC3B;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,wBAAwB;EACxB;IACE,yBAAyB;EAC3B;;EAEA;IACE,yBAAyB;EAC3B;AACF;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,gBAAgB;EAChB,WAAW;EACX,oBAAoB;AACtB",sourcesContent:["#sidebar .virtual-table {\n flex: 1 100 100%;\n}\n\n.filelist.session .browser,\n.filelist.session .browser .virtual-table {\n height: calc(100% - 35px);\n}\n\n#mobile-layout .filelist.session .browser {\n height: 100%;\n}\n\n#mobile-layout .filelist.session .browser {\n height: calc(100% - 10px);\n}\n\n@media screen and (min-color-index: 0) and(-webkit-min-device-pixel-ratio:0) {\n /* Safari specific CSS */\n .filelist.session .browser {\n height: calc(100% - 95px);\n }\n\n #mobile-layout .filelist.session .browser {\n height: calc(100% - 60px);\n }\n}\n\n.filelist.session .browser .ui.segment {\n margin-bottom: 10px;\n}\n\n.filelist.session {\n max-height: 100%;\n overflow: hidden;\n margin-top: 10px;\n flex: 1 1 100%;\n}\n\n.session.new .profile.ui.dropdown {\n margin-top: 10px;\n color: gray;\n align-self: flex-end;\n}\n"],sourceRoot:""}]);const a=r},90264:(e,t,n)=>{n.d(t,{G:()=>L});var s=n(74848),i=(n(96540),n(74416)),o=n(71352),r=n(86038),a=n(67749),l=n(32389),c=n(42695),d=n(85072),A=n.n(d),u=n(97825),m=n.n(u),p=n(77659),f=n.n(p),h=n(55056),E=n.n(h),x=n(10540),y=n.n(x),g=n(41113),I=n.n(g),S=n(52237),w={};w.styleTagTransform=I(),w.setAttributes=E(),w.insert=f().bind(null,"head"),w.domAPI=m(),w.insertStyleElement=y(),A()(S.A,w),S.A&&S.A.locals&&S.A.locals;var v=n(73070);const b={[r.YF.SHARE_PARTIAL]:"Share (partial)",[r.YF.SHARE_FULL]:"Share (full)",[r.YF.QUEUE_PARTIAL]:"Queue (partial)",[r.YF.QUEUE_FULL]:"Queue (full)",[r.YF.FINISHED_PARTIAL]:"Finished (partial)",[r.YF.FINISHED_FULL]:"Finished (full)",[r.YF.SHARE_QUEUE]:"Share and queue",[r.YF.SHARE_FINISHED]:"Share and finished",[r.YF.QUEUE_FINISHED]:"Queue and finished",[r.YF.SHARE_QUEUE_FINISHED]:"Share, queue and finished"},j=({paths:e})=>(0,s.jsx)("div",{className:"dupe-paths",children:e.map((e=>(0,s.jsx)("div",{className:"path",children:e},e)))}),L=({session:e,fileItem:t,user:n,downloadHandler:r,showPath:d=!0})=>{const{t:A}=(0,l.Bd)(),u=e=>(0,c.Tl)(e,A,a.KV.COMMON),{formatSize:m,formatRelativeTime:p}=(0,i.k)();return(0,s.jsxs)("div",{className:"ui fileitem info segment",children:[(0,s.jsxs)(v.xA,{columns:"two",stackable:!0,children:[(0,s.jsx)(v.fI,{title:u("Name"),text:t.name}),(0,s.jsx)(v.fI,{title:u("Type/content"),text:t.type.str}),(0,s.jsx)(v.fI,{title:u("Size"),text:m(t.size,!0)}),(0,s.jsx)(v.fI,{title:u("Last modified"),text:p(t.time||0)}),"file"===t.type.id&&(0,s.jsx)(v.fI,{title:u("TTH"),text:t.tth}),!!t.dupe&&(0,s.jsx)(v.fI,{title:u("Dupe type"),text:u(b[t.dupe.id])}),!!t.dupe&&(0,s.jsx)(v.fI,{title:u("Dupe paths"),text:(0,s.jsx)(j,{paths:t.dupe.paths})}),d&&(0,s.jsx)(v.fI,{title:u("Path"),text:t.path})]}),(0,s.jsx)(o.gU,{caption:u("Actions..."),button:!0,user:n,itemInfoGetter:()=>t,downloadHandler:r,contextElement:".ui.modal > .content",entity:e})]})}},86818:(e,t,n)=>{n.d(t,{A:()=>i});const s="share_profiles",i={MODULE_URL:s,PROFILES_URL:s,PROFILE_ADDED:"share_profile_added",PROFILE_UPDATED:"share_profile_updated",PROFILE_REMOVED:"share_profile_removed",HIDDEN_PROFILE_ID:1}},71299:(e,t,n)=>{n.d(t,{A:()=>r});var s=n(2543),i=n(86818),o=n(13546);const r=function(e,t,n){return(0,o.A)(e,(0,s.merge)(n,{urls:{profiles:i.A.PROFILES_URL},dataConverters:{profiles:(e,{t:n})=>e.filter((e=>t||e.id!==i.A.HIDDEN_PROFILE_ID))},onSocketConnected:(e,{refetchData:t})=>{e(i.A.MODULE_URL,i.A.PROFILE_ADDED,(()=>t())),e(i.A.MODULE_URL,i.A.PROFILE_UPDATED,(()=>t())),e(i.A.MODULE_URL,i.A.PROFILE_REMOVED,(()=>t()))}}))}},62705:(e,t,n)=>{n.d(t,{A:()=>u});var s=n(74848),i=(n(96540),n(13546)),o=n(74416),r=n(31224),a=n(2253),l=n(93226),c=n(67749),d=n(42695),A=n(32389);const u=(0,i.A)((({entries:e,entryTitleRenderer:t,hasSession:n,entryIcon:i})=>{const{formatRelativeTime:l}=(0,o.k)(),{t:u}=(0,A.Bd)();return 0===e.length?null:(0,s.jsxs)("div",{className:"recents",children:[(0,s.jsx)(r.A,{title:(0,d.Tl)("Recent sessions",u,c.KV.COMMON),size:""}),(0,s.jsx)("div",{className:"ui relaxed divided list",children:e.map(((e,o)=>(0,s.jsx)(a.c,{header:t(e),description:!!e.last_opened&&u((0,d.j2)("openedAgo",c.KV.COMMON),{defaultValue:"Opened {{timeAgo}}",replace:{timeAgo:l(e.last_opened)}}),icon:(n(e)?"green ":"")+i},o)))})]})}),{urls:{entries:({entryType:e},t)=>t.get(`${l.Ay.SESSIONS_URL}/${e}/0`)}})},22187:(e,t,n)=>{n.d(t,{A:()=>l});var s=n(74848),i=n(77856),o=n(71352),r=n(93866),a=n(39115);function l(e){return{itemNameGetter:e=>e.user.nicks,itemStatusGetter(e){const{flags:t}=e.user;return(0,i.Z)(t)},itemHeaderDescriptionGetter:e=>e.user.hub_names,itemHeaderIconGetter:e=>(0,s.jsx)(r.A,{flags:e.user.flags}),itemHeaderTitleGetter(t,n,i){const{user:r}=t;return(0,s.jsx)(o.Bg,{user:r,ids:e,remoteMenuId:a.Ay.HINTED_USER,children:i})}}}},50747:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Le});var s=n(74848),i=n(96540),o=n(91950),r=n(22187),a=n(17585),l=n(40599),c=n(62705),d=n(90425),A=n(27725),u=n(71299),m=n(19430),p=n(74416);const f=(0,u.A)((({sessionT:e,profiles:t,onProfileChanged:n})=>{const i=(0,p.k)();return(0,s.jsx)(d.A,{className:"profile top right pointing",caption:e.translate("Browse own share..."),triggerIcon:"",children:t.map((e=>(0,s.jsx)(A.A,{onClick:()=>n(e.id),children:(0,m.v)(e,i)},e.id)))})}),!1);var h=n(93226),E=n(4425),x=n(16674);const y=e=>{const t=t=>{const{navigate:n,location:s}=e;l.A.createSession({user:t},{navigate:n,location:s,sessionStore:a.A})},{sessionT:n}=e;return(0,s.jsxs)("div",{className:"filelist session new",children:[(0,s.jsx)(x.M,{onChange:t,offlineMessage:n.t("offlineMessage","You must to be connected to at least one hub in order to download filelists from other users"),isClearable:!1,autoFocus:!0}),(0,s.jsx)(f,{onProfileChanged:t=>{const{navigate:n,location:s}=e;l.A.ownList(t,{navigate:n,location:s,sessionStore:a.A})},sessionT:n}),(0,s.jsx)(c.A,{entryType:h.iM.FILELIST,hasSession:e=>a.A.getSession(e.user.cid),entryTitleRenderer:e=>(0,s.jsx)("a",{onClick:n=>t(e.user),children:e.user.nicks+(e.description?` (${e.description})`:"")}),entryIcon:E.A.FILELISTS_PLAIN})]})};var g=n(38453),I=n(8098);const S=({session:e,sessionT:t})=>{const{formatSize:n}=(0,p.k)();if((0,I.mY)())return null;let i=e.location.type.str;return i.length>0&&(i=`${n(e.location.size)} (${i})`),(0,s.jsxs)(g.q,{children:[(0,s.jsx)(g.J,{label:t.translate("Directory size"),text:i}),(0,s.jsx)(g.J,{label:t.translate("Total list size"),text:n(e.total_size)})]})};var w=n(79531),v=n(99347),b=n(32728),j=n(46942),L=n.n(j),_=n(85035),D=n(71352),C=n(88544),T=n(99671),R=n(5945),B=n(65385),O=n(13546),F=n(90264),N=n(34792),U=n(50915);const P=e=>(t,n)=>n.get(`${N.A.MODULE_URL}/${e.id}/items/${t}`);class H extends i.Component{render(){const{fileItem:e,session:t}=this.props;return(0,s.jsxs)(T.A,Object.assign({className:"filelist-item",title:e.name,closable:!0,icon:(0,s.jsx)(R.A,{typeInfo:e.type}),fullHeight:!0},this.props,{children:[(0,s.jsx)(C.A,{downloadHandler:U.jJ,itemDataGetter:P(t),userGetter:()=>t.user,session:t}),(0,s.jsx)(F.G,{fileItem:e,downloadHandler:U.jJ,user:t.user,session:t})]}))}}H.displayName="FilelistItemInfoDialog";const G=(0,B.A)((0,O.A)(H,{urls:{fileItem:({params:e,session:t},n)=>P(t)(e.itemId,n)}}),"item/:itemId");var k=n(77856),M=n(52267),$=n(22005);const z=n.n($)().createStore({_viewName:"filelist_view",_apiUrl:N.A.SESSIONS_URL,_sessionStore:a.A,mixins:[(0,M.A)("name")]});var V=n(22373),Y=n(44247),K=n(68465),Q=n(67749),J=n(39115),q=n(86038),W=n(59548);const X={reloadDirectory:{id:"reloadDirectory",displayName:"Reload",access:q.US.FILELISTS_VIEW,icon:E.A.RELOAD,filter:e=>(({entity:e})=>e.partial_list)(e)&&(({itemData:e})=>"directory"===e.type.id)(e),handler:({itemData:e,entity:t,socket:n})=>n.post(`${N.A.SESSIONS_URL}/${t.id}/directory`,{list_path:e.path,reload:!0})},refreshShare:{id:"refreshShare",displayName:"Refresh in share",access:q.US.SETTINGS_EDIT,icon:E.A.REFRESH_COLORED,filter:({entity:e})=>e.user.flags.includes("self"),handler:({itemData:e})=>(0,W.t7)(e.path)},details:{id:"details",displayName:"Details",icon:E.A.DETAILS,handler:({itemData:e,navigate:t})=>{t(`item/${e.id}`)},filter:e=>!(({itemData:e})=>"/"===e.path)(e)}},Z={moduleData:{moduleId:Q.KV.FILELISTS,subId:"item"},actions:X},ee={remove:(0,n(4112).R)(N.A.SESSIONS_URL,q.US.FILELISTS_EDIT)},te={moduleData:{moduleId:Q.KV.FILELISTS},actions:ee};const ne=e=>{var{rowDataGetter:t,onClickDirectory:n,session:i}=e,o=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 i=0;for(s=Object.getOwnPropertySymbols(e);i<s.length;i++)t.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(e,s[i])&&(n[s[i]]=e[s[i]])}return n}(e,["rowDataGetter","onClickDirectory","session"]);return(0,s.jsx)(Y.BH,Object.assign({clickHandlerGetter:n,userGetter:()=>i.user,downloadHandler:U.jJ,rowDataGetter:t,entity:i,remoteMenuId:J.Ay.FILELIST_ITEM},o,{children:(0,s.jsx)(D.yj,{actions:Z,itemData:t,ids:["refreshShare","details"],entity:i})}))};class se extends i.Component{constructor(){super(...arguments),this.rowClassNameGetter=e=>this.props.session.user.flags.includes("self")?"":(0,k.L5)(e.dupe),this.emptyRowsNodeGetter=()=>{const{location:e,state:t}=this.props.session,{translate:n}=this.props.sessionT;if("download_failed"===t.id)return(0,s.jsx)(b.A,{icon:E.A.ERROR,title:n("Download failed"),description:t.str});const{files:i,directories:o}=e.type;return 0!==i||0!==o?(0,s.jsx)(v.A,{text:n("Updating view")}):e.complete?(0,s.jsx)(b.A,{title:n("No content to display"),description:n("The directory is empty")}):(0,s.jsx)(v.A,{text:n("Preparing download")})},this.onClickDirectory=(e,t)=>{if("directory"===t().type.id)return()=>this.props.onClickDirectory(this.props.session.location.path+e+"/")},this.userGetter=()=>this.props.session.user}render(){const{session:e}=this.props;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(V.A,{emptyRowsNodeGetter:this.emptyRowsNodeGetter,rowClassNameGetter:this.rowClassNameGetter,store:z,entityId:e.id,viewId:e.location.path,sessionStore:a.A,moduleId:Q.KV.FILELISTS,children:[(0,s.jsx)(K.VP,{name:"Name",width:200,columnKey:"name",cell:(0,s.jsx)(ne,{onClickDirectory:this.onClickDirectory,session:e}),flexGrow:8}),(0,s.jsx)(K.VP,{name:"Size",width:60,columnKey:"size",cell:(0,s.jsx)(Y.us,{}),flexGrow:1}),(0,s.jsx)(K.VP,{name:"Type",width:70,columnKey:"type",flexGrow:1,hideWidth:500}),(0,s.jsx)(K.VP,{name:"Last modified",width:80,columnKey:"time",cell:(0,s.jsx)(Y.Jo,{}),flexGrow:1})]}),(0,s.jsx)(G,{session:e})]})}}const ie=se;var oe=n(6527),re=n(36076);var ae=n(88939);const le=e=>{const{sessionT:t,session:n}=e,[o,r]=i.useState(!1),a=(({session:e,location:t,sessionT:n})=>{var s,o;const r=(0,oe.Zp)(),a=(e,n)=>{const s=t.state;if(e===(null==s?void 0:s.directory))return;const i={directory:e};r(t.pathname,{state:i,replace:n})};return i.useEffect((()=>{const n=t.state;n?n.directory!==e.location.path&&a(e.location.path,!0):a(e.location.path,!0)}),[null===(s=e.location)||void 0===s?void 0:s.path]),i.useEffect((()=>{const s=t.state;if(!s)return;const i=s.directory;i!==e.location.path&&i&&(t=>{(0,re.bd)((()=>(0,U.Qs)(e,t)),n.plainT)})(i)}),[null===(o=t.state)||void 0===o?void 0:o.directory]),a})(e),l=e=>{o||r(!0),a(e,!1)};(0,oe.KP)((({currentLocation:e,nextLocation:n,historyAction:s})=>!("POP"!==s||!o||n.pathname===e.pathname||(r(!1),ae.A.info({title:t.t("confirmLeave","Confirm action"),message:t.t("confirmLeaveDesc","Click the back button again to leave this filelist")}),0))));const c=()=>n.location,d=P(n);return(0,s.jsxs)("div",{className:"browser",children:[(0,s.jsx)(_.A,{path:n.location.path,separator:"/",rootPath:"/",rootName:t.translate("Root"),itemClickHandler:l,selectedNameFormatter:e=>(0,s.jsx)(D.gU,{caption:e,user:n.user,itemInfoGetter:c,downloadHandler:U.jJ,contextElement:".session-container",entity:n,remoteMenuId:J.Ay.FILELIST_ITEM,children:(0,s.jsx)(D.Wy,{itemData:n.location,actions:Z,entity:n})}),entityId:n.id}),(0,s.jsx)(ie,{session:n,sessionT:t,onClickDirectory:l}),(0,s.jsx)(C.A,{downloadHandler:U.jJ,itemDataGetter:d,userGetter:()=>n.user,session:n})]})},ce=(0,w.A)((e=>{const{session:t,sessionT:n,location:i}=e,{user:o,location:r,state:a}=t,l=o.flags.includes("self"),c=L()("filelist session",{self:l});return o.flags.includes("offline")&&!l?(0,s.jsx)("div",{className:c,children:(0,s.jsx)(b.A,{title:n.t("userOffline","User offline"),description:n.t("userOfflineDesc","You will be able to continue browsing when the user comes back online")})}):"loaded"!==a.id&&"download_failed"!==a.id||!r?(0,s.jsx)("div",{className:c,children:(0,s.jsx)(v.A,{text:a.str})}):(0,s.jsxs)("div",{className:c,children:[(0,s.jsx)(le,{location:i,session:t,sessionT:n}),(0,s.jsx)(S,{session:t,sessionT:n})]})}));var de=n(85072),Ae=n.n(de),ue=n(97825),me=n.n(ue),pe=n(77659),fe=n.n(pe),he=n(55056),Ee=n.n(he),xe=n(10540),ye=n.n(xe),ge=n(41113),Ie=n.n(ge),Se=n(98737),we={};we.styleTagTransform=Ie(),we.setAttributes=Ee(),we.insert=fe().bind(null,"head"),we.domAPI=me(),we.insertStyleElement=ye(),Ae()(Se.A,we),Se.A&&Se.A.locals&&Se.A.locals;var ve=n(78046);const be=(0,r.A)(["message"]),je={itemLabelGetter:()=>null,itemNameGetter:e=>e.share_profile?e.share_profile.str:be.itemNameGetter(e),itemStatusGetter:e=>e.share_profile?"blue":be.itemStatusGetter(e),itemHeaderTitleGetter:(e,t,n)=>e.share_profile?n:be.itemHeaderTitleGetter(e,t,n),itemHeaderDescriptionGetter:e=>e.share_profile?null:be.itemHeaderDescriptionGetter(e),itemHeaderIconGetter:e=>e.share_profile?"green server":be.itemHeaderIconGetter(e)},Le=(0,ve.Z)((e=>{const{params:t,sessionT:n}=e,i=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 i=0;for(s=Object.getOwnPropertySymbols(e);i<s.length;i++)t.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(e,s[i])&&(n[s[i]]=e[s[i]])}return n}(e,["params","sessionT"]);return(0,s.jsx)(o.A,Object.assign({activeId:t.id,baseUrl:"filelists",newCaption:n.t("new","Open filelist"),newDescription:n.t("newDesc","Start browsing a new filelist"),newIcon:E.A.FILELISTS_PLAIN,disableSideMenu:!0,editAccess:q.US.FILELISTS_EDIT,uiActions:te,sessionApi:l.A,unreadInfoStore:a.A,sessionItemLayout:ce,newLayout:y,sessionT:n,remoteMenuId:"filelist"},je,i))}),a.A,Q.KV.FILELISTS)},88569:(e,t,n)=>{n.d(t,{H:()=>a,U:()=>r});var s=n(41860),i=n(41110),o=function(e,t,n,s){return new(n||(n=Promise))((function(i,o){function r(e){try{l(s.next(e))}catch(e){o(e)}}function a(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(r,a)}l((s=s.apply(e,t||[])).next())}))};const r=(e,t)=>o(void 0,void 0,void 0,(function*(){try{return(yield(0,i.F)(`${getBasePath()}temp`,{method:"POST",headers:{"X-Authorization":t,Authorization:t},body:e})).headers.get("Location")}catch(e){throw e}})),a=(e,t,n)=>o(void 0,void 0,void 0,(function*(){try{const o=yield(0,i.F)((e=>`${window.location.origin}${getBasePath()}proxy?url=${encodeURIComponent(e)}`)(e),Object.assign({headers:{"X-Authorization":s.A.authToken,"Cache-Control":"no-store, must-revalidate, max-age=0"}},n));return(yield t)?o.json():o.text()}catch(t){throw console.error(`CORS HTTP request failed (${e})`,t),t}}))},59548:(e,t,n)=>{n.d(t,{Lt:()=>d,eo:()=>a,sf:()=>l,t7:()=>c});var s=n(42191),i=n(32811),o=n(88569),r=n(86038);const a=(e,t,n,r)=>{return a=void 0,l=[e,t,n,r],d=function*(e,t,n,{authToken:r}){try{const a=yield(0,o.U)(e,r);return yield i.A.post(s.A.TEMP_SHARES_URL,{name:e.name,file_id:a,hub_url:t,cid:n})}catch(e){throw e}},new((c=void 0)||(c=Promise))((function(e,t){function n(e){try{i(d.next(e))}catch(e){t(e)}}function s(e){try{i(d.throw(e))}catch(e){t(e)}}function i(t){var i;t.done?e(t.value):(i=t.value,i instanceof c?i:new c((function(e){e(i)}))).then(n,s)}i((d=d.apply(a,l||[])).next())}));var a,l,c,d},l=e=>i.A.post(s.A.REFRESH_PATHS_URL,{paths:e,priority:r.DH.MANUAL}),c=e=>i.A.post(s.A.REFRESH_VIRTUAL_URL,{path:e}),d=e=>i.A.delete(`${s.A.REFRESH_TASKS_URL}/${e}`)},19430:(e,t,n)=>{n.d(t,{T:()=>o,v:()=>i});var s=n(86818);const i=(e,{formatSize:t})=>{let n=e.str;return e.id!==s.A.HIDDEN_PROFILE_ID&&(n+=` (${t(e.size)})`),n},o=(e,t)=>({id:e.id,name:i(e,t)})}}]);
2
+ //# sourceMappingURL=filelists.17c118dfc296b68c665e.chunk.js.map