@jesec/flood 0.0.0-master.8daf3f8 → 0.0.0-master.8dbd865

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 (407) hide show
  1. package/CHANGELOG.md +606 -103
  2. package/README.md +125 -45
  3. package/SECURITY.md +27 -0
  4. package/dist/assets/icon_128x128.png +0 -0
  5. package/dist/assets/icon_192x192.png +0 -0
  6. package/dist/assets/icon_256x256.png +0 -0
  7. package/dist/assets/icon_384x384.png +0 -0
  8. package/dist/assets/icon_512x512.png +0 -0
  9. package/dist/assets/icon_96x96.png +0 -0
  10. package/dist/assets/icon_maskable.png +0 -0
  11. package/dist/assets/icon_maskable_180x180.png +0 -0
  12. package/dist/assets/index.html +1 -1
  13. package/dist/assets/manifest.json +35 -7
  14. package/dist/assets/static/css/662.37bdb6f87f387ec14604.css +1 -0
  15. package/dist/assets/static/css/main.1e285a62d2e5127de06b.css +1 -0
  16. package/dist/assets/static/js/179.372e151d.chunk.js +1 -0
  17. package/dist/assets/static/js/662.1b1f1092.chunk.js +1 -0
  18. package/dist/assets/static/js/963.94abcb99.chunk.js +1 -0
  19. package/dist/assets/static/js/996.f0e63eaa.chunk.js +1 -0
  20. package/dist/assets/static/js/flag0.56298b91.chunk.js +1 -0
  21. package/dist/assets/static/js/flag1.badfc781.chunk.js +1 -0
  22. package/dist/assets/static/js/flag2.c5a910ff.chunk.js +1 -0
  23. package/dist/assets/static/js/flag3.2a4050b4.chunk.js +1 -0
  24. package/dist/assets/static/js/i18n0.b0c0bc82.chunk.js +1 -0
  25. package/dist/assets/static/js/i18n1.cb04b1f5.chunk.js +1 -0
  26. package/dist/assets/static/js/i18n10.8ca66096.chunk.js +1 -0
  27. package/dist/assets/static/js/i18n11.b66895ae.chunk.js +1 -0
  28. package/dist/assets/static/js/i18n12.76af2306.chunk.js +1 -0
  29. package/dist/assets/static/js/i18n13.d6692432.chunk.js +1 -0
  30. package/dist/assets/static/js/i18n14.22da7cd2.chunk.js +1 -0
  31. package/dist/assets/static/js/i18n15.bbfb5738.chunk.js +1 -0
  32. package/dist/assets/static/js/i18n16.c77ad464.chunk.js +1 -0
  33. package/dist/assets/static/js/i18n17.e5397215.chunk.js +1 -0
  34. package/dist/assets/static/js/i18n18.2faa4785.chunk.js +1 -0
  35. package/dist/assets/static/js/i18n19.a5db1b01.chunk.js +1 -0
  36. package/dist/assets/static/js/i18n2.7d1aed47.chunk.js +1 -0
  37. package/dist/assets/static/js/i18n20.cba7bf0c.chunk.js +1 -0
  38. package/dist/assets/static/js/i18n21.a27eaf09.chunk.js +1 -0
  39. package/dist/assets/static/js/i18n22.fa878be7.chunk.js +1 -0
  40. package/dist/assets/static/js/i18n23.5c647e79.chunk.js +1 -0
  41. package/dist/assets/static/js/i18n24.6b14986d.chunk.js +1 -0
  42. package/dist/assets/static/js/i18n25.afe69894.chunk.js +1 -0
  43. package/dist/assets/static/js/i18n26.eac16996.chunk.js +1 -0
  44. package/dist/assets/static/js/i18n27.8d32b1f7.chunk.js +1 -0
  45. package/dist/assets/static/js/i18n28.d64c3baf.chunk.js +1 -0
  46. package/dist/assets/static/js/i18n3.14d4def3.chunk.js +1 -0
  47. package/dist/assets/static/js/i18n4.5c77cde4.chunk.js +1 -0
  48. package/dist/assets/static/js/i18n5.430ea15f.chunk.js +1 -0
  49. package/dist/assets/static/js/i18n6.3c79cffd.chunk.js +1 -0
  50. package/dist/assets/static/js/i18n8.6a62aa52.chunk.js +1 -0
  51. package/dist/assets/static/js/i18n9.d06ff92d.chunk.js +1 -0
  52. package/dist/assets/static/js/main.fd1408d5.js +1 -0
  53. package/dist/assets/static/media/ad.1b24595d.png +0 -0
  54. package/dist/assets/static/media/ae.4dd8f55e.png +0 -0
  55. package/dist/assets/static/media/af.4ce660eb.png +0 -0
  56. package/dist/assets/static/media/ag.fd9409e4.png +0 -0
  57. package/dist/assets/static/media/al.a297aacf.png +0 -0
  58. package/dist/assets/static/media/am.c84ee0cf.png +0 -0
  59. package/dist/assets/static/media/ao.a7c9214e.png +0 -0
  60. package/dist/assets/static/media/ar.7e57ef92.png +0 -0
  61. package/dist/assets/static/media/at.5aa9728a.png +0 -0
  62. package/dist/assets/static/media/au.155b51d8.png +0 -0
  63. package/dist/assets/static/media/az.63afef5b.png +0 -0
  64. package/dist/assets/static/media/ba.5ce8f273.png +0 -0
  65. package/dist/assets/static/media/bb.f369fc62.png +0 -0
  66. package/dist/assets/static/media/bd.516278fc.png +0 -0
  67. package/dist/assets/static/media/be.08ec4a8d.png +0 -0
  68. package/dist/assets/static/media/bf.50bfcb31.png +0 -0
  69. package/dist/assets/static/media/bg.d9346b96.png +0 -0
  70. package/dist/assets/static/media/bh.f06d5914.png +0 -0
  71. package/dist/assets/static/media/bi.4923e3a3.png +0 -0
  72. package/dist/assets/static/media/bj.019fa79b.png +0 -0
  73. package/dist/assets/static/media/bn.077671e2.png +0 -0
  74. package/dist/assets/static/media/bo.8fb15fc6.png +0 -0
  75. package/dist/assets/static/media/br.ec051f0c.png +0 -0
  76. package/dist/assets/static/media/bs.a74a126f.png +0 -0
  77. package/dist/assets/static/media/bt.4217b804.png +0 -0
  78. package/dist/assets/static/media/bw.21fe1567.png +0 -0
  79. package/dist/assets/static/media/by.d247fe16.png +0 -0
  80. package/dist/assets/static/media/bz.98ec59f6.png +0 -0
  81. package/dist/assets/static/media/ca.25743e11.png +0 -0
  82. package/dist/assets/static/media/cd.a5bfda53.png +0 -0
  83. package/dist/assets/static/media/cf.de7d5d92.png +0 -0
  84. package/dist/assets/static/media/cg.a47b626b.png +0 -0
  85. package/dist/assets/static/media/ch.445f47a1.png +0 -0
  86. package/dist/assets/static/media/ci.a6009c5b.png +0 -0
  87. package/dist/assets/static/media/cl.de1d715e.png +0 -0
  88. package/dist/assets/static/media/cm.3ce8a86a.png +0 -0
  89. package/dist/assets/static/media/cn.e6a26073.png +0 -0
  90. package/dist/assets/static/media/co.e9244faa.png +0 -0
  91. package/dist/assets/static/media/cr.c895e035.png +0 -0
  92. package/dist/assets/static/media/cu.e486c055.png +0 -0
  93. package/dist/assets/static/media/cv.a9585acf.png +0 -0
  94. package/dist/assets/static/media/cw.df13039d.png +0 -0
  95. package/dist/assets/static/media/cy.b31f43a9.png +0 -0
  96. package/dist/assets/static/media/cz.8ec5948b.png +0 -0
  97. package/dist/assets/static/media/de.d12f391a.png +0 -0
  98. package/dist/assets/static/media/dj.154c3580.png +0 -0
  99. package/dist/assets/static/media/dk.da382fe2.png +0 -0
  100. package/dist/assets/static/media/dm.f452e6cd.png +0 -0
  101. package/dist/assets/static/media/do.c6bd7637.png +0 -0
  102. package/dist/assets/static/media/dz.672a69c0.png +0 -0
  103. package/dist/assets/static/media/ec.349d9bd7.png +0 -0
  104. package/dist/assets/static/media/ee.2396205f.png +0 -0
  105. package/dist/assets/static/media/eg.ccbf3f45.png +0 -0
  106. package/dist/assets/static/media/eh.af65674a.png +0 -0
  107. package/dist/assets/static/media/er.21afb638.png +0 -0
  108. package/dist/assets/static/media/es.2a6eaee4.png +0 -0
  109. package/dist/assets/static/media/et.8beb65c8.png +0 -0
  110. package/dist/assets/static/media/fi.331f70fd.png +0 -0
  111. package/dist/assets/static/media/fj.7724d800.png +0 -0
  112. package/dist/assets/static/media/fm.eeaf71e9.png +0 -0
  113. package/dist/assets/static/media/fr.5d5ab008.png +0 -0
  114. package/dist/assets/static/media/ga.77ed474c.png +0 -0
  115. package/dist/assets/static/media/gb.e00065bf.png +0 -0
  116. package/dist/assets/static/media/gd.b4522267.png +0 -0
  117. package/dist/assets/static/media/ge.91a7654d.png +0 -0
  118. package/dist/assets/static/media/gh.4759f92f.png +0 -0
  119. package/dist/assets/static/media/gm.81cd9f75.png +0 -0
  120. package/dist/assets/static/media/gn.9f3d376e.png +0 -0
  121. package/dist/assets/static/media/gq.e8ad58be.png +0 -0
  122. package/dist/assets/static/media/gr.26f3ac0b.png +0 -0
  123. package/dist/assets/static/media/gt.9d81c52e.png +0 -0
  124. package/dist/assets/static/media/gw.dc906982.png +0 -0
  125. package/dist/assets/static/media/gy.a4f62b6c.png +0 -0
  126. package/dist/assets/static/media/hk.56555c3f.png +0 -0
  127. package/dist/assets/static/media/hn.64ee6aad.png +0 -0
  128. package/dist/assets/static/media/hr.93ebecd3.png +0 -0
  129. package/dist/assets/static/media/ht.42ca1596.png +0 -0
  130. package/dist/assets/static/media/hu.bb30f05d.png +0 -0
  131. package/dist/assets/static/media/id.2cb49f2d.png +0 -0
  132. package/dist/assets/static/media/ie.b4dd1f19.png +0 -0
  133. package/dist/assets/static/media/il.cd1d1faf.png +0 -0
  134. package/dist/assets/static/media/in.2df03847.png +0 -0
  135. package/dist/assets/static/media/iq.a9b670ab.png +0 -0
  136. package/dist/assets/static/media/ir.9a3de085.png +0 -0
  137. package/dist/assets/static/media/is.d88f4fc9.png +0 -0
  138. package/dist/assets/static/media/it.b73713e3.png +0 -0
  139. package/dist/assets/static/media/je.0353f56a.png +0 -0
  140. package/dist/assets/static/media/jm.20330ef4.png +0 -0
  141. package/dist/assets/static/media/jo.eb66f1d1.png +0 -0
  142. package/dist/assets/static/media/jp.63e382ae.png +0 -0
  143. package/dist/assets/static/media/ke.ab2e43b8.png +0 -0
  144. package/dist/assets/static/media/kg.2c47c2af.png +0 -0
  145. package/dist/assets/static/media/kh.4732c810.png +0 -0
  146. package/dist/assets/static/media/ki.5fba09fd.png +0 -0
  147. package/dist/assets/static/media/km.7bbed3e9.png +0 -0
  148. package/dist/assets/static/media/kn.a9595a16.png +0 -0
  149. package/dist/assets/static/media/kp.8a4dc30a.png +0 -0
  150. package/dist/assets/static/media/kr.5273be1d.png +0 -0
  151. package/dist/assets/static/media/ks.99f78645.png +0 -0
  152. package/dist/assets/static/media/kw.af3521bc.png +0 -0
  153. package/dist/assets/static/media/kz.ea47ef79.png +0 -0
  154. package/dist/assets/static/media/la.78a598d7.png +0 -0
  155. package/dist/assets/static/media/lb.7a7c15a9.png +0 -0
  156. package/dist/assets/static/media/lc.6083a4ff.png +0 -0
  157. package/dist/assets/static/media/li.61c564a4.png +0 -0
  158. package/dist/assets/static/media/lk.6fa85802.png +0 -0
  159. package/dist/assets/static/media/lr.8063f7db.png +0 -0
  160. package/dist/assets/static/media/ls.901ddb71.png +0 -0
  161. package/dist/assets/static/media/lt.9209ace3.png +0 -0
  162. package/dist/assets/static/media/lu.c9872bc1.png +0 -0
  163. package/dist/assets/static/media/lv.7bcacf0a.png +0 -0
  164. package/dist/assets/static/media/ly.2830aa63.png +0 -0
  165. package/dist/assets/static/media/ma.ce5f697b.png +0 -0
  166. package/dist/assets/static/media/mc.4bd5d57a.png +0 -0
  167. package/dist/assets/static/media/md.fb4b5bdf.png +0 -0
  168. package/dist/assets/static/media/me.1f1d1772.png +0 -0
  169. package/dist/assets/static/media/mg.89101bd2.png +0 -0
  170. package/dist/assets/static/media/mh.ff11dff7.png +0 -0
  171. package/dist/assets/static/media/mk.8420e604.png +0 -0
  172. package/dist/assets/static/media/ml.4db47c66.png +0 -0
  173. package/dist/assets/static/media/mm.8e4ac30a.png +0 -0
  174. package/dist/assets/static/media/mn.dc1daa04.png +0 -0
  175. package/dist/assets/static/media/mr.7cbca6d0.png +0 -0
  176. package/dist/assets/static/media/mt.28a4b863.png +0 -0
  177. package/dist/assets/static/media/mu.d93db6c7.png +0 -0
  178. package/dist/assets/static/media/mv.7d026bf1.png +0 -0
  179. package/dist/assets/static/media/mw.960cd4fb.png +0 -0
  180. package/dist/assets/static/media/mx.39b78eb2.png +0 -0
  181. package/dist/assets/static/media/my.916a8392.png +0 -0
  182. package/dist/assets/static/media/mz.facb4ea3.png +0 -0
  183. package/dist/assets/static/media/na.472666a9.png +0 -0
  184. package/dist/assets/static/media/ne.d774701f.png +0 -0
  185. package/dist/assets/static/media/ng.7b06a49f.png +0 -0
  186. package/dist/assets/static/media/ni.7140131c.png +0 -0
  187. package/dist/assets/static/media/nl.4c04aa96.png +0 -0
  188. package/dist/assets/static/media/no.c19eb00d.png +0 -0
  189. package/dist/assets/static/media/np.54fb4f2f.png +0 -0
  190. package/dist/assets/static/media/nr.7527cc38.png +0 -0
  191. package/dist/assets/static/media/nz.738be05b.png +0 -0
  192. package/dist/assets/static/media/om.b25e0a17.png +0 -0
  193. package/dist/assets/static/media/pa.b28a9059.png +0 -0
  194. package/dist/assets/static/media/pe.c1fc1d96.png +0 -0
  195. package/dist/assets/static/media/pg.380115db.png +0 -0
  196. package/dist/assets/static/media/ph.02199ddc.png +0 -0
  197. package/dist/assets/static/media/pk.094f9517.png +0 -0
  198. package/dist/assets/static/media/pl.41521283.png +0 -0
  199. package/dist/assets/static/media/pt.1f82dc04.png +0 -0
  200. package/dist/assets/static/media/pw.a26c2316.png +0 -0
  201. package/dist/assets/static/media/py.926c65ed.png +0 -0
  202. package/dist/assets/static/media/qa.c6a3c20e.png +0 -0
  203. package/dist/assets/static/media/ro.a36876c9.png +0 -0
  204. package/dist/assets/static/media/rs.c6629de8.png +0 -0
  205. package/dist/assets/static/media/ru.a9b948c1.png +0 -0
  206. package/dist/assets/static/media/rw.e8aecba0.png +0 -0
  207. package/dist/assets/static/media/sa.859049c8.png +0 -0
  208. package/dist/assets/static/media/sb.4ad27b27.png +0 -0
  209. package/dist/assets/static/media/sc.3293efde.png +0 -0
  210. package/dist/assets/static/media/sd.19c94faa.png +0 -0
  211. package/dist/assets/static/media/se.195b3f93.png +0 -0
  212. package/dist/assets/static/media/sg.19d81907.png +0 -0
  213. package/dist/assets/static/media/si.367c5443.png +0 -0
  214. package/dist/assets/static/media/sk.4e5b8a39.png +0 -0
  215. package/dist/assets/static/media/sl.4b174b1c.png +0 -0
  216. package/dist/assets/static/media/sm.2cba3dac.png +0 -0
  217. package/dist/assets/static/media/sn.a4c1041d.png +0 -0
  218. package/dist/assets/static/media/so.b455e3bf.png +0 -0
  219. package/dist/assets/static/media/sr.5adc1c00.png +0 -0
  220. package/dist/assets/static/media/st.5ae44155.png +0 -0
  221. package/dist/assets/static/media/sv.43aa6cdf.png +0 -0
  222. package/dist/assets/static/media/sy.0fbd24f7.png +0 -0
  223. package/dist/assets/static/media/sz.ff204912.png +0 -0
  224. package/dist/assets/static/media/td.c7aa2a4e.png +0 -0
  225. package/dist/assets/static/media/tg.857c3bec.png +0 -0
  226. package/dist/assets/static/media/th.683600c7.png +0 -0
  227. package/dist/assets/static/media/tj.d20c5570.png +0 -0
  228. package/dist/assets/static/media/tl.5edd8ea7.png +0 -0
  229. package/dist/assets/static/media/tm.15960215.png +0 -0
  230. package/dist/assets/static/media/tn.40df718e.png +0 -0
  231. package/dist/assets/static/media/to.c3b054df.png +0 -0
  232. package/dist/assets/static/media/tr.adeace6d.png +0 -0
  233. package/dist/assets/static/media/tt.839bd7f1.png +0 -0
  234. package/dist/assets/static/media/tv.628cae3e.png +0 -0
  235. package/dist/assets/static/media/tw.4e885914.png +0 -0
  236. package/dist/assets/static/media/tz.b2f0dc37.png +0 -0
  237. package/dist/assets/static/media/ua.6b103313.png +0 -0
  238. package/dist/assets/static/media/ug.c84042fc.png +0 -0
  239. package/dist/assets/static/media/us.8523c31d.png +0 -0
  240. package/dist/assets/static/media/uy.a943f85e.png +0 -0
  241. package/dist/assets/static/media/uz.25552673.png +0 -0
  242. package/dist/assets/static/media/va.a29e1b53.png +0 -0
  243. package/dist/assets/static/media/vc.7480bd37.png +0 -0
  244. package/dist/assets/static/media/ve.fd4273c2.png +0 -0
  245. package/dist/assets/static/media/vn.7d2eff1b.png +0 -0
  246. package/dist/assets/static/media/vu.48b64cf3.png +0 -0
  247. package/dist/assets/static/media/ws.f3d9202f.png +0 -0
  248. package/dist/assets/static/media/ye.311a0e50.png +0 -0
  249. package/dist/assets/static/media/za.090a856f.png +0 -0
  250. package/dist/assets/static/media/zm.8371e197.png +0 -0
  251. package/dist/assets/static/media/zw.a6809447.png +0 -0
  252. package/dist/index.js +145901 -0
  253. package/package.json +212 -152
  254. package/dist/assets/android-chrome-192x192.png +0 -0
  255. package/dist/assets/android-chrome-512x512.png +0 -0
  256. package/dist/assets/apple-touch-icon.png +0 -0
  257. package/dist/assets/asset-manifest.json +0 -57
  258. package/dist/assets/browserconfig.xml +0 -9
  259. package/dist/assets/favicon-16x16.png +0 -0
  260. package/dist/assets/favicon-32x32.png +0 -0
  261. package/dist/assets/mstile-144x144.png +0 -0
  262. package/dist/assets/mstile-150x150.png +0 -0
  263. package/dist/assets/mstile-310x150.png +0 -0
  264. package/dist/assets/mstile-310x310.png +0 -0
  265. package/dist/assets/mstile-70x70.png +0 -0
  266. package/dist/assets/static/css/main.b6ffc2bec74dc4b98b88.css +0 -1
  267. package/dist/assets/static/js/0.0a556a75.chunk.js +0 -1
  268. package/dist/assets/static/js/1.14dd2d0c.chunk.js +0 -1
  269. package/dist/assets/static/js/10.d4eef924.chunk.js +0 -1
  270. package/dist/assets/static/js/11.53cd515d.chunk.js +0 -1
  271. package/dist/assets/static/js/12.ce0f8a4e.chunk.js +0 -1
  272. package/dist/assets/static/js/13.9ca96920.chunk.js +0 -1
  273. package/dist/assets/static/js/14.588e3d0c.chunk.js +0 -1
  274. package/dist/assets/static/js/15.f28d64ab.chunk.js +0 -1
  275. package/dist/assets/static/js/16.53dd87df.chunk.js +0 -1
  276. package/dist/assets/static/js/17.b764e125.chunk.js +0 -1
  277. package/dist/assets/static/js/18.80c3ac22.chunk.js +0 -1
  278. package/dist/assets/static/js/2.8fafb9ff.chunk.js +0 -1
  279. package/dist/assets/static/js/20.64809e35.chunk.js +0 -1
  280. package/dist/assets/static/js/21.f3058669.chunk.js +0 -1
  281. package/dist/assets/static/js/22.9450fc59.chunk.js +0 -1
  282. package/dist/assets/static/js/23.840a4201.chunk.js +0 -1
  283. package/dist/assets/static/js/24.0a173a0d.chunk.js +0 -1
  284. package/dist/assets/static/js/25.e4c2217e.chunk.js +0 -1
  285. package/dist/assets/static/js/26.5f03f1a3.chunk.js +0 -1
  286. package/dist/assets/static/js/27.5127408d.chunk.js +0 -1
  287. package/dist/assets/static/js/28.ebac4379.chunk.js +0 -1
  288. package/dist/assets/static/js/29.de46849d.chunk.js +0 -1
  289. package/dist/assets/static/js/3.c219b8a8.chunk.js +0 -1
  290. package/dist/assets/static/js/30.ff543e93.chunk.js +0 -1
  291. package/dist/assets/static/js/31.1f1ad44f.chunk.js +0 -1
  292. package/dist/assets/static/js/32.b4c28098.chunk.js +0 -1
  293. package/dist/assets/static/js/33.3febffaf.chunk.js +0 -1
  294. package/dist/assets/static/js/34.2e764e96.chunk.js +0 -1
  295. package/dist/assets/static/js/35.92c40bb9.chunk.js +0 -1
  296. package/dist/assets/static/js/36.27afe215.chunk.js +0 -1
  297. package/dist/assets/static/js/37.6d94e34b.chunk.js +0 -1
  298. package/dist/assets/static/js/38.107b5aa9.chunk.js +0 -1
  299. package/dist/assets/static/js/39.112b724b.chunk.js +0 -1
  300. package/dist/assets/static/js/4.19d26f13.chunk.js +0 -1
  301. package/dist/assets/static/js/40.44aa79f5.chunk.js +0 -1
  302. package/dist/assets/static/js/41.fb69cc30.chunk.js +0 -1
  303. package/dist/assets/static/js/42.906cc1ff.chunk.js +0 -1
  304. package/dist/assets/static/js/43.135e1560.chunk.js +0 -1
  305. package/dist/assets/static/js/44.a3d23bab.chunk.js +0 -1
  306. package/dist/assets/static/js/45.f025dffe.chunk.js +0 -1
  307. package/dist/assets/static/js/46.3ea25c9e.chunk.js +0 -1
  308. package/dist/assets/static/js/47.5a213255.chunk.js +0 -1
  309. package/dist/assets/static/js/48.ce4bfe23.chunk.js +0 -1
  310. package/dist/assets/static/js/49.857650de.chunk.js +0 -1
  311. package/dist/assets/static/js/5.dc5232a2.chunk.js +0 -1
  312. package/dist/assets/static/js/50.2a5fd558.chunk.js +0 -1
  313. package/dist/assets/static/js/6.210f5d48.chunk.js +0 -1
  314. package/dist/assets/static/js/7.29af7904.chunk.js +0 -1
  315. package/dist/assets/static/js/8.efcd70d8.chunk.js +0 -1
  316. package/dist/assets/static/js/9.23e24017.chunk.js +0 -1
  317. package/dist/assets/static/js/main.f3cd799a.js +0 -1
  318. package/dist/assets/static/media/ABOUT.d02918c9.md +0 -13
  319. package/dist/assets/static/media/Roboto-500.64e69384.woff +0 -0
  320. package/dist/assets/static/media/Roboto-500.7f8f0146.eot +0 -0
  321. package/dist/assets/static/media/Roboto-500.916656a2.ttf +0 -0
  322. package/dist/assets/static/media/Roboto-500.abd255e8.svg +0 -305
  323. package/dist/assets/static/media/Roboto-700.8d11d1e1.ttf +0 -0
  324. package/dist/assets/static/media/Roboto-700.9c9c164e.svg +0 -310
  325. package/dist/assets/static/media/Roboto-700.c65552c8.eot +0 -0
  326. package/dist/assets/static/media/Roboto-700.ee82bda2.woff +0 -0
  327. package/dist/assets/static/media/Roboto-700italic.1dc5bfed.eot +0 -0
  328. package/dist/assets/static/media/Roboto-700italic.686da014.woff +0 -0
  329. package/dist/assets/static/media/Roboto-700italic.896656dc.ttf +0 -0
  330. package/dist/assets/static/media/Roboto-700italic.cacb9681.svg +0 -325
  331. package/dist/assets/static/media/Roboto-italic.09ed2f27.svg +0 -323
  332. package/dist/assets/static/media/Roboto-italic.c1421604.woff +0 -0
  333. package/dist/assets/static/media/Roboto-italic.c38ecad2.ttf +0 -0
  334. package/dist/assets/static/media/Roboto-italic.f7677a07.eot +0 -0
  335. package/dist/assets/static/media/Roboto-regular.5107f918.eot +0 -0
  336. package/dist/assets/static/media/Roboto-regular.6a307cf2.woff +0 -0
  337. package/dist/assets/static/media/Roboto-regular.81dc9b21.ttf +0 -0
  338. package/dist/assets/static/media/Roboto-regular.bcf2ba9e.svg +0 -308
  339. package/dist/config.js +0 -173
  340. package/dist/server/app.js +0 -79
  341. package/dist/server/bin/enforce-prerequisites.js +0 -55
  342. package/dist/server/bin/migrations/fix-is-admin-flag.js +0 -41
  343. package/dist/server/bin/migrations/per-user-rtorrent-instances.js +0 -67
  344. package/dist/server/bin/migrations/run.js +0 -10
  345. package/dist/server/bin/start.js +0 -18
  346. package/dist/server/bin/web-server.js +0 -94
  347. package/dist/server/config/passport.js +0 -32
  348. package/dist/server/constants/clientGatewayServiceEvents.js +0 -15
  349. package/dist/server/constants/diskUsageServiceEvents.js +0 -8
  350. package/dist/server/constants/fileListPropMap.js +0 -29
  351. package/dist/server/constants/historyServiceEvents.js +0 -18
  352. package/dist/server/constants/notificationServiceEvents.js +0 -8
  353. package/dist/server/constants/taxonomyServiceEvents.js +0 -8
  354. package/dist/server/constants/torrentListPropMap.js +0 -200
  355. package/dist/server/constants/torrentServiceEvents.js +0 -8
  356. package/dist/server/constants/transferSummaryPropMap.js +0 -28
  357. package/dist/server/middleware/appendUserServices.js +0 -10
  358. package/dist/server/middleware/booleanCoerce.js +0 -9
  359. package/dist/server/middleware/clientActivityStream.js +0 -124
  360. package/dist/server/middleware/eventStream.js +0 -25
  361. package/dist/server/middleware/requireAdmin.js +0 -8
  362. package/dist/server/models/ClientRequest.js +0 -310
  363. package/dist/server/models/Feed.js +0 -65
  364. package/dist/server/models/Filesystem.js +0 -44
  365. package/dist/server/models/HistoryEra.js +0 -168
  366. package/dist/server/models/ServerEvent.js +0 -27
  367. package/dist/server/models/TemporaryStorage.js +0 -20
  368. package/dist/server/models/Users.js +0 -171
  369. package/dist/server/models/client.js +0 -363
  370. package/dist/server/models/settings.js +0 -119
  371. package/dist/server/routes/api.js +0 -69
  372. package/dist/server/routes/auth.js +0 -184
  373. package/dist/server/routes/client.js +0 -101
  374. package/dist/server/services/BaseService.js +0 -24
  375. package/dist/server/services/clientGatewayService.js +0 -220
  376. package/dist/server/services/clientRequestManager.js +0 -76
  377. package/dist/server/services/diskUsageService.js +0 -133
  378. package/dist/server/services/feedService.js +0 -290
  379. package/dist/server/services/historyService.js +0 -181
  380. package/dist/server/services/index.js +0 -108
  381. package/dist/server/services/notificationService.js +0 -109
  382. package/dist/server/services/taxonomyService.js +0 -107
  383. package/dist/server/services/torrentService.js +0 -235
  384. package/dist/server/util/ajaxUtil.js +0 -19
  385. package/dist/server/util/clientResponseUtil.js +0 -99
  386. package/dist/server/util/fileUtil.js +0 -45
  387. package/dist/server/util/mediainfo.js +0 -34
  388. package/dist/server/util/methodCallUtil.js +0 -22
  389. package/dist/server/util/numberUtils.js +0 -7
  390. package/dist/server/util/rTorrentDeserializer.js +0 -104
  391. package/dist/server/util/rTorrentPropMap.js +0 -13
  392. package/dist/server/util/scgiUtil.js +0 -36
  393. package/dist/server/util/torrentFileUtil.js +0 -23
  394. package/dist/shared/config/paths.js +0 -41
  395. package/dist/shared/constants/clientSettingsMap.js +0 -53
  396. package/dist/shared/constants/diffActionTypes.js +0 -6
  397. package/dist/shared/constants/historySnapshotTypes.js +0 -11
  398. package/dist/shared/constants/serverEventTypes.js +0 -18
  399. package/dist/shared/constants/torrentFilePropsMap.js +0 -6
  400. package/dist/shared/constants/torrentPeerPropsMap.js +0 -32
  401. package/dist/shared/constants/torrentStatusMap.js +0 -17
  402. package/dist/shared/constants/torrentTrackerPropsMap.js +0 -6
  403. package/dist/shared/types/Auth.js +0 -2
  404. package/dist/shared/util/formatUtil.js +0 -33
  405. package/dist/shared/util/objectUtil.js +0 -56
  406. package/dist/shared/util/regEx.js +0 -7
  407. /package/dist/assets/{safari-pinned-tab.svg → icon.svg} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_jesec_flood=globalThis.webpackChunk_jesec_flood||[]).push([[179],{179:(e,t,i)=>{i.r(t),i.d(t,{default:()=>di});var l=i(6488),n=i(2618),r=i(4015),a=i(9679),s=i(8579),d=i(6540),o=i(6565),c=i(9075),h=i(2412);const u=({start:e,destination:t,tags:i,tab:l})=>{const n={};null!=e&&(n.startTorrentsOnLoad=e),null!=t&&""!==t&&(null==n.torrentDestinations&&(n.torrentDestinations=h.A.floodSettings.torrentDestinations||{}),"string"==typeof i?.[0]?n.torrentDestinations[i[0]]=t:n.torrentDestinations[""]=t),null!=l&&(n.UITorrentsAddTab=l),c.A.saveSettings(n)};var _=i(3537),m=i(4930),g=i(6066);const f=e=>{const{actions:t}=e,i=t.map(((e,t)=>{let i=()=>{};return e.triggerDismiss&&(i=()=>{m.A.setActiveModal(null)}),"checkbox"===e.type?(0,g.Y)(o.Sc,{defaultChecked:e.checked,id:e.id,onClick:t=>{null!=e.clickHandler&&e.clickHandler(t),i()},children:e.content},t):(0,g.Y)(o.$n,{isLoading:e.isLoading,onClick:t=>{null!=e.clickHandler&&e.clickHandler(t),i()},priority:e.type,type:e.submit?"submit":"button",children:e.content},t)})),l=(0,g.Y)("div",{className:"modal__button-group",children:i});return(0,g.Y)("div",{className:"modal__actions",children:l})},p=({isAddingTorrents:e,onAddTorrentsClick:t})=>{const{i18n:i}=(0,s.uB)();return(0,g.Y)(f,{actions:[{checked:Boolean(h.A.floodSettings.startTorrentsOnLoad),clickHandler:null,content:i._("torrents.add.start.label"),id:"start",triggerDismiss:!1,type:"checkbox"},{clickHandler:null,content:i._("button.cancel"),triggerDismiss:!0,type:"tertiary"},{clickHandler:t,content:i._("torrents.add.button.add"),isLoading:e,submit:!0,triggerDismiss:!1,type:"primary"}]})};var b=i(8221),Y=i.n(b),v=i(5162),y=i(942),x=i(7437),k=i(3863),N=i(9844),D=i(2114),S=i(8851),w=i(2592);const A="#5E728C",F={name:"1pkdvdx",styles:"padding:3px 9px"},C=(0,x.AH)({borderBottom:`1px solid ${(0,k.a)(.43,A)}`,marginBottom:"3px",paddingBottom:"3px",opacity:.75,"&:last-child":{marginBottom:0}},"",""),T=(0,x.AH)({opacity:.5,transition:"color 0.25s",whiteSpace:"nowrap",button:[F,{width:"100%",height:"100%",padding:"3px 9px",textAlign:"left","&:disabled":{pointerEvents:"none"}}]},"",""),R=(0,x.AH)({color:(0,k.Ih)(.1,(0,k.e$)(.15,A)),background:(0,k.B3)(A,.1),button:{":focus":{outline:"none",WebkitTapHighlightColor:"transparent"}}},"",""),P=(0,x.AH)({opacity:1,cursor:"pointer",transition:"background 0.25s, color 0.25s",userSelect:"none","&:hover":R,"&:focus-within":R},"",""),M={EACCES:"filesystem.error.eacces",ENOENT:"filesystem.error.enoent"};var j={name:"kol7nt",styles:"transform:scale(0.75) rotate(180deg)"},I={name:"1089mxj",styles:"white-space:pre-wrap"},V={name:"1ityoz",styles:"font-weight:lighter"};const L=(0,d.memo)((({directory:e,selectable:t,onItemSelection:i,onYieldFocus:l})=>{const[n,r]=(0,d.useState)(null),[a,o]=(0,d.useState)(null),[c,h]=(0,d.useState)(e.includes("/")?"/":"\\"),[u,_]=(0,d.useState)(null),[m,f]=(0,d.useState)(null),p=(0,d.useRef)(null),b=e.lastIndexOf(c)+1,Y=b>0?e.substr(0,b):e,v=e.substr(b);(0,d.useEffect)((()=>{Y&&(r(null),_(null),f(null),S.A.fetchDirectoryList(Y).then((({files:e,directories:t,separator:i})=>{_(t),f(e),h(i),o(null)})).catch((({response:e})=>{o(e)})))}),[Y]),(0,d.useEffect)((()=>{if(null!=p.current&&null!=n){const e=p.current.children[n]?.children[0];0===e?.tabIndex?e.focus():r(Array.from(p.current.children).findIndex((e=>0===e.children[0].tabIndex)))}}),[n]),(0,D.A)("ArrowUp",(e=>{e.preventDefault(),r((e=>null==e||e-1<0?(l?.(),null):e-1))})),(0,D.A)("ArrowDown",(e=>{e.preventDefault(),r((e=>null!=e?e+1:0))}));let k=null,R=[];if((null==u&&"directories"===t||null==m&&"files"===t)&&(k="filesystem.fetching"),a&&a.data&&a.data.code&&(k=M[a.data.code]||"filesystem.error.unknown"),e){const e=`${Y.split(c).slice(0,-2).join(c)}${c}`,l=(0,g.Y)("li",{css:[T,P,{"@media (max-width: 720px)":C},"",""],children:(0,g.FD)("button",{type:"button",onClick:()=>i?.(e,!0),children:[(0,g.Y)(y.i3,{css:j}),".."]})},e),n="files"!==t,r=v?(0,w.A)(u,(e=>e),v):[],a=r.includes(v)||"directories"!==t||!v||k?[]:(()=>{const e=`${Y}${v}${c}`;return[(0,g.Y)("li",{css:[T,P,"font-weight:bold;@media (max-width: 720px){display:none;}",""],children:(0,g.FD)("button",{type:"button",onClick:()=>i?.(e,!1),children:[(0,g.Y)(y.N7,{}),(0,g.Y)("span",{css:I,children:v}),(0,g.FD)("em",{css:V,children:[" - ",(0,g.Y)(s.x6,{id:"filesystem.error.enoent"})]})]})},e)]})(),d=u?.length&&(0,N.di)(u.slice()).desc((e=>r.includes(e))).map((e=>{const t=`${Y}${e}${c}`;return(0,g.Y)("li",{css:[T,n?P:void 0,r.includes(e)?{fontWeight:"bold"}:void 0,"",""],children:(0,g.FD)("button",{type:"button",disabled:!n,tabIndex:n?0:-1,onClick:n?()=>i?.(t,!0):void 0,children:[(0,g.Y)(y.Ah,{}),e]})},t)}))||[],o="directories"!==t,h=v?(0,w.A)(m,(e=>e),v):[],_=m?.length&&(0,N.di)(m.slice()).desc((e=>h.includes(e))).map((e=>{const t=`${Y}${e}`;return(0,g.Y)("li",{css:[T,o?P:void 0,h.includes(e)?{fontWeight:"bold"}:void 0,"",""],children:(0,g.FD)("button",{type:"button",disabled:!o,tabIndex:o?0:-1,onClick:o?()=>i?.(t,!1):void 0,children:[(0,g.Y)(y.ZH,{}),e]})},t)}))||[];0!==d.length||0!==_.length||k||(k="filesystem.empty.directory"),R=[l,...a,...d,..._]}else k="filesystem.error.no.input";return(0,g.FD)("div",{css:(0,x.AH)({color:A,listStyle:"none",padding:"3px 0px",".icon":{fill:"currentColor",height:"14px",width:"14px",marginRight:"5px",marginTop:"-3px",verticalAlign:"middle"}},"",""),children:[Y&&(0,g.FD)("li",{css:[T,C,F,"white-space:pre-wrap;word-break:break-all;.icon{transform:scale(0.9);margin-top:-2px !important;}@media (max-width: 720px){display:none;}",""],children:[(0,g.Y)(y.gx,{}),Y]}),(0,g.Y)("ul",{ref:p,children:R}),k&&(0,g.Y)("div",{css:[T,F,"opacity:1;",""],children:(0,g.Y)("em",{children:(0,g.Y)(s.x6,{id:k})})})]})}));L.defaultProps={selectable:void 0,onItemSelection:void 0,onYieldFocus:void 0};const $=L,E=(0,d.forwardRef)((({id:e,label:t,selectable:i,suggested:l,showBasePathToggle:n,showCompletedToggle:r,showSequentialToggle:a,onChange:c},u)=>{const[_,m]=(0,d.useState)(l||h.A.floodSettings.torrentDestinations?.[""]||h.A.clientSettings?.directoryDefault||""),[f,p]=(0,d.useState)(!1),b=(0,d.useRef)(null),x=(0,v.A)(u),{i18n:k}=(0,s.uB)();(0,d.useEffect)((()=>{const e=()=>{p(!1)},t=t=>{b.current?.contains(t.target)||e()};return document.addEventListener("click",t),window.addEventListener("resize",e),()=>{document.removeEventListener("click",t),window.removeEventListener("resize",e)}}),[]);const N=[];return n&&N.push((0,g.Y)(o.Sc,{grow:!1,id:"isBasePath",children:(0,g.Y)(s.x6,{id:"torrents.destination.base_path"})},"isBasePath")),r&&N.push((0,g.Y)(o.Sc,{grow:!1,id:"isCompleted",children:(0,g.Y)(s.x6,{id:"torrents.destination.completed"})},"isCompleted")),a&&N.push((0,g.Y)(o.Sc,{grow:!1,id:"isSequential",children:(0,g.Y)(s.x6,{id:"torrents.destination.sequential"})},"isSequential")),(0,g.FD)(o.eW,{ref:b,children:[(0,g.Y)(o.fh,{children:(0,g.FD)(o.Rj,{autoComplete:f?"off":void 0,addonPlacement:"after",defaultValue:_,id:e,label:t,onChange:Y()((()=>{if(null==x.current)return;const e=x.current.value;c&&c(e),m(e)}),100,{leading:!0}),onClick:e=>e.nativeEvent.stopImmediatePropagation(),placeholder:k._("torrents.add.destination.placeholder"),ref:x,children:[(0,g.Y)(o.t0,{onClick:()=>{null!=x.current&&m(x.current.value),p(!f)},children:(0,g.Y)(y.vj,{})}),(0,g.Y)(o.ZL,{children:(0,g.Y)(o.tz,{isIn:f,onClick:e=>e.nativeEvent.stopImmediatePropagation(),overlayProps:{isInteractive:!1},padding:!1,triggerRef:x,children:(0,g.Y)($,{directory:_,selectable:i,onItemSelection:(e,t=!0)=>{null!=x.current&&(x.current.value=e),p(t),m(e)},onYieldFocus:()=>{x.current?.focus()}})})})]})}),N.length>0?(0,g.Y)(o.fh,{children:N}):null]})}));E.defaultProps={label:void 0,selectable:void 0,suggested:void 0,showBasePathToggle:!1,showCompletedToggle:!1,showSequentialToggle:!1,onChange:void 0};const B=E;var O=i(6942),H=i.n(O),U=i(9399);const z=({defaultValue:e,placeholder:t,id:i,label:l,onTagSelected:n})=>{const[r,c]=(0,d.useState)(!1),[u,_]=(0,d.useState)(e??[]),m=(0,d.useRef)(null),f=(0,d.useRef)(null),p=(0,d.useRef)(null),b=H()("select form__element",{"select--is-open":r});return(0,a.A)("Escape",(e=>{e.preventDefault(),c(!1)})),(0,d.useEffect)((()=>{const e=e=>{m.current?.contains(e.target)||c(!1)};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}),[]),(0,d.useEffect)((()=>{null!=p.current&&(p.current.value=u.join()),n&&n(u)}),[u,n]),(0,g.Y)(o.ci,{ref:m,children:(0,g.Y)("div",{className:b,children:(0,g.FD)(o.Rj,{autoComplete:r?"off":void 0,id:i||"tags",addonPlacement:"after",defaultValue:e,label:l,onChange:()=>{if(null!=p.current){let e=p.current.value.split(",").map((e=>e.trim())).filter((e=>e.length>0));p.current.value.trimEnd().endsWith(",")&&(e.push(""),e=[...new Set(e)]),_(e)}},placeholder:t,ref:p,children:[(0,g.Y)(o.t0,{onClick:()=>{c(!r)},className:"select__indicator",children:(0,g.Y)(y.cL,{})}),(0,g.Y)(o.ZL,{children:(0,g.Y)(o.tz,{isIn:r,onClick:e=>{"single"!==h.A.floodSettings.UITagSelectorMode&&e.nativeEvent.stopImmediatePropagation()},overlayProps:{isInteractive:!1},ref:f,triggerRef:p,children:[...new Set(["untagged",...(0,N.di)(Object.keys(U.A.taxonomy.tagCounts)).asc(),...u])].reduce(((e,t)=>(""===t||e.push((0,g.Y)(o.eb,{id:t,isSelected:u.includes(t),onClick:()=>{"untagged"===t?_([]):u.includes(t)?_(u.filter((e=>e!==t&&""!==e))):_([...u.filter((e=>""!==e)),t])},children:"untagged"===t?(0,g.Y)(s.x6,{id:"filter.untagged"}):t},t)),e)),[])})})]})})})};z.defaultProps={id:"tags",label:void 0,defaultValue:void 0,placeholder:void 0,onTagSelected:void 0};const q=z,W=(e,t)=>Object.keys(e).reduce(((i,l)=>{if(l.startsWith(t)){const t=e[l];null!=t&&i.push(t)}return i}),[]),G=({defaultValues:e,id:t,label:i,placeholder:l})=>{const n=(0,d.useRef)(0),[r,a]=(0,d.useState)(e??[{id:0,value:""}]);return(0,g.Y)(o.eW,{children:r.map(((e,s)=>{let d=null;return s>0&&(d=(0,g.Y)(o.t0,{onClick:()=>{const e=r.slice();e.splice(s,1),a(e)},children:(0,g.Y)(y._B,{})})),(0,g.Y)(o.fh,{children:(0,g.FD)(o.Rj,{addonPlacement:"after",id:`${t}-${e.id}`,defaultValue:e.value,label:0===s&&i,placeholder:l,wrapperClassName:"textbox-repeater",children:[(0,g.Y)(o.t0,{onClick:()=>{n.current+=1;const e=r.slice();e.splice(s+1,0,{id:n.current,value:""}),a(e)},children:(0,g.Y)(y.Fx,{})}),d]})},e.id)}))})};G.defaultProps={defaultValues:void 0,label:void 0,placeholder:void 0};const Z=G,Q=()=>{const e=(0,d.useRef)(null),{i18n:t}=(0,s.uB)(),[i,l]=(0,d.useState)(!1);return(0,g.FD)(o.lV,{className:"inverse",ref:e,children:[(0,g.Y)(B,{id:"sourcePath",label:t._("torrents.create.source.path.label")}),(0,g.Y)(Z,{id:"trackers",label:t._("torrents.create.trackers.label"),placeholder:t._("torrents.create.tracker.input.placeholder"),defaultValues:[{id:0,value:""}]}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.Rj,{id:"name",label:t._("torrents.create.base.name.label"),placeholder:t._("torrents.create.base.name.input.placeholder")})}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.Rj,{id:"comment",label:t._("torrents.create.comment.label"),placeholder:t._("torrents.create.comment.input.placeholder")})}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.Rj,{id:"infoSource",label:t._("torrents.create.info.source.label"),placeholder:t._("torrents.create.info.source.input.placeholder")})}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.Sc,{grow:!1,id:"isPrivate",children:t._("torrents.create.is.private.label")})}),(0,g.Y)(o.fh,{children:(0,g.Y)(q,{id:"tags",label:t._("torrents.add.tags"),placeholder:t._("torrents.create.tags.input.placeholder")})}),(0,g.Y)(p,{onAddTorrentsClick:()=>{if(null==e.current)return;const t=e.current.getFormData();l(!0),null!=t.sourcePath&&(_.A.createTorrent({name:t.name,sourcePath:t.sourcePath,trackers:W(t,"trackers"),comment:t.comment,infoSource:t.infoSource,isPrivate:t.isPrivate||!1,start:t.start||!1,tags:null!=t.tags?t.tags.split(","):void 0}).then((()=>{m.A.setActiveModal(null)})),u({start:t.start,destination:t.sourcePath,tab:"by-creation"}))},isAddingTorrents:i})]})};var J=i(5497);const K=({initialFiles:e,onFilesChanged:t})=>{const[i,l]=(0,d.useState)(e??[]);return(0,d.useEffect)((()=>{t(i)}),[i,t]),(0,g.FD)(o.ci,{children:[(0,g.Y)("span",{className:"form__element__label",children:(0,g.Y)(s.x6,{id:"torrents.add.torrents.label"})}),i.length>0?(0,g.Y)("div",{onClick:e=>{e.stopPropagation()},role:"none",children:(0,g.Y)("ul",{className:"dropzone__selected-files interactive-list",children:i.map(((e,t)=>(0,g.FD)("li",{className:"dropzone__selected-files__file interactive-list__item",title:e.name,children:[(0,g.Y)("span",{className:"interactive-list__icon",children:(0,g.Y)(y.ZH,{})}),(0,g.Y)("span",{className:"interactive-list__label",children:e.name}),(0,g.Y)("button",{className:"interactive-list__icon interactive-list__icon--action interactive-list__icon--action--warning",type:"button",onClick:()=>{const e=i.slice();e.splice(t,1),l(e)},children:(0,g.Y)(y.bm,{})})]},e.name)))})}):null,(0,g.Y)(J.Ay,{onDrop:e=>{const t=[];e.forEach((n=>{const r=new FileReader;r.onload=r=>{null!=r.target?.result&&"string"==typeof r.target.result&&t.push({name:n.name,data:r.target.result.split("base64,")[1]}),t.length===e.length&&l(i.concat(t))},r.readAsDataURL(n)}))},children:({getRootProps:e,getInputProps:t,isDragActive:i})=>(0,g.FD)("div",{...e(),className:"form__dropzone dropzone interactive-list "+(i?"dropzone--is-dragging":""),children:[(0,g.Y)("input",{...t()}),(0,g.FD)("div",{className:"dropzone__copy",children:[(0,g.Y)("div",{className:"dropzone__icon",children:(0,g.Y)(y.sv,{})}),(0,g.Y)(s.x6,{id:"torrents.add.tab.file.drop"})," ",(0,g.Y)("span",{className:"dropzone__browse-button",children:(0,g.Y)(s.x6,{id:"torrents.add.tab.file.browse"})}),"."]})]})})]})},X=()=>{const e=(0,d.useRef)([]),t=(0,d.useRef)(null),i=(0,d.useRef)(null),[l,n]=(0,d.useState)(!1),{i18n:r}=(0,s.uB)();return(0,g.FD)(o.lV,{className:"inverse",ref:t,children:[(0,g.Y)(o.fh,{children:(0,g.Y)(K,{initialFiles:"add-torrents"===m.A.activeModal?.id&&"by-file"===m.A.activeModal?.tab&&m.A.activeModal?.files||[],onFilesChanged:t=>{e.current=t}})}),(0,g.Y)(o.fh,{children:(0,g.Y)(q,{label:r._("torrents.add.tags"),id:"tags",onTagSelected:e=>{if(null!=i.current){const t=h.A.floodSettings.torrentDestinations?.[e[0]];"string"==typeof t&&null!=i.current&&(i.current.value=t,i.current.dispatchEvent(new Event("input",{bubbles:!0})))}}})}),(0,g.Y)(B,{id:"destination",label:r._("torrents.add.destination.label"),ref:i,selectable:"directories",showBasePathToggle:!0,showCompletedToggle:!0,showSequentialToggle:!0}),(0,g.Y)(p,{onAddTorrentsClick:()=>{if(null==t.current)return;const i=t.current?.getFormData();n(!0);const{destination:l,start:r,tags:a,isBasePath:s,isCompleted:d,isSequential:o}=i,c=[];if(e.current.forEach((e=>{c.push(e.data)})),0===c.length||null==l)return void n(!1);const h=null!=a?a.split(",").filter((e=>e.length>0)):void 0;_.A.addTorrentsByFiles({files:c,destination:l,tags:h,isBasePath:s,isCompleted:d,isSequential:o,start:r}).then((()=>{m.A.setActiveModal(null)})),u({start:r,destination:l,tags:h,tab:"by-file"})},isAddingTorrents:l})]})};var ee=i(9550);var te={name:"izrr19",styles:"float:right;:focus{outline:none;-webkit-tap-highlight-color:transparent;}:focus-visible{outline:dashed;}"},ie={name:"1rawn5e",styles:"font-size:0.8em"};const le=()=>{const e=(0,d.useRef)(null),t=(0,d.useRef)(null),[i,l]=(0,d.useState)(!1),{i18n:n}=(0,s.uB)();return(0,g.FD)(o.lV,{className:"inverse",ref:e,children:[(0,g.Y)(Z,{id:"urls",label:(0,g.FD)("div",{children:[n._("torrents.add.torrents.label"),"function"==typeof navigator.registerProtocolHandler&&(0,g.Y)("button",{css:te,type:"button",onClick:()=>{"function"==typeof navigator.registerProtocolHandler&&navigator.registerProtocolHandler("magnet",`${ee.A.baseURI}?action=add-urls&url=%s`)},children:(0,g.Y)("em",{css:ie,children:n._("torrents.add.tab.url.register.magnet.handler")})})]}),placeholder:n._("torrents.add.tab.url.input.placeholder"),defaultValues:"add-torrents"===m.A.activeModal?.id&&"by-url"===m.A.activeModal?.tab&&m.A.activeModal?.urls||[{id:0,value:""}]}),(0,g.Y)(Z,{id:"cookies",label:n._("torrents.add.cookies.label"),placeholder:n._("torrents.add.cookies.input.placeholder")}),(0,g.Y)(o.fh,{children:(0,g.Y)(q,{id:"tags",label:n._("torrents.add.tags"),onTagSelected:e=>{if(null!=t.current){const i=h.A.floodSettings.torrentDestinations?.[e[0]];"string"==typeof i&&null!=t.current&&(t.current.value=i,t.current.dispatchEvent(new Event("input",{bubbles:!0})))}}})}),(0,g.Y)(B,{id:"destination",label:n._("torrents.add.destination.label"),ref:t,selectable:"directories",showBasePathToggle:!0,showCompletedToggle:!0,showSequentialToggle:!0}),(0,g.Y)(p,{onAddTorrentsClick:()=>{if(null==e.current)return;const t=e.current.getFormData();l(!0);const i=W(t,"urls").filter((e=>""!==e));if(0===i.length||null==t.destination)return void l(!1);const n=W(t,"cookies"),r=i[0].startsWith("http")&&i[0].split("/")[2],a=r?{[r]:n}:void 0,s=null!=t.tags?t.tags.split(",").filter((e=>e.length>0)):void 0;_.A.addTorrentsByUrls({urls:i,cookies:a,destination:t.destination,isBasePath:t.isBasePath,isCompleted:t.isCompleted,isSequential:t.isSequential,start:t.start,tags:s}).then((()=>{m.A.setActiveModal(null)})),u({start:t.start,destination:t.destination,tags:s,tab:"by-url"})},isAddingTorrents:i})]})};var ne={name:"1gxvag8",styles:":focus{outline:none;-webkit-tap-highlight-color:transparent;}:focus-visible{outline:dashed;}"};const re=e=>{const{activeTabId:t,tabs:i={},onTabChange:l}=e;return(0,g.Y)("ul",{className:"modal__tabs",children:Object.keys(i).map((e=>{const n=i[e];n.id=e;const r=H()("modal__tab",{"is-active":e===t});return(0,g.Y)("li",{className:r,children:(0,g.Y)("button",{css:ne,type:"button",onClick:()=>{l&&l(n)},children:n.label})},e)}))})};re.defaultProps={tabs:{}};const ae=re,se=e=>{const{alignment:t,size:i,orientation:l,tabsInBody:n,inverse:r,initialTabId:a,className:s,content:o,heading:c,tabs:h,actions:u}=e,_=H()("modal__content__wrapper",`modal--align-${t}`,`modal--size-${i}`,{"modal--horizontal":"horizontal"===l,"modal--vertical":"vertical"===l,"modal--tabs-in-header":!n,"modal--tabs-in-body":n,inverse:r},s);let m=o;const p=c,b=H()("modal__header",{"has-tabs":h});let Y,v,y;const[x,k]=(0,d.useState)(a??Object.keys(h||{})[0]);if(h){const e=h[x],t=H()("modal__content",e.modalContentClasses),i=e.content,l=e.props,r=(0,g.Y)(ae,{activeTabId:x,onTabChange:e=>{null!=e.id&&k(e.id)},tabs:h},"modal-tabs");n?Y=r:y=r,m=[Y,(0,g.Y)("div",{className:t,children:(0,g.Y)(i,{...l})},"modal-content")]}return u&&(v=(0,g.Y)("div",{className:"modal__footer",children:(0,g.Y)(f,{actions:u})})),(0,g.FD)("div",{className:_,children:[(0,g.FD)("div",{className:b,children:[p,y]}),(0,g.FD)("div",{className:"modal__body",children:[m,v]})]})};se.defaultProps={alignment:"left",className:null,inverse:!0,size:"medium",orientation:"horizontal",tabsInBody:!1,content:void 0,actions:void 0,tabs:void 0,initialTabId:void 0};const de=se,oe=()=>{const{i18n:e}=(0,s.uB)(),t={"by-url":{content:le,label:e._("torrents.add.tab.url.title")},"by-file":{content:X,label:e._("torrents.add.tab.file.title")},"by-creation":{content:Q,label:e._("torrents.add.tab.create.title")}};return"add-torrents"!==m.A.activeModal?.id?null:(0,g.Y)(de,{heading:e._("torrents.add.heading"),tabs:t,initialTabId:m.A.activeModal.tab??h.A.floodSettings.UITorrentsAddTab??"by-url"})},ce=(0,r.PA)((()=>{if("confirm"!==m.A.activeModal?.id)return null;const{actions:e,content:t,heading:i}=m.A.activeModal||{};return(0,g.Y)(de,{actions:e,content:(0,g.Y)("div",{className:"modal__content",children:t}),heading:i})}));var he=i(1083),ue=i(7813);const _e=new class{feeds=[];rules=[];items=[];constructor(){(0,ue.l_)(this)}setFeeds(e){this.feeds=null!=e?[...e].sort(((e,t)=>e.label.localeCompare(t.label))):[]}setRules(e){this.rules=null!=e?[...e].sort(((e,t)=>e.label.localeCompare(t.label))):[]}handleFeedMonitorsFetchSuccess(e){this.setFeeds(e.feeds),this.setRules(e.rules)}handleItemsFetchSuccess(e){this.items=e}},{baseURI:me}=ee.A,ge={addFeed:e=>he.A.put(`${me}api/feed-monitor/feeds`,e).then((()=>ge.fetchFeedMonitors())),modifyFeed:(e,t)=>he.A.patch(`${me}api/feed-monitor/feeds/${e}`,t).then((()=>ge.fetchFeedMonitors())),addRule:e=>he.A.put(`${me}api/feed-monitor/rules`,e).then((()=>ge.fetchFeedMonitors())),fetchFeedMonitors:()=>he.A.get(`${me}api/feed-monitor`).then((({data:e})=>{_e.handleFeedMonitorsFetchSuccess(e)}),(()=>{})),fetchItems:({id:e,search:t})=>he.A.get(`${me}api/feed-monitor/feeds/${e}/items`,{params:{search:t}}).then((({data:e})=>{_e.handleItemsFetchSuccess(e)}),(()=>{})),removeFeedMonitor:e=>he.A.delete(`${me}api/feed-monitor/${e}`).then((()=>ge.fetchFeedMonitors()),(()=>{}))},fe=ge,pe=/^(?:https?|ftp):\/\/.{1,}\.{1}.{1,}/,be=e=>null!=e&&""!==e,Ye=e=>{try{new RegExp(e)}catch(e){return!1}return!0},ve=({rule:e,isSubmitting:t,isPatternMatched:i,onCancel:l})=>{const{feeds:n}=_e,{i18n:r}=(0,s.uB)();return(0,g.FD)(o.eW,{children:[(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{id:"label",label:r._("feeds.label"),defaultValue:e.label}),(0,g.Y)(o.l6,{disabled:!n.length,id:"feedID",label:r._("feeds.applicable.feed"),defaultID:e.feedIDs?.[0],children:0===n.length?[(0,g.Y)(o.eb,{id:"placeholder",isPlaceholder:!0,children:(0,g.Y)("em",{children:(0,g.Y)(s.x6,{id:"feeds.no.feeds.available"})})},"empty")]:n.reduce(((e,t)=>e.concat((0,g.Y)(o.eb,{id:`${t._id}`,children:t.label},t._id))),[(0,g.Y)(o.eb,{id:"placeholder",isPlaceholder:!0,children:(0,g.Y)("em",{children:(0,g.Y)(s.x6,{id:"feeds.select.feed"})})},"select-feed")])})]}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{id:"match",label:r._("feeds.match.pattern"),placeholder:r._("feeds.regEx"),defaultValue:e.match,width:"three-eighths"}),(0,g.Y)(o.Rj,{id:"exclude",label:r._("feeds.exclude.pattern"),placeholder:r._("feeds.regEx"),defaultValue:e.exclude,width:"three-eighths"})]}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.Rj,{addonPlacement:"after",id:"check",label:r._("feeds.test.match"),placeholder:r._("feeds.check"),children:i&&(0,g.Y)(o.t0,{children:(0,g.Y)(y.H4,{})})})}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.ci,{children:(0,g.Y)(B,{id:"destination",label:r._("feeds.torrent.destination"),selectable:"directories",suggested:e.destination,showBasePathToggle:!0})}),(0,g.Y)(q,{id:"tags",label:r._("feeds.apply.tags"),placeholder:r._("feeds.tags"),defaultValue:e.tags})]}),(0,g.FD)(o.fh,{align:"end",justify:"end",children:[(0,g.Y)("br",{}),(0,g.Y)(o.Sc,{id:"startOnLoad",defaultChecked:e.startOnLoad,matchTextboxHeight:!0,children:(0,g.Y)(s.x6,{id:"feeds.start.on.load"})}),(0,g.Y)(o.$n,{onClick:l,children:(0,g.Y)(s.x6,{id:"button.cancel"})}),(0,g.Y)(o.$n,{type:"submit",isLoading:t,children:(0,g.Y)(s.x6,{id:"button.save.feed"})})]})]})},ye=({children:e})=>(0,g.Y)("h2",{className:"h4",children:e}),xe=(0,r.PA)((({currentRule:e,onSelect:t,onRemove:i})=>{const{rules:l}=_e;return 0===l.length?(0,g.Y)("ul",{className:"interactive-list",children:(0,g.Y)("li",{className:"interactive-list__item",children:(0,g.Y)(s.x6,{id:"feeds.no.rules.defined"})})}):(0,g.Y)("ul",{className:"interactive-list",children:l.map((l=>{const n=l.count||0;let r=null,a=null;if(l.exclude&&(r=(0,g.FD)("li",{className:"interactive-list__detail-list__item interactive-list__detail interactive-list__detail--tertiary",children:[(0,g.Y)(s.x6,{id:"feeds.exclude"}),": ",l.exclude]})),l.tags&&l.tags.length>0){const e=l.tags.map((e=>(0,g.Y)("span",{className:"tag",children:e},e)));a=(0,g.FD)("li",{className:"interactive-list__detail-list__item interactive-list__detail interactive-list__detail--tertiary",children:[(0,g.Y)(s.x6,{id:"feeds.tags"}),": ",e]})}return(0,g.FD)("li",{className:"interactive-list__item interactive-list__item--stacked-content",children:[(0,g.FD)("div",{className:"interactive-list__label",children:[(0,g.FD)("ul",{className:"interactive-list__detail-list",children:[(0,g.Y)("li",{className:"interactive-list__detail-list__item interactive-list__detail--primary",children:l.label}),(0,g.Y)("li",{className:"interactive-list__detail-list__item interactive-list__detail-list__item--overflow interactive-list__detail interactive-list__detail--secondary",children:(0,g.Y)(s.x6,{id:"feeds.match.count",values:{count:n}})}),l===e&&(0,g.Y)("li",{className:"interactive-list__detail-list__item interactive-list__detail--primary",children:"Modifying"})]}),(0,g.FD)("ul",{className:"interactive-list__detail-list",children:[(0,g.FD)("li",{className:"interactive-list__detail-list__item interactive-list__detail interactive-list__detail--tertiary",style:{maxWidth:"50%",overflow:"hidden",textOverflow:"ellipsis"},children:[(0,g.Y)(s.x6,{id:"feeds.match"}),": ",l.match]}),(0,g.Y)("div",{style:{width:"100%"}}),r,a]})]}),(0,g.Y)("button",{className:"interactive-list__icon interactive-list__icon--action",type:"button",onClick:()=>t(l),children:(0,g.Y)(y.ff,{})}),(0,g.Y)("button",{className:"interactive-list__icon interactive-list__icon--action interactive-list__icon--action--warning",type:"button",onClick:()=>i(l),children:(0,g.Y)(y.bm,{})})]},l._id)}))})})),ke={label:"",feedIDs:[],match:"",exclude:"",tags:[],destination:"",startOnLoad:!1},Ne={destination:{isValid:be,error:"feeds.validation.must.specify.destination"},feedID:{isValid:e=>be(e)&&"placeholder"!==e,error:"feeds.validation.must.select.feed"},label:{isValid:be,error:"feeds.validation.must.specify.label"},match:{isValid:e=>be(e)&&Ye(e),error:"feeds.validation.invalid.regular.expression"},exclude:{isValid:e=>!be(e)||Ye(e),error:"feeds.validation.invalid.regular.expression"}},De=(e,t)=>Ne[e]?.isValid(t)?void 0:Ne[e]?.error,Se=()=>{const e=(0,d.useRef)(null),{i18n:t}=(0,s.uB)(),[i,l]=(0,d.useState)(null),[n,r]=(0,d.useState)({}),[a,c]=(0,d.useState)(!1),[h,u]=(0,d.useState)(!1),[_,m]=(0,d.useState)(!1),[f,p]=(0,d.useState)(!1);return(0,g.FD)(o.lV,{className:"inverse",onChange:({event:e,formData:t})=>{const i=e.target.name,l=t;r({...n,[i]:De(i,l[i])}),p((()=>{const{check:e,match:t="",exclude:i=""}=l;if(be(e)&&Ye(t)&&Ye(i)){const l=new RegExp(t,"gi").test(e),n=""!==i&&new RegExp(i,"gi").test(e);return l&&!n}return!1})()),m(!0)},onSubmit:async()=>{if(null==e.current)return;const t=e.current.getFormData(),n=Object.keys(Ne).reduce(((e,i)=>{const l=i;return{...e,[l]:De(l,t[l])}}),{});r(n);const a=Object.keys(n).every((e=>void 0===n[e]));_&&a&&(u(!0),null!=i?._id&&await fe.removeFeedMonitor(i._id),await fe.addRule({label:t.label??ke.label,feedIDs:[t.feedID??""],field:t.field,match:t.match??ke.match,exclude:t.exclude??ke.exclude,destination:t.destination??ke.destination,tags:t.tags?.split(",")??ke.tags,startOnLoad:t.startOnLoad??ke.startOnLoad,isBasePath:t.isBasePath??!1}).then((()=>{e.current?.resetForm(),r({}),l(null),c(!1)}),(()=>{r({backend:"general.error.unknown"})})),u(!1))},ref:e,children:[(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"feeds.existing.rules"})}),Object.keys(n).reduce(((e,i)=>(null!=n[i]&&e.push((0,g.Y)(o.fh,{children:(0,g.Y)(o.jQ,{children:t._(n?.[i])})},`error-${i}`)),e)),[]),(0,g.Y)(o.fh,{children:(0,g.Y)(o.ci,{children:(0,g.Y)(xe,{currentRule:i,onSelect:e=>{l(e),c(!0)},onRemove:e=>{null!=e._id&&fe.removeFeedMonitor(e._id),e===i&&(l(null),c(!1))}})})}),a?(0,g.Y)(ve,{rule:i??ke,isPatternMatched:f,isSubmitting:h,onCancel:()=>{l(null),c(!1)}},i?._id||"initial"):(0,g.FD)(o.fh,{align:"end",justify:"end",children:[(0,g.Y)("br",{}),(0,g.Y)(o.$n,{onClick:()=>{c(!0)},children:(0,g.Y)(s.x6,{id:"button.new"})})]})]})},we=({currentFeed:e,defaultFeed:t,intervalMultipliers:i,isSubmitting:l,onCancel:n})=>{const{i18n:r}=(0,s.uB)(),a=e?.interval??t.interval;let d=a,c=1;return i.forEach((e=>{const t=e.value;a%t==0&&(d=a/t,c=t)})),(0,g.FD)(o.eW,{children:[(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{id:"label",label:r._("feeds.label"),placeholder:r._("feeds.label"),defaultValue:e?.label??t.label}),(0,g.Y)(o.Rj,{id:"interval",label:r._("feeds.select.interval"),placeholder:r._("feeds.interval"),defaultValue:d,width:"one-eighth"}),(0,g.Y)(o.l6,{labelOffset:!0,defaultID:c,id:"intervalMultiplier",width:"one-eighth",children:i.map((e=>(0,g.Y)(o.eb,{id:e.value,children:r._(e.message)},e.value)))})]}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{id:"url",label:r._("feeds.url"),placeholder:r._("feeds.url"),defaultValue:e?.url??t?.url}),(0,g.Y)(o.$n,{labelOffset:!0,onClick:n,children:(0,g.Y)(s.x6,{id:"button.cancel"})}),(0,g.Y)(o.$n,{labelOffset:!0,type:"submit",isLoading:l,children:(0,g.Y)(s.x6,{id:"button.save.feed"})})]})]})},Ae=(0,r.PA)((({selectedFeedID:e})=>{const{items:t}=_e,i=[];if(e){const e={};t.forEach(((t,l)=>{let{title:n}=t;const r=e[n];null==r?e[n]=2:(n=`${n} #${r}`,e[n]+=1),i.push((0,g.FD)("li",{className:"interactive-list__item interactive-list__item--stacked-content feed-list__feed",children:[(0,g.Y)("div",{className:"interactive-list__label feed-list__feed-label",children:n}),(0,g.Y)(o.Sc,{id:`${l}`})]},n))}))}return(0,g.Y)(o.fh,{children:0===i.length?(0,g.Y)("ul",{className:"interactive-list",children:(0,g.Y)("li",{className:"interactive-list__item",children:(0,g.Y)("div",{className:"interactive-list__label",children:(0,g.Y)(s.x6,{id:"feeds.no.items.matching"})})})}):(0,g.Y)("ul",{className:"interactive-list feed-list",children:i})})})),Fe=(0,r.PA)((()=>{const{i18n:e}=(0,s.uB)(),t=(0,d.useRef)(null),[i,l]=(0,d.useState)(null),{feeds:n}=_e;return null!=i&&(n.some((e=>e._id===i))||l(null)),(0,g.FD)(o.lV,{className:"inverse",onChange:({event:e,formData:t})=>{const i=t;"checkbox"!==e.target.type&&(l(i.feedID),fe.fetchItems({id:i.feedID,search:i.search}))},onSubmit:()=>{if(null==t.current)return;const e=t.current.getFormData(),i=_e.items.filter(((t,i)=>e[i])).map(((e,t)=>({id:t,value:e.urls[0]})));m.A.setActiveModal({id:"add-torrents",tab:"by-url",urls:i})},ref:t,children:[(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"feeds.browse.feeds"})}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.l6,{disabled:!n.length,grow:!1,id:"feedID",label:e._("feeds.select.feed"),width:"three-eighths",children:n.length?n.reduce(((e,t)=>null==t._id?e:e.concat((0,g.Y)(o.eb,{id:t._id,children:t.label},t._id))),[(0,g.Y)(o.eb,{id:"placeholder",isPlaceholder:!0,children:(0,g.Y)("em",{children:(0,g.Y)(s.x6,{id:"feeds.select.feed"})})},"select-feed")]):[(0,g.Y)(o.eb,{id:"placeholder",isPlaceholder:!0,children:(0,g.Y)("em",{children:(0,g.Y)(s.x6,{id:"feeds.no.feeds.available"})})},"empty")]}),i&&(0,g.Y)(o.Rj,{id:"search",label:e._("feeds.search.term"),placeholder:e._("feeds.search")}),i&&(0,g.Y)(o.$n,{type:"submit",labelOffset:!0,children:(0,g.Y)(s.x6,{id:"button.download"})},"button")]}),i&&(0,g.Y)(Ae,{selectedFeedID:i})]})})),Ce=(0,r.PA)((({currentFeed:e,intervalMultipliers:t,onSelect:i,onRemove:l})=>{const{feeds:n}=_e,{i18n:r}=(0,s.uB)();return 0===n.length?(0,g.Y)("ul",{className:"interactive-list",children:(0,g.Y)("li",{className:"interactive-list__item",children:(0,g.Y)(s.x6,{id:"feeds.no.feeds.defined"})})}):(0,g.Y)("ul",{className:"interactive-list feed-list",children:n.map((n=>{const a=n.count||0;let d=`${n.interval}`,o=t[0].message;return t.forEach((e=>{n.interval%e.value==0&&(d=""+n.interval/e.value,o=e.message)})),(0,g.FD)("li",{className:"interactive-list__item interactive-list__item--stacked-content feed-list__feed",children:[(0,g.FD)("div",{className:"interactive-list__label",children:[(0,g.FD)("ul",{className:"interactive-list__detail-list",children:[(0,g.Y)("li",{className:"interactive-list__detail-list__item interactive-list__detail--primary",children:n.label}),(0,g.Y)("li",{className:"interactive-list__detail-list__item interactive-list__detail-list__item--overflow interactive-list__detail interactive-list__detail--secondary",children:(0,g.Y)(s.x6,{id:"feeds.match.count",values:{count:a}})}),n===e&&(0,g.Y)("li",{className:"interactive-list__detail-list__item interactive-list__detail--primary",children:"Modifying"})]}),(0,g.FD)("ul",{className:"interactive-list__detail-list",children:[(0,g.Y)("li",{className:"interactive-list__detail-list__item interactive-list__detail interactive-list__detail--tertiary",children:`${d} ${r._(o)}`}),(0,g.Y)("li",{className:"interactive-list__detail-list__item interactive-list__detail-list__item--overflow interactive-list__detail interactive-list__detail--tertiary",children:(0,g.Y)("a",{href:n.url,rel:"noopener noreferrer",target:"_blank",children:n.url})})]})]}),(0,g.Y)("button",{className:"interactive-list__icon interactive-list__icon--action",type:"button",onClick:()=>i(n),children:(0,g.Y)(y.ff,{})}),(0,g.Y)("button",{className:"interactive-list__icon interactive-list__icon--action interactive-list__icon--action--warning",type:"button",onClick:()=>l(n),children:(0,g.Y)(y.bm,{})})]},n._id)}))})})),Te={url:{isValid:e=>null!=e&&""!==e&&null!==e.match(pe),error:"feeds.validation.must.specify.valid.feed.url"},label:{isValid:be,error:"feeds.validation.must.specify.label"},interval:{isValid:e=>{if(null===e||""===e)return!1;const t=parseInt(`${e}`,10);return!Number.isNaN(t)&&t>0},error:"feeds.validation.interval.not.positive"}},Re=(e,t)=>Te[e]?.isValid(t)?void 0:Te[e]?.error,Pe=[{message:"feeds.time.min",value:1},{message:"feeds.time.hr",value:60},{message:"feeds.time.day",value:1440}],Me={label:"",interval:5,url:""},je=()=>{const e=(0,d.useRef)(null),{i18n:t}=(0,s.uB)(),[i,l]=(0,d.useState)(null),[n,r]=(0,d.useState)({}),[a,c]=(0,d.useState)(!1),[h,u]=(0,d.useState)(!1);return(0,g.FD)("div",{children:[(0,g.FD)(o.lV,{className:"inverse",onChange:({event:e,formData:t})=>{const i=e.target.name,l=t;r({...n,[i]:Re(i,l[i])})},onSubmit:async()=>{const t=e.current?.getFormData();if(null==e.current||null==t)return;u(!0);const n=Object.keys(Te).reduce(((e,i)=>{const l=i;return{...e,[l]:Re(l,t[l])}}),{});r(n);if(Object.keys(n).every((e=>void 0===n[e]))){const n={label:t.label,url:t.url,interval:Number(t.interval)*Number(t.intervalMultiplier)};let a=!0;try{null===i?await fe.addFeed(n):null!=i?._id&&await fe.modifyFeed(i._id,n)}catch{a=!1}a?(e.current.resetForm(),r({}),l(null),c(!1)):r({backend:"general.error.unknown"})}u(!1)},ref:e,children:[(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"feeds.existing.feeds"})}),Object.keys(n).reduce(((e,i)=>(null!=n[i]&&e.push((0,g.Y)(o.fh,{children:(0,g.Y)(o.jQ,{children:t._(n?.[i])})},`error-${i}`)),e)),[]),(0,g.Y)(o.fh,{children:(0,g.Y)(o.ci,{children:(0,g.Y)(Ce,{currentFeed:i,intervalMultipliers:Pe,onSelect:e=>{l(e),c(!0)},onRemove:e=>{e===i&&(a&&(r({}),c(!1)),l(null)),null!=e._id&&fe.removeFeedMonitor(e._id)}})})}),a?(0,g.Y)(we,{currentFeed:i,defaultFeed:Me,intervalMultipliers:Pe,isSubmitting:h,onCancel:()=>{r({}),c(!1),l(null)}},i?._id||"initial"):(0,g.FD)(o.fh,{children:[(0,g.Y)(o.ci,{width:"auto"}),(0,g.Y)(o.$n,{onClick:()=>{c(!0)},children:(0,g.Y)(s.x6,{id:"button.new"})})]})]}),(0,g.Y)(Fe,{})]})},Ie=()=>{const{i18n:e}=(0,s.uB)();(0,d.useEffect)((()=>{fe.fetchFeedMonitors()}),[]);const t={feeds:{content:je,label:e._("feeds.tabs.feeds")},downloadRules:{content:Se,label:e._("feeds.tabs.download.rules")}};return(0,g.Y)(de,{heading:e._("feeds.tabs.heading"),orientation:"horizontal",size:"large",tabs:t})};var Ve=i(484);let Le=function(e){return e[e.HTTP=1]="HTTP",e[e.UDP=2]="UDP",e[e.DHT=3]="DHT",e}({});const $e=(e,t)=>{let i=`magnet:?xt=urn:btih:${e}`;return t?.length&&t.forEach((e=>{i=`${i}&tr=${encodeURI(e)}`})),i},Ee=()=>{const e=(0,d.useRef)(null),t=(0,d.useRef)(null),{i18n:i}=(0,s.uB)(),[l,n]=(0,d.useState)(!1),[r,a]=(0,d.useState)(!1),[c,h]=(0,d.useState)({isLoadingTrackers:!0,magnetTrackersLink:""});(0,d.useEffect)((()=>{_.A.fetchTorrentTrackers(Ve.A.selectedTorrents[0]).then((e=>{null!=e&&h({isLoadingTrackers:!1,magnetTrackersLink:$e(Ve.A.selectedTorrents[0],e.filter((e=>e.type!==Le.DHT)).map((e=>e.url)))})}))}),[]);const u=$e(Ve.A.selectedTorrents[0]);return(0,g.Y)(de,{heading:i._("torrents.generate.magnet.heading"),content:(0,g.Y)("div",{className:"modal__content inverse",children:(0,g.FD)(o.lV,{children:[Ve.A.torrents[Ve.A.selectedTorrents[0]]?.isPrivate?(0,g.Y)(o.fh,{children:(0,g.Y)(o.jQ,{children:i._("torrents.generate.magnet.private.torrent")})}):null,(0,g.Y)(o.fh,{children:(0,g.Y)(o.Rj,{id:"magnet",ref:e,addonPlacement:"after",label:i._("torrents.generate.magnet.magnet"),defaultValue:u,readOnly:!0,children:(0,g.Y)(o.t0,{onClick:()=>{"function"==typeof navigator.clipboard?.writeText?navigator.clipboard.writeText(u).then((()=>{n(!0)})):null!=e.current&&(e.current?.select(),document.execCommand("copy"),n(!0))},children:l?(0,g.Y)(y.H4,{}):(0,g.Y)(y.B0,{})})})}),(0,g.Y)(o.fh,{children:c.isLoadingTrackers?(0,g.Y)(o.Rj,{id:"loading",label:i._("torrents.generate.magnet.magnet.with.trackers"),placeholder:i._("torrents.generate.magnet.loading.trackers"),disabled:!0}):(0,g.Y)(o.Rj,{id:"magnet-trackers",ref:t,addonPlacement:"after",label:i._("torrents.generate.magnet.magnet.with.trackers"),defaultValue:c.magnetTrackersLink,readOnly:!0,children:(0,g.Y)(o.t0,{onClick:()=>{"function"==typeof navigator.clipboard?.writeText?navigator.clipboard.writeText(c.magnetTrackersLink).then((()=>{a(!0)})):null!=t.current&&(t.current?.select(),document.execCommand("copy"),a(!0))},children:r?(0,g.Y)(y.H4,{}):(0,g.Y)(y.B0,{})})})})]})}),actions:[{clickHandler:null,content:i._("button.close"),triggerDismiss:!0,type:"tertiary"}]})},Be=e=>{let t="";for(let i=0;i<e[0].length;i+=1)for(let l=1;l<e.length;l+=1)e[0][i]!==e[l][i]&&(t=e[0].slice(0,i));for(let e=t.length-1;e>=0;e-=1)if("/"===t[e])return t.slice(0,e+1)},Oe=()=>{const{i18n:e}=(0,s.uB)(),[t,i]=(0,d.useState)(!1);return(0,g.Y)(de,{heading:e._("torrents.move.heading"),content:(0,g.Y)("div",{className:"modal__content",children:(0,g.FD)(o.lV,{className:"inverse",onSubmit:({formData:e})=>{const t=Ve.A.selectedTorrents;t.length>0&&(i(!0),_.A.moveTorrents({hashes:t,destination:e.destination,isBasePath:e.isBasePath,moveFiles:e.moveFiles,isCheckHash:e.isCheckHash}).then((()=>{m.A.setActiveModal(null),i(!1)})))},children:[(0,g.Y)(B,{id:"destination",selectable:"directories",suggested:Be(Ve.A.selectedTorrents.map((e=>Ve.A.torrents[e].directory))),showBasePathToggle:!0}),(0,g.Y)(f,{actions:[{checked:!0,content:e._("torrents.move.data.label"),id:"moveFiles",type:"checkbox"},{checked:!1,content:e._("torrents.move.check_hash.label"),id:"isCheckHash",type:"checkbox"},{content:e._("button.cancel"),triggerDismiss:!0,type:"tertiary"},{content:e._("torrents.move.button.set.location"),isLoading:t,submit:!0,type:"primary"}]})]})})})},He=()=>{const{i18n:e}=(0,s.uB)(),[t,i]=(0,d.useState)(!1),{selectedTorrents:l}=Ve.A;return 0===l.length?(0,g.Y)(de,{heading:e._("torrents.remove"),content:(0,g.Y)("div",{className:"modal__content inverse",children:(0,g.Y)(o.lV,{children:(0,g.Y)(o.fh,{children:(0,g.Y)(s.x6,{id:"torrents.remove.error.no.torrents.selected"})})})}),actions:[{clickHandler:null,content:e._("button.ok"),triggerDismiss:!0,type:"primary"}]}):(0,g.Y)(de,{heading:e._("torrents.remove"),content:(0,g.Y)("div",{className:"modal__content",children:(0,g.FD)(o.lV,{className:"inverse",onSubmit:({formData:e})=>{i(!0);const t=e.deleteData;_.A.deleteTorrents({hashes:Ve.A.selectedTorrents,deleteData:t}).then((()=>{i(!1),(({deleteData:e})=>{null!=e&&c.A.saveSetting("deleteTorrentData",e)})({deleteData:t}),m.A.setActiveModal(null)}))},children:[(0,g.Y)(o.fh,{children:(0,g.Y)(s.x6,{id:"torrents.remove.are.you.sure",values:{count:l.length}})}),(0,g.Y)(f,{actions:[{checked:h.A.floodSettings.deleteTorrentData,content:e._("torrents.remove.delete.data"),id:"deleteData",type:"checkbox"},{content:e._("button.no"),triggerDismiss:!0,type:"tertiary"},{content:e._("button.yes"),isLoading:t,submit:!0,type:"primary"}]})]})})})},Ue=()=>{const e=(0,d.useRef)(null),{i18n:t}=(0,s.uB)(),[i,l]=(0,d.useState)(!1);return(0,g.Y)(de,{heading:t._("torrents.set.tags.heading"),content:(0,g.Y)("div",{className:"modal__content inverse",children:(0,g.Y)(o.lV,{ref:e,children:(0,g.Y)(o.fh,{children:(0,g.Y)(q,{defaultValue:Ve.A.selectedTorrents.map((e=>Ve.A.torrents[e].tags))[0].slice(),id:"tags",placeholder:t._("torrents.set.tags.enter.tags")})})})}),actions:[{content:t._("button.cancel"),clickHandler:null,triggerDismiss:!0,type:"tertiary"},{content:t._("torrents.set.tags.button.set"),clickHandler:()=>{if(null==e.current)return;const{selectedTorrents:t}=Ve.A,i=e.current.getFormData(),n=i.tags?i.tags.split(",").filter((e=>!!e)):[];l(!0),t?.length>0&&_.A.setTags({hashes:t,tags:n})},isLoading:i,triggerDismiss:!1,type:"primary"}]})},ze=()=>{const e=(0,d.useRef)(null),{i18n:t}=(0,s.uB)(),[i,l]=(0,d.useState)(!1),[n,r]=(0,d.useState)({isLoadingTrackers:!0,trackerURLs:[]});return(0,d.useEffect)((()=>{_.A.fetchTorrentTrackers(Ve.A.selectedTorrents[0]).then((e=>{null!=e&&r({isLoadingTrackers:!1,trackerURLs:e.filter((e=>e.type!==Le.DHT)).map((e=>e.url))})}))}),[]),(0,g.Y)(de,{heading:t._("torrents.set.trackers.heading"),content:(0,g.Y)("div",{className:"modal__content inverse",children:(0,g.Y)(o.lV,{ref:e,children:n.isLoadingTrackers?(0,g.Y)(o.fh,{children:(0,g.Y)(o.Rj,{id:"loading",placeholder:t._("torrents.set.trackers.loading.trackers"),disabled:!0})}):(0,g.Y)(Z,{id:"trackers",placeholder:t._("torrents.set.trackers.enter.tracker"),defaultValues:0===n.trackerURLs.length?void 0:n.trackerURLs.map(((e,t)=>({id:t,value:e})))})})}),actions:[{clickHandler:null,content:t._("button.cancel"),triggerDismiss:!0,type:"tertiary"},{clickHandler:()=>{if(null==e.current||i||n.isLoadingTrackers)return;l(!0);const t=e.current.getFormData(),r=W(t,"trackers").filter((e=>""!==e));_.A.setTrackers({hashes:Ve.A.selectedTorrents,trackers:r}).then((()=>{l(!1),m.A.setActiveModal(null)}))},content:t._("torrents.set.trackers.button.set"),isLoading:i||n.isLoadingTrackers,triggerDismiss:!1,type:"primary"}]})};var qe=i(9849);const We=JSON.parse('{"rE":"0.0.0-master.8dbd865"}'),Ge="https://github.com/jesec/flood",Ze="# Flood <FloodVersion />\n\n[![Latest release badge](https://img.shields.io/npm/v/flood?label=Latest%20Release)](https://www.npmjs.com/flood) <CommitBadge />\n\n[![Github Actions build status badge](https://github.com/jesec/flood/workflows/Build/badge.svg?branch=master&event=push)](https://github.com/jesec/flood/actions) [![Crowdin](https://badges.crowdin.net/flood/localized.svg)](https://crowdin.com/project/flood) [![Discord server badge](https://img.shields.io/discord/418267176873623553.svg?style=flat-square)](https://discord.gg/Z7yR5Uf)\n\nFlood is a monitoring service for various torrent clients. It's a Node.js service that communicates with your favorite torrent client and serves a decent web UI for administration. This project is based on the [original Flood project](https://github.com/Flood-UI/flood).\n\n#### Feedback\n\nIf you have a specific issue or bug, please file a [GitHub issue](https://github.com/jesec/flood/issues). Please join the [Flood Discord server](https://discord.gg/Z7yR5Uf) to discuss feature requests and implementation details.\n\n#### More Information\n\nCheck out the [Wiki](https://github.com/jesec/flood/wiki) for more information.\n".replaceAll("<FloodVersion />",We.rE).replaceAll("<CommitBadge />",We.rE.length>8?`![${Ge}]("https://img.shields.io/npm/v/@jesec/flood?label=HEAD" "Latest version of rolling build")`:`![${Ge}](https://img.shields.io/github/commits-since/jesec/flood/v${We.rE} "Commits since user's version")`),Qe=()=>(0,g.Y)(d.Suspense,{fallback:null,children:(0,g.Y)(qe.o,{children:Ze})});var Je=i(5767),Ke=i(7230),Xe=i(9119),et=i(8045);const tt=(0,r.PA)((()=>{const e=(0,d.useRef)(null),t=(0,d.useRef)(null),[i,r]=(0,d.useState)(null),[a,c]=(0,d.useState)(!1),[h,u]=(0,d.useState)(!1),{i18n:_}=(0,s.uB)();if((0,d.useEffect)((()=>{Ke.A.currentUser.isAdmin&&Je.A.fetchUsers().then((()=>{c(!0)}))}),[]),!Ke.A.currentUser.isAdmin)return(0,g.FD)(o.lV,{children:[(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"auth.user.accounts"})}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.jQ,{children:(0,g.Y)(s.x6,{id:"auth.message.not.admin"})})})]});const m=!a&&0===Ke.A.users.length,f=H()("interactive-list",{"interactive-list--loading":m});return(0,g.FD)(o.lV,{onSubmit:()=>{if(null==e.current||null==t.current)return;const i=e.current.getFormData();if(null==i.username||""===i.username)r("auth.error.username.empty");else if(null==i.password||""===i.password)r("auth.error.password.empty");else{u(!0);const l=t.current;if(null==l)return r("connection.settings.error.empty"),void u(!1);Je.A.createUser({username:i.username,password:i.password,client:l,level:!0===i.isAdmin?Xe.h.ADMINISTRATOR:Xe.h.USER}).then((()=>{null!=e.current&&e.current.resetForm(),r(null),u(!1)}),(()=>{r("general.error.unknown"),u(!1)})).then(Je.A.fetchUsers)}},ref:e,children:[(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"auth.user.accounts"})}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.ci,{children:(0,g.FD)("ul",{className:f,children:[(0,g.Y)(n.A,{children:m&&(0,g.Y)(l.A,{classNames:"interactive-list__loading-indicator",timeout:{enter:250,exit:250},children:(0,g.Y)("div",{className:"interactive-list__loading-indicator",children:(0,g.Y)(o.hg,{})},"loading-indicator")})}),Ke.A.users.slice().sort(((e,t)=>e.username.localeCompare(t.username))).map((e=>{const t=e.username===Ke.A.currentUser.username;let i=null,l=null;t?i=(0,g.Y)("span",{className:"interactive-list__label__tag tag",children:(0,g.Y)(s.x6,{id:"auth.current.user"})}):l=(0,g.Y)("button",{className:"interactive-list__icon interactive-list__icon--action interactive-list__icon--action--warning",type:"button",onClick:()=>Je.A.deleteUser(e.username).then(Je.A.fetchUsers),children:(0,g.Y)(y.bm,{})});const n=H()("interactive-list__item",{"interactive-list__item--disabled":t});return(0,g.FD)("li",{className:n,children:[(0,g.FD)("span",{className:"interactive-list__label",children:[(0,g.Y)("div",{className:"interactive-list__label__text",children:e.username}),i]}),l]},e.username)}))]})})}),(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"auth.add.user"})}),i&&(0,g.Y)(o.fh,{children:(0,g.Y)(o.jQ,{children:_._(i)})}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{id:"username",label:(0,g.Y)(s.x6,{id:"auth.username"}),placeholder:_._("auth.username"),autoComplete:"username"}),(0,g.Y)(o.Rj,{id:"password",label:(0,g.Y)(s.x6,{id:"auth.password"}),placeholder:_._("auth.password"),autoComplete:"new-password"}),(0,g.Y)(o.Sc,{grow:!1,id:"isAdmin",labelOffset:!0,matchTextboxHeight:!0,children:(0,g.Y)(s.x6,{id:"auth.admin"})})]}),(0,g.Y)(et.A,{onSettingsChange:e=>{t.current=e}}),(0,g.Y)("p",{}),(0,g.Y)(o.fh,{justify:"end",children:(0,g.Y)(o.$n,{isLoading:h,priority:"primary",type:"submit",children:(0,g.Y)(s.x6,{id:"button.add"})})})]})})),it=(e,t)=>null!=e[t]?e[t]:h.A.clientSettings?.[t],lt=e=>{const t=e.target,i=t.name,{value:l,type:n,checked:r}=t;let a={};return a="checkbox"===n?{[i]:r}:{[i]:l},a},nt=e=>{if(e&&0!==e.length)return e.join(", ")},rt=(e="")=>""===e?[]:e.replace(/\s/g,"").split(",").map((e=>Number(e))),at=({onSettingsChange:e,onClientSettingsChange:t})=>{const[i,l]=(0,d.useState)({});return(0,g.FD)(o.lV,{onChange:({event:n,formData:r})=>{const a=n.target;if("dropdownPresetDownload"===a.name||"dropdownPresetUpload"===a.name)return void e({speedLimits:{download:rt(r.dropdownPresetDownload),upload:rt(r.dropdownPresetUpload)}});const s={...i,...lt(n)};l(s),t(s)},children:[(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.bandwidth.transferrate.heading"})}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.Rj,{defaultValue:null!=h.A.floodSettings.speedLimits?nt(h.A.floodSettings.speedLimits.download):0,label:(0,g.Y)(s.x6,{id:"settings.bandwidth.transferrate.dropdown.preset.download.label"}),id:"dropdownPresetDownload"})}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.Rj,{defaultValue:null!=h.A.floodSettings.speedLimits?nt(h.A.floodSettings.speedLimits.upload):0,label:(0,g.Y)(s.x6,{id:"settings.bandwidth.transferrate.dropdown.preset.upload.label"}),id:"dropdownPresetUpload"})}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{defaultValue:it(i,"throttleGlobalDownSpeed"),label:(0,g.Y)(s.x6,{id:"settings.bandwidth.transferrate.global.throttle.download"}),id:"throttleGlobalDownSpeed"}),(0,g.Y)(o.Rj,{defaultValue:it(i,"throttleGlobalUpSpeed"),label:(0,g.Y)(s.x6,{id:"settings.bandwidth.transferrate.global.throttle.upload"}),id:"throttleGlobalUpSpeed"})]}),(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.bandwidth.slots.heading"})}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{defaultValue:it(i,"throttleMaxUploads"),label:(0,g.Y)(s.x6,{id:"settings.bandwidth.slots.upload.label"}),id:"throttleMaxUploads"}),(0,g.Y)(o.Rj,{defaultValue:it(i,"throttleMaxUploadsGlobal"),label:(0,g.Y)(s.x6,{id:"settings.bandwidth.slots.upload.global.label"}),id:"throttleMaxUploadsGlobal"})]}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{defaultValue:it(i,"throttleMaxDownloads"),label:(0,g.Y)(s.x6,{id:"settings.bandwidth.slots.download.label"}),id:"throttleMaxDownloads"}),(0,g.Y)(o.Rj,{defaultValue:it(i,"throttleMaxDownloadsGlobal"),label:(0,g.Y)(s.x6,{id:"settings.bandwidth.slots.download.global.label"}),id:"throttleMaxDownloadsGlobal"})]})]})},st=({onClientSettingsChange:e})=>{const[t,i]=(0,d.useState)({});return(0,g.FD)(o.lV,{onChange:({event:l})=>{const n={...t,...lt(l)};i(n),e(n)},children:[(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.connectivity.incoming.heading"})}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{defaultValue:it(t,"networkPortRange"),id:"networkPortRange",label:(0,g.Y)(s.x6,{id:"settings.connectivity.port.range.label"}),width:"one-quarter"}),(0,g.Y)(o.Sc,{defaultChecked:it(t,"networkPortRandom"),grow:!1,id:"networkPortRandom",labelOffset:!0,matchTextboxHeight:!0,children:(0,g.Y)(s.x6,{id:"settings.connectivity.port.randomize.label"})}),(0,g.Y)(o.Sc,{defaultChecked:it(t,"networkPortOpen"),grow:!1,id:"networkPortOpen",labelOffset:!0,matchTextboxHeight:!0,children:(0,g.Y)(s.x6,{id:"settings.connectivity.port.open.label"})})]}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{defaultValue:it(t,"networkLocalAddress"),id:"networkLocalAddress",label:(0,g.Y)(s.x6,{id:"settings.connectivity.ip.hostname.label"})}),(0,g.Y)(o.Rj,{defaultValue:it(t,"networkHttpMaxOpen"),id:"networkHttpMaxOpen",label:(0,g.Y)(s.x6,{id:"settings.connectivity.max.http.connections"})})]}),(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.connectivity.dpd.heading"})}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{defaultValue:it(t,"dhtPort"),id:"dhtPort",label:(0,g.Y)(s.x6,{id:"settings.connectivity.dht.port.label"}),width:"one-quarter"}),(0,g.Y)(o.Sc,{defaultChecked:it(t,"dht"),grow:!1,id:"dht",labelOffset:!0,matchTextboxHeight:!0,children:(0,g.Y)(s.x6,{id:"settings.connectivity.dht.label"})}),(0,g.Y)(o.Sc,{defaultChecked:it(t,"protocolPex"),grow:!1,id:"protocolPex",labelOffset:!0,matchTextboxHeight:!0,children:(0,g.Y)(s.x6,{id:"settings.connectivity.peer.exchange.label"})})]}),(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.connectivity.peers.heading"})}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{defaultValue:it(t,"throttleMinPeersNormal"),id:"throttleMinPeersNormal",label:(0,g.Y)(s.x6,{id:"settings.connectivity.peers.min.label"})}),(0,g.Y)(o.Rj,{defaultValue:it(t,"throttleMaxPeersNormal"),id:"throttleMaxPeersNormal",label:(0,g.Y)(s.x6,{id:"settings.connectivity.peers.max.label"})})]}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{defaultValue:it(t,"throttleMinPeersSeed"),id:"throttleMinPeersSeed",label:(0,g.Y)(s.x6,{id:"settings.connectivity.peers.seeding.min.label"})}),(0,g.Y)(o.Rj,{defaultValue:it(t,"throttleMaxPeersSeed"),id:"throttleMaxPeersSeed",label:(0,g.Y)(s.x6,{id:"settings.connectivity.peers.seeding.max.label"})})]}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.Rj,{defaultValue:it(t,"trackersNumWant"),id:"trackersNumWant",label:(0,g.Y)(s.x6,{id:"settings.connectivity.peers.desired.label"}),width:"one-half"})})]})};var dt=i(8440),ot=i(6816),ct=i(3627),ht=i(3375),ut=i(8831),_t=i(4979);const mt=e=>{const{children:t,id:i,disabled:l}=e,{attributes:n,setNodeRef:r,listeners:a,transform:s,transition:d,isDragging:o}=(0,ct.gl)({id:i,disabled:l}),c={transform:_t.Ks.Transform.toString(s),transition:d};return(0,g.FD)("div",{className:H()("sortable-list__item",{"sortable-list__item--is-dragging":o,"sortable-list__item--is-locked":l}),ref:r,style:c,...n,...a,children:[l?(0,g.Y)(y.LM,{}):null,t]})};var gt={name:"z45y2s",styles:"width:100%;touch-action:none"};const ft=({className:e,items:t,lockedIDs:i,renderItem:l,onMouseDown:n,onDrop:r})=>{const[a,s]=(0,d.useState)(t),o=H()("sortable-list",e),c=(0,ht.MS)(ht.uN),h=(0,ht.MS)(ht.cA,{activationConstraint:{distance:10}}),u=(0,ht.MS)(ht.IG,{activationConstraint:{distance:10}});return(0,g.Y)("div",{css:gt,role:"none",onMouseDown:e=>{n&&n(e)},children:(0,g.Y)(ht.Mp,{sensors:[c,h,u],onDragEnd:({active:e,over:i})=>{if(null==i)return;if(e.id===i.id)return;const l=(0,ct.be)(t,t.findIndex((t=>t===e.id)),t.findIndex((e=>e===i.id)));s(l),r&&r(l)},modifiers:[ut.FN,ut.gj],autoScroll:!1,children:(0,g.Y)(ct.gB,{items:a,strategy:ct._G,children:(0,g.Y)("ul",{className:o,children:a.map(((e,t)=>(0,g.Y)(mt,{id:e,disabled:i.includes(e),children:l(e,t)},e)))})})})})};ft.defaultProps={onMouseDown:void 0,onDrop:void 0};const pt=ft,bt=({onSettingsChange:e})=>{const[t,i]=(0,d.useState)((()=>{const{mountPoints:e}=h.A.floodSettings,t=Object.assign({},...ot.A.disks.map((e=>({[e.target]:e}))));return e.filter((e=>e in t)).map((e=>({id:e,visible:!0}))).concat(Object.keys(t).filter((t=>!e.includes(t))).map((e=>({id:e,visible:!1}))))})()),l=t.reduce(((e,{id:t,visible:i})=>(e[t]=i,e)),{});return(0,g.Y)(pt,{className:"sortable-list--disks",items:t.map((({id:e})=>e)),lockedIDs:[],onDrop:e=>{i(e.map((e=>({id:e,visible:l[e]}))))},renderItem:n=>{const r=(0,g.Y)("span",{className:"sortable-list__content sortable-list__content--secondary",children:(0,g.Y)(o.Sc,{defaultChecked:l[n],id:n,onClick:r=>{l[n]=r.target.checked;const a=t.map((e=>e.id===n?{...e,visible:r.target.checked}:e));e({mountPoints:a.filter((e=>e.visible)).map((e=>e.id))}),i(a)},children:(0,g.Y)(s.x6,{id:"settings.diskusage.show"})})});return(0,g.FD)("div",{className:"sortable-list__content sortable-list__content__wrapper",children:[(0,g.Y)("span",{className:"sortable-list__content sortable-list__content--primary",children:(0,g.Y)("div",{children:n})}),r]})}})},Yt=({onSettingsChange:e})=>(0,g.FD)(o.lV,{children:[(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.diskusage.mount.points"})}),(0,g.Y)(o.fh,{children:(0,g.Y)(bt,{onSettingsChange:e})})]}),vt=({onClientSettingsChange:e})=>{const[t,i]=(0,d.useState)({});return(0,g.FD)(o.lV,{onChange:({event:l})=>{const n={...t,...lt(l)};i(n),e(n)},children:[(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.resources.disk.heading"})}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.Rj,{defaultValue:it(t,"directoryDefault"),id:"directoryDefault",label:(0,g.Y)(s.x6,{id:"settings.resources.disk.download.location.label"})})}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.Rj,{defaultValue:it(t,"networkMaxOpenFiles"),id:"networkMaxOpenFiles",label:(0,g.Y)(s.x6,{id:"settings.resources.max.open.files"}),width:"one-half"}),(0,g.Y)(o.Sc,{defaultChecked:it(t,"piecesHashOnCompletion"),grow:!1,id:"piecesHashOnCompletion",labelOffset:!0,matchTextboxHeight:!0,children:(0,g.Y)(s.x6,{id:"settings.resources.disk.check.hash.label"})})]}),(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.resources.memory.heading"})}),(0,g.Y)(o.fh,{children:(0,g.Y)(o.Rj,{defaultValue:it(t,"piecesMemoryMax"),id:"piecesMemoryMax",label:(0,g.FD)("div",{children:[(0,g.Y)(s.x6,{id:"settings.resources.memory.max.label"})," ",(0,g.Y)("em",{className:"unit",children:"(MB)"})]}),width:"one-half"})})]})};var yt=i(4455);var xt={name:"1d3w5wq",styles:"width:100%"},kt={name:"15rw530",styles:".sortable-list__item{cursor:default;}"};const Nt=({className:e,checkboxLabel:t,items:i})=>(0,g.Y)("div",{css:xt,role:"none",children:(0,g.Y)("ul",{className:H()("sortable-list",e),css:kt,children:i.map((e=>{const{id:i,label:l,isLocked:n=!1,defaultChecked:r,onClick:a}=e;return(0,g.FD)("li",{className:H()("sortable-list__item",{"sortable-list__item--is-locked":n}),children:[n?(0,g.Y)(y.LM,{}):null,(0,g.FD)("div",{className:"sortable-list__content sortable-list__content__wrapper",children:[(0,g.Y)("span",{className:"sortable-list__content sortable-list__content--primary",children:(0,g.Y)(s.x6,{id:l})}),n?null:(0,g.Y)("span",{className:"sortable-list__content sortable-list__content--secondary",children:(0,g.Y)(o.Sc,{defaultChecked:r,id:i,onClick:e=>a?.(e.target.checked),children:t&&(0,g.Y)(s.x6,{id:t})})})]})]},i||l)}))})});Nt.defaultProps={className:void 0,checkboxLabel:void 0};const Dt=Nt,St=({onSettingsChange:e})=>{const t=(0,d.useRef)(h.A.floodSettings.UIPageTitleSpeedEnabled);return(0,g.Y)(Dt,{items:[{label:"settings.ui.page.title.speed",defaultChecked:t.current,onClick:()=>{t.current=!t.current,e({UIPageTitleSpeedEnabled:t.current})}}]})};var wt=i(1693),At=i(3675);const Ft=({onSettingsChange:e})=>{const t=(0,d.useRef)(At.A.torrentContextMenuActions.map((({id:e,visible:t})=>({id:e,visible:h.A.floodSettings.torrentContextMenuActions.find((t=>t.id===e))?.visible??t}))));return(0,g.Y)(Dt,{checkboxLabel:"settings.ui.torrent.context.menu.items.show",items:Object.keys(wt.A).map((i=>({label:wt.A[i],isLocked:"start"===i||"stop"===i||"setTaxonomy"===i||"torrentDetails"===i,defaultChecked:t.current.some((e=>e.id===i&&e.visible)),onClick:()=>{const l=t.current.find((e=>e.id===i));null!=l&&(l.visible=!l.visible),e({torrentContextMenuActions:t.current})}})))})};var Ct=i(2607),Tt=i(2189);const Rt=({torrentListViewSize:e,onSettingsChange:t})=>{const i=(0,d.useRef)(null),[l,n]=(0,d.useState)([...h.A.floodSettings.torrentListColumns.filter((e=>null!=Ct.A[e.id])).slice(),...Object.keys(Ct.A).filter((e=>h.A.floodSettings.torrentListColumns.every((t=>t.id!==e)))).map((e=>({id:e,visible:!1})))]),r=l.reduce(((e,{id:t,visible:i})=>(e[t]=i,e)),{}),a="expanded"===e?["name","eta","downRate","percentComplete","downTotal","upRate"]:[];return(0,g.Y)(pt,{className:"sortable-list--torrent-details",items:l.map((({id:e})=>e)),lockedIDs:a,onMouseDown:()=>{i.current?.dismissTooltip()},onDrop:e=>{const i=e.map((e=>({id:e,visible:r[e]})));t({torrentListColumns:i}),n(i)},renderItem:(d,c)=>{let h=null,u=null;if(a.includes(d)||(h=(0,g.Y)("span",{className:"sortable-list__content sortable-list__content--secondary",children:(0,g.Y)(o.Sc,{defaultChecked:r[d],id:d,onClick:e=>{r[d]=e.target.checked;const i=l.map((t=>({id:t.id,visible:t.id===d?e.target.checked:t.visible})));n(i),t({torrentListColumns:i})},children:(0,g.Y)(s.x6,{id:"settings.ui.torrent.details.enabled"})})})),"tags"===d&&"expanded"===e&&c<l.length-1){const e=(0,g.Y)(s.x6,{id:"settings.ui.torrent.details.tags.placement"});u=(0,g.Y)(Tt.A,{className:"tooltip tooltip--is-error",content:e,offset:-5,ref:i,width:200,wrapperClassName:"sortable-list__content sortable-list__content--secondary tooltip__wrapper",wrapText:!0,children:(0,g.Y)(y.$D,{})})}return(0,g.FD)("div",{className:"sortable-list__content sortable-list__content__wrapper",children:[u,(0,g.Y)("span",{className:"sortable-list__content sortable-list__content--primary",children:(0,g.Y)(s.x6,{id:Ct.A[d]})}),h]})}})},Pt=({onSettingsChange:e})=>{const{i18n:t}=(0,s.uB)(),[i,l]=(0,d.useState)(h.A.floodSettings.torrentListViewSize),[n,r]=(0,d.useState)(h.A.floodSettings.language),[a,c]=(0,d.useState)(h.A.floodSettings.UITagSelectorMode);return(0,g.FD)(o.lV,{onChange:({event:t,formData:n})=>{const s=t.target;if("radio"===s.type&&(l(n["ui-torrent-size"]),c(n["ui-tag-selector-mode"]),e({torrentListViewSize:i,UITagSelectorMode:a})),"language"===s.name){const t=n.language;r(t),e({language:t})}},children:[(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.ui.language"})},"locale-header"),(0,g.Y)(o.fh,{children:(0,g.Y)(o.l6,{defaultID:n,id:"language",children:Object.keys(yt.A).map((e=>(0,g.Y)(o.eb,{id:e,children:"auto"===e?t._(yt.A[e].id):yt.A[e]},e)))})},"locale-selection"),(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.ui.tag.selector.mode"})}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.sx,{defaultChecked:"single"===a,groupID:"ui-tag-selector-mode",id:"single",width:"auto",children:(0,g.Y)(s.x6,{id:"settings.ui.tag.selector.mode.single"})}),(0,g.Y)(o.sx,{defaultChecked:"multi"===a,groupID:"ui-tag-selector-mode",id:"multi",width:"auto",children:(0,g.Y)(s.x6,{id:"settings.ui.tag.selector.mode.multi"})})]}),(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.ui.torrent.list"})}),(0,g.FD)(o.fh,{children:[(0,g.Y)(o.sx,{defaultChecked:"expanded"===i,groupID:"ui-torrent-size",id:"expanded",width:"auto",children:(0,g.Y)(s.x6,{id:"settings.ui.torrent.size.expanded"})}),(0,g.Y)(o.sx,{defaultChecked:"condensed"===i,groupID:"ui-torrent-size",id:"condensed",width:"auto",children:(0,g.Y)(s.x6,{id:"settings.ui.torrent.size.condensed"})})]}),(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.ui.displayed.details"})}),(0,g.Y)(o.fh,{children:(0,g.Y)(Rt,{torrentListViewSize:i,onSettingsChange:e})}),(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.ui.displayed.context.menu.items"})}),(0,g.Y)(o.fh,{children:(0,g.Y)(Ft,{onSettingsChange:e})}),(0,g.Y)(ye,{children:(0,g.Y)(s.x6,{id:"settings.ui.misc"})}),(0,g.Y)(o.fh,{children:(0,g.Y)(St,{onSettingsChange:e})})]})},Mt=(0,r.PA)((()=>{const{i18n:e}=(0,s.uB)(),[t,i]=(0,d.useState)({}),[l,n]=(0,d.useState)({}),[r,a]=(0,d.useState)(!1),o=e=>{i({...t,...e})},h=e=>{n({...l,...e})},u={bandwidth:{content:at,props:{onClientSettingsChange:o,onSettingsChange:h},label:e._("settings.tabs.bandwidth")},connectivity:{content:st,props:{onClientSettingsChange:o},label:e._("settings.tabs.connectivity")},resources:{content:vt,props:{onClientSettingsChange:o},label:e._("settings.tabs.resources")},..."none"!==ee.A.authMethod?{authentication:{content:tt,label:e._("settings.tabs.authentication")}}:{},ui:{content:Pt,label:e._("settings.tabs.userinterface"),props:{onSettingsChange:h}},diskusage:{content:Yt,label:e._("settings.tabs.diskusage"),props:{onSettingsChange:h}},about:{content:Qe,label:e._("settings.tabs.about")}};return(0,g.Y)(de,{actions:[{clickHandler:null,content:e._("button.cancel"),triggerDismiss:!0,type:"tertiary"},{clickHandler:()=>{a(!0),Promise.all([c.A.saveSettings(l,{alert:!0}),dt.A.saveSettings(t,{alert:!0})]).then((()=>{a(!1),m.A.setActiveModal(null)}))},isLoading:r,content:e._("button.save"),triggerDismiss:!1,type:"primary"}],size:"large",heading:e._("settings.tabs.heading"),orientation:ee.A.isSmallScreen?"horizontal":"vertical",tabs:u})})),jt=()=>{const{i18n:e}=(0,s.uB)(),t=(0,d.useRef)(he.A.CancelToken.source()),i=(0,d.useRef)(null),[l,n]=(0,d.useState)(null),[r,a]=(0,d.useState)(null),[c,h]=(0,d.useState)(!0),[u,f]=(0,d.useState)(!1);(0,d.useEffect)((()=>{const{current:e}=t;return"torrent-details"===m.A.activeModal?.id&&_.A.fetchMediainfo(m.A.activeModal?.hash,t.current.token).then((e=>{n(e.output),h(!1)}),(e=>{he.A.isCancel(e)||(a(e.response.data),h(!1))})),()=>{e.cancel()}}),[]);let p="mediainfo.heading";return c?p="mediainfo.fetching":r&&(p="mediainfo.execError"),(0,g.FD)("div",{className:"torrent-details__section mediainfo modal__content--nested-scroll__content",children:[(0,g.FD)("div",{className:"mediainfo__toolbar",children:[(0,g.Y)("div",{className:"mediainfo__toolbar__item",children:(0,g.Y)("span",{className:"torrent-details__table__heading--tertiary",children:(0,g.Y)(s.x6,{id:p})})}),l&&(0,g.Y)(Tt.A,{content:e._(u?"general.clipboard.copied":"general.clipboard.copy"),wrapperClassName:"tooltip__wrapper mediainfo__toolbar__item",children:(0,g.Y)(o.$n,{priority:"tertiary",onClick:()=>{null!=l&&("function"==typeof navigator.clipboard?.writeText?navigator.clipboard.writeText(l).then((()=>{f(!0)})):null!=i.current&&(i.current.value=l,i.current.select(),document.execCommand("copy"),f(!0)))},children:u?(0,g.Y)(y.MG,{}):(0,g.Y)(y.B0,{})})})]}),(0,g.Y)("input",{ref:i,style:{width:"0.1px",height:"1px",position:"absolute",right:0}}),r?(0,g.Y)("pre",{className:"mediainfo__output mediainfo__output--error",children:r.message}):(0,g.Y)("pre",{className:"mediainfo__output",children:l})]})},It=(e,t)=>({...e,...null!=e.directories?{directories:Object.assign({},...Object.keys(e.directories).map((i=>null!=e.directories?{[i]:It(e.directories[i],t)}:{})))}:{},...null!=e.files?{files:Object.assign({},...Object.keys(e.files).map((i=>null!=e.files?{[i]:{...e.files[i],isSelected:t}}:{})))}:{},isSelected:t}),Vt=(e,t,i=0)=>{const{depth:l,path:n,select:r,type:a}=t,s=n[i];if(i===l-1){if("file"===a&&null!=e.files?.[s]){const t={...e.files,[s]:{...e.files[s],isSelected:r}};return{...e,files:t,isSelected:Object.values(t).every((({isSelected:e})=>e))&&(null==e.directories||Object.values(e.directories).every((({isSelected:e})=>e)))}}if("directory"===a&&null!=e.directories){const t={...e.directories,[s]:It(e.directories[s],r)};return{...e,directories:t,isSelected:Object.values(t).every((({isSelected:e})=>e))&&(null==e.files||Object.values(e.files).every((({isSelected:e})=>e)))}}return e}if(null!=e.directories){const l=e.directories;return Object.keys(l).forEach((e=>{e===s&&(l[e]=Vt(l[e],t,i+1))})),{...e,directories:l,isSelected:Object.values(l).every((({isSelected:e})=>e))}}return e},Lt=e=>{const t=[];if(null!=e.files){const{files:i}=e;Object.keys(i).forEach((e=>{const l=i[e];l.isSelected&&t.push(l.index)}))}if(null!=e.directories){const{directories:i}=e;Object.keys(i).forEach((e=>{t.push(...Lt(i[e]))}))}return t},$t={selectAll:It,applySelection:Vt,getSelectedItems:Lt,getSelectionTree:(e,t=!1)=>{const i={isSelected:t};return e.forEach((e=>{const l=e.path.split("/");let n=i;for(;l.length-1;){const e=l.shift();null==n.directories&&(n.directories={}),null==n.directories[e]&&(n.directories[e]={isSelected:t}),n=n.directories[e]}null==n.files&&(n.files={}),n.files[e.filename]={...e,isSelected:t}})),i}};var Et=i(9689),Bt=i(7189);const Ot=({depth:e,items:t,hash:i,path:l,onItemSelect:n})=>{const[r,a]=(0,d.useState)(null),s=(0,d.useRef)({});if(null==t)return null;const c=Object.values(t).sort(((e,t)=>e.filename.localeCompare(t.filename))).map((d=>{const c=t&&t[d.filename]&&t[d.filename].isSelected||!1,h=H()("directory-tree__node file","directory-tree__node--file directory-tree__node--selectable",{"directory-tree__node--selected":c});return(0,g.FD)("div",{className:h,title:d.filename,children:[(0,g.FD)("div",{className:"file__label file__detail",children:[(0,g.FD)("div",{className:"file__checkbox directory-tree__checkbox",children:[(0,g.Y)("div",{className:"directory-tree__checkbox__item directory-tree__checkbox__item--checkbox",children:(0,g.Y)(o.Sc,{checked:c,id:`${d.index}`,onClick:()=>n({type:"file",depth:e,path:[...l,d.filename],select:!c})})}),(0,g.Y)("div",{className:"directory-tree__checkbox__item directory-tree__checkbox__item--icon",children:(0,g.Y)(y.ZH,{})})]}),(0,g.Y)("div",{className:"file__name",children:(0,g.Y)("a",{href:`${ee.A.baseURI}api/torrents/${i}/contents/${d.index}/data`,style:{textDecoration:"none"},target:"_blank",rel:"noreferrer",children:d.filename})})]}),(0,g.Y)("div",{className:"file__detail file__detail--secondary",children:(0,g.Y)(Bt.A,{value:d.sizeBytes,precision:1})}),(0,g.FD)("div",{className:"file__detail file__detail--secondary",children:[Math.trunc(d.percentComplete),"%"]}),(0,g.Y)("div",{className:"file__detail file__detail--secondary file__detail--priority",children:(0,g.Y)(Et.A,{level:d.priority,id:d.index,maxLevel:2,onChange:(e,t)=>_.A.setFilePriority(i,{indices:[Number(e)],priority:t}),priorityType:"file"},`${d.index}-${d.filename}`)}),"function"==typeof navigator.clipboard?.writeText&&(0,g.Y)("button",{className:"file__detail file__detail--secondary file__detail--clipboard",type:"button",onClick:()=>{const e=e=>{""!==e&&("function"==typeof navigator.share?navigator.share({title:d.filename,url:e}).then((()=>a(d.index))):navigator.clipboard.writeText(e).then((()=>a(d.index))))},t=s.current[d.index];null!=t?e(t):(s.current[d.index]="",_.A.getTorrentContentsDataPermalink(i,[d.index]).then((t=>{s.current[d.index]=t,e(t)}),(()=>{s.current[d.index]=null})))},children:r===d.index?(0,g.Y)(y.MG,{}):(0,g.Y)(y.B0,{})})]},d.filename)}));return(0,g.Y)("div",{className:"directory-tree__node directory-tree__node--file-list",children:c})};var Ht={name:"r5l0s9",styles:"width:100%;text-align:left;:focus{outline:none;-webkit-tap-highlight-color:transparent;}:focus-visible{outline:dashed;}"};const Ut=({depth:e,directoryName:t,id:i,itemsTree:l,hash:n,path:r,isSelected:a,onItemSelect:s})=>{const[c,h]=(0,d.useState)(!1),u=[...r,t];return(0,g.FD)("div",{className:H()("directory-tree__branch",`directory-tree__branch--depth-${e}`,{"directory-tree__node--selected":a}),children:[(0,g.Y)("button",{className:H()("directory-tree__node","directory-tree__node--selectable directory-tree__node--directory",{"is-expanded":c}),css:Ht,type:"button",onClick:()=>h(!c),title:t,children:(0,g.FD)("div",{className:"file__label",children:[(0,g.FD)("div",{className:"file__checkbox directory-tree__checkbox",children:[(0,g.Y)("div",{className:"directory-tree__checkbox__item directory-tree__checkbox__item--checkbox",children:(0,g.Y)(o.Sc,{checked:a,id:i,onClick:()=>s({type:"directory",depth:e,path:u,select:!a})})}),(0,g.Y)("div",{className:"directory-tree__checkbox__item directory-tree__checkbox__item--icon",children:c?(0,g.Y)(y.gx,{}):(0,g.Y)(y.Ah,{})})]}),(0,g.Y)("div",{className:"file__name",children:t})]})}),c?(0,g.Y)("div",{className:"directory-tree__node directory-tree__node--group",children:(0,g.Y)(zt,{depth:e,hash:n,onItemSelect:s,path:u,itemsTree:l},`${c}-${e}`)}):null]})},zt=e=>{const{depth:t=0,itemsTree:i,hash:l,path:n,onItemSelect:r}=e,{files:a,directories:s}=i,d=t+1,o=null!=s?Object.keys(s).sort(((e,t)=>e.localeCompare(t))).map(((e,t)=>{const a=i.directories&&i.directories[e],s=`${t}${d}${e}`,o=a&&a.isSelected||!1;return null==a?null:(0,g.Y)(Ut,{depth:d,directoryName:e,hash:l,id:s,isSelected:o,itemsTree:a,onItemSelect:r,path:n},s)})):[],c=null!=a&&Object.keys(a).length>0?(0,g.Y)(Ot,{depth:d,hash:l,onItemSelect:r,path:n,items:i.files},`files-${d}`):null;return(0,g.Y)("div",{className:"directory-tree__tree",children:o.concat(c)})},qt=(0,r.PA)((()=>{const[e,t]=(0,d.useState)([]),[i,l]=(0,d.useState)({}),[n,r]=(0,d.useState)([]),{i18n:a}=(0,s.uB)();if((0,d.useEffect)((()=>{"torrent-details"===m.A.activeModal?.id&&_.A.fetchTorrentContents(m.A.activeModal?.hash).then((e=>{null!=e&&(t(e),l($t.getSelectionTree(e)))}))}),[]),"torrent-details"!==m.A.activeModal?.id)return null;const{hash:c}=m.A?.activeModal;let h=null,u=null,f=!1;e?.length>0?(f=n.length>=e.length,h=(0,g.FD)("div",{className:"file__checkbox directory-tree__checkbox",children:[(0,g.Y)("div",{className:"directory-tree__checkbox__item directory-tree__checkbox__item--checkbox",children:(0,g.Y)(o.fh,{children:(0,g.Y)(o.Sc,{checked:f,id:"select-all",onClick:()=>{const t=$t.getSelectionTree(e,n.length<e.length);l(t),r($t.getSelectedItems(t))}})})}),(0,g.Y)("div",{className:"directory-tree__checkbox__item directory-tree__checkbox__item--icon",children:(0,g.Y)(y.my,{})})]}),u=(0,g.Y)(zt,{depth:0,onItemSelect:e=>{const t=$t.applySelection(i,e);l(t),r($t.getSelectedItems(t))},hash:c,path:[],itemsTree:i})):(h=(0,g.Y)(y.my,{}),u=(0,g.Y)("div",{className:"directory-tree__node directory-tree__node--file",children:(0,g.Y)(s.x6,{id:"torrents.details.files.loading"})}));const p=H()("directory-tree__node","directory-tree__parent-directory torrent-details__section__heading",{"directory-tree__node--selected":f}),b=(0,g.Y)("div",{className:p,children:(0,g.FD)("div",{className:"file__label",children:[h,(0,g.Y)("div",{className:"file__name",children:Ve.A.torrents?.[c].directory})]})}),Y=H()("inverse directory-tree__wrapper",{"directory-tree__wrapper--toolbar-visible":n.length>0});return(0,g.FD)(o.lV,{className:Y,onChange:({event:e})=>{if(null!=e.target&&"file-priority"===e.target.name){const t=e.target;t.value&&_.A.setFilePriority(c,{indices:n,priority:Number(t.value)})}},children:[(0,g.Y)("div",{className:"directory-tree__selection-toolbar",children:(0,g.FD)(o.fh,{align:"center",children:[(0,g.Y)(o.ci,{width:"one-quarter",grow:!1,shrink:!1,children:(0,g.Y)(s.x6,{id:"torrents.details.selected.files",values:{count:n.length,countElement:(0,g.Y)("span",{className:"directory-tree__selection-toolbar__item-count",children:n.length})}})}),(0,g.Y)(o.$n,{onClick:e=>{e.preventDefault();const{baseURI:t}=ee.A,i=document.createElement("a");i.download="",i.href=`${t}api/torrents/${c}/contents/${n.join(",")}/data`,i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)},grow:!1,shrink:!1,children:(0,g.Y)(s.x6,{id:"torrents.details.files.download.file",values:{count:n.length}})}),(0,g.FD)(o.l6,{id:"file-priority",persistentPlaceholder:!0,shrink:!1,defaultID:"",children:[(0,g.Y)(o.eb,{id:-1,isPlaceholder:!0,children:(0,g.Y)(s.x6,{id:"torrents.details.selected.files.set.priority"})}),(0,g.Y)(o.eb,{id:0,children:a._("priority.dont.download")}),(0,g.Y)(o.eb,{id:1,children:a._("priority.normal")}),(0,g.Y)(o.eb,{id:2,children:a._("priority.high")})]})]})}),(0,g.FD)("div",{className:"directory-tree torrent-details__section torrent-details__section--file-tree modal__content--nested-scroll__content",children:[b,u]})]})})),Wt=qt;const Gt=({text:e,className:t})=>{const i=e.split(/([ \n])/).map(((e,t)=>"\n"===e?(0,g.Y)("br",{},t):function(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}(e)?(0,g.Y)("a",{href:e.trimEnd(),target:"_blank",rel:"noopener noreferrer",children:e},t):e));return(0,g.Y)("span",{className:t,children:i})};Gt.defaultProps={className:void 0};const Zt=Gt,Qt=(0,r.PA)((()=>{const{i18n:e}=(0,s.uB)();if("torrent-details"!==m.A.activeModal?.id)return null;const t=Ve.A.torrents[m.A.activeModal.hash];if(null==t)return null;const i=(0,g.Y)("span",{className:"not-available",children:(0,g.Y)(s.x6,{id:"torrents.details.general.none"})});return(0,g.Y)("div",{className:"torrent-details__section torrent-details__section--general",children:(0,g.Y)("table",{className:"torrent-details__table table",children:(0,g.FD)("tbody",{children:[(0,g.Y)("tr",{className:"torrent-details__table__heading",children:(0,g.Y)("td",{className:"torrent-details__table__heading--tertiary",colSpan:2,children:(0,g.Y)(s.x6,{id:"torrents.details.general.heading.general"})})}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--dateAdded",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.date.added"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:t.dateAdded>0?e.date(new Date(1e3*t.dateAdded),{year:"numeric",month:"long",day:"2-digit",hour:"numeric",minute:"numeric"}):i})]}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--location",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.location"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:t.directory})]}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--tags",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.tags"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:t.tags.length?(l=t.tags,l.map((e=>(0,g.Y)("span",{className:"tag",children:e},e)))):i})]}),(0,g.Y)("tr",{className:"torrent-details__table__heading",children:(0,g.Y)("td",{className:"torrent-details__table__heading--tertiary",colSpan:2,children:(0,g.Y)(s.x6,{id:"torrents.details.general.heading.transfer"})})}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--dateFinished",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.date.finished"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:t.dateFinished>0?e.date(new Date(1e3*t.dateFinished),{year:"numeric",month:"long",day:"2-digit",hour:"numeric",minute:"numeric"}):i})]}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--downloaded",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.downloaded"})}),(0,g.FD)("td",{className:"torrent-details__detail__value",children:[e.number(t.percentComplete),(0,g.Y)("em",{className:"unit",children:"%"})]})]}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--peers",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.peers"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:(0,g.Y)(s.x6,{id:"torrents.details.general.connected",values:{connectedCount:t.peersConnected,connected:e.number(t.peersConnected),total:e.number(t.peersTotal)}})})]}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--seeds",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.seeds"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:(0,g.Y)(s.x6,{id:"torrents.details.general.connected",values:{connectedCount:t.seedsConnected,connected:e.number(t.seedsConnected),total:e.number(t.seedsTotal)}})})]}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--dateActive",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.date.active"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:0===t.dateActive?i:-1===t.dateActive?e._("torrents.details.general.date.active.now"):e.date(new Date(1e3*t.dateActive),{year:"numeric",month:"long",day:"2-digit",hour:"numeric",minute:"numeric"})})]}),(0,g.Y)("tr",{className:"torrent-details__table__heading",children:(0,g.Y)("td",{className:"torrent-details__table__heading--tertiary",colSpan:2,children:(0,g.Y)(s.x6,{id:"torrents.details.general.heading.torrent"})})}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--created",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.date.created"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:t.dateCreated>0?e.date(new Date(1e3*t.dateCreated),{year:"numeric",month:"long",day:"2-digit",hour:"numeric",minute:"numeric"}):i})]}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--hash",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.hash"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:t.hash})]}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--size",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.size"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:(0,g.Y)(Bt.A,{value:t.sizeBytes})})]}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--type",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.type"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:t.isPrivate?e._("torrents.details.general.type.private"):e._("torrents.details.general.type.public")})]}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--comment",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.comment"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:t.comment?(0,g.Y)(Zt,{text:t.comment.trim()}):i})]}),(0,g.Y)("tr",{className:"torrent-details__table__heading",children:(0,g.Y)("td",{className:"torrent-details__table__heading--tertiary",colSpan:2,children:(0,g.Y)(s.x6,{id:"torrents.details.general.heading.tracker"})})}),(0,g.FD)("tr",{className:"torrent-details__detail torrent-details__detail--tracker-message",children:[(0,g.Y)("td",{className:"torrent-details__detail__label",children:(0,g.Y)(s.x6,{id:"torrents.details.general.tracker.message"})}),(0,g.Y)("td",{className:"torrent-details__detail__value",children:t.message?t.message:i})]})]})})});var l}));var Jt=i(2471),Kt=i(3230),Xt=i(1915);const ei=(0,r.PA)((()=>{const{i18n:e}=(0,s.uB)(),t="torrent-details"===m.A.activeModal?.id?Ve.A.torrents[m.A.activeModal.hash]:void 0,[i,l]=(0,d.useState)("stop");if((0,d.useEffect)((()=>{t?.status.includes("stopped")?l("stop"):l("start")}),[t?.status]),null==t)return null;const n=(0,Jt.$)({status:t.status,upRate:t.upRate,downRate:t.downRate},"torrent-details__header");return(0,g.FD)("div",{className:n,children:[(0,g.Y)("h1",{className:"torrent-details__heading torrent-details--name",children:t.name}),(0,g.FD)("div",{className:"torrent-details__sub-heading",children:[(0,g.FD)("ul",{className:"torrent-details__sub-heading__secondary",children:[(0,g.FD)("li",{className:"torrent-details__sub-heading__tertiary torrent-details__sub-heading__tertiary--download",children:[(0,g.Y)(y.Cx,{}),(0,g.Y)(Bt.A,{value:t.downRate,isSpeed:!0})," — ",(0,g.Y)(Bt.A,{value:t.bytesDone})]}),(0,g.FD)("li",{className:"torrent-details__sub-heading__tertiary torrent-details__sub-heading__tertiary--upload",children:[(0,g.Y)(y.NM,{}),(0,g.Y)(Bt.A,{value:t.upRate,isSpeed:!0})," — ",(0,g.Y)(Bt.A,{value:t.upTotal})]}),(0,g.FD)("li",{className:"torrent-details__sub-heading__tertiary",children:[(0,g.Y)(y.wj,{}),e.number(t.ratio)]}),(0,g.FD)("li",{className:"torrent-details__sub-heading__tertiary",children:[(0,g.Y)(y.zD,{}),(0,g.Y)(Kt.A,{value:t.eta})]})]}),(0,g.FD)("ul",{className:"torrent-details__sub-heading__secondary",children:[(0,g.Y)("li",{className:"torrent-details__sub-heading__tertiary",children:(0,g.Y)(Et.A,{id:t.hash,level:t.priority,maxLevel:3,priorityType:"torrent",onChange:(e,t)=>{_.A.setPriority({hashes:[`${e}`],priority:t})}})},"priority-meter"),(0,g.Y)("li",{className:"torrent-details__sub-heading__tertiary",children:(0,g.FD)("button",{className:H()("torrent-details__action",{"is-active":"start"===i}),type:"button",onClick:()=>{l("start"),_.A.startTorrents({hashes:[t.hash]})},children:[(0,g.Y)(y.fe,{}),(0,g.Y)(s.x6,{id:"torrents.details.actions.start"})]})},"start"),(0,g.Y)("li",{className:"torrent-details__sub-heading__tertiary",children:(0,g.FD)("button",{className:H()("torrent-details__action",{"is-active":"stop"===i}),type:"button",onClick:()=>{l("stop"),_.A.stopTorrents({hashes:[t.hash]})},children:[(0,g.Y)(y.VG,{}),(0,g.Y)(s.x6,{id:"torrents.details.actions.stop"})]})},"stop")]})]}),(0,g.Y)(Xt.A,{percent:(0,ue.EW)((()=>Math.ceil(t.percentComplete))).get(),status:(0,ue.EW)((()=>(0,Jt.s)(t.status))).get()})]})}));var ti=i(940),ii=i(6541);var li={name:"17lw7on",styles:"td{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}"};const ni=()=>{const[e,t]=(0,d.useState)([]),[i,l]=(0,d.useState)(null),n=()=>{l(null),"torrent-details"===m.A.activeModal?.id&&_.A.fetchTorrentPeers(m.A.activeModal?.hash).then((e=>{null!=e&&t(e)})),l(ee.A.pollInterval)};return(0,d.useEffect)((()=>n()),[]),(0,ti.A)((()=>n()),i),(0,g.Y)("div",{className:"torrent-details__section torrent-details__section--peers",children:(0,g.FD)("table",{className:"torrent-details__table table",css:li,children:[(0,g.Y)("thead",{className:"torrent-details__table__heading",children:(0,g.FD)("tr",{children:[(0,g.FD)("th",{className:"torrent-details__table__heading--primary",children:[(0,g.Y)(s.x6,{id:"torrents.details.peers"}),(0,g.Y)(ii.A,{children:e.length})]}),(0,g.Y)("th",{className:"torrent-details__table__heading--secondary",children:"DL"}),(0,g.Y)("th",{className:"torrent-details__table__heading--secondary",children:"UL"}),(0,g.Y)("th",{className:"torrent-details__table__heading--secondary",children:"%"}),(0,g.Y)("th",{className:"torrent-details__table__heading--secondary",children:"Client"}),(0,g.Y)("th",{className:"torrent-details__table__heading--secondary",children:"Enc"}),(0,g.Y)("th",{className:"torrent-details__table__heading--secondary",children:"In"})]})}),(0,g.Y)("tbody",{children:e.map((e=>{const{country:t}=e,i=e.isEncrypted?(0,g.Y)(y.LM,{}):null,l=e.isIncoming?(0,g.Y)(y.H4,{}):null;return(0,g.FD)("tr",{children:[(0,g.FD)("td",{children:[(0,g.FD)("span",{className:"peers-list__flag",children:[(0,g.Y)(d.Suspense,{fallback:(0,g.Y)(y.y$,{}),children:(0,g.Y)(y.J9,{countryCode:t})}),(0,g.Y)("span",{className:"peers-list__flag__text",children:t})]}),e.address]}),(0,g.Y)("td",{children:(0,g.Y)(Bt.A,{value:e.downloadRate,isSpeed:!0})}),(0,g.Y)("td",{children:(0,g.Y)(Bt.A,{value:e.uploadRate,isSpeed:!0})}),(0,g.Y)("td",{children:`${Math.ceil(e.completedPercent)}%`}),(0,g.Y)("td",{children:e.clientVersion}),(0,g.Y)("td",{className:"peers-list__encryption",children:i}),(0,g.Y)("td",{className:"peers-list__incoming",children:l})]},e.address)}))})]})})},ri=()=>{const[e,t]=(0,d.useState)([]),i=e.length,l=["http","udp","dht"],n=e.map((e=>(0,g.FD)("tr",{children:[(0,g.Y)("td",{className:"torrent-details__trackers--url",children:e.url}),(0,g.Y)("td",{children:l[e.type-1]})]},e.url)));return(0,d.useEffect)((()=>{"torrent-details"===m.A.activeModal?.id&&_.A.fetchTorrentTrackers(m.A.activeModal?.hash).then((e=>{null!=e&&t(e)}))}),[]),(0,g.Y)("div",{className:"torrent-details__trackers torrent-details__section",children:(0,g.FD)("table",{className:"torrent-details__table table",children:[(0,g.Y)("thead",{className:"torrent-details__table__heading",children:(0,g.FD)("tr",{children:[(0,g.FD)("th",{className:"torrent-details__table__heading--primary",children:[(0,g.Y)(s.x6,{id:"torrents.details.trackers"}),(0,g.Y)(ii.A,{children:i})]}),(0,g.Y)("th",{className:"torrent-details__table__heading--secondary",children:(0,g.Y)(s.x6,{id:"torrents.details.trackers.type"})})]})}),(0,g.Y)("tbody",{children:n})]})})},ai=(0,r.PA)((()=>{const{i18n:e}=(0,s.uB)(),{isSmallScreen:t}=ee.A,i={"torrent-details":{content:Qt,label:e._("torrents.details.details")},"torrent-contents":{content:Wt,label:e._("torrents.details.files"),modalContentClasses:"modal__content--nested-scroll"},"torrent-peers":{content:ni,label:e._("torrents.details.peers")},"torrent-trackers":{content:ri,label:e._("torrents.details.trackers")},"torrent-mediainfo":{content:jt,label:e._("torrents.details.mediainfo"),modalContentClasses:"modal__content--nested-scroll"}};return(0,g.Y)(de,{heading:(0,g.Y)(ei,{},"torrent-heading"),size:"large",tabs:i,orientation:t?"horizontal":"vertical",tabsInBody:!t})})),si=e=>{switch(e){case"add-torrents":return(0,g.Y)(oe,{});case"confirm":return(0,g.Y)(ce,{});case"feeds":return(0,g.Y)(Ie,{});case"generate-magnet":return(0,g.Y)(Ee,{});case"move-torrents":return(0,g.Y)(Oe,{});case"remove-torrents":return(0,g.Y)(He,{});case"set-taxonomy":return(0,g.Y)(Ue,{});case"set-trackers":return(0,g.Y)(ze,{});case"settings":return(0,g.Y)(Mt,{});case"torrent-details":return(0,g.Y)(ai,{});default:return null}},di=(0,r.PA)((()=>{const{id:e}=m.A.activeModal||{};let t;return(0,a.A)("Escape",(()=>m.A.setActiveModal(null))),null!=e&&(t=(0,g.Y)(l.A,{classNames:"modal__animation",timeout:{enter:500,exit:500},children:(0,g.FD)("div",{className:"modal",children:[(0,g.Y)("div",{className:"modal__overlay",role:"none",onClick:()=>{m.A.setActiveModal(null)}}),si(e)]})},e)),(0,g.Y)(n.A,{children:t})}))}}]);
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_jesec_flood=globalThis.webpackChunk_jesec_flood||[]).push([[662],{3537:(e,t,n)=>{n.d(t,{A:()=>h});var r=n(1083),a=n(5419),s=n.n(a),i=n(7550),l=n(9550),o=n(4930);const{baseURI:c}=l.A,d=e=>{i.A.add({id:"alert.torrent.add.sent",count:e})},u=e=>{i.A.add({id:"alert.torrent.add",type:"success",count:e})},p=e=>{i.A.add({id:"alert.torrent.add.failed",type:"error",count:e})},h={addTorrentsByUrls:e=>r.A.post(`${c}api/torrents/add-urls`,e).then((({data:t})=>{t.length?u(t.length):d(e.urls.length)}),(()=>{p(e.urls.length)})),addTorrentsByFiles:e=>r.A.post(`${c}api/torrents/add-files`,e).then((({data:t})=>{t.length?u(t.length):d(e.files.length)}),(()=>{p(e.files.length)})),createTorrent:e=>r.A.post(`${c}api/torrents/create`,e,{responseType:"blob"}).then((({data:t})=>{s()(t,(e.name||`${Date.now()}`).concat(".torrent")),u(1)}),(()=>{p(1)})),deleteTorrents:e=>r.A.post(`${c}api/torrents/delete`,e).then((()=>i.A.add({id:"alert.torrent.remove",type:"success",count:e.hashes.length})),(()=>i.A.add({id:"alert.torrent.remove.failed",type:"error",count:e.hashes.length}))),checkHash:e=>r.A.post(`${c}api/torrents/check-hash`,e).then((()=>{}),(()=>{})),fetchMediainfo:(e,t)=>r.A.get(`${c}api/torrents/${e}/mediainfo`,{cancelToken:t}).then((e=>e.data)),fetchTorrentContents:e=>r.A.get(`${c}api/torrents/${e}/contents`).then((e=>e.data),(()=>null)),fetchTorrentPeers:e=>r.A.get(`${c}api/torrents/${e}/peers`).then((e=>e.data),(()=>null)),fetchTorrentTrackers:e=>r.A.get(`${c}api/torrents/${e}/trackers`).then((e=>e.data),(()=>null)),getTorrentContentsDataPermalink:(e,t)=>r.A.get(`${l.A.baseURI}api/torrents/${e}/contents/${t.join(",")}/token`).then((n=>`${window.location.protocol}//${window.location.host}${l.A.baseURI}api/torrents/${e}/contents/${t.join(",")}/data?token=${n.data}`)),moveTorrents:e=>r.A.post(`${c}api/torrents/move`,e).then((()=>i.A.add({id:"alert.torrent.move",type:"success",count:e.hashes.length})),(()=>i.A.add({id:"alert.torrent.move.failed",type:"error",count:e.hashes.length}))),reannounce:e=>r.A.post(`${c}api/torrents/reannounce`,e).then((()=>{}),(()=>{})),startTorrents:async e=>{if(e.hashes.length>0)return r.A.post(`${c}api/torrents/start`,e).then((()=>{}),(()=>{}))},stopTorrents:async e=>{if(e.hashes.length>0)return r.A.post(`${c}api/torrents/stop`,e).then((()=>{}),(()=>{}))},setInitialSeeding:e=>r.A.patch(`${c}api/torrents/initial-seeding`,e).then((()=>{}),(()=>{})),setPriority:e=>r.A.patch(`${c}api/torrents/priority`,e).then((()=>{}),(()=>{})),setSequential:e=>r.A.patch(`${c}api/torrents/sequential`,e).then((()=>{}),(()=>{})),setFilePriority:(e,t)=>r.A.patch(`${c}api/torrents/${e}/contents`,t).then((()=>{}),(()=>{})),setTags:e=>r.A.patch(`${c}api/torrents/tags`,e).then((()=>o.A.handleSetTaxonomySuccess()),(()=>{})),setTrackers:e=>r.A.patch(`${c}api/torrents/trackers`,e).then((()=>{}),(()=>{}))}},7820:(e,t,n)=>{n.d(t,{A:()=>u});var r=n(6540),a=n(8579),s=n(7767),i=n(6565),l=n(5767),o=n(9119),c=n(8045),d=n(6066);const u=({mode:e})=>{const{i18n:t}=(0,a.uB)(),n=(0,r.useRef)(null),u=(0,r.useRef)(null),[p,h]=(0,r.useState)(void 0),[m,_]=(0,r.useState)(!1),g=(0,s.Zp)(),b="login"===e;return(0,d.Y)("div",{className:"application__entry-barrier",children:(0,d.Y)(i.Zk,{spacing:"large",children:(0,d.FD)(i.lV,{onSubmit:e=>{e.event.preventDefault(),_(!0);const t=e.formData;if(null==t.username||""===t.username)return _(!1),void h({id:"auth.error.username.empty"});if(null==t.password||""===t.password)return _(!1),void h({id:"auth.error.password.empty"});if(b){const e=t;l.A.authenticate({username:e.username,password:e.password}).then((()=>{_(!1),g("/overview",{replace:!0})})).catch((e=>{_(!1),h(e.message),g("/login",{replace:!0})}))}else{const e=t;if(null==u.current)return _(!1),void h({id:"connection.settings.error.empty"});const n=u.current;if(null==n)return _(!1),void h({id:"connection.settings.error.empty"});l.A.register({username:e.username,password:e.password,client:n,level:o.h.ADMINISTRATOR}).then((()=>{_(!1),g("/overview",{replace:!0})}),(e=>{_(!1),h(e.message)}))}},ref:n,children:[(0,d.Y)(i.aO,{children:(0,d.Y)("h1",{children:b?t._("auth.login"):t._("auth.create.an.account")})}),(0,d.FD)(i.wq,{children:[(0,d.Y)("p",{className:"copy--lead",children:b?t._("auth.login.intro"):t._("auth.create.an.account.intro")}),null!=p?(0,d.Y)(i.fh,{children:(0,d.Y)(i.jQ,{isLoading:m,children:"string"==typeof p?p:t._(p)})}):null,(0,d.Y)(i.fh,{children:(0,d.Y)(i.Rj,{placeholder:t._("auth.username"),id:"username",autoComplete:"username"})}),(0,d.Y)(i.fh,{children:(0,d.Y)(i.Rj,{placeholder:t._("auth.password"),id:"password",type:"password",autoComplete:b?"current-password":"new-password"})})]}),b?null:(0,d.Y)(i.wq,{hasBorder:!0,children:(0,d.Y)(c.A,{onSettingsChange:e=>{u.current=e}})}),(0,d.Y)(i.WH,{hasBorder:!0,children:(0,d.FD)(i.fh,{justify:"end",children:[(0,d.Y)(i.$n,{priority:"tertiary",onClick:()=>{null!=n.current&&n.current.resetForm()},children:t._("auth.input.clear")}),(0,d.Y)(i.$n,{isLoading:m,type:"submit",children:b?t._("auth.log.in"):t._("auth.create.account")})]})})]})})})}},6541:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(6066);const a=({children:e})=>(0,r.Y)("div",{className:"badge",children:e})},3230:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(8579),a=n(6066);const s=e=>{const{suffix:t,value:n}=e;if(null==n)return null;let s=null,i=null;t&&(i=(0,a.Y)("span",{className:"duration--segment",children:t}));const l=-1===n?-1:(e=>{const t=Math.floor(e/31536e3),n=Math.floor(e%31536e3/604800),r=Math.floor(e%31536e3%604800/86400),a=Math.floor(e%31536e3%604800%86400/3600),s=Math.floor(e%31536e3%604800%86400%3600/60),i=Math.floor(e-60*s);let l=null;return l=t>0?{years:t,weeks:n,cumSeconds:e}:n>0?{weeks:n,days:r,cumSeconds:e}:r>0?{days:r,hours:a,cumSeconds:e}:a>0?{hours:a,minutes:s,cumSeconds:e}:s>0?{minutes:s,seconds:i,cumSeconds:e}:{seconds:i,cumSeconds:e},l})(n);return s=-1===l?(0,a.Y)(r.x6,{id:"unit.time.infinity"}):null!=l.years&&l.years>0?[(0,a.FD)("span",{className:"duration--segment",children:[l.years,(0,a.Y)("em",{className:"unit",children:(0,a.Y)(r.x6,{id:"unit.time.year"})})]},"years"),(0,a.FD)("span",{className:"duration--segment",children:[l.weeks,(0,a.Y)("em",{className:"unit",children:(0,a.Y)(r.x6,{id:"unit.time.week"})})]},"weeks")]:null!=l.weeks&&l.weeks>0?[(0,a.FD)("span",{className:"duration--segment",children:[l.weeks,(0,a.Y)("em",{className:"unit",children:(0,a.Y)(r.x6,{id:"unit.time.week"})})]},"weeks"),(0,a.FD)("span",{className:"duration--segment",children:[l.days,(0,a.Y)("em",{className:"unit",children:(0,a.Y)(r.x6,{id:"unit.time.day"})})]},"days")]:null!=l.days&&l.days>0?[(0,a.FD)("span",{className:"duration--segment",children:[l.days,(0,a.Y)("em",{className:"unit",children:(0,a.Y)(r.x6,{id:"unit.time.day"})})]},"days"),(0,a.FD)("span",{className:"duration--segment",children:[l.hours,(0,a.Y)("em",{className:"unit",children:(0,a.Y)(r.x6,{id:"unit.time.hour"})})]},"hours")]:null!=l.hours&&l.hours>0?[(0,a.FD)("span",{className:"duration--segment",children:[l.hours,(0,a.Y)("em",{className:"unit",children:(0,a.Y)(r.x6,{id:"unit.time.hour"})})]},"hours"),(0,a.FD)("span",{className:"duration--segment",children:[l.minutes,(0,a.Y)("em",{className:"unit",children:(0,a.Y)(r.x6,{id:"unit.time.minute"})})]},"minutes")]:null!=l.minutes&&l.minutes>0?[(0,a.FD)("span",{className:"duration--segment",children:[l.minutes,(0,a.Y)("em",{className:"unit",children:(0,a.Y)(r.x6,{id:"unit.time.minute"})})]},"minutes"),(0,a.FD)("span",{className:"duration--segment",children:[l.seconds,(0,a.Y)("em",{className:"unit",children:(0,a.Y)(r.x6,{id:"unit.time.second"})})]},"seconds")]:(0,a.FD)("span",{className:"duration--segment",children:[l.seconds,(0,a.Y)("em",{className:"unit",children:(0,a.Y)(r.x6,{id:"unit.time.second"})})]}),(0,a.FD)("span",{className:"duration",children:[s,i]})};s.defaultProps={suffix:void 0};const i=s},9689:(e,t,n)=>{n.d(t,{A:()=>c});var r=n(6540),a=n(8579);const s={file:{0:"DONT_DOWNLOAD",1:"NORMAL",2:"HIGH"},torrent:{0:"DONT_DOWNLOAD",1:"LOW",2:"NORMAL",3:"HIGH"}};var i=n(6066);var l={name:"1gxvag8",styles:":focus{outline:none;-webkit-tap-highlight-color:transparent;}:focus-visible{outline:dashed;}"};const o=({id:e,level:t,maxLevel:n,priorityType:o,showLabel:c,clickHandled:d,changePriorityFuncRef:u,onChange:p})=>{const{i18n:h}=(0,a.uB)(),[m,_]=(0,r.useState)(t),g=()=>{let t=m;return t>=n?t=0:t+=1,_(t),p(e,t),t};let b;if(null!=u&&(u.current=g),c){let e;switch(s[o][m]){case"DONT_DOWNLOAD":e=h._("priority.dont.download");break;case"HIGH":e=h._("priority.high");break;case"LOW":e=h._("priority.low");break;default:e=h._("priority.normal")}b=(0,i.Y)("span",{className:"priority-meter__label",children:e})}const f=(0,i.Y)("div",{className:`priority-meter priority-meter--max-${n} priority-meter--level-${m}`}),v=l;return d?(0,i.FD)("div",{className:"priority-meter__wrapper",css:v,children:[f,b]}):(0,i.FD)("button",{className:"priority-meter__wrapper",css:v,type:"button",onClick:()=>{g()},children:[f,b]})};o.defaultProps={showLabel:!1,clickHandled:!1,changePriorityFuncRef:void 0};const c=o},1915:(e,t,n)=>{n.d(t,{A:()=>c});var r=n(4015),a=n(6540),s=n(942),i=n(6066);const l=(0,a.memo)((({status:e})=>{switch(e){case"error":return(0,i.Y)(s.$D,{});case"checking":return(0,i.Y)(s.y$,{});case"downloading":case"seeding":return(0,i.Y)(s.fe,{});default:return(0,i.Y)(s.VG,{})}})),o=(0,r.PA)((({percent:e,status:t})=>(0,i.FD)("div",{className:"progress-bar",children:[(0,i.Y)("div",{className:"progress-bar__icon",children:t&&(0,i.Y)(l,{status:t})}),(0,i.Y)("div",{className:"progress-bar__fill__wrapper",children:(0,i.Y)("div",{className:"progress-bar__fill",style:{width:`${e}%`}})})]})));o.defaultProps={status:void 0};const c=o},7189:(e,t,n)=>{n.d(t,{A:()=>l});var r=n(8579),a=n(7458),s=n(6066);const i=({value:e,isSpeed:t,className:n,precision:i})=>{const l=(0,a.O)(e,i),{i18n:o}=(0,r.uB)();let c=o._((0,a.b)(l.unit));return t&&(c=o._("unit.speed",{baseUnit:c})),(0,s.FD)("span",{className:n,children:[Number.isNaN(l.value)?"—":o.number(l.value),(0,s.Y)("em",{className:"unit",children:c})]})};i.defaultProps={isSpeed:!1,precision:2,className:void 0};const l=i},6975:(e,t,n)=>{n.d(t,{A:()=>l});var r=n(6942),a=n.n(r),s=n(6066);const i=e=>{const{children:t,modifier:n}=e,r=a()("application__view",{[`application__view--${n}`]:null!=n});return(0,s.Y)("div",{className:r,children:t})};i.defaultProps={modifier:void 0};const l=i},1693:(e,t,n)=>{n.d(t,{A:()=>r});const r={start:"torrents.list.context.start",stop:"torrents.list.context.stop",remove:"torrents.list.context.remove",checkHash:"torrents.list.context.check.hash",reannounce:"torrents.list.context.reannounce",setTaxonomy:"torrents.list.context.set.tags",move:"torrents.list.context.move",setTrackers:"torrents.list.context.set.trackers",torrentDetails:"torrents.list.context.details",downloadContents:"torrents.list.context.download.contents",downloadMetainfo:"torrents.list.context.download.metainfo",generateMagnet:"torrents.list.context.generate.magnet",setInitialSeeding:"torrents.list.context.initial.seeding",setSequential:"torrents.list.context.sequential",setPriority:"torrents.list.context.priority"}},2607:(e,t,n)=>{n.d(t,{A:()=>r});const r={dateAdded:"torrents.properties.date.added",dateFinished:"torrents.properties.date.finished",downRate:"torrents.properties.download.speed",downTotal:"torrents.properties.download.total",eta:"torrents.properties.eta",name:"torrents.properties.name",peers:"torrents.properties.peers",percentComplete:"torrents.properties.percentage",ratio:"torrents.properties.ratio",seeds:"torrents.properties.seeds",sizeBytes:"torrents.properties.size",tags:"torrents.properties.tags",upRate:"torrents.properties.upload.speed",upTotal:"torrents.properties.upload.total",dateCreated:"torrents.properties.date.created",directory:"torrents.properties.directory",hash:"torrents.properties.hash",isPrivate:"torrents.properties.is.private",message:"torrents.properties.tracker.message",trackerURIs:"torrents.properties.trackers"}},2428:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i});var r=n(6975),a=n(7820),s=n(6066);const i=()=>(0,s.Y)(r.A,{modifier:"auth-form",children:(0,s.Y)(a.A,{mode:"login"})})},9472:(e,t,n)=>{n.r(t),n.d(t,{default:()=>$t});var r=n(6540),a=n(6942),s=n.n(a),i=n(4015),l=n(8579),o=n(942),c=n(9075),d=n(2412),u=n(3537),p=n(484),h=n(4930),m=n(2189),_=n(6066);const g=e=>{const{clickHandler:t,icon:n,label:r,slug:a,noTip:i}=e,l=s()("action tooltip__wrapper",{[`action--${a}`]:null!=a});return(0,_.FD)(m.A,{content:r,onClick:t,position:"bottom",wrapperClassName:l,suppress:i,children:[n,(0,_.Y)("span",{className:"action__label",children:r})]})};g.defaultProps={noTip:!1};const b=g,f={dateAdded:"desc",dateFinished:"desc",downRate:"desc",downTotal:"desc",upRate:"desc",upTotal:"desc"};var v=n(6488),A=n(2618),Y=n(7200),y=n.n(Y),w=n(9679);var N={name:"140xmhl",styles:"width:100%;height:100%;text-align:left;:focus-visible{outline:dashed;}"};const k=({className:e,label:t,isFocusHandled:n,onClick:r})=>n?(0,_.Y)("div",{role:"none",className:e,onClick:r,children:t}):(0,_.Y)("button",{type:"button",className:e,css:N,onClick:r,children:t});k.defaultProps={className:void 0};const C=(0,i.PA)((({baseClassName:e,dropdownWrapperClass:t,dropdownButtonClass:n,dropdownClickRef:a,direction:i,header:l,matchButtonWidth:o,menuItems:c,noWrap:d,trigger:u,width:p,isFocusHandled:m,handleItemSelect:g,onOpen:b})=>{const f=(0,r.useRef)(y()("dropdown_")),Y=h.A.activeDropdownMenu===f.current,N=s()(t,`${e}--direction-${i}`,{[`${e}--match-button-width`]:o,[`${e}--width-${p}`]:null!=p,[`${e}--no-wrap`]:d,"is-expanded":Y}),C=(0,r.useCallback)((()=>{window.removeEventListener("click",C),h.A.setActiveDropdownMenu(null)}),[]);(0,w.A)("Escape",(()=>C()));const D=(0,r.useCallback)((()=>{window.addEventListener("click",C),b&&b(),h.A.setActiveDropdownMenu(f.current)}),[C,b]),x=e=>{e?.stopPropagation(),Y?C():D()};let S;if(a&&(a.current=x),Y){const e=(0,_.Y)("div",{className:"dropdown__header",children:(0,_.Y)(k,{className:n,label:l,isFocusHandled:m??!1,onClick:x})},"dropdown-header"),t=(0,_.Y)("ul",{className:"dropdown__items",children:c.map(((e,t)=>(0,_.Y)("div",{className:"dropdown__list",children:e.map(((e,t)=>{const n=s()("dropdown__item menu__item",e.className,{"is-selectable":!1!==e.selectable,"is-selected":e.selected});return(0,_.Y)("li",{className:n,children:(0,_.Y)("button",{type:"button",disabled:!1===e.selectable,onClick:!1===e.selectable?void 0:()=>{C(),g(e)},children:e.displayName})},t)}))},t)))},"dropdown-items");S=(0,_.Y)(v.A,{classNames:"menu",timeout:{enter:250,exit:250},children:(0,_.Y)("div",{className:"dropdown__content menu",children:"up"===i?[t,e]:[e,t]})})}return(0,_.FD)("div",{className:N,children:[(0,_.Y)(k,{className:n,label:u??l,isFocusHandled:m??!1,onClick:x}),(0,_.Y)(A.A,{children:S})]})}));C.defaultProps={baseClassName:"dropdown",direction:"down",dropdownWrapperClass:"dropdown",dropdownButtonClass:"dropdown__trigger",matchButtonWidth:!1,noWrap:!1,isFocusHandled:!1};const D=C;var x=n(2607);const S=["name","eta","downRate","upRate","ratio","percentComplete","downTotal","upTotal","sizeBytes","dateAdded","dateFinished"],T=e=>{const{direction:t,selectedProperty:n,onSortChange:r}=e,{i18n:a}=(0,l.uB)();if(null==n)return null;const s=(0,_.FD)("div",{className:"dropdown__button",children:[(0,_.Y)("span",{className:"dropdown__label",children:(0,_.Y)(l.x6,{id:"torrents.sort.title"})}),(0,_.Y)("span",{className:"dropdown__value",children:(0,_.Y)(l.x6,{id:x.A[n]})})]}),i=[S.map((e=>{const r=e===n,s=r?(0,_.Y)("span",{className:`sort-dropdown__indicator sort-dropdown__indicator--${t}`}):null;return{displayName:(0,_.FD)("div",{className:"sort-dropdown__item",children:[a._(x.A[e]),s]}),selected:r,property:e}}))];return(0,_.Y)(D,{handleItemSelect:e=>{const{property:a}=e;if(null==a)return;let s=f[a]??"asc";n===a&&(s="asc"===t?"desc":"asc"),r({direction:s,property:a})},header:s,menuItems:i})},F=(0,i.PA)((()=>{const{i18n:e}=(0,l.uB)(),{sortTorrents:t,torrentListViewSize:n}=d.A.floodSettings,r=s()("action-bar",{"action-bar--is-condensed":"condensed"===n});return(0,_.FD)("nav",{className:r,children:[(0,_.Y)("div",{className:"actions action-bar__item action-bar__item--sidebar-expand-collapse",children:(0,_.Y)(b,{label:"actionbar.button.sidebar.expand.collapse",slug:"sidebar-expand-collapse",icon:(0,_.Y)(o.W1,{}),clickHandler:()=>{const e=document.getElementsByClassName("application__view")[0];null!=e&&e.classList.toggle("application__view--sidebar-alternative-state")},noTip:!0})}),(0,_.Y)("div",{className:"actions action-bar__item action-bar__item--sort-torrents",children:(0,_.Y)(T,{direction:null!=t?t.direction:"desc",onSortChange:e=>{c.A.saveSetting("sortTorrents",e)},selectedProperty:null!=t?t.property:"dateAdded"})}),(0,_.FD)("div",{className:"actions action-bar__item action-bar__item--torrent-operations",children:[(0,_.FD)("div",{className:"action-bar__group",children:[(0,_.Y)(b,{label:e._("actionbar.button.start.torrent"),slug:"start-torrent",icon:(0,_.Y)(o.fe,{}),clickHandler:()=>u.A.startTorrents({hashes:p.A.selectedTorrents})}),(0,_.Y)(b,{label:e._("actionbar.button.stop.torrent"),slug:"stop-torrent",icon:(0,_.Y)(o.VG,{}),clickHandler:()=>u.A.stopTorrents({hashes:p.A.selectedTorrents})})]}),(0,_.FD)("div",{className:"action-bar__group action-bar__group--has-divider",children:[(0,_.Y)(b,{label:e._("actionbar.button.add.torrent"),slug:"add-torrent",icon:(0,_.Y)(o.OM,{}),clickHandler:()=>h.A.setActiveModal({id:"add-torrents"})}),(0,_.Y)(b,{label:e._("actionbar.button.remove.torrent"),slug:"remove-torrent",icon:(0,_.Y)(o.n$,{}),clickHandler:()=>h.A.setActiveModal({id:"remove-torrents"})})]})]})]})})),R=({children:e})=>(0,_.Y)("div",{className:"application__content",children:e}),$=e=>{const{children:t,baseClassName:n,className:r,modifier:a}=e,i=s()(n,{[`${n}--${a}`]:n,[r]:r});return(0,_.Y)("div",{className:i,children:t})};$.defaultProps={baseClassName:"application__panel"};const P=$;var M=n(6975),H=n(8851),B=n(1966),L=n(6816),E=n(7189),I=n(1915);const O=({label:e,value:t})=>(0,_.FD)("li",{"aria-label":"label",className:"diskusage__details-list__item",role:"cell",children:[(0,_.Y)("span",{className:"diskusage__details-list__label",children:e}),(0,_.Y)(E.A,{className:"diskuage__size-used",value:t})]});var z={name:"1ll9bqd",styles:"cursor:default"};const W=(0,i.PA)((()=>{const{i18n:e}=(0,l.uB)(),{disks:t}=L.A,{mountPoints:n}=d.A.floodSettings;if(null==t||null==n)return null;const r=t.reduce(((e,t)=>({...e,[t.target]:t})),{}),a=n.filter((e=>e in r)).map((e=>r[e])).map((t=>(0,_.Y)("li",{className:"sidebar-filter__item sidebar__diskusage",role:"row",children:(0,_.FD)(m.A,{content:(0,_.FD)("ul",{className:"diskusage__details-list",role:"tooltip",children:[(0,_.Y)(O,{value:t.used,label:e._("status.diskusage.used")}),(0,_.Y)(O,{value:t.avail,label:e._("status.diskusage.free")}),(0,_.Y)(O,{value:t.size,label:e._("status.diskusage.total")})]}),position:"top",styles:z,wrapperClassName:"diskusage__item",children:[(0,_.FD)("div",{className:"diskusage__text-row",children:[t.target,(0,_.FD)("span",{children:[Math.round(100*t.used/t.size),"%"]})]}),(0,_.Y)(I.A,{percent:Math.round(100*t.used/t.size)})]})},t.target)));if(null==a||0===a.length)return null;const s=e._("status.diskusage.title");return(0,_.FD)("ul",{"aria-label":s,className:"sidebar-filter sidebar__item",role:"table",children:[(0,_.Y)("li",{className:"sidebar-filter__item sidebar-filter__item--heading",children:s}),a]})})),G=()=>{const{i18n:e}=(0,l.uB)(),t=(0,r.useRef)(null);return(0,_.Y)(m.A,{content:e._("sidebar.button.feeds"),onClick:()=>{null!=t.current&&t.current.dismissTooltip(),h.A.setActiveModal({id:"feeds"})},ref:t,position:"bottom",wrapperClassName:"sidebar__action sidebar__icon-button sidebar__icon-button--interactive tooltip__wrapper",children:(0,_.Y)(o.JY,{})})};var U=n(5504),j=n(6541);const q=({children:e,name:t,icon:n,isActive:a,slug:i,count:c,size:d,handleClick:u})=>{const p=(0,r.createRef)(),h=(e=>{const[t,n]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{if(e.current){const{current:t}=e;n(t.scrollWidth>t.clientWidth)}}),[e,e?.current?.scrollWidth,e?.current?.clientWidth]),t})(p),{i18n:m}=(0,l.uB)(),[g,b]=(0,r.useState)(!1),f=s()("sidebar-filter__item",{"is-active":a}),v=s()("sidebar-filter__expander",{"is-active":a,expanded:g}),A=e?{display:"flex"}:{},Y={":focus":{outline:"none",WebkitTapHighlightColor:"transparent"}};let y=t;if(""===y)y=m._("filter.all");else if("untagged"===y){if(0===c)return null;y=m._("filter.untagged")}return"checking"!==i&&"error"!==i||0!==c?(0,_.FD)("li",{children:[(0,_.FD)("div",{css:A,children:[e&&(0,_.Y)("button",{className:v,css:Y,type:"button",onClick:()=>b(!g),role:"switch","aria-checked":g,children:(0,_.Y)(o.fe,{})}),(0,_.FD)("button",{className:f,css:Y,type:"button",onClick:e=>u(i,e),role:"menuitem",children:[n,(0,_.Y)("span",{className:"name",ref:p,title:h?y||"":void 0,children:y}),(0,_.Y)(j.A,{children:c}),null!=d&&(0,_.Y)(E.A,{value:d,className:"size"})]})]}),e&&g&&(0,_.Y)("ul",{className:"sidebar-filter__nested",children:e})]}):null};q.defaultProps={icon:void 0,size:void 0};const K=q;var V=n(9399);const X=e=>{if(1===e.children.length&&e.containedCount===e.children[0].containedCount){const t=e.children[0],n=t.fullPath.includes("/")?"/":"\\";return X({...t,directoryName:e.directoryName+n+t.directoryName})}const t=e.children.map(X);return(0,_.Y)(K,{handleClick:(e,t)=>V.A.setLocationFilters(e,t),count:e.containedCount,isActive:""===e.fullPath&&!V.A.locationFilter.length||V.A.locationFilter.includes(e.fullPath),name:e.directoryName,slug:e.fullPath,size:e.containedSize,children:t.length&&t||void 0},e.fullPath)},J=(0,i.PA)((()=>{const{i18n:e}=(0,l.uB)();if(0===V.A.taxonomy.locationTree.containedCount)return null;const t=X(V.A.taxonomy.locationTree),n=e._("filter.location.title");return(0,_.FD)("ul",{"aria-label":n,className:"sidebar-filter sidebar__item",role:"menu",children:[(0,_.Y)("li",{className:"sidebar-filter__item sidebar-filter__item--heading",role:"none",children:n}),t]})}));var Q=n(6289);const Z=10,ee=e=>H.A.fetchNotifications({id:"notification-tooltip",limit:Z,start:e}),te=({paginationStart:e,notificationTotal:t})=>{const{i18n:n}=(0,l.uB)();if(t>Z){let r=e+1,a=e+Z;return r>t&&(r=t),a>t&&(a=t),(0,_.Y)("div",{className:"toolbar toolbar--dark toolbar--top tooltip__toolbar tooltip__content--padding-surrogate",children:(0,_.FD)("span",{className:"toolbar__item toolbar__item--label",children:[`${n._("notification.showing")} `,(0,_.FD)("strong",{children:[r,` ${n._("general.to")} `,a]}),` ${n._("general.of")} `,(0,_.Y)("strong",{children:t})]})})}return null},ne=({notification:e})=>{const{i18n:t}=(0,l.uB)();return(0,_.FD)("li",{className:"notifications__list__item",children:[(0,_.FD)("div",{className:"notification__heading",children:[(0,_.Y)("span",{className:"notification__category",children:t._(`${e.id}.heading`)})," — ",(0,_.Y)("span",{className:"notification__timestamp",children:t.date(new Date(e.ts),{year:"numeric",month:"long",day:"2-digit",hour:"numeric",minute:"numeric"})})]}),(0,_.Y)("div",{className:"notification__message",children:t._(`${e.id}.body`,e.data)})]})},re=({paginationStart:e,notificationTotal:t,onPrevClick:n,onClearClick:r,onNextClick:a})=>{const{i18n:i}=(0,l.uB)();if(t>0){let l=e+20,c=e-Z;return l>t&&(l=t),c<0&&(c=0),(0,_.FD)("ul",{className:"notifications__toolbar toolbar toolbar--dark toolbar--bottom",children:[(0,_.Y)("li",{className:s()("toolbar__item toolbar__item--button",{"is-disabled":0===e}),children:(0,_.FD)("button",{className:"tooltip__content--padding-surrogate",type:"button",onClick:n,children:[(0,_.Y)(o.JG,{}),`${c+1} - ${e}`]})}),(0,_.Y)("li",{className:"toolbar__item toolbar__item--button",children:(0,_.Y)("button",{className:"tooltip__content--padding-surrogate",type:"button",onClick:r,children:i._("notification.clear.all")})}),(0,_.Y)("li",{className:s()("toolbar__item toolbar__item--button",{"is-disabled":e+Z>=t}),children:(0,_.FD)("button",{className:"tooltip__content--padding-surrogate",type:"button",onClick:a,children:[`${e+Z+1} - ${l}`,(0,_.Y)(o.c_,{})]})})]})}return null},ae=(0,i.PA)((()=>{const{i18n:e}=(0,l.uB)(),t=(0,r.useRef)(null),n=(0,r.useRef)(null),[a,i]=(0,r.useState)(!1),[c,d]=(0,r.useState)(0),[u,p]=(0,r.useState)(0),{hasNotification:h,notifications:g,notificationCount:b}=Q.A;return(0,r.useEffect)((()=>{b.total>0&&t.current?.isOpen()&&(i(!0),ee(c).finally((()=>i(!1))))}),[b,c]),(0,_.FD)(m.A,{contentClassName:"tooltip__content tooltip__content--no-padding",content:h?(0,_.FD)("div",{className:s()("notifications",{"notifications--is-loading":a}),children:[(0,_.Y)(te,{paginationStart:c,notificationTotal:b.total}),(0,_.Y)("div",{className:"notifications__loading-indicator",children:(0,_.Y)(o.mY,{})}),(0,_.Y)("ul",{className:"notifications__list tooltip__content--padding-surrogate",ref:n,style:{minHeight:u},children:g.map(((e,t)=>(0,_.Y)(ne,{notification:e},t)))}),(0,_.Y)(re,{paginationStart:c,notificationTotal:b.total,onPrevClick:()=>{const e=c-Z;e>=0&&(p(n.current?.clientHeight||0),d(e))},onClearClick:()=>{null!=t.current&&t.current.dismissTooltip(),H.A.clearNotifications(),p(0),d(0)},onNextClick:()=>{const e=c+Z;b.total>e&&(p(n.current?.clientHeight||0),d(e))}})]}):(0,_.Y)("div",{className:"notifications tooltip__content--padding-surrogate",style:{textAlign:"center"},children:e._("notification.no.notification")}),interactive:!0,onOpen:()=>ee(c),ref:t,width:340,position:"bottom",wrapperClassName:"sidebar__action sidebar__icon-button tooltip__wrapper",children:[(0,_.Y)(o.Eg,{}),h?(0,_.Y)("span",{className:"notifications__badge",children:b.total}):null]})})),se=(0,i.PA)((()=>{const{i18n:e}=(0,l.uB)(),t=(0,r.useRef)(null),{searchFilter:n}=V.A;(0,r.useEffect)((()=>{null!=t.current&&n!==t.current.value&&(t.current.value=n)}),[t,n]);const a=""!==n;return(0,_.FD)("div",{className:s()({sidebar__item:!0,search:!0,"is-in-use":a}),children:[a&&(0,_.Y)("button",{className:"button search__reset-button",onClick:()=>{V.A.setSearchFilter(""),null!=t.current&&t.current.blur()},type:"button",children:(0,_.Y)(o.bm,{})}),(0,_.Y)(o.vj,{}),(0,_.Y)("input",{className:"textbox",ref:t,type:"text",placeholder:e._("sidebar.search.placeholder"),onChange:e=>{V.A.setSearchFilter(e.target.value)}})]})})),ie=()=>{const{i18n:e}=(0,l.uB)(),t=(0,r.useRef)(null);return(0,_.Y)(m.A,{content:e._("sidebar.button.settings"),onClick:()=>{null!=t.current&&t.current.dismissTooltip(),h.A.setActiveModal({id:"settings"})},ref:t,position:"bottom",wrapperClassName:"sidebar__action sidebar__icon-button sidebar__icon-button--interactive tooltip__wrapper",children:(0,_.Y)(o.wB,{})})},le=({children:e})=>(0,_.Y)("div",{className:"sidebar__actions",children:e});var oe=n(9107),ce=n.n(oe),de=n(8440);const ue=({bytes:e})=>0===e?(0,_.Y)(l.x6,{id:"speed.unlimited"}):(0,_.Y)(E.A,{value:e,isSpeed:!0,precision:1}),pe=({i18n:e,direction:t,speedLimits:n,throttleGlobalDownSpeed:r,throttleGlobalUpSpeed:a})=>{const s={className:`dropdown__label dropdown__label--${t}`,..."download"===t?{displayName:e._("sidebar.speedlimits.download")}:{displayName:e._("sidebar.speedlimits.upload")},selectable:!1,value:null},i={download:r,upload:a},l=n[t];let o=!0;const c=l.map((e=>{let n=!1;return i&&i[t]===e&&(n=!0,o=!1),{displayName:(0,_.Y)(ue,{bytes:e}),property:t,selected:n,selectable:!0,value:e}}));if(o&&i){const e=ce()(l,i[t]);c.splice(e,0,{displayName:(0,_.Y)(ue,{bytes:i[t]}),property:t,selected:!0,selectable:!0,value:i[t]})}return c.unshift(s),c},he=(0,i.PA)((()=>{const{i18n:e}=(0,l.uB)(),t=(0,r.useRef)(null),n=(0,r.useRef)((()=>{})),a=e._("sidebar.button.speedlimits"),s={i18n:e,speedLimits:d.A.floodSettings.speedLimits,throttleGlobalDownSpeed:d.A.clientSettings?.throttleGlobalDownSpeed??0,throttleGlobalUpSpeed:d.A.clientSettings?.throttleGlobalUpSpeed??0};return(0,_.Y)(D,{dropdownClickRef:n,dropdownWrapperClass:"dropdown dropdown--speed-limits sidebar__action",handleItemSelect:e=>{null!=e.value&&("download"===e.property?de.A.saveSetting("throttleGlobalDownSpeed",e.value):"upload"===e.property&&de.A.saveSetting("throttleGlobalUpSpeed",e.value))},header:(0,_.FD)("div",{className:"sidebar__icon-button sidebar__icon-button--interactive sidebar__icon-button--limits",title:a,children:[(0,_.Y)(o.xu,{}),a]}),menuItems:[pe({direction:"download",...s}),pe({direction:"upload",...s})],onOpen:()=>{null!=t.current&&t.current.dismissTooltip()},trigger:(0,_.Y)(m.A,{content:a,position:"bottom",ref:t,wrapperClassName:"sidebar__icon-button tooltip__wrapper",onClick:()=>n.current?.(),children:(0,_.Y)(o.xu,{})}),isFocusHandled:!0})}));var me={name:"zlw20a",styles:"transform:scaleY(-1)"};const _e=({children:e,className:t,expanded:n,handleClick:r})=>(0,_.FD)("button",{className:t,onClick:e=>r(e),children:[e,n?(0,_.Y)(o.cL,{css:me}):(0,_.Y)(o.cL,{})]});_e.defaultProps={className:void 0};const ge=_e,be=(0,i.PA)((()=>{const{i18n:e}=(0,l.uB)(),t=[{label:e._("filter.all"),slug:"",icon:(0,_.Y)(o.u8,{})},{label:e._("filter.status.downloading"),slug:"downloading",icon:(0,_.Y)(o.QH,{})},{label:e._("filter.status.seeding"),slug:"seeding",icon:(0,_.Y)(o.H8,{})},{label:e._("filter.status.checking"),slug:"checking",icon:(0,_.Y)(o.y$,{})},{label:e._("filter.status.completed"),slug:"complete",icon:(0,_.Y)(o.AY,{})},{label:e._("filter.status.stopped"),slug:"stopped",icon:(0,_.Y)(o.VG,{})},{label:e._("filter.status.active"),slug:"active",icon:(0,_.Y)(o.RZ,{})},{label:e._("filter.status.inactive"),slug:"inactive",icon:(0,_.Y)(o.Up,{})},{label:e._("filter.status.error"),slug:"error",icon:(0,_.Y)(o.$D,{})}].map((e=>(0,_.Y)(K,{handleClick:(e,t)=>V.A.setStatusFilters(e,t),count:V.A.taxonomy.statusCounts[e.slug]||0,icon:e.icon,isActive:""===e.slug&&!V.A.statusFilter.length||V.A.statusFilter.includes(e.slug),name:e.label,slug:e.slug},e.slug))),n=e._("filter.status.title"),[a,s]=(0,r.useState)(!0);return(0,_.FD)("ul",{"aria-label":n,className:"sidebar-filter sidebar__item",role:"menu",children:[(0,_.Y)("li",{className:"sidebar-filter__item",role:"none",children:(0,_.Y)(ge,{className:"sidebar-filter__item--heading",expanded:a,handleClick:()=>{s(!a)},children:n})}),a&&t]})})),fe=(0,i.PA)((()=>{const{i18n:e}=(0,l.uB)(),[t,n]=(0,r.useState)(!0),a=Object.keys(V.A.taxonomy.tagCounts);if(1===a.length&&""===a[0]||2===a.length&&"untagged"===a[1])return null;const s=a.slice().sort(((e,t)=>""===e||"untagged"===e?-1:""===t||"untagged"===t?1:e.localeCompare(t))).map((e=>(0,_.Y)(K,{handleClick:(e,t)=>V.A.setTagFilters(e,t),count:V.A.taxonomy.tagCounts[e]||0,isActive:""===e&&!V.A.tagFilter.length||V.A.tagFilter.includes(e),name:e,slug:e,size:V.A.taxonomy.tagSizes[e]},e))),i=e._("filter.tag.title");return(0,_.FD)("ul",{"aria-label":i,className:"sidebar-filter sidebar__item",role:"menu",children:[(0,_.Y)("li",{className:"sidebar-filter__item",role:"none",children:(0,_.Y)(ge,{className:"sidebar-filter__item--heading",expanded:t,handleClick:()=>{n(!t)},children:i})}),t&&s]})}));var ve=n(9550);const Ae=()=>{const{i18n:e}=(0,l.uB)();return(0,_.Y)(m.A,{content:e._(ve.A.isPreferDark?"sidebar.button.theme.light":"sidebar.button.theme.dark"),onClick:()=>ve.A.setUserPreferDark(!ve.A.isPreferDark),position:"bottom",wrapperClassName:"sidebar__action sidebar__icon-button sidebar__icon-button--interactive tooltip__wrapper",children:(0,_.Y)(o.oy,{})})},Ye=(0,i.PA)((()=>{const{i18n:e}=(0,l.uB)(),[t,n]=(0,r.useState)(!0),a=Object.keys(V.A.taxonomy.trackerCounts);if(1===a.length&&""===a[0])return null;const s=a.slice().sort(((e,t)=>""===e?-1:""===t?1:e.localeCompare(t))).map((e=>(0,_.Y)(K,{handleClick:(e,t)=>V.A.setTrackerFilters(e,t),count:V.A.taxonomy.trackerCounts[e]||0,isActive:""===e&&!V.A.trackerFilter.length||V.A.trackerFilter.includes(e),name:e,slug:e,size:V.A.taxonomy.trackerSizes[e]},e))),i=e._("filter.tracker.title");return(0,_.FD)("ul",{"aria-label":i,className:"sidebar-filter sidebar__item",role:"menu",children:[(0,_.Y)("li",{className:"sidebar-filter__item",role:"none",children:(0,_.Y)(ge,{className:"sidebar-filter__item--heading",expanded:t,handleClick:()=>{n(!t)},children:i})}),t&&s]})}));var ye=n(1304),we=n(6307),Ne=n(4669),ke=n(3230);const Ce={download:(0,_.Y)(o.f5,{}),infinity:(0,_.Y)(o.Qt,{}),upload:(0,_.Y)(o._O,{})},De=(0,i.PA)((({inspectorPoint:e})=>{const{i18n:t}=(0,l.uB)(),n=(n,r={})=>{const{throttleGlobalDownSpeed:a=0,throttleGlobalUpSpeed:i=0}=d.A.clientSettings||{},{transferSummary:l}=Ne.A,o={download:a,upload:i},c={download:l.downTotal,upload:l.upTotal};let u={download:l.downRate,upload:l.upRate};null!=e&&(u={upload:e.upload,download:e.download});const p=s()("client-stats__rate__data--secondary",{"is-visible":null==e&&we.A.isConnected}),h=s()("client-stats__rate__data--timestamp",{"is-visible":null!=e&&r.showHoverDuration});let m=null;null!=e?.timestamp&&(m=(0,_.Y)("div",{className:h,children:(0,_.Y)(ke.A,{suffix:t._("general.ago"),value:Math.trunc((Date.now()-e.timestamp)/1e3)})}));let g=null;return g=0===o[n]?Ce.infinity:(0,_.Y)(E.A,{value:o[n],isSpeed:!0}),(0,_.FD)("div",{className:`client-stats__rate client-stats__rate--${n}`,children:[(0,_.Y)("div",{className:"client-stats__rate__icon",children:Ce[n]}),(0,_.FD)("div",{className:"client-stats__rate__data",children:[(0,_.Y)("div",{className:"client-stats__rate__data--primary",children:(0,_.Y)(E.A,{value:u[n],isSpeed:!0})}),m,(0,_.FD)("div",{className:p,children:[(0,_.Y)("div",{className:"client-stats__rate__data--total",children:(0,_.Y)(E.A,{value:c[n]})}),(0,_.Y)("div",{className:"client-stats__rate__data--limit",children:g})]})]})]})};return(0,_.FD)("div",{className:"client-stats__rates",children:[n("download",{showHoverDuration:!0}),n("upload")]})}));var xe=n(1253),Se=n(4439),Te=n(8640),Fe=n(846),Re=n(8239);const $e=({direction:e})=>(0,_.FD)("linearGradient",{id:`graph__gradient--${e}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:[(0,_.Y)("stop",{className:`graph__gradient--top graph__gradient--top--${e}`,offset:"0%"}),(0,_.Y)("stop",{className:`graph__gradient--bottom graph__gradient--bottom--${e}`,offset:"100%"})]}),Pe=(e,t,n)=>{const r=e[t][Math.ceil(n)],a=e[t][Math.floor(n)];return a+n%1*(r-a)},Me=(0,i.PA)((({id:e,height:t,width:n,handlerRefs:a,onHover:s,onMouseOut:i})=>{const[l,o]=(0,r.useState)(!1),c=(0,r.useRef)(0),d=(0,r.useRef)({download:0,upload:0,timestamp:0}),u=Ne.A.transferRates,p=(0,Re.A)().domain([0,u.download.length-1]).range([0,n]),h=(0,Re.A)().domain([0,(0,Fe.A)(u.download,((e,t)=>Math.max(e,u.upload[t])))]).range([t-10,10]);a.current={handleMouseMove:e=>{c.current=p.invert(e),s(d.current)},handleMouseOut:()=>{o(!1),i()},handleMouseOver:()=>{o(!0)}},l&&(d.current={download:Pe(u,"download",c.current),upload:Pe(u,"upload",c.current),timestamp:u.timestamps[Math.round(c.current)]});const m=xe.G;return(0,_.FD)("svg",{className:"graph",id:e,height:"100%",width:"100%",children:[(0,_.FD)("defs",{children:[(0,_.Y)($e,{direction:"upload"}),(0,_.Y)($e,{direction:"download"})]}),Ne.j.map((e=>[(0,_.Y)("path",{className:"graph__area",fill:`url('#graph__gradient--${e}')`,d:(0,Se.A)().x(((e,t)=>p(t)||0)).y0(t).y1((e=>h(e)||0)).curve(m)(u[e])},`area-${e}`),(0,_.Y)("path",{className:`graph__line graph__line--${e}`,d:(0,Te.A)().x(((e,t)=>p(t)||0)).y((e=>h(e)||0)).curve(m)(u[e])},`line-${e}`),(0,_.Y)("circle",{className:`graph__circle graph__circle--${e}`,r:2.5,style:{opacity:l?1:0},transform:`translate(${p(c.current)},${h(d.current[e])})`},`point-${e}`)]))]})})),He=(0,i.PA)((()=>{const[e,t]=(0,r.useState)(null),[n,a]=(0,r.useState)(250),s=(0,r.useRef)(null);return(0,_.Y)(ye.A,{offset:!0,onResize:e=>{e.offset?.width&&a(e.offset.width)},children:({measureRef:r})=>(0,_.Y)("div",{ref:r,className:"client-stats__wrapper sidebar__item",children:(0,_.FD)("div",{className:"client-stats",onMouseMove:e=>{null!=e?.nativeEvent?.clientX&&s.current?.handleMouseMove(e.nativeEvent.clientX)},onMouseOver:()=>s.current?.handleMouseOver(),onMouseOut:()=>s.current?.handleMouseOut(),onFocus:()=>s.current?.handleMouseOver(),onBlur:()=>s.current?.handleMouseOut(),children:[(0,_.Y)(De,{inspectorPoint:e}),we.A.isConnected&&(0,_.Y)(Me,{height:150,id:"transfer-rate-graph",onMouseOut:()=>{t(null)},onHover:e=>{t(e)},handlerRefs:s,width:n})]})})})})),Be=()=>(0,_.Y)(B.r,{className:"application__sidebar",options:{scrollbars:{autoHide:"scroll",clickScroll:!1,dragScroll:!1,theme:"os-theme-thin"},overflow:{x:"hidden",y:"scroll"}},children:(0,_.FD)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,_.FD)(le,{children:[(0,_.Y)(he,{}),(0,_.Y)(ie,{}),(0,_.Y)(G,{}),(0,_.Y)(ae,{}),(0,_.Y)(U.A,{})]}),(0,_.Y)(He,{}),(0,_.Y)(se,{}),(0,_.Y)(be,{}),(0,_.Y)(fe,{}),(0,_.Y)(Ye,{}),(0,_.Y)(J,{}),(0,_.Y)(W,{}),(0,_.Y)("div",{style:{flexGrow:1}}),(0,_.Y)(le,{children:(0,_.Y)(Ae,{})})]})});var Le=n(7813),Ee=n(377),Ie=n(6565),Oe=n(3675);const ze=(0,i.PA)((({id:e})=>{const t=h.A.activeContextMenu?.id===e,n=h.A.activeContextMenu?.items??[],r=h.A.activeContextMenu?.clickPosition??{x:0,y:0},{i18n:a}=(0,l.uB)();return(0,w.A)("Escape",(()=>h.A.dismissContextMenu(e))),(0,_.Y)(Ie.tz,{triggerCoordinates:r,onOverlayClick:()=>{h.A.dismissContextMenu(e)},onOverlayRightClick:e=>{e.preventDefault()},isIn:t,children:n.map(((t,n)=>{let r,i;if("action"===t.type)i=s()("menu__item",{"is-selectable":t.clickHandler}),r=(0,_.FD)("span",{children:[(0,_.FD)("span",{className:s()("menu__item__label--primary",{"has-action":t.labelAction}),children:[(0,_.Y)("span",{className:"menu__item__label",children:a._(t.label)}),t.labelAction?(0,_.Y)("span",{className:"menu__item__label__action",children:(0,_.Y)(t.labelAction,{})}):void 0]}),t.labelSecondary?(0,_.Y)("span",{className:"menu__item__label--secondary",children:(0,_.Y)(t.labelSecondary,{})}):void 0]});else i=s()("menu__item",{"menu__item--separator":"separator"===t.type});return(0,_.Y)("li",{className:i,children:(0,_.Y)("button",{type:"button",disabled:"action"!==t.type||!t.clickHandler,onClick:n=>("separator"!==t.type&&(!1===t.dismissMenu&&n.nativeEvent.stopImmediatePropagation(),t.clickHandler&&t.clickHandler(n),!1!==t.dismissMenu&&h.A.dismissContextMenu(e)),!1),onContextMenu:e=>{e.preventDefault()},children:r})},"action"===t.type?t.action:`sep-${n}`)}))})}));var We=n(88),Ge=n(4712);const Ue=(0,r.forwardRef)(((e,t)=>{const{children:n,onScroll:a}=e,s=(0,r.useRef)(null);return(0,r.useEffect)((()=>{const e=s.current;if(null==e)return()=>{};const n=e.osInstance()?.elements().viewport;return t(n),a&&n.addEventListener("scroll",(e=>a(e)),{passive:!0}),()=>{a&&n.removeEventListener("scroll",(e=>a(e)))}}),[a,t]),(0,_.Y)(B.r,{...e,options:{scrollbars:{autoHide:"leave",clickScroll:!0,theme:"os-theme-"+(ve.A.isPreferDark?"light":"dark")}},ref:s,children:n})})),je=(0,r.forwardRef)(((e,t)=>{const{className:n,itemCount:r,itemKey:a,itemRenderer:s,itemSize:i,outerRef:l}=e,{height:o}=(0,Ge.A)();return(0,_.Y)(We.Y1,{className:n,height:Math.max(30*i,o),itemCount:r,itemKey:a,itemSize:i,width:"100%",outerElementType:ve.A.isSmallScreen?void 0:Ue,ref:t,overscanCount:30,outerRef:l,children:s})})),qe=(0,i.PA)(je);var Ke=n(5162);const Ve="\n body { user-select: none !important; }\n * { cursor: col-resize !important; }\n";var Xe={name:"3v16dc",styles:"text-align:left;:focus{outline:none;-webkit-tap-highlight-color:transparent;}"};const Je=(0,i.PA)((0,r.forwardRef)((({onCellClick:e,onCellFocus:t,onWidthsChange:n},a)=>{const[i,o]=(0,r.useState)(!1),c=(0,r.useRef)(),u=(0,r.useRef)(),p=(0,r.useRef)(),m=(0,Ke.A)(a),g=(0,r.useRef)(null),{i18n:b}=(0,l.uB)(),f=e=>{let t=0;null!=p.current&&(t=e.clientX-p.current);let n=20;null!=u.current&&(n=u.current+t),n>20&&(u.current=n,p.current=e.clientX,null!=g.current&&null!=m.current&&(g.current.style.transform=`translate(${Math.max(0,e.clientX)}px, ${m.current.getBoundingClientRect().top}px)`))},v=()=>{h.A.removeGlobalStyle(Ve),window.removeEventListener("pointerup",v),window.removeEventListener("pointermove",f),o(!1),p.current=void 0,null!=g.current&&(g.current.style.opacity="0"),null!=c.current&&null!=u.current&&n(c.current,u.current),c.current=void 0,u.current=void 0};return(0,_.FD)("div",{className:"table__row table__row--heading",role:"row",ref:m,children:[d.A.floodSettings.torrentListColumns.reduce(((n,{id:r,visible:a})=>{if(!a)return n;const A=x.A[r];if(null==A)return n;let Y=null;const y=d.A.floodSettings.torrentListColumnWidths[r]||100;i||(Y=(0,_.Y)("span",{className:"table__heading__handle",onPointerDown:e=>{i||null==g.current||null==m.current||(o(!0),c.current=r,u.current=y,p.current=e.clientX,window.addEventListener("pointerup",v),window.addEventListener("pointermove",f),h.A.addGlobalStyle(Ve),g.current.style.transform=`translate(${Math.max(0,e.clientX)}px, ${m.current.getBoundingClientRect().top}px)`,g.current.style.opacity="1")}}));const w=r===d.A.floodSettings.sortTorrents.property,N=s()("table__cell table__heading",{"table__heading--is-sorted":w,[`table__heading--direction--${d.A.floodSettings.sortTorrents.direction}`]:w});return n.push((0,_.FD)("button",{className:N,css:Xe,role:"columnheader","aria-sort":w?"asc"===d.A.floodSettings.sortTorrents.direction?"ascending":"descending":"none",type:"button",onClick:()=>e(r),onFocus:()=>t(),style:{width:`${y}px`},children:[(0,_.Y)("span",{className:"table__heading__label",title:b._(A),children:(0,_.Y)(l.x6,{id:A})}),Y]},r)),n}),[]),(0,_.Y)("div",{className:"table__cell table__heading table__heading--fill"}),(0,_.Y)("div",{className:"table__heading__resize-line",ref:g})]})})));var Qe=n(5497);const Ze=e=>{const t=[];e.forEach((n=>{const r=new FileReader;r.onload=r=>{null!=r.target?.result&&"string"==typeof r.target.result&&t.push({name:n.name,data:r.target.result.split("base64,")[1]}),t.length===e.length&&null!=t[0]&&h.A.setActiveModal({id:"add-torrents",tab:"by-file",files:t})},r.readAsDataURL(n)}))},et=({children:e})=>{const{getRootProps:t,isDragActive:n}=(0,Qe.VB)({onDrop:Ze,noClick:!0,noKeyboard:!0});return(0,_.Y)("div",{...t({onClick:e=>e.preventDefault()}),className:"dropzone dropzone--with-overlay torrents "+(n?"dropzone--is-dragging":""),children:e})};var tt=n(3736),nt=n(2471),rt=n(1693),at=n(9689);const st=()=>p.A.selectedTorrents[p.A.selectedTorrents.length-1],it=(0,i.PA)((({property:e})=>(0,_.Y)("span",{className:"toggle-input checkbox",style:{display:"inline"},children:(0,_.Y)("div",{className:"toggle-input__indicator",children:(0,_.Y)("div",{className:"toggle-input__indicator__icon",style:{opacity:p.A.torrents[st()][e]?"1":void 0},children:(0,_.Y)(o.MG,{})})})}))),lt=e=>{const t=(0,r.createRef)();return[{type:"action",action:"start",label:rt.A.start,clickHandler:()=>{u.A.startTorrents({hashes:p.A.selectedTorrents})}},{type:"action",action:"stop",label:rt.A.stop,clickHandler:()=>{u.A.stopTorrents({hashes:p.A.selectedTorrents})}},{type:"action",action:"remove",label:rt.A.remove,clickHandler:()=>{h.A.setActiveModal({id:"remove-torrents"})}},{type:"action",action:"checkHash",label:rt.A.checkHash,clickHandler:()=>{u.A.checkHash({hashes:p.A.selectedTorrents})}},{type:"action",action:"reannounce",label:rt.A.reannounce,clickHandler:()=>{u.A.reannounce({hashes:p.A.selectedTorrents})}},{type:"separator"},{type:"action",action:"setTaxonomy",label:rt.A.setTaxonomy,clickHandler:()=>{h.A.setActiveModal({id:"set-taxonomy"})}},{type:"action",action:"move",label:rt.A.move,clickHandler:()=>{h.A.setActiveModal({id:"move-torrents"})}},{type:"action",action:"setTrackers",label:rt.A.setTrackers,clickHandler:()=>{h.A.setActiveModal({id:"set-trackers"})}},{type:"separator"},{type:"action",action:"torrentDetails",label:rt.A.torrentDetails,clickHandler:()=>{h.A.setActiveModal({id:"torrent-details",hash:st()})}},{type:"action",action:"downloadContents",label:rt.A.downloadContents,clickHandler:e=>{e.preventDefault(),p.A.selectedTorrents.forEach((e=>{const t=document.createElement("a");t.download="",t.href=`${ve.A.baseURI}api/torrents/${e}/contents/all/data`,t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}))}},{type:"action",action:"downloadMetainfo",label:rt.A.downloadMetainfo,clickHandler:e=>{e.preventDefault();const t=document.createElement("a");t.download="",t.href=`${ve.A.baseURI}api/torrents/${p.A.selectedTorrents.join(",")}/metainfo`,t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}},{type:"action",action:"generateMagnet",label:rt.A.generateMagnet,clickHandler:()=>{h.A.setActiveModal({id:"generate-magnet"})}},{type:"action",action:"setInitialSeeding",label:rt.A.setInitialSeeding,clickHandler:()=>{const{selectedTorrents:e}=p.A;u.A.setInitialSeeding({hashes:e,isInitialSeeding:!p.A.torrents[st()].isInitialSeeding})},dismissMenu:!1,labelAction:()=>(0,_.Y)(it,{property:"isInitialSeeding"})},{type:"action",action:"setSequential",label:rt.A.setSequential,clickHandler:()=>{const{selectedTorrents:e}=p.A;u.A.setSequential({hashes:e,isSequential:!p.A.torrents[st()].isSequential})},dismissMenu:!1,labelAction:()=>(0,_.Y)(it,{property:"isSequential"})},{type:"action",action:"setPriority",label:rt.A.setPriority,clickHandler:()=>{null!=t.current&&u.A.setPriority({hashes:p.A.selectedTorrents,priority:t.current()})},dismissMenu:!1,labelAction:()=>(0,_.Y)(at.A,{id:e.hash,level:e.priority,maxLevel:3,onChange:()=>{},priorityType:"torrent",showLabel:!1,changePriorityFuncRef:t,clickHandled:!0},e.hash)}]};const ot={eta:(0,_.Y)(o.zD,{}),sizeBytes:(0,_.Y)(o.Vd,{}),downRate:(0,_.Y)(o.Cx,{}),directory:(0,_.Y)(o.Ah,{}),hash:(0,_.Y)(o.Vw,{}),dateAdded:(0,_.Y)(o.Vv,{}),dateCreated:(0,_.Y)(o.xo,{}),dateFinished:(0,_.Y)(o.T9,{}),isPrivate:(0,_.Y)(o.LM,{}),message:(0,_.Y)(o.qX,{}),percentComplete:(0,_.Y)(o.Cx,{}),peers:(0,_.Y)(o.SL,{}),ratio:(0,_.Y)(o.wj,{}),seeds:(0,_.Y)(o.pK,{}),trackerURIs:(0,_.Y)(o.mB,{}),upRate:(0,_.Y)(o.NM,{}),upTotal:(0,_.Y)(o.NM,{})},ct=(0,i.PA)((({value:e})=>e?(0,_.Y)(o.H4,{className:"torrent__detail__icon torrent__detail__icon--checkmark"}):null)),dt=(0,i.PA)((({date:e})=>{const{i18n:t}=(0,l.uB)();return(0,_.Y)("span",{children:t.date(new Date(1e3*e))})})),ut=(0,i.PA)((({eta:e})=>e?(0,_.Y)(ke.A,{value:e}):null)),pt=(0,i.PA)((({peersConnected:e,totalPeers:t})=>{const{i18n:n}=(0,l.uB)();return(0,_.Y)(l.x6,{id:"torrent.list.peers",values:{connected:n.number(e),of:(0,_.Y)("em",{className:"unit",children:(0,_.Y)(l.x6,{id:"torrent.list.peers.of"})}),total:n.number(t)}})})),ht=(0,i.PA)((({ratio:e})=>{const{i18n:t}=(0,l.uB)();return(0,_.Y)("span",{children:t.number(e,{maximumFractionDigits:2})})})),mt=(0,i.PA)((({tags:e})=>(0,_.Y)("ul",{className:"torrent__tags tag",children:e.map((e=>(0,_.Y)("li",{className:"torrent__tag",children:e},e)))}))),_t=(0,i.PA)((({trackers:e})=>(0,_.Y)("span",{children:e.join(", ")}))),gt=(0,i.PA)((({torrent:e,column:t})=>{switch(t){case"dateAdded":case"dateCreated":case"dateFinished":return(0,_.Y)(dt,{date:e[t]});case"downRate":case"upRate":return(0,_.Y)(E.A,{value:e[t],isSpeed:!0});case"downTotal":case"upTotal":case"sizeBytes":return(0,_.Y)(E.A,{value:e[t]});case"ratio":return(0,_.Y)(ht,{ratio:e[t]});case"isPrivate":return(0,_.Y)(ct,{value:e[t]});case"tags":return(0,_.Y)(mt,{tags:e[t]});case"trackerURIs":return(0,_.Y)(_t,{trackers:e[t]});case"eta":return(0,_.Y)(ut,{eta:e[t]});case"seeds":return(0,_.Y)(pt,{peersConnected:e.seedsConnected,totalPeers:e.seedsTotal});case"peers":return(0,_.Y)(pt,{peersConnected:e.peersConnected,totalPeers:e.peersTotal});case"percentComplete":return(0,_.Y)(I.A,{percent:(0,Le.EW)((()=>Math.ceil(e.percentComplete))).get(),status:(0,Le.EW)((()=>(0,nt.s)(e.status))).get()});default:return(0,_.Y)("span",{children:e[t]})}}));var bt={name:"1te7sjq",styles:"pointer-events:none;user-select:none"};const ft=(0,i.PA)((({hash:e,content:t,column:n,className:r,classNameOverride:a,width:i,showIcon:l})=>{const c=l?ot[n]:null;return(0,_.FD)("div",{className:a?r:s()("torrent__detail",`torrent__detail--${n}`,r),css:bt,role:"cell",style:{width:`${i}px`},children:[c,t?(0,_.Y)(t,{torrent:p.A.torrents[e],column:n}):(0,_.Y)(o.Eh,{})]})}));ft.defaultProps={className:void 0,classNameOverride:!1,content:gt,width:void 0,showIcon:!1};const vt=ft,At=(0,i.PA)((0,r.forwardRef)((({className:e,style:t,hash:n,handleClick:r,handleDoubleClick:a,handleRightClick:s,handleTouchStart:i,handleTouchEnd:l,handleKeyPress:o},c)=>{const u=d.A.floodSettings.torrentListColumns.reduce(((e,{id:t,visible:r})=>null==x.A[t]?e:r?(e.push((0,_.Y)(vt,{className:"table__cell",hash:n,column:t,width:d.A.floodSettings.torrentListColumnWidths[t]},t)),e):e),[]);return(0,_.Y)("div",{className:e,role:"row",style:t,tabIndex:0,onClick:e=>r(n,e),onContextMenu:e=>s(n,e),onDoubleClick:()=>a(n),onTouchStart:i,onTouchEnd:l,onKeyPress:o,ref:c,children:u})})));const Yt=(0,i.PA)((({torrent:e})=>{const{i18n:t}=(0,l.uB)();return(0,_.FD)("span",{children:[t.number(e.percentComplete,{maximumFractionDigits:1}),(0,_.Y)("em",{className:"unit",children:"%"})," — ",(0,_.Y)(E.A,{value:e.downTotal})]})}));var yt={name:"1vr7vmn",styles:"align-items:center;display:flex"};const wt=(0,i.PA)((0,r.forwardRef)((({className:e,style:t,hash:n,handleClick:r,handleDoubleClick:a,handleRightClick:s,handleTouchStart:i,handleTouchEnd:l,handleKeyPress:o},c)=>{const u=d.A.floodSettings.torrentListColumns,p=[(0,_.Y)(vt,{hash:n,column:"name",className:"torrent__details__section torrent__details__section--primary"},"name")],h=[(0,_.Y)(vt,{hash:n,column:"eta",showIcon:!0},"eta"),(0,_.Y)(vt,{hash:n,column:"downRate",showIcon:!0},"downRate"),(0,_.Y)(vt,{hash:n,column:"upRate",showIcon:!0},"upRate")],m=[(0,_.Y)(vt,{hash:n,column:"percentComplete",content:Yt,showIcon:!0},"percentComplete")],g=[(0,_.Y)(vt,{hash:n,column:"percentComplete",className:"torrent__details__section torrent__details__section--quaternary",classNameOverride:!0},"percentBar")];for(let e=0;e<u.length;e+=1){const{id:t,visible:r}=u[e];if(null!=x.A[t]&&r)switch(t){case"name":case"downRate":case"upRate":case"eta":case"downTotal":case"percentComplete":break;default:m.push((0,_.Y)(vt,{hash:n,column:t,showIcon:!0},t))}}return(0,_.FD)("div",{className:e,role:"row",style:t,tabIndex:0,onClick:e=>r(n,e),onContextMenu:e=>s(n,e),onDoubleClick:()=>a(n),onTouchStart:i,onTouchEnd:l,onKeyPress:o,ref:c,children:[(0,_.FD)("div",{css:yt,children:[p,(0,_.Y)("div",{className:"torrent__details__section torrent__details__section--secondary",children:h})]}),(0,_.Y)("div",{className:"torrent__details__section torrent__details__section--tertiary",children:m}),g]})}))),Nt=(e,t)=>{!0===t.cancelable&&t.preventDefault();const n=t.clientX,r=t.clientY,a=t.touches?.[0].clientX,s=t.touches?.[0].clientY;p.A.selectedTorrents.includes(e)||p.A.setSelectedTorrents({hash:e,event:t});const{torrentContextMenuActions:i=Oe.A.torrentContextMenuActions}=d.A.floodSettings,l=p.A.torrents[e];h.A.setActiveContextMenu({id:"torrent-list-item",clickPosition:{x:n||a||0,y:r||s||0},items:lt(l).filter((e=>"separator"===e.type||i.some((t=>t.id===e.action&&!0===t.visible))))})},kt=e=>h.A.setActiveModal({id:"torrent-details",hash:e}),Ct=(e,t)=>p.A.setSelectedTorrents({hash:e,event:t}),Dt=(e,t)=>{" "!==t.key&&"Enter"!==t.key&&"ContextMenu"!==t.key||(t.preventDefault(),p.A.selectedTorrents.includes(e)?"Enter"===t.key?kt(e):"ContextMenu"===t.key&&Nt(e,t):Ct(e,t))},xt=(0,i.PA)((({hash:e,style:t})=>{const[n,a]=(0,r.useState)(0),i=(0,r.useRef)(!1),l=(0,r.useRef)(null),o="condensed"===d.A.floodSettings.torrentListViewSize,c=(0,Le.EW)((()=>p.A.selectedTorrents.includes(e))).get(),{status:u,upRate:h,downRate:m}=p.A.torrents?.[e]||{},g=(0,nt.$)({status:u,upRate:h,downRate:m},s()({"torrent--is-selected":c,"torrent--is-condensed":o,"torrent--is-expanded":!o}),"torrent"),{onTouchStart:b,onTouchEnd:f}=(0,tt.A)((t=>{const r=l.current?.getBoundingClientRect().top;null!=t&&null!=r&&Math.abs(r-n)<25&&Nt(e,t)})),v=t=>{p.A.selectedTorrents.includes(e)||Ct(e,t),i.current?kt(e):(i.current=!0,setTimeout((()=>{i.current=!1}),200)),a(l.current?.getBoundingClientRect().top||0),b(t)};return o?(0,_.Y)(At,{className:g,ref:l,style:t,hash:e,handleClick:Ct,handleDoubleClick:kt,handleRightClick:Nt,handleTouchStart:v,handleTouchEnd:f,handleKeyPress:t=>Dt(e,t)}):(0,_.Y)(wt,{className:g,ref:l,style:t,hash:e,handleClick:Ct,handleDoubleClick:kt,handleRightClick:Nt,handleTouchStart:v,handleTouchEnd:f,handleKeyPress:t=>Dt(e,t)})})),St=(0,i.PA)((({index:e,style:t})=>(0,_.Y)(xt,{hash:p.A.filteredTorrents[e].hash,style:t}))),Tt=(0,i.PA)((()=>{const e=(0,r.useRef)(null),t=(0,r.useRef)(null),n=(0,r.useRef)(null);(0,r.useEffect)((()=>(0,Le.mJ)((()=>V.A.filterTrigger),(()=>{null!=t.current&&t.current.scrollTo(0)}))),[]),(0,Ee.A)("keydown",(e=>{const{ctrlKey:t,key:n,metaKey:r,repeat:a,target:s}=e,i=s?.tagName?.toUpperCase();"INPUT"!==i&&"TEXTAREA"!==i&&(a||((r||t)&&"a"===n&&(e.preventDefault(),p.A.selectAllTorrents()),(r||t)&&"v"===n&&(async()=>{const t=await(navigator?.clipboard?.readText()),n=t?.startsWith("magnet:?"),r=t?.startsWith("http")&&t?.endsWith(".torrent");(n||r)&&(e.preventDefault(),h.A.setActiveModal({id:"add-torrents",tab:"by-url",urls:[{id:0,value:t}]}))})()))}));const a=p.A.filteredTorrents,{torrentListViewSize:s="condensed"}=d.A.floodSettings,i="condensed"===s,u=null==a||0===a.length;let m=null,g=null;return we.A.isConnected?u||null==a?m=(0,_.FD)("div",{className:"torrents__alert__wrapper",children:[(0,_.Y)("div",{className:"torrents__alert",children:(0,_.Y)(l.x6,{id:"torrents.list.no.torrents"})}),V.A.isFilterActive?(0,_.Y)("div",{className:"torrents__alert__action",children:(0,_.Y)(Ie.$n,{onClick:()=>{V.A.clearAllFilters()},priority:"tertiary",children:(0,_.Y)(l.x6,{id:"torrents.list.clear.filters"})})}):null]}):(i&&(g=(0,_.Y)(Je,{onCellFocus:()=>{null!=n.current&&null!=e.current&&(n.current.scrollLeft=e.current.scrollLeft)},onCellClick:e=>{const t=d.A.floodSettings.sortTorrents;let n=f[e]??"asc";t.property===e&&(n="asc"===t.direction?"desc":"asc");const r={property:e,direction:n};c.A.saveSetting("sortTorrents",r)},onWidthsChange:(e,t)=>{const{torrentListColumnWidths:n=Oe.A.torrentListColumnWidths}=d.A.floodSettings;c.A.saveSetting("torrentListColumnWidths",{...n,[e]:t})},ref:e})),m=(0,_.Y)(qe,{className:"torrent__list__viewport",itemCount:a.length,itemKey:e=>p.A.filteredTorrents[e].hash,itemRenderer:St,itemSize:i?30:70,ref:t,outerRef:t=>{const r=t;null!=r&&null==r.onscroll&&(r.onscroll=()=>{null!=e.current&&(e.current.scrollLeft=r.scrollLeft)}),n.current=r}})):m=(0,_.Y)("div",{className:"torrents__alert__wrapper",children:(0,_.Y)("div",{className:"torrents__alert",children:(0,_.Y)(l.x6,{id:"torrents.list.cannot.connect"})})}),(0,_.FD)(et,{children:[(0,_.FD)("div",{className:"torrent__list__wrapper",role:"table",children:[(0,_.Y)(ze,{id:"torrent-list-item"}),g,m]}),(0,_.Y)("div",{className:"dropzone__overlay",children:(0,_.FD)("div",{className:"dropzone__copy",children:[(0,_.Y)("div",{className:"dropzone__icon",children:(0,_.Y)(o.sv,{})}),(0,_.Y)(l.x6,{id:"torrents.list.drop"})]})})]})}));n(5216);const Ft=(0,r.lazy)((()=>n.e(703).then(n.bind(n,6182)))),Rt=(0,r.lazy)((()=>Promise.all([n.e(996),n.e(179)]).then(n.bind(n,179)))),$t=()=>((0,r.useEffect)((()=>{H.A.startActivityStream()}),[]),(0,_.FD)(M.A,{children:[(0,_.Y)(Be,{}),(0,_.FD)(R,{children:[(0,_.FD)(P,{modifier:"torrent-list",className:"view--torrent-list",children:[(0,_.Y)(F,{}),(0,_.Y)(Tt,{})]}),(0,_.Y)(Rt,{}),(0,_.Y)(Ft,{})]})]}))},5440:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i});var r=n(7820),a=n(6975),s=n(6066);const i=()=>(0,s.Y)(a.A,{modifier:"auth-form",children:(0,s.Y)(r.A,{mode:"register"})})},2471:(e,t,n)=>{n.d(t,{$:()=>s,s:()=>i});var r=n(6942),a=n.n(r);const s=({status:e,downRate:t,upRate:n},...r)=>a()(r,{"torrent--has-error":e.includes("error"),"torrent--is-stopped":e.includes("stopped"),"torrent--is-downloading":e.includes("downloading"),"torrent--is-downloading--actively":t>0,"torrent--is-uploading--actively":n>0,"torrent--is-seeding":e.includes("seeding"),"torrent--is-completed":e.includes("complete"),"torrent--is-checking":e.includes("checking"),"torrent--is-inactive":e.includes("inactive")}),i=e=>{let t="stopped";return["error","checking","stopped","downloading","seeding"].some((n=>!!e.includes(n)&&(t=n,!0))),t}}}]);