bloko-studio 0.0.18 → 0.0.19

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 (236) hide show
  1. package/dist/client/_app/immutable/chunks/{CgvLbn4F.js → BCEsHyqq.js} +1 -1
  2. package/dist/client/_app/immutable/chunks/BCEsHyqq.js.br +0 -0
  3. package/dist/client/_app/immutable/chunks/BCEsHyqq.js.gz +0 -0
  4. package/dist/client/_app/immutable/chunks/{CIFpcI83.js → BNXambdK.js} +1 -1
  5. package/dist/client/_app/immutable/chunks/BNXambdK.js.br +0 -0
  6. package/dist/client/_app/immutable/chunks/BNXambdK.js.gz +0 -0
  7. package/dist/client/_app/immutable/chunks/{D0WCiq1l.js → BoqwTKhi.js} +1 -1
  8. package/dist/client/_app/immutable/chunks/BoqwTKhi.js.br +0 -0
  9. package/dist/client/_app/immutable/chunks/BoqwTKhi.js.gz +0 -0
  10. package/dist/client/_app/immutable/chunks/BsdJr886.js +1 -0
  11. package/dist/client/_app/immutable/chunks/BsdJr886.js.br +0 -0
  12. package/dist/client/_app/immutable/chunks/BsdJr886.js.gz +0 -0
  13. package/dist/client/_app/immutable/chunks/{B4fr5apD.js → CGpagYzn.js} +1 -1
  14. package/dist/client/_app/immutable/chunks/CGpagYzn.js.br +0 -0
  15. package/dist/client/_app/immutable/chunks/CGpagYzn.js.gz +0 -0
  16. package/dist/client/_app/immutable/chunks/{CquWN9-P.js → C_xn6tJ5.js} +1 -1
  17. package/dist/client/_app/immutable/chunks/C_xn6tJ5.js.br +0 -0
  18. package/dist/client/_app/immutable/chunks/C_xn6tJ5.js.gz +0 -0
  19. package/dist/client/_app/immutable/chunks/Ddxulroj.js +1 -0
  20. package/dist/client/_app/immutable/chunks/Ddxulroj.js.br +0 -0
  21. package/dist/client/_app/immutable/chunks/Ddxulroj.js.gz +0 -0
  22. package/dist/client/_app/immutable/chunks/{BJyh01OH.js → DwDEpx6N.js} +1 -1
  23. package/dist/client/_app/immutable/chunks/DwDEpx6N.js.br +0 -0
  24. package/dist/client/_app/immutable/chunks/DwDEpx6N.js.gz +0 -0
  25. package/dist/client/_app/immutable/chunks/{4SddJ-Qn.js → I992cpR6.js} +1 -1
  26. package/dist/client/_app/immutable/chunks/I992cpR6.js.br +0 -0
  27. package/dist/client/_app/immutable/chunks/I992cpR6.js.gz +0 -0
  28. package/dist/client/_app/immutable/chunks/NDhU74_a.js +4 -0
  29. package/dist/client/_app/immutable/chunks/NDhU74_a.js.br +0 -0
  30. package/dist/client/_app/immutable/chunks/NDhU74_a.js.gz +0 -0
  31. package/dist/client/_app/immutable/entry/{app.CUkn7TM0.js → app.C9w1tKuV.js} +2 -2
  32. package/dist/client/_app/immutable/entry/app.C9w1tKuV.js.br +0 -0
  33. package/dist/client/_app/immutable/entry/app.C9w1tKuV.js.gz +0 -0
  34. package/dist/client/_app/immutable/entry/start.B2wDI3VX.js +1 -0
  35. package/dist/client/_app/immutable/entry/start.B2wDI3VX.js.br +0 -0
  36. package/dist/client/_app/immutable/entry/start.B2wDI3VX.js.gz +0 -0
  37. package/dist/client/_app/immutable/nodes/{0.CW1XFnq0.js → 0.BjXgX8gE.js} +1 -1
  38. package/dist/client/_app/immutable/nodes/0.BjXgX8gE.js.br +0 -0
  39. package/dist/client/_app/immutable/nodes/0.BjXgX8gE.js.gz +0 -0
  40. package/dist/client/_app/immutable/nodes/{1.Dh9w6iG1.js → 1.C6Q2GM2Z.js} +1 -1
  41. package/dist/client/_app/immutable/nodes/1.C6Q2GM2Z.js.br +0 -0
  42. package/dist/client/_app/immutable/nodes/1.C6Q2GM2Z.js.gz +0 -0
  43. package/dist/client/_app/immutable/nodes/{11.gqSI4CqN.js → 11.BxDP_Dzu.js} +1 -1
  44. package/dist/client/_app/immutable/nodes/11.BxDP_Dzu.js.br +0 -0
  45. package/dist/client/_app/immutable/nodes/11.BxDP_Dzu.js.gz +0 -0
  46. package/dist/client/_app/immutable/nodes/{15.CRkyzCM5.js → 15.DyEFO3B4.js} +1 -1
  47. package/dist/client/_app/immutable/nodes/15.DyEFO3B4.js.br +0 -0
  48. package/dist/client/_app/immutable/nodes/15.DyEFO3B4.js.gz +0 -0
  49. package/dist/client/_app/immutable/nodes/{16.CoUAaHvE.js → 16.IMSMLWcF.js} +1 -1
  50. package/dist/client/_app/immutable/nodes/16.IMSMLWcF.js.br +0 -0
  51. package/dist/client/_app/immutable/nodes/16.IMSMLWcF.js.gz +0 -0
  52. package/dist/client/_app/immutable/nodes/{17.BPVCluJ3.js → 17.B4Ly0hIk.js} +1 -1
  53. package/dist/client/_app/immutable/nodes/17.B4Ly0hIk.js.br +2 -0
  54. package/dist/client/_app/immutable/nodes/17.B4Ly0hIk.js.gz +0 -0
  55. package/dist/client/_app/immutable/nodes/25.BOYrx9BN.js +1 -0
  56. package/dist/client/_app/immutable/nodes/25.BOYrx9BN.js.br +0 -0
  57. package/dist/client/_app/immutable/nodes/25.BOYrx9BN.js.gz +0 -0
  58. package/dist/client/_app/immutable/nodes/{26.DN6oyoCO.js → 26.CoCHtvYh.js} +1 -1
  59. package/dist/client/_app/immutable/nodes/26.CoCHtvYh.js.br +0 -0
  60. package/dist/client/_app/immutable/nodes/26.CoCHtvYh.js.gz +0 -0
  61. package/dist/client/_app/immutable/nodes/27.BOYrx9BN.js +1 -0
  62. package/dist/client/_app/immutable/nodes/27.BOYrx9BN.js.br +0 -0
  63. package/dist/client/_app/immutable/nodes/27.BOYrx9BN.js.gz +0 -0
  64. package/dist/client/_app/immutable/nodes/{28.CHLUsxUQ.js → 28.Dcg66fhQ.js} +1 -1
  65. package/dist/client/_app/immutable/nodes/28.Dcg66fhQ.js.br +0 -0
  66. package/dist/client/_app/immutable/nodes/28.Dcg66fhQ.js.gz +0 -0
  67. package/dist/client/_app/immutable/nodes/29.BOYrx9BN.js +1 -0
  68. package/dist/client/_app/immutable/nodes/29.BOYrx9BN.js.br +0 -0
  69. package/dist/client/_app/immutable/nodes/29.BOYrx9BN.js.gz +0 -0
  70. package/dist/client/_app/immutable/nodes/{3.CGeA2ewG.js → 3.r9CcAPrB.js} +1 -1
  71. package/dist/client/_app/immutable/nodes/3.r9CcAPrB.js.br +0 -0
  72. package/dist/client/_app/immutable/nodes/3.r9CcAPrB.js.gz +0 -0
  73. package/dist/client/_app/immutable/nodes/{30.CiGPByfb.js → 30.D75Njlve.js} +1 -1
  74. package/dist/client/_app/immutable/nodes/30.D75Njlve.js.br +0 -0
  75. package/dist/client/_app/immutable/nodes/30.D75Njlve.js.gz +0 -0
  76. package/dist/client/_app/immutable/nodes/{31.Buqj0PEw.js → 31.CI8XwlO6.js} +1 -1
  77. package/dist/client/_app/immutable/nodes/31.CI8XwlO6.js.br +0 -0
  78. package/dist/client/_app/immutable/nodes/31.CI8XwlO6.js.gz +0 -0
  79. package/dist/client/_app/immutable/nodes/{32.B7GNt8K6.js → 32.BsibsLP6.js} +1 -1
  80. package/dist/client/_app/immutable/nodes/32.BsibsLP6.js.br +0 -0
  81. package/dist/client/_app/immutable/nodes/32.BsibsLP6.js.gz +0 -0
  82. package/dist/client/_app/immutable/nodes/{33.BHb1MsgZ.js → 33.CFBl4SnN.js} +1 -1
  83. package/dist/client/_app/immutable/nodes/33.CFBl4SnN.js.br +0 -0
  84. package/dist/client/_app/immutable/nodes/33.CFBl4SnN.js.gz +0 -0
  85. package/dist/client/_app/immutable/nodes/{36.CfF4iCJn.js → 36.CnC2x00t.js} +1 -1
  86. package/dist/client/_app/immutable/nodes/36.CnC2x00t.js.br +0 -0
  87. package/dist/client/_app/immutable/nodes/36.CnC2x00t.js.gz +0 -0
  88. package/dist/client/_app/immutable/nodes/{39.dmjEcyn6.js → 39.CoVBNfQp.js} +1 -1
  89. package/dist/client/_app/immutable/nodes/39.CoVBNfQp.js.br +0 -0
  90. package/dist/client/_app/immutable/nodes/39.CoVBNfQp.js.gz +0 -0
  91. package/dist/client/_app/immutable/nodes/{4.D8_ZNt52.js → 4.DPtUcGzl.js} +1 -1
  92. package/dist/client/_app/immutable/nodes/4.DPtUcGzl.js.br +0 -0
  93. package/dist/client/_app/immutable/nodes/4.DPtUcGzl.js.gz +0 -0
  94. package/dist/client/_app/immutable/nodes/{5.C3qOLK5U.js → 5.Bhcr7j8d.js} +1 -1
  95. package/dist/client/_app/immutable/nodes/5.Bhcr7j8d.js.br +0 -0
  96. package/dist/client/_app/immutable/nodes/5.Bhcr7j8d.js.gz +0 -0
  97. package/dist/client/_app/immutable/nodes/{6.Bo1Cub13.js → 6.CTEd_d2Z.js} +1 -1
  98. package/dist/client/_app/immutable/nodes/6.CTEd_d2Z.js.br +2 -0
  99. package/dist/client/_app/immutable/nodes/6.CTEd_d2Z.js.gz +0 -0
  100. package/dist/client/_app/immutable/nodes/{7.DPcNm_wA.js → 7.BMTYQ8qD.js} +1 -1
  101. package/dist/client/_app/immutable/nodes/7.BMTYQ8qD.js.br +0 -0
  102. package/dist/client/_app/immutable/nodes/7.BMTYQ8qD.js.gz +0 -0
  103. package/dist/client/_app/immutable/nodes/{9.DFUhca-C.js → 9.BrpCunE6.js} +1 -1
  104. package/dist/client/_app/immutable/nodes/9.BrpCunE6.js.br +0 -0
  105. package/dist/client/_app/immutable/nodes/9.BrpCunE6.js.gz +0 -0
  106. package/dist/client/_app/version.json +1 -1
  107. package/dist/client/_app/version.json.br +0 -0
  108. package/dist/client/_app/version.json.gz +0 -0
  109. package/dist/server/chunks/{0-BG7LMbEH.js → 0-21O6W6T_.js} +2 -2
  110. package/dist/server/chunks/{0-BG7LMbEH.js.map → 0-21O6W6T_.js.map} +1 -1
  111. package/dist/server/chunks/{1-CF3xoAXw.js → 1-CTrW9lGk.js} +2 -2
  112. package/dist/server/chunks/{1-CF3xoAXw.js.map → 1-CTrW9lGk.js.map} +1 -1
  113. package/dist/server/chunks/{11-BhQPb3MO.js → 11-CinUUcnJ.js} +2 -2
  114. package/dist/server/chunks/{11-BhQPb3MO.js.map → 11-CinUUcnJ.js.map} +1 -1
  115. package/dist/server/chunks/{15-D_Z4fSLo.js → 15-BY54js2c.js} +2 -2
  116. package/dist/server/chunks/{15-D_Z4fSLo.js.map → 15-BY54js2c.js.map} +1 -1
  117. package/dist/server/chunks/{16-CbBmTK3q.js → 16-CF518gx_.js} +2 -2
  118. package/dist/server/chunks/{16-CbBmTK3q.js.map → 16-CF518gx_.js.map} +1 -1
  119. package/dist/server/chunks/{17-DBRPc-7Y.js → 17-Bdux-e_E.js} +2 -2
  120. package/dist/server/chunks/{17-DBRPc-7Y.js.map → 17-Bdux-e_E.js.map} +1 -1
  121. package/dist/server/chunks/{25-DAmgWcGE.js → 25-CEIfrygW.js} +2 -2
  122. package/dist/server/chunks/{25-DAmgWcGE.js.map → 25-CEIfrygW.js.map} +1 -1
  123. package/dist/server/chunks/{26-Cx4Y_W-p.js → 26-CV8LSgZn.js} +2 -2
  124. package/dist/server/chunks/{26-Cx4Y_W-p.js.map → 26-CV8LSgZn.js.map} +1 -1
  125. package/dist/server/chunks/{27-CZaUqOvf.js → 27-DPywZYrf.js} +2 -2
  126. package/dist/server/chunks/{27-CZaUqOvf.js.map → 27-DPywZYrf.js.map} +1 -1
  127. package/dist/server/chunks/{28-D-f3RjFp.js → 28-Dguijd1U.js} +2 -2
  128. package/dist/server/chunks/{28-D-f3RjFp.js.map → 28-Dguijd1U.js.map} +1 -1
  129. package/dist/server/chunks/{29-BpP87SSL.js → 29-B69WfZ5m.js} +2 -2
  130. package/dist/server/chunks/{29-BpP87SSL.js.map → 29-B69WfZ5m.js.map} +1 -1
  131. package/dist/server/chunks/{3-Cv6uDCbN.js → 3-BmuIa0OM.js} +2 -2
  132. package/dist/server/chunks/{3-Cv6uDCbN.js.map → 3-BmuIa0OM.js.map} +1 -1
  133. package/dist/server/chunks/{30-C6viorN4.js → 30-D_AwpxgQ.js} +2 -2
  134. package/dist/server/chunks/{30-C6viorN4.js.map → 30-D_AwpxgQ.js.map} +1 -1
  135. package/dist/server/chunks/{31-FHsqhlAQ.js → 31-BYyzHxm7.js} +2 -2
  136. package/dist/server/chunks/{31-FHsqhlAQ.js.map → 31-BYyzHxm7.js.map} +1 -1
  137. package/dist/server/chunks/{32-CA5ITw7Y.js → 32-BzYBau7f.js} +2 -2
  138. package/dist/server/chunks/{32-CA5ITw7Y.js.map → 32-BzYBau7f.js.map} +1 -1
  139. package/dist/server/chunks/{33-oFjTG-_e.js → 33-1kBNkV5j.js} +2 -2
  140. package/dist/server/chunks/{33-oFjTG-_e.js.map → 33-1kBNkV5j.js.map} +1 -1
  141. package/dist/server/chunks/{36-VmWEvLRp.js → 36-BjoD3G1V.js} +2 -2
  142. package/dist/server/chunks/{36-VmWEvLRp.js.map → 36-BjoD3G1V.js.map} +1 -1
  143. package/dist/server/chunks/{39-RaTwxgfl.js → 39-DciLGn5b.js} +2 -2
  144. package/dist/server/chunks/{39-RaTwxgfl.js.map → 39-DciLGn5b.js.map} +1 -1
  145. package/dist/server/chunks/{4-DZWL9YNV.js → 4-DRXva9on.js} +2 -2
  146. package/dist/server/chunks/{4-DZWL9YNV.js.map → 4-DRXva9on.js.map} +1 -1
  147. package/dist/server/chunks/{5-BMk4A1bu.js → 5-CTlq1_8o.js} +2 -2
  148. package/dist/server/chunks/{5-BMk4A1bu.js.map → 5-CTlq1_8o.js.map} +1 -1
  149. package/dist/server/chunks/{6-Dq4HH3Lf.js → 6-DWYeWeom.js} +2 -2
  150. package/dist/server/chunks/{6-Dq4HH3Lf.js.map → 6-DWYeWeom.js.map} +1 -1
  151. package/dist/server/chunks/{7-zYsDbXGw.js → 7-CQcFEIe7.js} +2 -2
  152. package/dist/server/chunks/{7-zYsDbXGw.js.map → 7-CQcFEIe7.js.map} +1 -1
  153. package/dist/server/chunks/{9-BwVfNbFP.js → 9-CjMCZ5kt.js} +2 -2
  154. package/dist/server/chunks/{9-BwVfNbFP.js.map → 9-CjMCZ5kt.js.map} +1 -1
  155. package/dist/server/index.js +1 -1
  156. package/dist/server/index.js.map +1 -1
  157. package/dist/server/manifest.js +24 -24
  158. package/dist/server/manifest.js.map +1 -1
  159. package/package.json +2 -2
  160. package/dist/client/_app/immutable/chunks/4SddJ-Qn.js.br +0 -0
  161. package/dist/client/_app/immutable/chunks/4SddJ-Qn.js.gz +0 -0
  162. package/dist/client/_app/immutable/chunks/B4fr5apD.js.br +0 -3
  163. package/dist/client/_app/immutable/chunks/B4fr5apD.js.gz +0 -0
  164. package/dist/client/_app/immutable/chunks/BJyh01OH.js.br +0 -0
  165. package/dist/client/_app/immutable/chunks/BJyh01OH.js.gz +0 -0
  166. package/dist/client/_app/immutable/chunks/C-WiO1yA.js +0 -4
  167. package/dist/client/_app/immutable/chunks/C-WiO1yA.js.br +0 -0
  168. package/dist/client/_app/immutable/chunks/C-WiO1yA.js.gz +0 -0
  169. package/dist/client/_app/immutable/chunks/CESQkQo2.js +0 -1
  170. package/dist/client/_app/immutable/chunks/CESQkQo2.js.br +0 -0
  171. package/dist/client/_app/immutable/chunks/CESQkQo2.js.gz +0 -0
  172. package/dist/client/_app/immutable/chunks/CIFpcI83.js.br +0 -0
  173. package/dist/client/_app/immutable/chunks/CIFpcI83.js.gz +0 -0
  174. package/dist/client/_app/immutable/chunks/CgvLbn4F.js.br +0 -0
  175. package/dist/client/_app/immutable/chunks/CgvLbn4F.js.gz +0 -0
  176. package/dist/client/_app/immutable/chunks/CquWN9-P.js.br +0 -0
  177. package/dist/client/_app/immutable/chunks/CquWN9-P.js.gz +0 -0
  178. package/dist/client/_app/immutable/chunks/D0WCiq1l.js.br +0 -0
  179. package/dist/client/_app/immutable/chunks/D0WCiq1l.js.gz +0 -0
  180. package/dist/client/_app/immutable/chunks/DM6asyaO.js +0 -1
  181. package/dist/client/_app/immutable/chunks/DM6asyaO.js.br +0 -2
  182. package/dist/client/_app/immutable/chunks/DM6asyaO.js.gz +0 -0
  183. package/dist/client/_app/immutable/entry/app.CUkn7TM0.js.br +0 -0
  184. package/dist/client/_app/immutable/entry/app.CUkn7TM0.js.gz +0 -0
  185. package/dist/client/_app/immutable/entry/start.DSWn-_CZ.js +0 -1
  186. package/dist/client/_app/immutable/entry/start.DSWn-_CZ.js.br +0 -0
  187. package/dist/client/_app/immutable/entry/start.DSWn-_CZ.js.gz +0 -0
  188. package/dist/client/_app/immutable/nodes/0.CW1XFnq0.js.br +0 -0
  189. package/dist/client/_app/immutable/nodes/0.CW1XFnq0.js.gz +0 -0
  190. package/dist/client/_app/immutable/nodes/1.Dh9w6iG1.js.br +0 -0
  191. package/dist/client/_app/immutable/nodes/1.Dh9w6iG1.js.gz +0 -0
  192. package/dist/client/_app/immutable/nodes/11.gqSI4CqN.js.br +0 -0
  193. package/dist/client/_app/immutable/nodes/11.gqSI4CqN.js.gz +0 -0
  194. package/dist/client/_app/immutable/nodes/15.CRkyzCM5.js.br +0 -0
  195. package/dist/client/_app/immutable/nodes/15.CRkyzCM5.js.gz +0 -0
  196. package/dist/client/_app/immutable/nodes/16.CoUAaHvE.js.br +0 -0
  197. package/dist/client/_app/immutable/nodes/16.CoUAaHvE.js.gz +0 -0
  198. package/dist/client/_app/immutable/nodes/17.BPVCluJ3.js.br +0 -0
  199. package/dist/client/_app/immutable/nodes/17.BPVCluJ3.js.gz +0 -0
  200. package/dist/client/_app/immutable/nodes/25.CDMBexTh.js +0 -1
  201. package/dist/client/_app/immutable/nodes/25.CDMBexTh.js.br +0 -0
  202. package/dist/client/_app/immutable/nodes/25.CDMBexTh.js.gz +0 -0
  203. package/dist/client/_app/immutable/nodes/26.DN6oyoCO.js.br +0 -0
  204. package/dist/client/_app/immutable/nodes/26.DN6oyoCO.js.gz +0 -0
  205. package/dist/client/_app/immutable/nodes/27.CDMBexTh.js +0 -1
  206. package/dist/client/_app/immutable/nodes/27.CDMBexTh.js.br +0 -0
  207. package/dist/client/_app/immutable/nodes/27.CDMBexTh.js.gz +0 -0
  208. package/dist/client/_app/immutable/nodes/28.CHLUsxUQ.js.br +0 -0
  209. package/dist/client/_app/immutable/nodes/28.CHLUsxUQ.js.gz +0 -0
  210. package/dist/client/_app/immutable/nodes/29.CDMBexTh.js +0 -1
  211. package/dist/client/_app/immutable/nodes/29.CDMBexTh.js.br +0 -0
  212. package/dist/client/_app/immutable/nodes/29.CDMBexTh.js.gz +0 -0
  213. package/dist/client/_app/immutable/nodes/3.CGeA2ewG.js.br +0 -0
  214. package/dist/client/_app/immutable/nodes/3.CGeA2ewG.js.gz +0 -0
  215. package/dist/client/_app/immutable/nodes/30.CiGPByfb.js.br +0 -0
  216. package/dist/client/_app/immutable/nodes/30.CiGPByfb.js.gz +0 -0
  217. package/dist/client/_app/immutable/nodes/31.Buqj0PEw.js.br +0 -0
  218. package/dist/client/_app/immutable/nodes/31.Buqj0PEw.js.gz +0 -0
  219. package/dist/client/_app/immutable/nodes/32.B7GNt8K6.js.br +0 -0
  220. package/dist/client/_app/immutable/nodes/32.B7GNt8K6.js.gz +0 -0
  221. package/dist/client/_app/immutable/nodes/33.BHb1MsgZ.js.br +0 -0
  222. package/dist/client/_app/immutable/nodes/33.BHb1MsgZ.js.gz +0 -0
  223. package/dist/client/_app/immutable/nodes/36.CfF4iCJn.js.br +0 -0
  224. package/dist/client/_app/immutable/nodes/36.CfF4iCJn.js.gz +0 -0
  225. package/dist/client/_app/immutable/nodes/39.dmjEcyn6.js.br +0 -0
  226. package/dist/client/_app/immutable/nodes/39.dmjEcyn6.js.gz +0 -0
  227. package/dist/client/_app/immutable/nodes/4.D8_ZNt52.js.br +0 -0
  228. package/dist/client/_app/immutable/nodes/4.D8_ZNt52.js.gz +0 -0
  229. package/dist/client/_app/immutable/nodes/5.C3qOLK5U.js.br +0 -0
  230. package/dist/client/_app/immutable/nodes/5.C3qOLK5U.js.gz +0 -0
  231. package/dist/client/_app/immutable/nodes/6.Bo1Cub13.js.br +0 -0
  232. package/dist/client/_app/immutable/nodes/6.Bo1Cub13.js.gz +0 -0
  233. package/dist/client/_app/immutable/nodes/7.DPcNm_wA.js.br +0 -0
  234. package/dist/client/_app/immutable/nodes/7.DPcNm_wA.js.gz +0 -0
  235. package/dist/client/_app/immutable/nodes/9.DFUhca-C.js.br +0 -0
  236. package/dist/client/_app/immutable/nodes/9.DFUhca-C.js.gz +0 -0
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{c as s,r as i,s as d,t as ze,f as ie,p as He,l as q,m as Y,d as $e,i as t,n as a,a as Ge,as as _,U as ut}from"../chunks/DxOICouY.js";import{a as b,f as z,c as _e}from"../chunks/wJchKVuM.js";import{i as N}from"../chunks/D-cCrPs3.js";import{e as Je,i as Ee}from"../chunks/B3_urjHi.js";import{s as gt,a as mt}from"../chunks/BxCyPBAb.js";import{b as ot,M as st,B as K,I as qe,a as pe,D as me,L as _t}from"../chunks/DkUXkvWJ.js";import{s as re}from"../chunks/C9d66xaq.js";import{s as nt}from"../chunks/CPRTIG4n.js";import"../chunks/BRMV3Vlh.js";import{F as xe}from"../chunks/CPH_RY3i.js";import{L as lt}from"../chunks/BW3w2llh.js";import{n as I}from"../chunks/CW7HXIjc.js";import{i as W,g as Ze}from"../chunks/C-WiO1yA.js";import{p as ft}from"../chunks/CIFpcI83.js";import{o as Be,p as Le,q as bt,s as yt,t as ht,v as It,w as Ue}from"../chunks/B4fr5apD.js";import{p as rt}from"../chunks/ZB_SX0IH.js";import{s as it}from"../chunks/BJBqRQv9.js";import{d as dt}from"../chunks/DJQBWlDy.js";var wt=z('<span class="separator svelte-5v5m9l">|</span> <span class="label svelte-5v5m9l">content id:</span> <span class="sid svelte-5v5m9l"> </span>',1),xt=z('<span class="contentType svelte-5v5m9l"><span class="type svelte-5v5m9l"> </span> <!></span>'),zt=z('<div class="title svelte-5v5m9l"> </div>'),kt=z('<div class="contentForm svelte-5v5m9l"><!></div>'),Tt=z('<div class="childrenSlot svelte-5v5m9l"><!></div>'),jt=z('<div class="hint svelte-5v5m9l"> </div>'),Ct=z('<div class="blockPreview svelte-5v5m9l"><div class="header svelte-5v5m9l"><span class="code svelte-5v5m9l"> </span> <!></div> <div class="content svelte-5v5m9l"><!> <!> <!> <!></div></div>');function Nt(fe,e){var M=Ct(),P=s(M),f=s(P),g=s(f,!0);i(f);var R=d(f,2);{var C=y=>{var L=xt(),O=s(L),ke=s(O,!0);i(O);var be=d(O,2);{var Se=ve=>{var Z=wt(),Te=d(ie(Z),4),se=s(Te,!0);i(Te),ze(()=>re(se,e.contentId)),b(ve,Z)};N(be,ve=>{e.contentId&&ve(Se)})}i(L),ze(()=>re(ke,e.contentType)),b(y,L)};N(R,y=>{e.contentType&&y(C)})}i(P);var h=d(P,2),D=s(h);{var S=y=>{var L=zt(),O=s(L,!0);i(L),ze(()=>re(O,e.title)),b(y,L)};N(D,y=>{e.title&&y(S)})}var $=d(D,2);{var ee=y=>{var L=kt(),O=s(L);nt(O,()=>e.contentForm),i(L),b(y,L)};N($,y=>{e.contentForm&&y(ee)})}var de=d($,2);{var ce=y=>{var L=Tt(),O=s(L);nt(O,()=>e.children),i(L),b(y,L)};N(de,y=>{e.children&&y(ce)})}var H=d(de,2);{var G=y=>{var L=jt(),O=s(L,!0);i(L),ze(()=>re(O,e.hint)),b(y,L)};N(H,y=>{e.hint&&y(G)})}i(h),i(M),ze(()=>re(g,e.code)),b(fe,M)}var Lt=z('<div class="imageWrapper svelte-1cupviq"><!></div>'),qt=z('<div class="imageListWrapper svelte-1cupviq"><!></div>'),St=z('<div class="listItemRow svelte-1cupviq"><!> <!></div>'),Ft=z('<div class="textListWrapper svelte-1cupviq"><!> <!></div>'),At=z('<div class="titledListItemCard svelte-1cupviq"><div class="titledListItemHeader svelte-1cupviq"><span class="itemNumber svelte-1cupviq"></span> <!></div> <div class="titledListItemFields svelte-1cupviq"><!> <!></div></div>'),Vt=z('<div class="titledListWrapper svelte-1cupviq"><!> <!></div>'),Rt=z('<div class="inputWrapper svelte-1cupviq"><!></div> <!>',1),Dt=z('<div class="contentFormWrapper svelte-1cupviq"><!></div>');function Ot(fe,e){He(e,!0);let M=rt(e,"contentImageUrl",3,null),P=rt(e,"contentImages",19,()=>[]),f=q(Y(e.contentValue||"")),g=q(!1),R=_(()=>e.block.content?.id!=null),C=q(Y(e.block.content_type==="text_list"&&Array.isArray(e.contentValue)?[...e.contentValue]:[])),h=q(Y(e.block.content_type==="titled_list"&&Array.isArray(e.contentValue)?[...e.contentValue]:[])),D=q(`${e.block.id}-${e.node.id}-${e.data.languageId}`);$e(()=>{const o=`${e.block.id}-${e.node.id}-${e.data.languageId}`;o!==t(D)&&(a(D,o),e.block.content_type==="text_list"?a(C,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):e.block.content_type==="titled_list"?a(h,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):a(f,e.contentValue||"",!0))});async function S(){a(g,!0);try{let o,v;if(e.block.content_type==="number"){const r=String(t(f)||"").trim();o=r===""?null:parseFloat(r),v=o!==null?"Saved":"Deleted"}else if(e.block.content_type==="text_list"){const r=t(C).filter(c=>c&&c.trim()).map(c=>c.trim());o={...e.block.content?.value||{},[e.data.languageId]:r.length>0?r:[]},v=r.length>0?"Saved":"Deleted"}else if(e.block.content_type==="titled_list"){const r=t(h).filter(c=>c?.title?.trim()||c?.text?.trim()).map(c=>({title:c?.title?.trim()||"",text:c?.text?.trim()||""}));o={...e.block.content?.value||{},[e.data.languageId]:r.length>0?r:[]},v=r.length>0?"Saved":"Deleted"}else{const r=(t(f)||"").trim();o={...e.block.content?.value||{},[e.data.languageId]:r},v=r?"Saved":"Deleted"}const U={_node:e.node.id,_block:e.block.id,value:o};await Le(U),await W("app:nodes"),I.success(v)}catch(o){console.error("Save error:",o),I.error("Failed to save"),e.block.content_type==="text_list"?a(C,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):e.block.content_type==="titled_list"?a(h,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):a(f,e.contentValue||"",!0)}finally{a(g,!1)}}async function $(){if(e.block.content_type==="number"){const o=t(f)===""?null:parseFloat(t(f)),v=e.contentValue===""||e.contentValue==null?null:parseFloat(e.contentValue);if(o===v)return}else{const o=(t(f)||"").trim(),v=(e.contentValue||"").trim();if(o===v)return}await S()}async function ee(){if(!t(R)){a(g,!0);try{const o={_node:e.node.id,_block:e.block.id,value:e.block.content_type==="number"?null:{},forceCreate:!0};await Le(o),await W("app:nodes"),I.success("Content created");const v=`content-${e.block.id}-${e.data.languageId}`;setTimeout(()=>{document.getElementById(v)?.focus()},50)}catch(o){console.error("Create error:",o),I.error("Failed to create")}finally{a(g,!1)}}}async function de(){if(t(R)&&confirm("Delete this entire content row (all languages)?")){a(g,!0);try{const o={_node:e.node.id,_block:e.block.id,value:e.block.content_type==="number"?null:{}};await Le(o),await W("app:nodes"),a(f,""),a(C,[],!0),a(h,[],!0),I.success("Deleted")}catch(o){console.error("Delete error:",o),I.error("Failed to delete")}finally{a(g,!1)}}}function ce(){a(C,[...t(C),""],!0)}function H(o){a(C,t(C).filter((v,U)=>U!==o),!0),S()}function G(o,v){t(C)[o]=v}function y(){a(h,[...t(h),{title:"",text:""}],!0)}function L(o){a(h,t(h).filter((v,U)=>U!==o),!0),S()}function O(o,v,U){t(h)[o]={...t(h)[o],[v]:U}}async function ke(o){const v=await o.arrayBuffer(),U=btoa(new Uint8Array(v).reduce((c,T)=>c+String.fromCharCode(T),"")),r=await fetch("/api/images/upload-json",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({base64Data:U,fileName:o.name,mimeType:o.type,nodeId:e.node.id})});if(!r.ok){const c=await r.json().catch(()=>({}));throw new Error(c.message||c.body?.message||"Upload failed")}return r.json()}function be(o){return typeof o=="string"&&o.length>0&&!o.startsWith("{")}async function Se(o){if(!o){a(g,!0);try{be(e.contentValue)&&await Be({imageId:e.contentValue}),await Le({_node:e.node.id,_block:e.block.id,value:null}),await W("app:nodes"),I.success("Image removed")}catch(v){console.error("Image delete error:",v),I.error("Failed to remove image")}finally{a(g,!1)}return}a(g,!0);try{be(e.contentValue)&&await Be({imageId:e.contentValue});const v=await ke(o);await Le({_node:e.node.id,_block:e.block.id,value:v.image.id}),await W("app:nodes"),I.success("Image updated")}catch(v){console.error("Image upload error:",v),I.error(v.message||"Failed to upload image")}finally{a(g,!1)}}async function ve(o){a(g,!0);try{const v=await ke(o),r=[...Array.isArray(e.contentValue)?e.contentValue:[],v.image.id];await Le({_node:e.node.id,_block:e.block.id,value:r}),await W("app:nodes"),I.success("Image added")}catch(v){throw console.error("Image upload error:",v),I.error(v.message||"Failed to upload image"),v}finally{a(g,!1)}}async function Z(o){a(g,!0);try{const U=(Array.isArray(e.contentValue)?e.contentValue:[]).filter(r=>r!==o);await Le({_node:e.node.id,_block:e.block.id,value:U}),await Be({imageId:o}),await W("app:nodes"),I.success("Image removed")}catch(v){console.error("Image delete error:",v),I.error("Failed to remove image")}finally{a(g,!1)}}async function Te(o){a(g,!0);try{await Le({_node:e.node.id,_block:e.block.id,value:o}),await W("app:nodes"),I.success("Images reordered")}catch(v){console.error("Image reorder error:",v),I.error("Failed to reorder images")}finally{a(g,!1)}}var se=Dt(),Fe=s(se);{var je=o=>{var v=Lt(),U=s(v);{let r=_(()=>M()?.url||null);ot(U,{get src(){return t(r)},onchange:Se,get disabled(){return t(g)}})}i(v),b(o,v)},Ae=o=>{var v=_e(),U=ie(v);{var r=T=>{var k=qt(),w=s(k);st(w,{get images(){return P()},onupload:ve,ondelete:Z,onreorder:Te,get disabled(){return t(g)}}),i(k),b(T,k)},c=T=>{var k=_e(),w=ie(k);{var A=V=>{var B=Rt(),te=ie(B),J=s(te);{var ae=X=>{qe(X,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}`},size:"32",placeholder:"Enter text",onblur:$,get disabled(){return t(g)},get value(){return t(f)},set value(ne){a(f,ne,!0)}})},p=X=>{var ne=_e(),Re=ie(ne);{var x=l=>{pe(l,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}`},placeholder:"Enter paragraph",onblur:$,get disabled(){return t(g)},get value(){return t(f)},set value(u){a(f,u,!0)}})},n=l=>{var u=_e(),m=ie(u);{var E=F=>{qe(F,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}`},size:"32",type:"number",placeholder:"Enter number",onblur:$,get disabled(){return t(g)},get value(){return t(f)},set value(le){a(f,le,!0)}})},j=F=>{var le=_e(),Ce=ie(le);{var ye=ue=>{var ge=Ft(),oe=s(ge);Je(oe,17,()=>t(C),Ee,(Ie,we,Oe)=>{var Me=St(),Pe=s(Me);qe(Pe,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}-${Oe}`},size:"32",placeholder:`List item ${Oe+1}`,get value(){return t(we)},oninput:Ne=>G(Oe,Ne.target.value),onblur:S,get disabled(){return t(g)}});var We=d(Pe,2);K(We,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>H(Oe),get disabled(){return t(g)}}),i(Me),b(Ie,Me)});var he=d(oe,2);K(he,{label:"+ Add Item",intent:"secondary",size:"24",type:"button",onclick:ce,get disabled(){return t(g)}}),i(ge),b(ue,ge)},De=ue=>{var ge=_e(),oe=ie(ge);{var he=Ie=>{var we=Vt(),Oe=s(we);Je(Oe,17,()=>t(h),Ee,(Pe,We,Ne)=>{var Ke=At(),Qe=s(Ke),et=s(Qe);et.textContent=Ne+1;var ct=d(et,2);K(ct,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>L(Ne),get disabled(){return t(g)}}),i(Qe);var tt=d(Qe,2),at=s(tt);{let Xe=_(()=>t(We)?.title||"");qe(at,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}-${Ne}-title`},size:"32",placeholder:"Title",get value(){return t(Xe)},oninput:Ye=>O(Ne,"title",Ye.target.value),onblur:S,get disabled(){return t(g)}})}var vt=d(at,2);{let Xe=_(()=>t(We)?.text||"");pe(vt,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}-${Ne}-text`},placeholder:"Text",get value(){return t(Xe)},oninput:Ye=>O(Ne,"text",Ye.target.value),onblur:S,get disabled(){return t(g)}})}i(tt),i(Ke),b(Pe,Ke)});var Me=d(Oe,2);K(Me,{label:"+ Add Item",intent:"secondary",size:"24",type:"button",onclick:y,get disabled(){return t(g)}}),i(we),b(Ie,we)};N(oe,Ie=>{e.block.content_type==="titled_list"&&Ie(he)},!0)}b(ue,ge)};N(Ce,ue=>{e.block.content_type==="text_list"?ue(ye):ue(De,!1)},!0)}b(F,le)};N(m,F=>{e.block.content_type==="number"?F(E):F(j,!1)},!0)}b(l,u)};N(Re,l=>{e.block.content_type==="paragraph"?l(x):l(n,!1)},!0)}b(X,ne)};N(J,X=>{e.block.content_type==="text"?X(ae):X(p,!1)})}i(te);var Ve=d(te,2);K(Ve,{label:"D",intent:"danger",size:"24",type:"button",onclick:de,get disabled(){return t(g)}}),b(V,B)},Q=V=>{K(V,{label:"Create Content",intent:"secondary",size:"24",type:"button",onclick:ee,get disabled(){return t(g)}})};N(w,V=>{t(R)?V(A):V(Q,!1)},!0)}b(T,k)};N(U,T=>{e.block.content_type==="image_list"?T(r):T(c,!1)},!0)}b(o,v)};N(Fe,o=>{e.block.content_type==="image"?o(je):o(Ae,!1)})}i(se),b(fe,se),Ge()}var Ut=z('<div class="previewText svelte-1j6lbxz"> </div>'),Bt=z('<div class="createRelationForm svelte-1j6lbxz"><!> <div class="formRow svelte-1j6lbxz"><div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Relation Type</label> <!></div></div> <div class="formRow svelte-1j6lbxz"><div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Collection</label> <!></div> <div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Node Type</label> <!></div> <div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Target Node</label> <!></div></div> <div class="formActions svelte-1j6lbxz"><!> <!></div></div>'),Jt=z('<div class="relationItem svelte-1j6lbxz"><span class="relationText svelte-1j6lbxz"><span class="nodeCode svelte-1j6lbxz"> </span> <span class="relationCode svelte-1j6lbxz"> </span> <a class="nodeLink svelte-1j6lbxz"> </a></span> <!></div>'),Et=z('<div class="relationsList svelte-1j6lbxz"></div>'),Mt=z('<div class="emptyState svelte-1j6lbxz">No outgoing relations</div>'),Pt=z('<div class="previewText svelte-1j6lbxz"> </div>'),Wt=z('<div class="createRelationForm svelte-1j6lbxz"><!> <div class="formRow svelte-1j6lbxz"><div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Relation Type</label> <!></div></div> <div class="formRow svelte-1j6lbxz"><div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Collection</label> <!></div> <div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Node Type</label> <!></div> <div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Source Node</label> <!></div></div> <div class="formActions svelte-1j6lbxz"><!> <!></div></div>'),Ht=z('<div class="relationItem svelte-1j6lbxz"><span class="relationText svelte-1j6lbxz"><span class="nodeCode svelte-1j6lbxz"> </span> <span class="relationCode svelte-1j6lbxz"> </span> <a class="nodeLink svelte-1j6lbxz"> </a></span> <!></div>'),Gt=z('<div class="relationsList svelte-1j6lbxz"></div>'),Kt=z('<div class="emptyState svelte-1j6lbxz">No incoming relations</div>'),Qt=z('<div class="relationsWrapper svelte-1j6lbxz"><div class="sectionHeader svelte-1j6lbxz"><div class="sectionTitle svelte-1j6lbxz">Outgoing Relations</div> <!></div> <!> <!> <div class="sectionHeader svelte-1j6lbxz"><div class="sectionTitle svelte-1j6lbxz">Incoming Relations</div> <!></div> <!> <!></div>');function Xt(fe,e){He(e,!0);let M=q(!1),P=q(!1),f=q(!1),g=q(""),R=q(Y(e.data.collection.id)),C=q("ALL"),h=q(""),D=q(Y([]));$e(()=>{t(M)&&t(R)&&S()});async function S(){try{const r=await bt({collectionId:t(R),nodeType:t(C)==="ALL"?null:t(C),excludeNodeId:e.node.id});a(D,r,!0),a(h,"")}catch(r){console.error("Failed to load nodes:",r),I.error("Failed to load nodes")}}function $(){a(M,!0),a(P,!1),a(g,""),a(R,e.data.collection.id,!0),a(C,"ALL"),a(h,""),a(D,[],!0),S()}function ee(){a(M,!0),a(P,!0),a(g,""),a(R,e.data.collection.id,!0),a(C,"ALL"),a(h,""),a(D,[],!0),S()}function de(){a(M,!1),a(P,!1),a(g,""),a(R,e.data.collection.id,!0),a(C,"ALL"),a(h,""),a(D,[],!0)}async function ce(){if(!t(g)||!t(h)){I.error("Please select a relation type and target node");return}a(f,!0);try{const r=t(P)?t(h):e.node.id,c=t(P)?e.node.id:t(h);await yt({_node_relation_type:t(g),_from:r,_to:c}),await W("app:nodes"),I.success("Relation created"),de()}catch(r){console.error("Create relation error:",r),I.error("Failed to create relation")}finally{a(f,!1)}}async function H(r){if(confirm("Delete this relation?")){a(f,!0);try{await ht({id:r}),await W("app:nodes"),I.success("Relation deleted")}catch(c){console.error("Delete relation error:",c),I.error("Failed to delete relation")}finally{a(f,!1)}}}let G=_(()=>e.data.relationTypes||[]),y=_(()=>{const r=t(G).find(T=>T.id===t(g)),c=t(D).find(T=>T.id===t(h));return!r||!c?"":t(P)?`${c.code} - ${r.code} -> ${e.node.code}`:`${e.node.code} - ${r.code} -> ${c.code}`});var L=Qt(),O=s(L),ke=d(s(O),2);{let r=_(()=>t(f)||t(M));K(ke,{label:"+ Add Relation",intent:"secondary",size:"24",type:"button",onclick:$,get disabled(){return t(r)}})}i(O);var be=d(O,2);{var Se=r=>{var c=Bt(),T=s(c);{var k=x=>{var n=Ut(),l=s(n,!0);i(n),ze(()=>re(l,t(y))),b(x,n)};N(T,x=>{t(y)&&x(k)})}var w=d(T,2),A=s(w),Q=d(s(A),2);{let x=_(()=>t(G).map(n=>({value:n.id,label:n.code})));me(Q,{size:"24",get options(){return t(x)},get disabled(){return t(f)},get value(){return t(g)},set value(n){a(g,n,!0)}})}i(A),i(w);var V=d(w,2),B=s(V),te=d(s(B),2);{let x=_(()=>e.data.collections?.map(n=>({value:n.id,label:n.code}))||[]);me(te,{size:"24",onchange:S,get options(){return t(x)},get disabled(){return t(f)},get value(){return t(R)},set value(n){a(R,n,!0)}})}i(B);var J=d(B,2),ae=d(s(J),2);{let x=_(()=>[{value:"ALL",label:"ALL"},...e.data.nodeTypes?.map(n=>({value:n.id,label:n.code}))||[]]);me(ae,{size:"24",onchange:S,get options(){return t(x)},get disabled(){return t(f)},get value(){return t(C)},set value(n){a(C,n,!0)}})}i(J);var p=d(J,2),Ve=d(s(p),2);{let x=_(()=>t(D).map(l=>({value:l.id,label:l.code}))),n=_(()=>t(f)||t(D).length===0);me(Ve,{size:"24",get options(){return t(x)},get disabled(){return t(n)},get value(){return t(h)},set value(l){a(h,l,!0)}})}i(p),i(V);var X=d(V,2),ne=s(X);{let x=_(()=>t(f)||!t(g)||!t(h));K(ne,{label:"Create",intent:"primary",size:"24",type:"button",onclick:ce,get disabled(){return t(x)}})}var Re=d(ne,2);K(Re,{label:"Cancel",intent:"secondary",size:"24",type:"button",onclick:de,get disabled(){return t(f)}}),i(X),i(c),b(r,c)};N(be,r=>{t(M)&&!t(P)&&r(Se)})}var ve=d(be,2);{var Z=r=>{var c=Et();Je(c,21,()=>e.outgoingRelations,Ee,(T,k)=>{var w=Jt(),A=s(w),Q=s(A),V=s(Q,!0);i(Q);var B=d(Q,2),te=s(B,!0);i(B);var J=d(B,2),ae=s(J,!0);i(J),i(A);var p=d(A,2);K(p,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>H(t(k).id),get disabled(){return t(f)}}),i(w),ze(()=>{re(V,e.node.code||e.node.title?.[e.data.languageId]||"unknown"),re(te,t(k).relation_type_title?.[e.data.languageId]||t(k).relation_type_code),it(J,"href",`/finder/${e.data.languageId??""}/${t(k).to_node_collection??""}/nodes/${t(k).to_node_path??""}`),re(ae,t(k).to_node_code)}),b(T,w)}),i(c),b(r,c)},Te=r=>{var c=_e(),T=ie(c);{var k=w=>{var A=Mt();b(w,A)};N(T,w=>{(!t(M)||t(P))&&w(k)},!0)}b(r,c)};N(ve,r=>{e.outgoingRelations&&e.outgoingRelations.length>0?r(Z):r(Te,!1)})}var se=d(ve,2),Fe=d(s(se),2);{let r=_(()=>t(f)||t(M));K(Fe,{label:"+ Add Relation",intent:"secondary",size:"24",type:"button",onclick:ee,get disabled(){return t(r)}})}i(se);var je=d(se,2);{var Ae=r=>{var c=Wt(),T=s(c);{var k=x=>{var n=Pt(),l=s(n,!0);i(n),ze(()=>re(l,t(y))),b(x,n)};N(T,x=>{t(y)&&x(k)})}var w=d(T,2),A=s(w),Q=d(s(A),2);{let x=_(()=>t(G).map(n=>({value:n.id,label:n.code})));me(Q,{size:"24",get options(){return t(x)},get disabled(){return t(f)},get value(){return t(g)},set value(n){a(g,n,!0)}})}i(A),i(w);var V=d(w,2),B=s(V),te=d(s(B),2);{let x=_(()=>e.data.collections?.map(n=>({value:n.id,label:n.code}))||[]);me(te,{size:"24",onchange:S,get options(){return t(x)},get disabled(){return t(f)},get value(){return t(R)},set value(n){a(R,n,!0)}})}i(B);var J=d(B,2),ae=d(s(J),2);{let x=_(()=>[{value:"ALL",label:"ALL"},...e.data.nodeTypes?.map(n=>({value:n.id,label:n.code}))||[]]);me(ae,{size:"24",onchange:S,get options(){return t(x)},get disabled(){return t(f)},get value(){return t(C)},set value(n){a(C,n,!0)}})}i(J);var p=d(J,2),Ve=d(s(p),2);{let x=_(()=>t(D).map(l=>({value:l.id,label:l.code}))),n=_(()=>t(f)||t(D).length===0);me(Ve,{size:"24",get options(){return t(x)},get disabled(){return t(n)},get value(){return t(h)},set value(l){a(h,l,!0)}})}i(p),i(V);var X=d(V,2),ne=s(X);{let x=_(()=>t(f)||!t(g)||!t(h));K(ne,{label:"Create",intent:"primary",size:"24",type:"button",onclick:ce,get disabled(){return t(x)}})}var Re=d(ne,2);K(Re,{label:"Cancel",intent:"secondary",size:"24",type:"button",onclick:de,get disabled(){return t(f)}}),i(X),i(c),b(r,c)};N(je,r=>{t(M)&&t(P)&&r(Ae)})}var o=d(je,2);{var v=r=>{var c=Gt();Je(c,21,()=>e.incomingRelations,Ee,(T,k)=>{var w=Ht(),A=s(w),Q=s(A),V=s(Q,!0);i(Q);var B=d(Q,2),te=s(B,!0);i(B);var J=d(B,2),ae=s(J,!0);i(J),i(A);var p=d(A,2);K(p,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>H(t(k).id),get disabled(){return t(f)}}),i(w),ze(()=>{re(V,e.node.code||e.node.title?.[e.data.languageId]||"unknown"),re(te,t(k).relation_type_title?.[e.data.languageId]||t(k).relation_type_code),it(J,"href",`/finder/${e.data.languageId??""}/${t(k).from_node_collection??""}/nodes/${t(k).from_node_path??""}`),re(ae,t(k).from_node_code)}),b(T,w)}),i(c),b(r,c)},U=r=>{var c=_e(),T=ie(c);{var k=w=>{var A=Kt();b(w,A)};N(T,w=>{(!t(M)||!t(P))&&w(k)},!0)}b(r,c)};N(o,r=>{e.incomingRelations&&e.incomingRelations.length>0?r(v):r(U,!1)})}i(L),b(fe,L),Ge()}var Yt=z('<div class="nestedBlocks svelte-7qq7s7"></div>'),Zt=z('<div class="metaRow svelte-7qq7s7"><!> <!></div>'),pt=z('<div class="coverImageWrapper svelte-7qq7s7"><!></div>'),$t=z('<hr class="svelte-7qq7s7"/> <div class="sectionHeader svelte-7qq7s7"><div class="sectionTitle svelte-7qq7s7">Blocks and Content</div> <!></div> <div class="blocksList svelte-7qq7s7"></div>',1),ea=z('<div class="rightArea svelte-7qq7s7"><div class="header svelte-7qq7s7"><h2 class="title svelte-7qq7s7">Edit Node</h2> <!></div> <div class="editor svelte-7qq7s7"><!> <!> <!> <div class="row svelte-7qq7s7"><!> <!></div> <div class="imagesRow svelte-7qq7s7"><!> <!></div> <hr class="svelte-7qq7s7"/> <!> <div class="row svelte-7qq7s7"><!> <!></div> <!> <!> <hr class="svelte-7qq7s7"/> <!></div></div>');function ta(fe,e){He(e,!0);const M=()=>mt(ft,"$page",P),[P,f]=gt(),g=(n,l=ut)=>{{const u=ye=>{var De=_e(),ue=ie(De);{var ge=oe=>{{let he=_(()=>l().content_type==="number"||l().content_type==="image"||l().content_type==="image_list"?l().content?.value??(l().content_type==="image_list"?[]:""):l().content?.value?.[e.data.languageId]||""),Ie=_(()=>l().content_type==="image"?e.data.contentImageUrls?.[l().id]:null),we=_(()=>l().content_type==="image_list"?e.data.contentImageUrls?.[l().id]||[]:[]);Ot(oe,{get data(){return e.data},get block(){return l()},get node(){return e.node},get contentValue(){return t(he)},get contentImageUrl(){return t(Ie)},get contentImages(){return t(we)}})}};N(ue,oe=>{l().content_type&&oe(ge)})}b(ye,De)},m=ye=>{var De=_e(),ue=ie(De);{var ge=oe=>{var he=Yt();Je(he,21,()=>l().children,Ee,(Ie,we)=>{g(Ie,()=>t(we))}),i(he),b(oe,he)};N(ue,oe=>{l().children&&l().children.length>0&&oe(ge)})}b(ye,De)};let E=_(()=>l().code||l().notes||`Block ${l().id}`),j=_(()=>l().title?.[e.data.languageId]||""),F=_(()=>l().hint?.[e.data.languageId]||""),le=_(()=>l().content_type||""),Ce=_(()=>l().content?.id);Nt(n,{get code(){return t(E)},get title(){return t(j)},get hint(){return t(F)},get contentType(){return t(le)},get contentId(){return t(Ce)},contentForm:u,children:m})}};let R=q(Y(e.node?.code||"")),C=q(Y(e.node?.notes||"")),h=q(Y(e.node?._node_type||"")),D=q(Y(e.node?._template||"")),S=q(Y(e.node?._cover_image||null)),$=q(Y(e.data.coverImageUrl||null)),ee=q(!1),de=q(!1),ce=q(!1),H=q(Y({...e.node?.title||{}})),G=q(Y({...e.node?.subtitle||{}})),y=q(Y({...e.node?.slug||{}})),L=_(()=>{const n={};for(const l of e.data.languages){const u=t(H)[l]?.trim(),m=t(y)[l]?.trim();n[l]=u&&m?"success":"danger"}return n}),O=q(Y(e.node?.id));$e(()=>{e.node?.id!==t(O)&&(a(O,e.node?.id,!0),a(R,e.node?.code||"",!0),a(C,e.node?.notes||"",!0),a(h,e.node?._node_type||"",!0),a(D,e.node?._template||"",!0),a(S,e.node?._cover_image||null,!0),a($,e.data.coverImageUrl||null,!0),a(H,{...e.node?.title||{}},!0),a(G,{...e.node?.subtitle||{}},!0),a(y,{...e.node?.slug||{}},!0))});async function ke(n){if(e.node)if(n){a(ce,!0);try{const l=await n.arrayBuffer(),u=btoa(new Uint8Array(l).reduce((j,F)=>j+String.fromCharCode(F),"")),m=await fetch("/api/images/upload-json",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({base64Data:u,fileName:n.name,mimeType:n.type,nodeId:e.node.id})});if(!m.ok)throw new Error(await m.text()||"Upload failed");const E=await m.json();if(t(S))try{await Be({imageId:t(S)})}catch{}a(S,E.image.id,!0),await Ue({id:e.node.id,_cover_image:E.image.id}),await W("app:nodes"),I.success("Cover image uploaded")}catch(l){console.error("Upload error:",l),I.error("Failed to upload image")}finally{a(ce,!1)}}else{if(!t(S))return;a(ee,!0);try{const l=t(S);a(S,null),a($,null),await Ue({id:e.node.id,_cover_image:null}),await Be({imageId:l}),await W("app:nodes"),I.success("Cover image deleted")}catch(l){console.error("Delete error:",l),I.error("Failed to delete image"),a(S,e.node._cover_image||null,!0),a($,e.data.coverImageUrl||null,!0)}finally{a(ee,!1)}}}async function be(n){if(e.node)try{const l=await n.arrayBuffer(),u=btoa(new Uint8Array(l).reduce((Ce,ye)=>Ce+String.fromCharCode(ye),"")),m=await fetch("/api/images/upload-json",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({base64Data:u,fileName:n.name,mimeType:n.type,nodeId:e.node.id})});if(!m.ok){const Ce=await m.json().catch(()=>({})),ye=Ce.message||Ce.body?.message||"Upload failed";throw new Error(ye)}const j=(await m.json()).image,le=[...e.node._images||[],j.id];await Ue({id:e.node.id,_images:le}),await W("app:nodes"),I.success("Image added")}catch(l){throw console.error("Gallery upload error:",l),I.error(l.message||"Failed to upload image"),l}}async function Se(n){if(!e.node)return;const u=(e.node._images||[]).filter(m=>m!==n);await Ue({id:e.node.id,_images:u}),await Be({imageId:n}),await W("app:nodes"),I.success("Image removed")}async function ve(n){e.node&&(await Ue({id:e.node.id,_images:n}),await W("app:nodes"),I.success("Images reordered"))}async function Z(){if(!e.node)return;const n=t(R).trim(),l=t(C).trim()||null,u=t(h),m=t(D)||null;if(n!==(e.node.code||"")||l!==e.node.notes||u!==e.node._node_type||m!==e.node._template||JSON.stringify(t(H))!==JSON.stringify(e.node.title||{})||JSON.stringify(t(G))!==JSON.stringify(e.node.subtitle||{})||JSON.stringify(t(y))!==JSON.stringify(e.node.slug||{})){a(ee,!0);try{const j={id:e.node.id,code:n||null,notes:l,_node_type:u,_template:m};JSON.stringify(t(H))!==JSON.stringify(e.node.title||{})&&(j.title=t(H)),JSON.stringify(t(G))!==JSON.stringify(e.node.subtitle||{})&&(j.subtitle=t(G)),JSON.stringify(t(y))!==JSON.stringify(e.node.slug||{})&&(j.slug=t(y));const F=await Ue(j);F&&a(y,{...F.slug||{}},!0),await W("app:nodes"),I.success("Saved")}catch(j){console.error("Save error:",j),I.error("Failed to save"),a(R,e.node.code||"",!0),a(C,e.node.notes||"",!0),a(h,e.node._node_type||"",!0),a(D,e.node._template||"",!0),a(H,{...e.node?.title||{}},!0),a(G,{...e.node?.subtitle||{}},!0),a(y,{...e.node?.slug||{}},!0)}finally{a(ee,!1)}}}async function Te(){if(e.node&&confirm("Delete this node? This will delete all child nodes.")){a(de,!0);try{await It({id:e.node.id}),await W("app:nodes"),await Ze(`/finder/${e.data.languageId}/${e.data.collection.id}/nodes`),I.success("Deleted")}catch{I.error("Failed to delete")}finally{a(de,!1)}}}function se(n,l){if(!n||n.length===0)return[];const u=new Map;l&&l.forEach(j=>{u.set(j._block,j)});const m=new Map,E=[];return n.forEach(j=>{const F=u.get(j.id);m.set(j.id,{...j,children:[],content:F})}),n.forEach(j=>{const F=m.get(j.id);if(j._parent===null)E.push(F);else{const le=m.get(j._parent);le&&le.children.push(F)}}),E}let Fe=_(()=>se(e.data.blocks,e.data.contents));var je=ea(),Ae=s(je),o=d(s(Ae),2);{let n=_(()=>t(de)||t(ee));K(o,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:Te,get disabled(){return t(n)}})}i(Ae);var v=d(Ae,2),U=s(v);{var r=n=>{var l=Zt(),u=s(l);{let E=_(()=>String(e.node?.id??""));lt(u,{label:"id",get text(){return t(E)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}var m=d(u,2);{let E=_(()=>String(e.node?.sort??""));lt(m,{label:"sort",get text(){return t(E)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}i(l),b(n,l)};N(U,n=>{dt.value&&n(r)})}var c=d(U,2);xe(c,{label:"Code",children:l=>{qe(l,{id:"node-code",size:"32",placeholder:"Node code",variant:"accent",onblur:Z,get value(){return t(R)},set value(u){a(R,u,!0)}})},$$slots:{default:!0}});var T=d(c,2);{var k=n=>{xe(n,{label:"Notes",children:u=>{pe(u,{id:"node-notes",placeholder:"Description (optional)",variant:"accent",onblur:Z,get value(){return t(C)},set value(m){a(C,m,!0)}})},$$slots:{default:!0}})};N(T,n=>{dt.value&&n(k)})}var w=d(T,2),A=s(w);xe(A,{label:"Node Type",children:l=>{{let u=_(()=>e.data.nodeTypes?.map(m=>({value:m.id,label:m.code}))||[]);me(l,{size:"32",onchange:Z,get options(){return t(u)},get value(){return t(h)},set value(m){a(h,m,!0)}})}},$$slots:{default:!0}});var Q=d(A,2);xe(Q,{label:"Template",children:l=>{{let u=_(()=>[{value:"",label:"None"},...e.data.templates?.map(m=>({value:m.id,label:m.code||m.notes||`Template ${m.id}`}))||[]]);me(l,{size:"32",onchange:Z,get options(){return t(u)},get value(){return t(D)},set value(m){a(D,m,!0)}})}},$$slots:{default:!0}}),i(w);var V=d(w,2),B=s(V);xe(B,{label:"Cover",children:l=>{var u=pt(),m=s(u);{let E=_(()=>t(ee)||t(ce));ot(m,{get src(){return t($)},onchange:ke,get disabled(){return t(E)}})}i(u),b(l,u)},$$slots:{default:!0}});var te=d(B,2);xe(te,{label:"Gallery",children:l=>{{let u=_(()=>e.data.galleryImages||[]);st(l,{get images(){return t(u)},onupload:be,ondelete:Se,onreorder:ve,get disabled(){return t(ee)}})}},$$slots:{default:!0}}),i(V);var J=d(V,4);_t(J,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},get intents(){return t(L)},onclick:n=>{const u=M().url.pathname.replace(/^(\/finder)\/[^\/]+/,`$1/${n}`);Ze(u)}});var ae=d(J,2),p=s(ae);xe(p,{label:"Title",children:l=>{{let u=_(()=>t(H)[e.data.languageId]||"");qe(l,{get id(){return`node-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return t(u)},oninput:m=>{a(H,{...t(H),[e.data.languageId]:m.target.value},!0)},onblur:Z})}},$$slots:{default:!0}});var Ve=d(p,2);xe(Ve,{label:"Slug",children:l=>{{let u=_(()=>t(y)[e.data.languageId]||"");qe(l,{get id(){return`node-slug-${e.data.languageId??""}`},size:"32",get placeholder(){return`Slug in ${e.data.languageId??""}`},get value(){return t(u)},oninput:m=>{a(y,{...t(y),[e.data.languageId]:m.target.value},!0)},onblur:Z})}},$$slots:{default:!0}}),i(ae);var X=d(ae,2);xe(X,{label:"Subtitle",children:l=>{{let u=_(()=>t(G)[e.data.languageId]||"");qe(l,{get id(){return`node-subtitle-${e.data.languageId??""}`},size:"32",get placeholder(){return`Subtitle in ${e.data.languageId??""}`},get value(){return t(u)},oninput:m=>{a(G,{...t(G),[e.data.languageId]:m.target.value},!0)},onblur:Z})}},$$slots:{default:!0}});var ne=d(X,2);{var Re=n=>{var l=$t(),u=d(ie(l),2),m=d(s(u),2);{var E=F=>{K(F,{label:"View Template",intent:"secondary",size:"24",type:"button",onclick:()=>Ze(`/finder/${e.data.languageId}/${e.data.collection.id}/templates/${e.node._template}`)})};N(m,F=>{e.node._template&&F(E)})}i(u);var j=d(u,2);Je(j,21,()=>t(Fe),Ee,(F,le)=>{g(F,()=>t(le))}),i(j),b(n,l)};N(ne,n=>{t(Fe)&&t(Fe).length>0&&n(Re)})}var x=d(ne,4);{let n=_(()=>e.data.outgoingRelations||[]),l=_(()=>e.data.incomingRelations||[]);Xt(x,{get data(){return e.data},get node(){return e.node},get outgoingRelations(){return t(n)},get incomingRelations(){return t(l)}})}i(v),i(je),b(fe,je),Ge(),f()}function wa(fe,e){He(e,!0),ta(fe,{get data(){return e.data},get node(){return e.data.node}}),Ge()}export{wa as component};
1
+ import"../chunks/DsnmJJEf.js";import{c as s,r as i,s as d,t as ze,f as ie,p as He,l as q,m as Y,d as $e,i as t,n as a,a as Ge,as as _,U as ut}from"../chunks/DxOICouY.js";import{a as b,f as z,c as _e}from"../chunks/wJchKVuM.js";import{i as N}from"../chunks/D-cCrPs3.js";import{e as Je,i as Ee}from"../chunks/B3_urjHi.js";import{s as gt,a as mt}from"../chunks/BxCyPBAb.js";import{b as ot,M as st,B as K,I as qe,a as pe,D as me,L as _t}from"../chunks/DkUXkvWJ.js";import{s as re}from"../chunks/C9d66xaq.js";import{s as nt}from"../chunks/CPRTIG4n.js";import"../chunks/BRMV3Vlh.js";import{F as xe}from"../chunks/CPH_RY3i.js";import{L as lt}from"../chunks/BW3w2llh.js";import{n as I}from"../chunks/CW7HXIjc.js";import{i as W,g as Ze}from"../chunks/NDhU74_a.js";import{p as ft}from"../chunks/BNXambdK.js";import{o as Be,p as Le,q as bt,s as yt,t as ht,v as It,w as Ue}from"../chunks/CGpagYzn.js";import{p as rt}from"../chunks/ZB_SX0IH.js";import{s as it}from"../chunks/BJBqRQv9.js";import{d as dt}from"../chunks/DJQBWlDy.js";var wt=z('<span class="separator svelte-5v5m9l">|</span> <span class="label svelte-5v5m9l">content id:</span> <span class="sid svelte-5v5m9l"> </span>',1),xt=z('<span class="contentType svelte-5v5m9l"><span class="type svelte-5v5m9l"> </span> <!></span>'),zt=z('<div class="title svelte-5v5m9l"> </div>'),kt=z('<div class="contentForm svelte-5v5m9l"><!></div>'),Tt=z('<div class="childrenSlot svelte-5v5m9l"><!></div>'),jt=z('<div class="hint svelte-5v5m9l"> </div>'),Ct=z('<div class="blockPreview svelte-5v5m9l"><div class="header svelte-5v5m9l"><span class="code svelte-5v5m9l"> </span> <!></div> <div class="content svelte-5v5m9l"><!> <!> <!> <!></div></div>');function Nt(fe,e){var M=Ct(),P=s(M),f=s(P),g=s(f,!0);i(f);var R=d(f,2);{var C=y=>{var L=xt(),O=s(L),ke=s(O,!0);i(O);var be=d(O,2);{var Se=ve=>{var Z=wt(),Te=d(ie(Z),4),se=s(Te,!0);i(Te),ze(()=>re(se,e.contentId)),b(ve,Z)};N(be,ve=>{e.contentId&&ve(Se)})}i(L),ze(()=>re(ke,e.contentType)),b(y,L)};N(R,y=>{e.contentType&&y(C)})}i(P);var h=d(P,2),D=s(h);{var S=y=>{var L=zt(),O=s(L,!0);i(L),ze(()=>re(O,e.title)),b(y,L)};N(D,y=>{e.title&&y(S)})}var $=d(D,2);{var ee=y=>{var L=kt(),O=s(L);nt(O,()=>e.contentForm),i(L),b(y,L)};N($,y=>{e.contentForm&&y(ee)})}var de=d($,2);{var ce=y=>{var L=Tt(),O=s(L);nt(O,()=>e.children),i(L),b(y,L)};N(de,y=>{e.children&&y(ce)})}var H=d(de,2);{var G=y=>{var L=jt(),O=s(L,!0);i(L),ze(()=>re(O,e.hint)),b(y,L)};N(H,y=>{e.hint&&y(G)})}i(h),i(M),ze(()=>re(g,e.code)),b(fe,M)}var Lt=z('<div class="imageWrapper svelte-1cupviq"><!></div>'),qt=z('<div class="imageListWrapper svelte-1cupviq"><!></div>'),St=z('<div class="listItemRow svelte-1cupviq"><!> <!></div>'),Ft=z('<div class="textListWrapper svelte-1cupviq"><!> <!></div>'),At=z('<div class="titledListItemCard svelte-1cupviq"><div class="titledListItemHeader svelte-1cupviq"><span class="itemNumber svelte-1cupviq"></span> <!></div> <div class="titledListItemFields svelte-1cupviq"><!> <!></div></div>'),Vt=z('<div class="titledListWrapper svelte-1cupviq"><!> <!></div>'),Rt=z('<div class="inputWrapper svelte-1cupviq"><!></div> <!>',1),Dt=z('<div class="contentFormWrapper svelte-1cupviq"><!></div>');function Ot(fe,e){He(e,!0);let M=rt(e,"contentImageUrl",3,null),P=rt(e,"contentImages",19,()=>[]),f=q(Y(e.contentValue||"")),g=q(!1),R=_(()=>e.block.content?.id!=null),C=q(Y(e.block.content_type==="text_list"&&Array.isArray(e.contentValue)?[...e.contentValue]:[])),h=q(Y(e.block.content_type==="titled_list"&&Array.isArray(e.contentValue)?[...e.contentValue]:[])),D=q(`${e.block.id}-${e.node.id}-${e.data.languageId}`);$e(()=>{const o=`${e.block.id}-${e.node.id}-${e.data.languageId}`;o!==t(D)&&(a(D,o),e.block.content_type==="text_list"?a(C,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):e.block.content_type==="titled_list"?a(h,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):a(f,e.contentValue||"",!0))});async function S(){a(g,!0);try{let o,v;if(e.block.content_type==="number"){const r=String(t(f)||"").trim();o=r===""?null:parseFloat(r),v=o!==null?"Saved":"Deleted"}else if(e.block.content_type==="text_list"){const r=t(C).filter(c=>c&&c.trim()).map(c=>c.trim());o={...e.block.content?.value||{},[e.data.languageId]:r.length>0?r:[]},v=r.length>0?"Saved":"Deleted"}else if(e.block.content_type==="titled_list"){const r=t(h).filter(c=>c?.title?.trim()||c?.text?.trim()).map(c=>({title:c?.title?.trim()||"",text:c?.text?.trim()||""}));o={...e.block.content?.value||{},[e.data.languageId]:r.length>0?r:[]},v=r.length>0?"Saved":"Deleted"}else{const r=(t(f)||"").trim();o={...e.block.content?.value||{},[e.data.languageId]:r},v=r?"Saved":"Deleted"}const U={_node:e.node.id,_block:e.block.id,value:o};await Le(U),await W("app:nodes"),I.success(v)}catch(o){console.error("Save error:",o),I.error("Failed to save"),e.block.content_type==="text_list"?a(C,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):e.block.content_type==="titled_list"?a(h,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):a(f,e.contentValue||"",!0)}finally{a(g,!1)}}async function $(){if(e.block.content_type==="number"){const o=t(f)===""?null:parseFloat(t(f)),v=e.contentValue===""||e.contentValue==null?null:parseFloat(e.contentValue);if(o===v)return}else{const o=(t(f)||"").trim(),v=(e.contentValue||"").trim();if(o===v)return}await S()}async function ee(){if(!t(R)){a(g,!0);try{const o={_node:e.node.id,_block:e.block.id,value:e.block.content_type==="number"?null:{},forceCreate:!0};await Le(o),await W("app:nodes"),I.success("Content created");const v=`content-${e.block.id}-${e.data.languageId}`;setTimeout(()=>{document.getElementById(v)?.focus()},50)}catch(o){console.error("Create error:",o),I.error("Failed to create")}finally{a(g,!1)}}}async function de(){if(t(R)&&confirm("Delete this entire content row (all languages)?")){a(g,!0);try{const o={_node:e.node.id,_block:e.block.id,value:e.block.content_type==="number"?null:{}};await Le(o),await W("app:nodes"),a(f,""),a(C,[],!0),a(h,[],!0),I.success("Deleted")}catch(o){console.error("Delete error:",o),I.error("Failed to delete")}finally{a(g,!1)}}}function ce(){a(C,[...t(C),""],!0)}function H(o){a(C,t(C).filter((v,U)=>U!==o),!0),S()}function G(o,v){t(C)[o]=v}function y(){a(h,[...t(h),{title:"",text:""}],!0)}function L(o){a(h,t(h).filter((v,U)=>U!==o),!0),S()}function O(o,v,U){t(h)[o]={...t(h)[o],[v]:U}}async function ke(o){const v=await o.arrayBuffer(),U=btoa(new Uint8Array(v).reduce((c,T)=>c+String.fromCharCode(T),"")),r=await fetch("/api/images/upload-json",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({base64Data:U,fileName:o.name,mimeType:o.type,nodeId:e.node.id})});if(!r.ok){const c=await r.json().catch(()=>({}));throw new Error(c.message||c.body?.message||"Upload failed")}return r.json()}function be(o){return typeof o=="string"&&o.length>0&&!o.startsWith("{")}async function Se(o){if(!o){a(g,!0);try{be(e.contentValue)&&await Be({imageId:e.contentValue}),await Le({_node:e.node.id,_block:e.block.id,value:null}),await W("app:nodes"),I.success("Image removed")}catch(v){console.error("Image delete error:",v),I.error("Failed to remove image")}finally{a(g,!1)}return}a(g,!0);try{be(e.contentValue)&&await Be({imageId:e.contentValue});const v=await ke(o);await Le({_node:e.node.id,_block:e.block.id,value:v.image.id}),await W("app:nodes"),I.success("Image updated")}catch(v){console.error("Image upload error:",v),I.error(v.message||"Failed to upload image")}finally{a(g,!1)}}async function ve(o){a(g,!0);try{const v=await ke(o),r=[...Array.isArray(e.contentValue)?e.contentValue:[],v.image.id];await Le({_node:e.node.id,_block:e.block.id,value:r}),await W("app:nodes"),I.success("Image added")}catch(v){throw console.error("Image upload error:",v),I.error(v.message||"Failed to upload image"),v}finally{a(g,!1)}}async function Z(o){a(g,!0);try{const U=(Array.isArray(e.contentValue)?e.contentValue:[]).filter(r=>r!==o);await Le({_node:e.node.id,_block:e.block.id,value:U}),await Be({imageId:o}),await W("app:nodes"),I.success("Image removed")}catch(v){console.error("Image delete error:",v),I.error("Failed to remove image")}finally{a(g,!1)}}async function Te(o){a(g,!0);try{await Le({_node:e.node.id,_block:e.block.id,value:o}),await W("app:nodes"),I.success("Images reordered")}catch(v){console.error("Image reorder error:",v),I.error("Failed to reorder images")}finally{a(g,!1)}}var se=Dt(),Fe=s(se);{var je=o=>{var v=Lt(),U=s(v);{let r=_(()=>M()?.url||null);ot(U,{get src(){return t(r)},onchange:Se,get disabled(){return t(g)}})}i(v),b(o,v)},Ae=o=>{var v=_e(),U=ie(v);{var r=T=>{var k=qt(),w=s(k);st(w,{get images(){return P()},onupload:ve,ondelete:Z,onreorder:Te,get disabled(){return t(g)}}),i(k),b(T,k)},c=T=>{var k=_e(),w=ie(k);{var A=V=>{var B=Rt(),te=ie(B),J=s(te);{var ae=X=>{qe(X,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}`},size:"32",placeholder:"Enter text",onblur:$,get disabled(){return t(g)},get value(){return t(f)},set value(ne){a(f,ne,!0)}})},p=X=>{var ne=_e(),Re=ie(ne);{var x=l=>{pe(l,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}`},placeholder:"Enter paragraph",onblur:$,get disabled(){return t(g)},get value(){return t(f)},set value(u){a(f,u,!0)}})},n=l=>{var u=_e(),m=ie(u);{var E=F=>{qe(F,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}`},size:"32",type:"number",placeholder:"Enter number",onblur:$,get disabled(){return t(g)},get value(){return t(f)},set value(le){a(f,le,!0)}})},j=F=>{var le=_e(),Ce=ie(le);{var ye=ue=>{var ge=Ft(),oe=s(ge);Je(oe,17,()=>t(C),Ee,(Ie,we,Oe)=>{var Me=St(),Pe=s(Me);qe(Pe,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}-${Oe}`},size:"32",placeholder:`List item ${Oe+1}`,get value(){return t(we)},oninput:Ne=>G(Oe,Ne.target.value),onblur:S,get disabled(){return t(g)}});var We=d(Pe,2);K(We,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>H(Oe),get disabled(){return t(g)}}),i(Me),b(Ie,Me)});var he=d(oe,2);K(he,{label:"+ Add Item",intent:"secondary",size:"24",type:"button",onclick:ce,get disabled(){return t(g)}}),i(ge),b(ue,ge)},De=ue=>{var ge=_e(),oe=ie(ge);{var he=Ie=>{var we=Vt(),Oe=s(we);Je(Oe,17,()=>t(h),Ee,(Pe,We,Ne)=>{var Ke=At(),Qe=s(Ke),et=s(Qe);et.textContent=Ne+1;var ct=d(et,2);K(ct,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>L(Ne),get disabled(){return t(g)}}),i(Qe);var tt=d(Qe,2),at=s(tt);{let Xe=_(()=>t(We)?.title||"");qe(at,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}-${Ne}-title`},size:"32",placeholder:"Title",get value(){return t(Xe)},oninput:Ye=>O(Ne,"title",Ye.target.value),onblur:S,get disabled(){return t(g)}})}var vt=d(at,2);{let Xe=_(()=>t(We)?.text||"");pe(vt,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}-${Ne}-text`},placeholder:"Text",get value(){return t(Xe)},oninput:Ye=>O(Ne,"text",Ye.target.value),onblur:S,get disabled(){return t(g)}})}i(tt),i(Ke),b(Pe,Ke)});var Me=d(Oe,2);K(Me,{label:"+ Add Item",intent:"secondary",size:"24",type:"button",onclick:y,get disabled(){return t(g)}}),i(we),b(Ie,we)};N(oe,Ie=>{e.block.content_type==="titled_list"&&Ie(he)},!0)}b(ue,ge)};N(Ce,ue=>{e.block.content_type==="text_list"?ue(ye):ue(De,!1)},!0)}b(F,le)};N(m,F=>{e.block.content_type==="number"?F(E):F(j,!1)},!0)}b(l,u)};N(Re,l=>{e.block.content_type==="paragraph"?l(x):l(n,!1)},!0)}b(X,ne)};N(J,X=>{e.block.content_type==="text"?X(ae):X(p,!1)})}i(te);var Ve=d(te,2);K(Ve,{label:"D",intent:"danger",size:"24",type:"button",onclick:de,get disabled(){return t(g)}}),b(V,B)},Q=V=>{K(V,{label:"Create Content",intent:"secondary",size:"24",type:"button",onclick:ee,get disabled(){return t(g)}})};N(w,V=>{t(R)?V(A):V(Q,!1)},!0)}b(T,k)};N(U,T=>{e.block.content_type==="image_list"?T(r):T(c,!1)},!0)}b(o,v)};N(Fe,o=>{e.block.content_type==="image"?o(je):o(Ae,!1)})}i(se),b(fe,se),Ge()}var Ut=z('<div class="previewText svelte-1j6lbxz"> </div>'),Bt=z('<div class="createRelationForm svelte-1j6lbxz"><!> <div class="formRow svelte-1j6lbxz"><div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Relation Type</label> <!></div></div> <div class="formRow svelte-1j6lbxz"><div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Collection</label> <!></div> <div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Node Type</label> <!></div> <div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Target Node</label> <!></div></div> <div class="formActions svelte-1j6lbxz"><!> <!></div></div>'),Jt=z('<div class="relationItem svelte-1j6lbxz"><span class="relationText svelte-1j6lbxz"><span class="nodeCode svelte-1j6lbxz"> </span> <span class="relationCode svelte-1j6lbxz"> </span> <a class="nodeLink svelte-1j6lbxz"> </a></span> <!></div>'),Et=z('<div class="relationsList svelte-1j6lbxz"></div>'),Mt=z('<div class="emptyState svelte-1j6lbxz">No outgoing relations</div>'),Pt=z('<div class="previewText svelte-1j6lbxz"> </div>'),Wt=z('<div class="createRelationForm svelte-1j6lbxz"><!> <div class="formRow svelte-1j6lbxz"><div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Relation Type</label> <!></div></div> <div class="formRow svelte-1j6lbxz"><div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Collection</label> <!></div> <div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Node Type</label> <!></div> <div class="formField svelte-1j6lbxz"><label class="label svelte-1j6lbxz">Source Node</label> <!></div></div> <div class="formActions svelte-1j6lbxz"><!> <!></div></div>'),Ht=z('<div class="relationItem svelte-1j6lbxz"><span class="relationText svelte-1j6lbxz"><span class="nodeCode svelte-1j6lbxz"> </span> <span class="relationCode svelte-1j6lbxz"> </span> <a class="nodeLink svelte-1j6lbxz"> </a></span> <!></div>'),Gt=z('<div class="relationsList svelte-1j6lbxz"></div>'),Kt=z('<div class="emptyState svelte-1j6lbxz">No incoming relations</div>'),Qt=z('<div class="relationsWrapper svelte-1j6lbxz"><div class="sectionHeader svelte-1j6lbxz"><div class="sectionTitle svelte-1j6lbxz">Outgoing Relations</div> <!></div> <!> <!> <div class="sectionHeader svelte-1j6lbxz"><div class="sectionTitle svelte-1j6lbxz">Incoming Relations</div> <!></div> <!> <!></div>');function Xt(fe,e){He(e,!0);let M=q(!1),P=q(!1),f=q(!1),g=q(""),R=q(Y(e.data.collection.id)),C=q("ALL"),h=q(""),D=q(Y([]));$e(()=>{t(M)&&t(R)&&S()});async function S(){try{const r=await bt({collectionId:t(R),nodeType:t(C)==="ALL"?null:t(C),excludeNodeId:e.node.id});a(D,r,!0),a(h,"")}catch(r){console.error("Failed to load nodes:",r),I.error("Failed to load nodes")}}function $(){a(M,!0),a(P,!1),a(g,""),a(R,e.data.collection.id,!0),a(C,"ALL"),a(h,""),a(D,[],!0),S()}function ee(){a(M,!0),a(P,!0),a(g,""),a(R,e.data.collection.id,!0),a(C,"ALL"),a(h,""),a(D,[],!0),S()}function de(){a(M,!1),a(P,!1),a(g,""),a(R,e.data.collection.id,!0),a(C,"ALL"),a(h,""),a(D,[],!0)}async function ce(){if(!t(g)||!t(h)){I.error("Please select a relation type and target node");return}a(f,!0);try{const r=t(P)?t(h):e.node.id,c=t(P)?e.node.id:t(h);await yt({_node_relation_type:t(g),_from:r,_to:c}),await W("app:nodes"),I.success("Relation created"),de()}catch(r){console.error("Create relation error:",r),I.error("Failed to create relation")}finally{a(f,!1)}}async function H(r){if(confirm("Delete this relation?")){a(f,!0);try{await ht({id:r}),await W("app:nodes"),I.success("Relation deleted")}catch(c){console.error("Delete relation error:",c),I.error("Failed to delete relation")}finally{a(f,!1)}}}let G=_(()=>e.data.relationTypes||[]),y=_(()=>{const r=t(G).find(T=>T.id===t(g)),c=t(D).find(T=>T.id===t(h));return!r||!c?"":t(P)?`${c.code} - ${r.code} -> ${e.node.code}`:`${e.node.code} - ${r.code} -> ${c.code}`});var L=Qt(),O=s(L),ke=d(s(O),2);{let r=_(()=>t(f)||t(M));K(ke,{label:"+ Add Relation",intent:"secondary",size:"24",type:"button",onclick:$,get disabled(){return t(r)}})}i(O);var be=d(O,2);{var Se=r=>{var c=Bt(),T=s(c);{var k=x=>{var n=Ut(),l=s(n,!0);i(n),ze(()=>re(l,t(y))),b(x,n)};N(T,x=>{t(y)&&x(k)})}var w=d(T,2),A=s(w),Q=d(s(A),2);{let x=_(()=>t(G).map(n=>({value:n.id,label:n.code})));me(Q,{size:"24",get options(){return t(x)},get disabled(){return t(f)},get value(){return t(g)},set value(n){a(g,n,!0)}})}i(A),i(w);var V=d(w,2),B=s(V),te=d(s(B),2);{let x=_(()=>e.data.collections?.map(n=>({value:n.id,label:n.code}))||[]);me(te,{size:"24",onchange:S,get options(){return t(x)},get disabled(){return t(f)},get value(){return t(R)},set value(n){a(R,n,!0)}})}i(B);var J=d(B,2),ae=d(s(J),2);{let x=_(()=>[{value:"ALL",label:"ALL"},...e.data.nodeTypes?.map(n=>({value:n.id,label:n.code}))||[]]);me(ae,{size:"24",onchange:S,get options(){return t(x)},get disabled(){return t(f)},get value(){return t(C)},set value(n){a(C,n,!0)}})}i(J);var p=d(J,2),Ve=d(s(p),2);{let x=_(()=>t(D).map(l=>({value:l.id,label:l.code}))),n=_(()=>t(f)||t(D).length===0);me(Ve,{size:"24",get options(){return t(x)},get disabled(){return t(n)},get value(){return t(h)},set value(l){a(h,l,!0)}})}i(p),i(V);var X=d(V,2),ne=s(X);{let x=_(()=>t(f)||!t(g)||!t(h));K(ne,{label:"Create",intent:"primary",size:"24",type:"button",onclick:ce,get disabled(){return t(x)}})}var Re=d(ne,2);K(Re,{label:"Cancel",intent:"secondary",size:"24",type:"button",onclick:de,get disabled(){return t(f)}}),i(X),i(c),b(r,c)};N(be,r=>{t(M)&&!t(P)&&r(Se)})}var ve=d(be,2);{var Z=r=>{var c=Et();Je(c,21,()=>e.outgoingRelations,Ee,(T,k)=>{var w=Jt(),A=s(w),Q=s(A),V=s(Q,!0);i(Q);var B=d(Q,2),te=s(B,!0);i(B);var J=d(B,2),ae=s(J,!0);i(J),i(A);var p=d(A,2);K(p,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>H(t(k).id),get disabled(){return t(f)}}),i(w),ze(()=>{re(V,e.node.code||e.node.title?.[e.data.languageId]||"unknown"),re(te,t(k).relation_type_title?.[e.data.languageId]||t(k).relation_type_code),it(J,"href",`/finder/${e.data.languageId??""}/${t(k).to_node_collection??""}/nodes/${t(k).to_node_path??""}`),re(ae,t(k).to_node_code)}),b(T,w)}),i(c),b(r,c)},Te=r=>{var c=_e(),T=ie(c);{var k=w=>{var A=Mt();b(w,A)};N(T,w=>{(!t(M)||t(P))&&w(k)},!0)}b(r,c)};N(ve,r=>{e.outgoingRelations&&e.outgoingRelations.length>0?r(Z):r(Te,!1)})}var se=d(ve,2),Fe=d(s(se),2);{let r=_(()=>t(f)||t(M));K(Fe,{label:"+ Add Relation",intent:"secondary",size:"24",type:"button",onclick:ee,get disabled(){return t(r)}})}i(se);var je=d(se,2);{var Ae=r=>{var c=Wt(),T=s(c);{var k=x=>{var n=Pt(),l=s(n,!0);i(n),ze(()=>re(l,t(y))),b(x,n)};N(T,x=>{t(y)&&x(k)})}var w=d(T,2),A=s(w),Q=d(s(A),2);{let x=_(()=>t(G).map(n=>({value:n.id,label:n.code})));me(Q,{size:"24",get options(){return t(x)},get disabled(){return t(f)},get value(){return t(g)},set value(n){a(g,n,!0)}})}i(A),i(w);var V=d(w,2),B=s(V),te=d(s(B),2);{let x=_(()=>e.data.collections?.map(n=>({value:n.id,label:n.code}))||[]);me(te,{size:"24",onchange:S,get options(){return t(x)},get disabled(){return t(f)},get value(){return t(R)},set value(n){a(R,n,!0)}})}i(B);var J=d(B,2),ae=d(s(J),2);{let x=_(()=>[{value:"ALL",label:"ALL"},...e.data.nodeTypes?.map(n=>({value:n.id,label:n.code}))||[]]);me(ae,{size:"24",onchange:S,get options(){return t(x)},get disabled(){return t(f)},get value(){return t(C)},set value(n){a(C,n,!0)}})}i(J);var p=d(J,2),Ve=d(s(p),2);{let x=_(()=>t(D).map(l=>({value:l.id,label:l.code}))),n=_(()=>t(f)||t(D).length===0);me(Ve,{size:"24",get options(){return t(x)},get disabled(){return t(n)},get value(){return t(h)},set value(l){a(h,l,!0)}})}i(p),i(V);var X=d(V,2),ne=s(X);{let x=_(()=>t(f)||!t(g)||!t(h));K(ne,{label:"Create",intent:"primary",size:"24",type:"button",onclick:ce,get disabled(){return t(x)}})}var Re=d(ne,2);K(Re,{label:"Cancel",intent:"secondary",size:"24",type:"button",onclick:de,get disabled(){return t(f)}}),i(X),i(c),b(r,c)};N(je,r=>{t(M)&&t(P)&&r(Ae)})}var o=d(je,2);{var v=r=>{var c=Gt();Je(c,21,()=>e.incomingRelations,Ee,(T,k)=>{var w=Ht(),A=s(w),Q=s(A),V=s(Q,!0);i(Q);var B=d(Q,2),te=s(B,!0);i(B);var J=d(B,2),ae=s(J,!0);i(J),i(A);var p=d(A,2);K(p,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>H(t(k).id),get disabled(){return t(f)}}),i(w),ze(()=>{re(V,e.node.code||e.node.title?.[e.data.languageId]||"unknown"),re(te,t(k).relation_type_title?.[e.data.languageId]||t(k).relation_type_code),it(J,"href",`/finder/${e.data.languageId??""}/${t(k).from_node_collection??""}/nodes/${t(k).from_node_path??""}`),re(ae,t(k).from_node_code)}),b(T,w)}),i(c),b(r,c)},U=r=>{var c=_e(),T=ie(c);{var k=w=>{var A=Kt();b(w,A)};N(T,w=>{(!t(M)||!t(P))&&w(k)},!0)}b(r,c)};N(o,r=>{e.incomingRelations&&e.incomingRelations.length>0?r(v):r(U,!1)})}i(L),b(fe,L),Ge()}var Yt=z('<div class="nestedBlocks svelte-7qq7s7"></div>'),Zt=z('<div class="metaRow svelte-7qq7s7"><!> <!></div>'),pt=z('<div class="coverImageWrapper svelte-7qq7s7"><!></div>'),$t=z('<hr class="svelte-7qq7s7"/> <div class="sectionHeader svelte-7qq7s7"><div class="sectionTitle svelte-7qq7s7">Blocks and Content</div> <!></div> <div class="blocksList svelte-7qq7s7"></div>',1),ea=z('<div class="rightArea svelte-7qq7s7"><div class="header svelte-7qq7s7"><h2 class="title svelte-7qq7s7">Edit Node</h2> <!></div> <div class="editor svelte-7qq7s7"><!> <!> <!> <div class="row svelte-7qq7s7"><!> <!></div> <div class="imagesRow svelte-7qq7s7"><!> <!></div> <hr class="svelte-7qq7s7"/> <!> <div class="row svelte-7qq7s7"><!> <!></div> <!> <!> <hr class="svelte-7qq7s7"/> <!></div></div>');function ta(fe,e){He(e,!0);const M=()=>mt(ft,"$page",P),[P,f]=gt(),g=(n,l=ut)=>{{const u=ye=>{var De=_e(),ue=ie(De);{var ge=oe=>{{let he=_(()=>l().content_type==="number"||l().content_type==="image"||l().content_type==="image_list"?l().content?.value??(l().content_type==="image_list"?[]:""):l().content?.value?.[e.data.languageId]||""),Ie=_(()=>l().content_type==="image"?e.data.contentImageUrls?.[l().id]:null),we=_(()=>l().content_type==="image_list"?e.data.contentImageUrls?.[l().id]||[]:[]);Ot(oe,{get data(){return e.data},get block(){return l()},get node(){return e.node},get contentValue(){return t(he)},get contentImageUrl(){return t(Ie)},get contentImages(){return t(we)}})}};N(ue,oe=>{l().content_type&&oe(ge)})}b(ye,De)},m=ye=>{var De=_e(),ue=ie(De);{var ge=oe=>{var he=Yt();Je(he,21,()=>l().children,Ee,(Ie,we)=>{g(Ie,()=>t(we))}),i(he),b(oe,he)};N(ue,oe=>{l().children&&l().children.length>0&&oe(ge)})}b(ye,De)};let E=_(()=>l().code||l().notes||`Block ${l().id}`),j=_(()=>l().title?.[e.data.languageId]||""),F=_(()=>l().hint?.[e.data.languageId]||""),le=_(()=>l().content_type||""),Ce=_(()=>l().content?.id);Nt(n,{get code(){return t(E)},get title(){return t(j)},get hint(){return t(F)},get contentType(){return t(le)},get contentId(){return t(Ce)},contentForm:u,children:m})}};let R=q(Y(e.node?.code||"")),C=q(Y(e.node?.notes||"")),h=q(Y(e.node?._node_type||"")),D=q(Y(e.node?._template||"")),S=q(Y(e.node?._cover_image||null)),$=q(Y(e.data.coverImageUrl||null)),ee=q(!1),de=q(!1),ce=q(!1),H=q(Y({...e.node?.title||{}})),G=q(Y({...e.node?.subtitle||{}})),y=q(Y({...e.node?.slug||{}})),L=_(()=>{const n={};for(const l of e.data.languages){const u=t(H)[l]?.trim(),m=t(y)[l]?.trim();n[l]=u&&m?"success":"danger"}return n}),O=q(Y(e.node?.id));$e(()=>{e.node?.id!==t(O)&&(a(O,e.node?.id,!0),a(R,e.node?.code||"",!0),a(C,e.node?.notes||"",!0),a(h,e.node?._node_type||"",!0),a(D,e.node?._template||"",!0),a(S,e.node?._cover_image||null,!0),a($,e.data.coverImageUrl||null,!0),a(H,{...e.node?.title||{}},!0),a(G,{...e.node?.subtitle||{}},!0),a(y,{...e.node?.slug||{}},!0))});async function ke(n){if(e.node)if(n){a(ce,!0);try{const l=await n.arrayBuffer(),u=btoa(new Uint8Array(l).reduce((j,F)=>j+String.fromCharCode(F),"")),m=await fetch("/api/images/upload-json",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({base64Data:u,fileName:n.name,mimeType:n.type,nodeId:e.node.id})});if(!m.ok)throw new Error(await m.text()||"Upload failed");const E=await m.json();if(t(S))try{await Be({imageId:t(S)})}catch{}a(S,E.image.id,!0),await Ue({id:e.node.id,_cover_image:E.image.id}),await W("app:nodes"),I.success("Cover image uploaded")}catch(l){console.error("Upload error:",l),I.error("Failed to upload image")}finally{a(ce,!1)}}else{if(!t(S))return;a(ee,!0);try{const l=t(S);a(S,null),a($,null),await Ue({id:e.node.id,_cover_image:null}),await Be({imageId:l}),await W("app:nodes"),I.success("Cover image deleted")}catch(l){console.error("Delete error:",l),I.error("Failed to delete image"),a(S,e.node._cover_image||null,!0),a($,e.data.coverImageUrl||null,!0)}finally{a(ee,!1)}}}async function be(n){if(e.node)try{const l=await n.arrayBuffer(),u=btoa(new Uint8Array(l).reduce((Ce,ye)=>Ce+String.fromCharCode(ye),"")),m=await fetch("/api/images/upload-json",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({base64Data:u,fileName:n.name,mimeType:n.type,nodeId:e.node.id})});if(!m.ok){const Ce=await m.json().catch(()=>({})),ye=Ce.message||Ce.body?.message||"Upload failed";throw new Error(ye)}const j=(await m.json()).image,le=[...e.node._images||[],j.id];await Ue({id:e.node.id,_images:le}),await W("app:nodes"),I.success("Image added")}catch(l){throw console.error("Gallery upload error:",l),I.error(l.message||"Failed to upload image"),l}}async function Se(n){if(!e.node)return;const u=(e.node._images||[]).filter(m=>m!==n);await Ue({id:e.node.id,_images:u}),await Be({imageId:n}),await W("app:nodes"),I.success("Image removed")}async function ve(n){e.node&&(await Ue({id:e.node.id,_images:n}),await W("app:nodes"),I.success("Images reordered"))}async function Z(){if(!e.node)return;const n=t(R).trim(),l=t(C).trim()||null,u=t(h),m=t(D)||null;if(n!==(e.node.code||"")||l!==e.node.notes||u!==e.node._node_type||m!==e.node._template||JSON.stringify(t(H))!==JSON.stringify(e.node.title||{})||JSON.stringify(t(G))!==JSON.stringify(e.node.subtitle||{})||JSON.stringify(t(y))!==JSON.stringify(e.node.slug||{})){a(ee,!0);try{const j={id:e.node.id,code:n||null,notes:l,_node_type:u,_template:m};JSON.stringify(t(H))!==JSON.stringify(e.node.title||{})&&(j.title=t(H)),JSON.stringify(t(G))!==JSON.stringify(e.node.subtitle||{})&&(j.subtitle=t(G)),JSON.stringify(t(y))!==JSON.stringify(e.node.slug||{})&&(j.slug=t(y));const F=await Ue(j);F&&a(y,{...F.slug||{}},!0),await W("app:nodes"),I.success("Saved")}catch(j){console.error("Save error:",j),I.error("Failed to save"),a(R,e.node.code||"",!0),a(C,e.node.notes||"",!0),a(h,e.node._node_type||"",!0),a(D,e.node._template||"",!0),a(H,{...e.node?.title||{}},!0),a(G,{...e.node?.subtitle||{}},!0),a(y,{...e.node?.slug||{}},!0)}finally{a(ee,!1)}}}async function Te(){if(e.node&&confirm("Delete this node? This will delete all child nodes.")){a(de,!0);try{await It({id:e.node.id}),await W("app:nodes"),await Ze(`/finder/${e.data.languageId}/${e.data.collection.id}/nodes`),I.success("Deleted")}catch{I.error("Failed to delete")}finally{a(de,!1)}}}function se(n,l){if(!n||n.length===0)return[];const u=new Map;l&&l.forEach(j=>{u.set(j._block,j)});const m=new Map,E=[];return n.forEach(j=>{const F=u.get(j.id);m.set(j.id,{...j,children:[],content:F})}),n.forEach(j=>{const F=m.get(j.id);if(j._parent===null)E.push(F);else{const le=m.get(j._parent);le&&le.children.push(F)}}),E}let Fe=_(()=>se(e.data.blocks,e.data.contents));var je=ea(),Ae=s(je),o=d(s(Ae),2);{let n=_(()=>t(de)||t(ee));K(o,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:Te,get disabled(){return t(n)}})}i(Ae);var v=d(Ae,2),U=s(v);{var r=n=>{var l=Zt(),u=s(l);{let E=_(()=>String(e.node?.id??""));lt(u,{label:"id",get text(){return t(E)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}var m=d(u,2);{let E=_(()=>String(e.node?.sort??""));lt(m,{label:"sort",get text(){return t(E)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}i(l),b(n,l)};N(U,n=>{dt.value&&n(r)})}var c=d(U,2);xe(c,{label:"Code",children:l=>{qe(l,{id:"node-code",size:"32",placeholder:"Node code",variant:"accent",onblur:Z,get value(){return t(R)},set value(u){a(R,u,!0)}})},$$slots:{default:!0}});var T=d(c,2);{var k=n=>{xe(n,{label:"Notes",children:u=>{pe(u,{id:"node-notes",placeholder:"Description (optional)",variant:"accent",onblur:Z,get value(){return t(C)},set value(m){a(C,m,!0)}})},$$slots:{default:!0}})};N(T,n=>{dt.value&&n(k)})}var w=d(T,2),A=s(w);xe(A,{label:"Node Type",children:l=>{{let u=_(()=>e.data.nodeTypes?.map(m=>({value:m.id,label:m.code}))||[]);me(l,{size:"32",onchange:Z,get options(){return t(u)},get value(){return t(h)},set value(m){a(h,m,!0)}})}},$$slots:{default:!0}});var Q=d(A,2);xe(Q,{label:"Template",children:l=>{{let u=_(()=>[{value:"",label:"None"},...e.data.templates?.map(m=>({value:m.id,label:m.code||m.notes||`Template ${m.id}`}))||[]]);me(l,{size:"32",onchange:Z,get options(){return t(u)},get value(){return t(D)},set value(m){a(D,m,!0)}})}},$$slots:{default:!0}}),i(w);var V=d(w,2),B=s(V);xe(B,{label:"Cover",children:l=>{var u=pt(),m=s(u);{let E=_(()=>t(ee)||t(ce));ot(m,{get src(){return t($)},onchange:ke,get disabled(){return t(E)}})}i(u),b(l,u)},$$slots:{default:!0}});var te=d(B,2);xe(te,{label:"Gallery",children:l=>{{let u=_(()=>e.data.galleryImages||[]);st(l,{get images(){return t(u)},onupload:be,ondelete:Se,onreorder:ve,get disabled(){return t(ee)}})}},$$slots:{default:!0}}),i(V);var J=d(V,4);_t(J,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},get intents(){return t(L)},onclick:n=>{const u=M().url.pathname.replace(/^(\/finder)\/[^\/]+/,`$1/${n}`);Ze(u)}});var ae=d(J,2),p=s(ae);xe(p,{label:"Title",children:l=>{{let u=_(()=>t(H)[e.data.languageId]||"");qe(l,{get id(){return`node-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return t(u)},oninput:m=>{a(H,{...t(H),[e.data.languageId]:m.target.value},!0)},onblur:Z})}},$$slots:{default:!0}});var Ve=d(p,2);xe(Ve,{label:"Slug",children:l=>{{let u=_(()=>t(y)[e.data.languageId]||"");qe(l,{get id(){return`node-slug-${e.data.languageId??""}`},size:"32",get placeholder(){return`Slug in ${e.data.languageId??""}`},get value(){return t(u)},oninput:m=>{a(y,{...t(y),[e.data.languageId]:m.target.value},!0)},onblur:Z})}},$$slots:{default:!0}}),i(ae);var X=d(ae,2);xe(X,{label:"Subtitle",children:l=>{{let u=_(()=>t(G)[e.data.languageId]||"");qe(l,{get id(){return`node-subtitle-${e.data.languageId??""}`},size:"32",get placeholder(){return`Subtitle in ${e.data.languageId??""}`},get value(){return t(u)},oninput:m=>{a(G,{...t(G),[e.data.languageId]:m.target.value},!0)},onblur:Z})}},$$slots:{default:!0}});var ne=d(X,2);{var Re=n=>{var l=$t(),u=d(ie(l),2),m=d(s(u),2);{var E=F=>{K(F,{label:"View Template",intent:"secondary",size:"24",type:"button",onclick:()=>Ze(`/finder/${e.data.languageId}/${e.data.collection.id}/templates/${e.node._template}`)})};N(m,F=>{e.node._template&&F(E)})}i(u);var j=d(u,2);Je(j,21,()=>t(Fe),Ee,(F,le)=>{g(F,()=>t(le))}),i(j),b(n,l)};N(ne,n=>{t(Fe)&&t(Fe).length>0&&n(Re)})}var x=d(ne,4);{let n=_(()=>e.data.outgoingRelations||[]),l=_(()=>e.data.incomingRelations||[]);Xt(x,{get data(){return e.data},get node(){return e.node},get outgoingRelations(){return t(n)},get incomingRelations(){return t(l)}})}i(v),i(je),b(fe,je),Ge(),f()}function wa(fe,e){He(e,!0),ta(fe,{get data(){return e.data},get node(){return e.data.node}}),Ge()}export{wa as component};
@@ -0,0 +1 @@
1
+ import"../chunks/DsnmJJEf.js";import{R as a}from"../chunks/I992cpR6.js";function m(o,t){a(o,{get data(){return t.data}})}export{m as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as x,l as d,m as y,d as j,i as t,n as a,a as B,s as u,as as I,c as N,r as S}from"../chunks/DxOICouY.js";import{a as G,f as K}from"../chunks/wJchKVuM.js";import{s as M,a as Q}from"../chunks/BxCyPBAb.js";import{B as U,L as V,I as R,a as W}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{F as f}from"../chunks/CPH_RY3i.js";import{n as T}from"../chunks/CW7HXIjc.js";import{i as z,g as C}from"../chunks/C-WiO1yA.js";import{p as X}from"../chunks/CIFpcI83.js";import{g as Y,h as Z}from"../chunks/B4fr5apD.js";var $=K('<div class="rightArea svelte-ql949r"><div class="header svelte-ql949r"><h2 class="title svelte-ql949r">Edit Relation Type</h2> <!></div> <div class="editor svelte-ql949r"><!> <!> <hr class="svelte-ql949r"/> <!> <!> <!></div></div>');function ee(m,e){x(e,!0);const L=()=>Q(X,"$page",P),[P,k]=M();let c=d(y(e.relationType?.code||"")),n=d(y({...e.relationType?.title||{}})),o=d(y({...e.relationType?.reverse_title||{}})),g=d(y(e.relationType?.notes||"")),h=d(!1),_=d(!1),J=d(y(e.relationType?.id));j(()=>{e.relationType?.id!==t(J)&&(a(J,e.relationType?.id,!0),a(c,e.relationType?.code||"",!0),a(n,{...e.relationType?.title||{}},!0),a(o,{...e.relationType?.reverse_title||{}},!0),a(g,e.relationType?.notes||"",!0))});async function v(){if(!e.relationType)return;const i=t(c).trim(),r=t(g).trim()||null;if(i!==(e.relationType.code||"")||r!==e.relationType.notes||JSON.stringify(t(n))!==JSON.stringify(e.relationType.title||{})||JSON.stringify(t(o))!==JSON.stringify(e.relationType.reverse_title||{})){a(h,!0);try{const s={id:e.relationType.id,code:i||null,notes:r};JSON.stringify(t(n))!==JSON.stringify(e.relationType.title||{})&&(s.title=t(n)),JSON.stringify(t(o))!==JSON.stringify(e.relationType.reverse_title||{})&&(s.reverse_title=t(o)),await Z(s),await z("app:relation-types"),T.success("Saved")}catch{T.error("Failed to save"),a(c,e.relationType.code||"",!0),a(n,{...e.relationType.title||{}},!0),a(o,{...e.relationType.reverse_title||{}},!0),a(g,e.relationType.notes||"",!0)}finally{a(h,!1)}}}async function A(){if(e.relationType&&confirm("Delete this relation type?")){a(_,!0);try{await Y({id:e.relationType.id}),await z("app:relation-types"),await C(`/finder/${e.data.languageId}/${e.data.collection.id}/relation-types`),T.success("Deleted")}catch{T.error("Failed to delete")}finally{a(_,!1)}}}var p=$(),b=N(p),E=u(N(b),2);{let i=I(()=>t(_)||t(h));U(E,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:A,get disabled(){return t(i)}})}S(b);var O=u(b,2),w=N(O);f(w,{label:"Code",children:r=>{R(r,{id:"relation-type-code",size:"32",placeholder:"Relation type code",variant:"accent",onblur:v,get value(){return t(c)},set value(l){a(c,l,!0)}})},$$slots:{default:!0}});var D=u(w,2);f(D,{label:"Notes",children:r=>{W(r,{id:"relation-type-notes",placeholder:"Description (optional)",variant:"accent",onblur:v,get value(){return t(g)},set value(l){a(g,l,!0)}})},$$slots:{default:!0}});var F=u(D,4);V(F,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:i=>{const l=L().url.pathname.replace(/^(\/finder)\/[^\/]+/,`$1/${i}`);C(l)}});var q=u(F,2);f(q,{label:"Title (Forward Direction)",children:r=>{{let l=I(()=>t(n)[e.data.languageId]||"");R(r,{get id(){return`relation-type-title-${e.data.languageId??""}`},size:"32",placeholder:"e.g. Symptom of",get value(){return t(l)},oninput:s=>{a(n,{...t(n),[e.data.languageId]:s.target.value},!0)},onblur:v})}},$$slots:{default:!0}});var H=u(q,2);f(H,{label:"Reverse Title (Reverse Direction)",children:r=>{{let l=I(()=>t(o)[e.data.languageId]||"");R(r,{get id(){return`relation-type-reverse-title-${e.data.languageId??""}`},size:"32",placeholder:"e.g. Has symptoms",get value(){return t(l)},oninput:s=>{a(o,{...t(o),[e.data.languageId]:s.target.value},!0)},onblur:v})}},$$slots:{default:!0}}),S(O),S(p),G(m,p),B(),k()}function ge(m,e){x(e,!0),ee(m,{get data(){return e.data},get relationType(){return e.data.relationType}}),B()}export{ge as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as x,l as d,m as y,d as j,i as t,n as a,a as B,s as u,as as I,c as N,r as S}from"../chunks/DxOICouY.js";import{a as G,f as K}from"../chunks/wJchKVuM.js";import{s as M,a as Q}from"../chunks/BxCyPBAb.js";import{B as U,L as V,I as R,a as W}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{F as f}from"../chunks/CPH_RY3i.js";import{n as T}from"../chunks/CW7HXIjc.js";import{i as z,g as C}from"../chunks/NDhU74_a.js";import{p as X}from"../chunks/BNXambdK.js";import{g as Y,h as Z}from"../chunks/CGpagYzn.js";var $=K('<div class="rightArea svelte-ql949r"><div class="header svelte-ql949r"><h2 class="title svelte-ql949r">Edit Relation Type</h2> <!></div> <div class="editor svelte-ql949r"><!> <!> <hr class="svelte-ql949r"/> <!> <!> <!></div></div>');function ee(m,e){x(e,!0);const L=()=>Q(X,"$page",P),[P,k]=M();let c=d(y(e.relationType?.code||"")),n=d(y({...e.relationType?.title||{}})),o=d(y({...e.relationType?.reverse_title||{}})),g=d(y(e.relationType?.notes||"")),h=d(!1),_=d(!1),J=d(y(e.relationType?.id));j(()=>{e.relationType?.id!==t(J)&&(a(J,e.relationType?.id,!0),a(c,e.relationType?.code||"",!0),a(n,{...e.relationType?.title||{}},!0),a(o,{...e.relationType?.reverse_title||{}},!0),a(g,e.relationType?.notes||"",!0))});async function v(){if(!e.relationType)return;const i=t(c).trim(),r=t(g).trim()||null;if(i!==(e.relationType.code||"")||r!==e.relationType.notes||JSON.stringify(t(n))!==JSON.stringify(e.relationType.title||{})||JSON.stringify(t(o))!==JSON.stringify(e.relationType.reverse_title||{})){a(h,!0);try{const s={id:e.relationType.id,code:i||null,notes:r};JSON.stringify(t(n))!==JSON.stringify(e.relationType.title||{})&&(s.title=t(n)),JSON.stringify(t(o))!==JSON.stringify(e.relationType.reverse_title||{})&&(s.reverse_title=t(o)),await Z(s),await z("app:relation-types"),T.success("Saved")}catch{T.error("Failed to save"),a(c,e.relationType.code||"",!0),a(n,{...e.relationType.title||{}},!0),a(o,{...e.relationType.reverse_title||{}},!0),a(g,e.relationType.notes||"",!0)}finally{a(h,!1)}}}async function A(){if(e.relationType&&confirm("Delete this relation type?")){a(_,!0);try{await Y({id:e.relationType.id}),await z("app:relation-types"),await C(`/finder/${e.data.languageId}/${e.data.collection.id}/relation-types`),T.success("Deleted")}catch{T.error("Failed to delete")}finally{a(_,!1)}}}var p=$(),b=N(p),E=u(N(b),2);{let i=I(()=>t(_)||t(h));U(E,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:A,get disabled(){return t(i)}})}S(b);var O=u(b,2),w=N(O);f(w,{label:"Code",children:r=>{R(r,{id:"relation-type-code",size:"32",placeholder:"Relation type code",variant:"accent",onblur:v,get value(){return t(c)},set value(l){a(c,l,!0)}})},$$slots:{default:!0}});var D=u(w,2);f(D,{label:"Notes",children:r=>{W(r,{id:"relation-type-notes",placeholder:"Description (optional)",variant:"accent",onblur:v,get value(){return t(g)},set value(l){a(g,l,!0)}})},$$slots:{default:!0}});var F=u(D,4);V(F,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:i=>{const l=L().url.pathname.replace(/^(\/finder)\/[^\/]+/,`$1/${i}`);C(l)}});var q=u(F,2);f(q,{label:"Title (Forward Direction)",children:r=>{{let l=I(()=>t(n)[e.data.languageId]||"");R(r,{get id(){return`relation-type-title-${e.data.languageId??""}`},size:"32",placeholder:"e.g. Symptom of",get value(){return t(l)},oninput:s=>{a(n,{...t(n),[e.data.languageId]:s.target.value},!0)},onblur:v})}},$$slots:{default:!0}});var H=u(q,2);f(H,{label:"Reverse Title (Reverse Direction)",children:r=>{{let l=I(()=>t(o)[e.data.languageId]||"");R(r,{get id(){return`relation-type-reverse-title-${e.data.languageId??""}`},size:"32",placeholder:"e.g. Has symptoms",get value(){return t(l)},oninput:s=>{a(o,{...t(o),[e.data.languageId]:s.target.value},!0)},onblur:v})}},$$slots:{default:!0}}),S(O),S(p),G(m,p),B(),k()}function ge(m,e){x(e,!0),ee(m,{get data(){return e.data},get relationType(){return e.data.relationType}}),B()}export{ge as component};
@@ -0,0 +1 @@
1
+ import"../chunks/DsnmJJEf.js";import{R as a}from"../chunks/I992cpR6.js";function m(o,t){a(o,{get data(){return t.data}})}export{m as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as E,ar as F,a as G,c as i,s as x,r as o,i as t,t as C,as as b}from"../chunks/DxOICouY.js";import{d as H,s as B}from"../chunks/C9d66xaq.js";import{s as J}from"../chunks/CPRTIG4n.js";import{e as L,i as I}from"../chunks/B3_urjHi.js";import{a as m,f}from"../chunks/wJchKVuM.js";import{s as K}from"../chunks/BJBqRQv9.js";import{s as P}from"../chunks/DnoJMx4R.js";import{s as M,a as $}from"../chunks/BxCyPBAb.js";import{p as O}from"../chunks/CIFpcI83.js";import{g as p}from"../chunks/C-WiO1yA.js";import{w as Q}from"../chunks/BeCaBqfq.js";var R=f('<button type="button"> </button>'),T=f('<button type="button"> </button>'),V=f('<div class="browser-layout svelte-r3kyve"><div class="browser-topnav svelte-r3kyve"><div class="collections-tabs svelte-r3kyve"></div> <div class="language-switcher svelte-r3kyve"></div></div> <div class="browser-content svelte-r3kyve"><!></div></div>');function nt(A,l){E(l,!0);const N=()=>$(O,"$page",k),_=()=>$(y,"$languageUrlBuilder",k),[k,S]=M(),y=Q(null);F("languageUrlBuilder",y);let u=b(()=>()=>N().url.pathname.split("/").filter(Boolean)[2]||null),j=b(()=>()=>_()?.availableLanguages||l.data.languages);function h(e){return t(j)().includes(e)}function q(e){p(`/browser/${l.data.languageId}/${e}`)}function z(e){if(!h(e))return;const a=_();if(a?.getUrl){const r=a.getUrl(e);if(r){p(r);return}}p(`/browser/${e}`+(t(u)()?`/${t(u)()}`:""))}var v=V(),c=i(v),d=i(c);L(d,21,()=>l.data.collections,I,(e,a)=>{var r=R();let s;r.__click=()=>q(t(a).code);var n=i(r,!0);o(r),C(g=>{s=P(r,1,"collection-tab svelte-r3kyve",null,s,g),B(n,t(a).code)},[()=>({active:t(u)()===t(a).code})]),m(e,r)}),o(d);var w=x(d,2);L(w,21,()=>l.data.languages,I,(e,a)=>{const r=b(()=>h(t(a)));var s=T();let n;s.__click=()=>z(t(a));var g=i(s,!0);o(s),C(()=>{n=P(s,1,"lang-btn svelte-r3kyve",null,n,{active:l.data.languageId===t(a),disabled:!t(r)}),s.disabled=!t(r),K(s,"title",t(r)?`Switch to ${t(a)}`:`Not available in ${t(a)}`),B(g,t(a))}),m(e,s)}),o(w),o(c);var U=x(c,2),D=i(U);J(D,()=>l.children),o(U),o(v),m(A,v),G(),S()}H(["click"]);export{nt as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as E,ar as F,a as G,c as i,s as x,r as o,i as t,t as C,as as b}from"../chunks/DxOICouY.js";import{d as H,s as B}from"../chunks/C9d66xaq.js";import{s as J}from"../chunks/CPRTIG4n.js";import{e as L,i as I}from"../chunks/B3_urjHi.js";import{a as m,f}from"../chunks/wJchKVuM.js";import{s as K}from"../chunks/BJBqRQv9.js";import{s as P}from"../chunks/DnoJMx4R.js";import{s as M,a as $}from"../chunks/BxCyPBAb.js";import{p as O}from"../chunks/BNXambdK.js";import{g as p}from"../chunks/NDhU74_a.js";import{w as Q}from"../chunks/BeCaBqfq.js";var R=f('<button type="button"> </button>'),T=f('<button type="button"> </button>'),V=f('<div class="browser-layout svelte-r3kyve"><div class="browser-topnav svelte-r3kyve"><div class="collections-tabs svelte-r3kyve"></div> <div class="language-switcher svelte-r3kyve"></div></div> <div class="browser-content svelte-r3kyve"><!></div></div>');function nt(A,l){E(l,!0);const N=()=>$(O,"$page",k),_=()=>$(y,"$languageUrlBuilder",k),[k,S]=M(),y=Q(null);F("languageUrlBuilder",y);let u=b(()=>()=>N().url.pathname.split("/").filter(Boolean)[2]||null),j=b(()=>()=>_()?.availableLanguages||l.data.languages);function h(e){return t(j)().includes(e)}function q(e){p(`/browser/${l.data.languageId}/${e}`)}function z(e){if(!h(e))return;const a=_();if(a?.getUrl){const r=a.getUrl(e);if(r){p(r);return}}p(`/browser/${e}`+(t(u)()?`/${t(u)()}`:""))}var v=V(),c=i(v),d=i(c);L(d,21,()=>l.data.collections,I,(e,a)=>{var r=R();let s;r.__click=()=>q(t(a).code);var n=i(r,!0);o(r),C(g=>{s=P(r,1,"collection-tab svelte-r3kyve",null,s,g),B(n,t(a).code)},[()=>({active:t(u)()===t(a).code})]),m(e,r)}),o(d);var w=x(d,2);L(w,21,()=>l.data.languages,I,(e,a)=>{const r=b(()=>h(t(a)));var s=T();let n;s.__click=()=>z(t(a));var g=i(s,!0);o(s),C(()=>{n=P(s,1,"lang-btn svelte-r3kyve",null,n,{active:l.data.languageId===t(a),disabled:!t(r)}),s.disabled=!t(r),K(s,"title",t(r)?`Switch to ${t(a)}`:`Not available in ${t(a)}`),B(g,t(a))}),m(e,s)}),o(w),o(c);var U=x(c,2),D=i(U);J(D,()=>l.children),o(U),o(v),m(A,v),G(),S()}H(["click"]);export{nt as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as B,l as s,m,d as U,i as a,n as l,a as P,s as o,as as I,c as g,r as v}from"../chunks/DxOICouY.js";import{a as D,f as A}from"../chunks/wJchKVuM.js";import{i as L}from"../chunks/D-cCrPs3.js";import{s as V,a as W}from"../chunks/BxCyPBAb.js";import{B as X,L as Y,I as z,a as Z}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{F as x}from"../chunks/CPH_RY3i.js";import{L as $}from"../chunks/BW3w2llh.js";import{n as f}from"../chunks/CW7HXIjc.js";import{i as J,g as O}from"../chunks/C-WiO1yA.js";import{p as ee}from"../chunks/CIFpcI83.js";import{i as te,j as ae}from"../chunks/B4fr5apD.js";import{d as k}from"../chunks/DJQBWlDy.js";var le=A('<div class="row svelte-9cd9jl"><!></div>'),ie=A('<div class="rightArea svelte-9cd9jl"><div class="header svelte-9cd9jl"><h2 class="title svelte-9cd9jl">Edit Template</h2> <!></div> <div class="editor svelte-9cd9jl"><!> <!> <!> <hr class="svelte-9cd9jl"/> <!> <!></div></div>');function re(h,e){B(e,!0);const E=()=>W(ee,"$page",M),[M,q]=V();let u=s(m(e.template?.code||"")),d=s(m({...e.template?.title||{}})),c=s(m(e.template?.notes||"")),p=s(!1),b=s(!1),j=s(m(e.template?.id));U(()=>{e.template?.id!==a(j)&&(l(j,e.template?.id,!0),l(u,e.template?.code||"",!0),l(d,{...e.template?.title||{}},!0),l(c,e.template?.notes||"",!0))});async function _(){if(!e.template)return;const t=a(u).trim(),i=a(c).trim()||null;if(t!==(e.template.code||"")||i!==e.template.notes||JSON.stringify(a(d))!==JSON.stringify(e.template.title||{})){l(p,!0);try{const n={id:e.template.id,code:t||null,notes:i};JSON.stringify(a(d))!==JSON.stringify(e.template.title||{})&&(n.title=a(d)),await ae(n),await J("app:templates"),f.success("Saved")}catch{f.error("Failed to save"),l(u,e.template.code||"",!0),l(d,{...e.template.title||{}},!0),l(c,e.template.notes||"",!0)}finally{l(p,!1)}}}async function G(){if(e.template&&confirm("Delete this template?")){l(b,!0);try{await te({id:e.template.id}),await J("app:templates"),await O(`/finder/${e.data.languageId}/${e.data.collection.id}/templates`),f.success("Deleted")}catch{f.error("Failed to delete")}finally{l(b,!1)}}}var y=ie(),T=g(y),H=o(g(T),2);{let t=I(()=>a(b)||a(p));X(H,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:G,get disabled(){return a(t)}})}v(T);var w=o(T,2),S=g(w);{var K=t=>{var i=le(),r=g(i);{let n=I(()=>String(e.template?.id??""));$(r,{label:"id",get text(){return a(n)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}v(i),D(t,i)};L(S,t=>{k.value&&t(K)})}var C=o(S,2);x(C,{label:"Code",children:i=>{z(i,{id:"template-code",size:"32",placeholder:"Template code",variant:"accent",onblur:_,get value(){return a(u)},set value(r){l(u,r,!0)}})},$$slots:{default:!0}});var F=o(C,2);{var Q=t=>{x(t,{label:"Notes",children:r=>{Z(r,{id:"template-notes",placeholder:"Description (optional)",variant:"accent",onblur:_,get value(){return a(c)},set value(n){l(c,n,!0)}})},$$slots:{default:!0}})};L(F,t=>{k.value&&t(Q)})}var N=o(F,4);Y(N,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:t=>{const r=E().url.pathname.replace(/^(\/finder)\/[^\/]+/,`$1/${t}`);O(r)}});var R=o(N,2);x(R,{label:"Title",children:i=>{{let r=I(()=>a(d)[e.data.languageId]||"");z(i,{get id(){return`template-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return a(r)},oninput:n=>{l(d,{...a(d),[e.data.languageId]:n.target.value},!0)},onblur:_})}},$$slots:{default:!0}}),v(w),v(y),D(h,y),P(),q()}function ye(h,e){B(e,!0),re(h,{get data(){return e.data},get template(){return e.data.template}}),P()}export{ye as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as B,l as s,m,d as U,i as a,n as l,a as P,s as o,as as I,c as g,r as v}from"../chunks/DxOICouY.js";import{a as D,f as A}from"../chunks/wJchKVuM.js";import{i as L}from"../chunks/D-cCrPs3.js";import{s as V,a as W}from"../chunks/BxCyPBAb.js";import{B as X,L as Y,I as z,a as Z}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{F as x}from"../chunks/CPH_RY3i.js";import{L as $}from"../chunks/BW3w2llh.js";import{n as f}from"../chunks/CW7HXIjc.js";import{i as J,g as O}from"../chunks/NDhU74_a.js";import{p as ee}from"../chunks/BNXambdK.js";import{i as te,j as ae}from"../chunks/CGpagYzn.js";import{d as k}from"../chunks/DJQBWlDy.js";var le=A('<div class="row svelte-9cd9jl"><!></div>'),ie=A('<div class="rightArea svelte-9cd9jl"><div class="header svelte-9cd9jl"><h2 class="title svelte-9cd9jl">Edit Template</h2> <!></div> <div class="editor svelte-9cd9jl"><!> <!> <!> <hr class="svelte-9cd9jl"/> <!> <!></div></div>');function re(h,e){B(e,!0);const E=()=>W(ee,"$page",M),[M,q]=V();let u=s(m(e.template?.code||"")),d=s(m({...e.template?.title||{}})),c=s(m(e.template?.notes||"")),p=s(!1),b=s(!1),j=s(m(e.template?.id));U(()=>{e.template?.id!==a(j)&&(l(j,e.template?.id,!0),l(u,e.template?.code||"",!0),l(d,{...e.template?.title||{}},!0),l(c,e.template?.notes||"",!0))});async function _(){if(!e.template)return;const t=a(u).trim(),i=a(c).trim()||null;if(t!==(e.template.code||"")||i!==e.template.notes||JSON.stringify(a(d))!==JSON.stringify(e.template.title||{})){l(p,!0);try{const n={id:e.template.id,code:t||null,notes:i};JSON.stringify(a(d))!==JSON.stringify(e.template.title||{})&&(n.title=a(d)),await ae(n),await J("app:templates"),f.success("Saved")}catch{f.error("Failed to save"),l(u,e.template.code||"",!0),l(d,{...e.template.title||{}},!0),l(c,e.template.notes||"",!0)}finally{l(p,!1)}}}async function G(){if(e.template&&confirm("Delete this template?")){l(b,!0);try{await te({id:e.template.id}),await J("app:templates"),await O(`/finder/${e.data.languageId}/${e.data.collection.id}/templates`),f.success("Deleted")}catch{f.error("Failed to delete")}finally{l(b,!1)}}}var y=ie(),T=g(y),H=o(g(T),2);{let t=I(()=>a(b)||a(p));X(H,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:G,get disabled(){return a(t)}})}v(T);var w=o(T,2),S=g(w);{var K=t=>{var i=le(),r=g(i);{let n=I(()=>String(e.template?.id??""));$(r,{label:"id",get text(){return a(n)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}v(i),D(t,i)};L(S,t=>{k.value&&t(K)})}var C=o(S,2);x(C,{label:"Code",children:i=>{z(i,{id:"template-code",size:"32",placeholder:"Template code",variant:"accent",onblur:_,get value(){return a(u)},set value(r){l(u,r,!0)}})},$$slots:{default:!0}});var F=o(C,2);{var Q=t=>{x(t,{label:"Notes",children:r=>{Z(r,{id:"template-notes",placeholder:"Description (optional)",variant:"accent",onblur:_,get value(){return a(c)},set value(n){l(c,n,!0)}})},$$slots:{default:!0}})};L(F,t=>{k.value&&t(Q)})}var N=o(F,4);Y(N,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:t=>{const r=E().url.pathname.replace(/^(\/finder)\/[^\/]+/,`$1/${t}`);O(r)}});var R=o(N,2);x(R,{label:"Title",children:i=>{{let r=I(()=>a(d)[e.data.languageId]||"");z(i,{get id(){return`template-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return a(r)},oninput:n=>{l(d,{...a(d),[e.data.languageId]:n.target.value},!0)},onblur:_})}},$$slots:{default:!0}}),v(w),v(y),D(h,y),P(),q()}function ye(h,e){B(e,!0),re(h,{get data(){return e.data},get template(){return e.data.template}}),P()}export{ye as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as U,l as s,m as g,d as p,i as t,n as l,a as q,s as d,as as f,c as k,r as m}from"../chunks/DxOICouY.js";import{a as J,f as G}from"../chunks/wJchKVuM.js";import{i as O}from"../chunks/D-cCrPs3.js";import{s as $,a as ee}from"../chunks/BxCyPBAb.js";import{B as te,L as ae,I as P,D as le,a as oe}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{F as _}from"../chunks/CPH_RY3i.js";import{L as A}from"../chunks/BW3w2llh.js";import{n as y}from"../chunks/CW7HXIjc.js";import{i as E,g as M}from"../chunks/C-WiO1yA.js";import{p as ie}from"../chunks/CIFpcI83.js";import{k as re,l as ne}from"../chunks/B4fr5apD.js";import{d as R}from"../chunks/DJQBWlDy.js";var ce=G('<div class="row svelte-ivjt02"><!> <!></div>'),de=G('<div class="rightArea svelte-ivjt02"><div class="header svelte-ivjt02"><h2 class="title svelte-ivjt02">Edit Block</h2> <!></div> <div class="editor svelte-ivjt02"><!> <!> <!> <!> <hr class="svelte-ivjt02"/> <!> <div class="translationRow svelte-ivjt02"><!></div></div></div>');function se(x,e){U(e,!0);const H=()=>ee(ie,"$page",K),[K,Q]=$();let u=s(g(e.block?.code||"")),v=s(g(e.block?.notes||"")),b=s(g(e.block?.content_type||"")),T=s(!1),C=s(!1),n=s(g({...e.block?.title||{}})),B=s(g(e.block?.id));p(()=>{e.block?.id!==t(B)&&(l(B,e.block?.id,!0),l(u,e.block?.code||"",!0),l(v,e.block?.notes||"",!0),l(b,e.block?.content_type||"",!0),l(n,{...e.block?.title||{}},!0))});async function h(){if(!e.block)return;const a=t(u).trim()||null,i=t(v).trim()||null,o=t(b)||null;if(a!==e.block.code||i!==e.block.notes||o!==e.block.content_type||JSON.stringify(t(n))!==JSON.stringify(e.block.title||{})){l(T,!0);try{const c={id:e.block.id,code:a,notes:i,content_type:o};JSON.stringify(t(n))!==JSON.stringify(e.block.title||{})&&(c.title=t(n)),await ne(c),await E("app:blocks"),y.success("Saved")}catch(c){console.error("Save error:",c),y.error("Failed to save"),l(u,e.block.code||"",!0),l(v,e.block.notes||"",!0),l(b,e.block?.content_type||"",!0),l(n,{...e.block?.title||{}},!0)}finally{l(T,!1)}}}async function V(){if(e.block&&confirm("Delete this block? This will delete all child blocks.")){l(C,!0);try{await re({id:e.block.id}),await E("app:blocks"),M(`/finder/${e.data.languageId}/${e.data.collection.id}/templates/${e.data.template.id}`),y.success("Deleted")}catch{y.error("Failed to delete")}finally{l(C,!1)}}}var S=de(),w=k(S),W=d(k(w),2);{let a=f(()=>t(C)||t(T));te(W,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:V,get disabled(){return t(a)}})}m(w);var I=d(w,2),j=k(I);{var X=a=>{var i=ce(),o=k(i);{let c=f(()=>String(e.block?.id??""));A(o,{label:"id",get text(){return t(c)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}var r=d(o,2);{let c=f(()=>String(e.block?.sort??""));A(r,{label:"sort",get text(){return t(c)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}m(i),J(a,i)};O(j,a=>{R.value&&a(X)})}var D=d(j,2);_(D,{label:"Code",children:i=>{P(i,{id:"block-code",size:"32",placeholder:"Block code",variant:"accent",onblur:h,get value(){return t(u)},set value(o){l(u,o,!0)}})},$$slots:{default:!0}});var L=d(D,2);{var Y=a=>{_(a,{label:"Notes",children:o=>{oe(o,{id:"block-notes",placeholder:"Description (optional)",variant:"accent",onblur:h,get value(){return t(v)},set value(r){l(v,r,!0)}})},$$slots:{default:!0}})};O(L,a=>{R.value&&a(Y)})}var N=d(L,2);_(N,{label:"Content Type",children:i=>{{let o=f(()=>[{value:"",label:"NULL"},...e.data.contentTypes?.map(r=>({value:r.id,label:r.id}))||[]]);le(i,{size:"32",placeholder:"",onchange:h,get options(){return t(o)},get value(){return t(b)},set value(r){l(b,r,!0)}})}},$$slots:{default:!0}});var z=d(N,4);ae(z,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:a=>{const o=H().url.pathname.replace(/^(\/finder)\/[^\/]+/,`$1/${a}`);M(o)}});var F=d(z,2),Z=k(F);_(Z,{label:"Title",children:i=>{{let o=f(()=>t(n)[e.data.languageId]||"");P(i,{get id(){return`block-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return t(o)},oninput:r=>{l(n,{...t(n),[e.data.languageId]:r.target.value},!0)},onblur:h})}},$$slots:{default:!0}}),m(F),m(I),m(S),J(x,S),q(),Q()}function we(x,e){U(e,!0),se(x,{get data(){return e.data},get block(){return e.data.block}}),q()}export{we as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as U,l as s,m as g,d as p,i as t,n as l,a as q,s as d,as as f,c as k,r as m}from"../chunks/DxOICouY.js";import{a as J,f as G}from"../chunks/wJchKVuM.js";import{i as O}from"../chunks/D-cCrPs3.js";import{s as $,a as ee}from"../chunks/BxCyPBAb.js";import{B as te,L as ae,I as P,D as le,a as oe}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{F as _}from"../chunks/CPH_RY3i.js";import{L as A}from"../chunks/BW3w2llh.js";import{n as y}from"../chunks/CW7HXIjc.js";import{i as E,g as M}from"../chunks/NDhU74_a.js";import{p as ie}from"../chunks/BNXambdK.js";import{k as re,l as ne}from"../chunks/CGpagYzn.js";import{d as R}from"../chunks/DJQBWlDy.js";var ce=G('<div class="row svelte-ivjt02"><!> <!></div>'),de=G('<div class="rightArea svelte-ivjt02"><div class="header svelte-ivjt02"><h2 class="title svelte-ivjt02">Edit Block</h2> <!></div> <div class="editor svelte-ivjt02"><!> <!> <!> <!> <hr class="svelte-ivjt02"/> <!> <div class="translationRow svelte-ivjt02"><!></div></div></div>');function se(x,e){U(e,!0);const H=()=>ee(ie,"$page",K),[K,Q]=$();let u=s(g(e.block?.code||"")),v=s(g(e.block?.notes||"")),b=s(g(e.block?.content_type||"")),T=s(!1),C=s(!1),n=s(g({...e.block?.title||{}})),B=s(g(e.block?.id));p(()=>{e.block?.id!==t(B)&&(l(B,e.block?.id,!0),l(u,e.block?.code||"",!0),l(v,e.block?.notes||"",!0),l(b,e.block?.content_type||"",!0),l(n,{...e.block?.title||{}},!0))});async function h(){if(!e.block)return;const a=t(u).trim()||null,i=t(v).trim()||null,o=t(b)||null;if(a!==e.block.code||i!==e.block.notes||o!==e.block.content_type||JSON.stringify(t(n))!==JSON.stringify(e.block.title||{})){l(T,!0);try{const c={id:e.block.id,code:a,notes:i,content_type:o};JSON.stringify(t(n))!==JSON.stringify(e.block.title||{})&&(c.title=t(n)),await ne(c),await E("app:blocks"),y.success("Saved")}catch(c){console.error("Save error:",c),y.error("Failed to save"),l(u,e.block.code||"",!0),l(v,e.block.notes||"",!0),l(b,e.block?.content_type||"",!0),l(n,{...e.block?.title||{}},!0)}finally{l(T,!1)}}}async function V(){if(e.block&&confirm("Delete this block? This will delete all child blocks.")){l(C,!0);try{await re({id:e.block.id}),await E("app:blocks"),M(`/finder/${e.data.languageId}/${e.data.collection.id}/templates/${e.data.template.id}`),y.success("Deleted")}catch{y.error("Failed to delete")}finally{l(C,!1)}}}var S=de(),w=k(S),W=d(k(w),2);{let a=f(()=>t(C)||t(T));te(W,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:V,get disabled(){return t(a)}})}m(w);var I=d(w,2),j=k(I);{var X=a=>{var i=ce(),o=k(i);{let c=f(()=>String(e.block?.id??""));A(o,{label:"id",get text(){return t(c)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}var r=d(o,2);{let c=f(()=>String(e.block?.sort??""));A(r,{label:"sort",get text(){return t(c)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}m(i),J(a,i)};O(j,a=>{R.value&&a(X)})}var D=d(j,2);_(D,{label:"Code",children:i=>{P(i,{id:"block-code",size:"32",placeholder:"Block code",variant:"accent",onblur:h,get value(){return t(u)},set value(o){l(u,o,!0)}})},$$slots:{default:!0}});var L=d(D,2);{var Y=a=>{_(a,{label:"Notes",children:o=>{oe(o,{id:"block-notes",placeholder:"Description (optional)",variant:"accent",onblur:h,get value(){return t(v)},set value(r){l(v,r,!0)}})},$$slots:{default:!0}})};O(L,a=>{R.value&&a(Y)})}var N=d(L,2);_(N,{label:"Content Type",children:i=>{{let o=f(()=>[{value:"",label:"NULL"},...e.data.contentTypes?.map(r=>({value:r.id,label:r.id}))||[]]);le(i,{size:"32",placeholder:"",onchange:h,get options(){return t(o)},get value(){return t(b)},set value(r){l(b,r,!0)}})}},$$slots:{default:!0}});var z=d(N,4);ae(z,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:a=>{const o=H().url.pathname.replace(/^(\/finder)\/[^\/]+/,`$1/${a}`);M(o)}});var F=d(z,2),Z=k(F);_(Z,{label:"Title",children:i=>{{let o=f(()=>t(n)[e.data.languageId]||"");P(i,{get id(){return`block-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return t(o)},oninput:r=>{l(n,{...t(n),[e.data.languageId]:r.target.value},!0)},onblur:h})}},$$slots:{default:!0}}),m(F),m(I),m(S),J(x,S),q(),Q()}function we(x,e){U(e,!0),se(x,{get data(){return e.data},get block(){return e.data.block}}),q()}export{we as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as ps,n as K,t as f,a as hs,c as n,s as d,i as e,l as ke,as as P,r as s,au as ae,f as _e}from"../chunks/DxOICouY.js";import{d as ms,s as w}from"../chunks/C9d66xaq.js";import{a as o,f as l,c as Ce}from"../chunks/wJchKVuM.js";import{i as b}from"../chunks/D-cCrPs3.js";import{e as te,i as ne}from"../chunks/B3_urjHi.js";import{s as C}from"../chunks/BJBqRQv9.js";import{s as q}from"../chunks/DnoJMx4R.js";import{s as bs,a as ys}from"../chunks/BxCyPBAb.js";import{p as Is}from"../chunks/CIFpcI83.js";import{i as Ne,g as Ee}from"../chunks/C-WiO1yA.js";import{n as J}from"../chunks/CW7HXIjc.js";import{d as Me}from"../chunks/DM6asyaO.js";var Os=l('<button class="deleteUnusedBtn svelte-1cswnon"> </button>'),Us=l('<img class="svelte-1cswnon"/>'),xs=l('<div class="noPreview svelte-1cswnon">?</div>'),Bs=l('<div role="button" tabindex="0"><div class="rowThumb svelte-1cswnon"><!></div> <div class="rowInfo svelte-1cswnon"><div class="rowPath svelte-1cswnon"><span class="pathMissing svelte-1cswnon">No owner node</span></div> <div class="rowMeta svelte-1cswnon"> </div></div> <div class="rowUsage svelte-1cswnon"><span class="orphanBadge svelte-1cswnon">Orphaned</span></div> <button class="rowDeleteBtn svelte-1cswnon">Delete</button></div>'),ks=l('<div class="imageList svelte-1cswnon"></div>'),Cs=l('<img class="svelte-1cswnon"/>'),Ns=l('<div class="noPreview svelte-1cswnon">No preview</div>'),Ms=l('<div class="orphanThumbnail svelte-1cswnon"><button><!></button> <button class="deleteOrphanButton svelte-1cswnon">Delete</button></div>'),Ts=l('<div class="thumbnailGrid orphanGrid svelte-1cswnon"></div>'),Ds=l('<div class="orphanSection svelte-1cswnon"><div class="orphanHeader svelte-1cswnon"><h2 class="svelte-1cswnon"> </h2> <button class="deleteAllButton svelte-1cswnon"> </button></div> <p class="orphanHint svelte-1cswnon">These images are not attached to any node and can be safely deleted.</p> <!></div>'),Ls=l(`<div class="emptyState svelte-1cswnon"><p class="svelte-1cswnon">No images attached to nodes yet.</p> <p class="hint svelte-1cswnon">Upload images from within a node's edit form.</p></div>`),zs=l('<img class="svelte-1cswnon"/>'),Ps=l('<div class="noPreview svelte-1cswnon">?</div>'),As=l('<span class="pathCollection svelte-1cswnon"> </span> <span class="pathSep svelte-1cswnon">/</span> <span class="pathNodes svelte-1cswnon"> </span>',1),Ss=l('<span class="pathMissing svelte-1cswnon">No owner</span>'),Gs=l('<span class="usageBadge coverBadge svelte-1cswnon"> </span>'),Vs=l('<span class="usageBadge galleryBadge svelte-1cswnon"> </span>'),js=l('<span class="usageBadge contentBadge svelte-1cswnon"> </span>'),Fs=l('<div class="usageBadges svelte-1cswnon"></div>'),Rs=l('<span class="unusedBadge svelte-1cswnon">Unused</span>'),Hs=l('<button><div class="rowThumb svelte-1cswnon"><!></div> <div class="rowInfo svelte-1cswnon"><div class="rowPath svelte-1cswnon"><!></div> <div class="rowMeta svelte-1cswnon"> </div></div> <div class="rowUsage svelte-1cswnon"><!></div></button>'),Es=l('<div class="imageList svelte-1cswnon"></div>'),Ks=l('<img class="svelte-1cswnon"/>'),qs=l('<div class="noPreview svelte-1cswnon">No preview</div>'),Js=l("<button><!></button>"),Qs=l('<div class="thumbnailGrid svelte-1cswnon"></div>'),Ws=l('<div class="section svelte-1cswnon"><h2 class="svelte-1cswnon"> </h2> <!></div>'),Xs=l(`<div class="container svelte-1cswnon"><div class="header svelte-1cswnon"><div class="headerTop svelte-1cswnon"><div class="headerLeft svelte-1cswnon"><h1 class="svelte-1cswnon">Images</h1> <p class="hint svelte-1cswnon">Upload images from within a node's edit form</p></div> <div class="viewToggle svelte-1cswnon"><button>List</button> <button>Grid</button></div></div> <div class="statsBar svelte-1cswnon"><div class="statItem svelte-1cswnon"><span class="statValue svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Total</span></div> <div class="statItem svelte-1cswnon"><span class="statValue used svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Used</span></div> <div class="statItem svelte-1cswnon"><span class="statValue unused svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Unused</span></div> <div class="statItem svelte-1cswnon"><span class="statValue orphan svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Orphaned</span></div> <div class="statItem svelte-1cswnon"><span class="statValue svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Total Size</span></div> <!></div></div> <div class="content svelte-1cswnon"><!> <!></div></div>`);function ca(Ke,_){ps(_,!0);const qe=()=>ys(Is,"$page",Je),[Je,Qe]=bs();let Q=P(()=>qe().params.sid||null),oe=ke(!1),le=ke(!1),R=ke("list"),W=P(()=>()=>{const a=_.data.images.length,t=_.data.orphanImages.length;let i=0,h=0,T=0;for(const U of _.data.images){const A=_.data.imageUsage?.[U.id];(A?.coverOf?.length||0)+(A?.galleryOf?.length||0)+(A?.contentOf?.length||0)>0?i++:h++,T+=U.file_size||0}for(const U of _.data.orphanImages)T+=U.file_size||0;return{total:a,orphaned:t,used:i,unused:h,totalSize:T}}),ve=P(()=>_.data.images.filter(a=>{const t=_.data.imageUsage?.[a.id];return(t?.coverOf?.length||0)+(t?.galleryOf?.length||0)+(t?.contentOf?.length||0)===0}));function X(a){e(Q)===a?Ee("/images"):Ee(`/images/${a}`)}function We(a){return`${_.data.s3BaseUrl}/${a}`}function re(a){return a.s3_key?We(a.s3_key):""}function ue(a){if(!a||a===0)return"-";const t=1024,i=["B","KB","MB"],h=Math.floor(Math.log(a)/Math.log(t));return Math.round(a/Math.pow(t,h)*100)/100+" "+i[h]}function Xe(a){const t=_.data.imageUsage?.[a];if(!t)return{total:0,details:[]};const i=[];return t.coverOf.length>0&&i.push({type:"cover",count:t.coverOf.length,items:t.coverOf}),t.galleryOf.length>0&&i.push({type:"gallery",count:t.galleryOf.length,items:t.galleryOf}),t.contentOf.length>0&&i.push({type:"content",count:t.contentOf.length,items:t.contentOf}),{total:t.coverOf.length+t.galleryOf.length+t.contentOf.length,details:i}}async function Te(a){if(confirm("Delete this orphaned image?"))try{await Me({id:a}),await Ne("app:images"),J.success("Image deleted")}catch(t){J.error(t.message||"Failed to delete image")}}async function Ye(){if(confirm(`Delete all ${_.data.orphanImages.length} orphaned images? This cannot be undone.`)){K(oe,!0);try{for(const a of _.data.orphanImages)await Me({id:a.id});await Ne("app:images"),J.success("All orphaned images deleted")}catch(a){J.error(a.message||"Failed to delete images")}finally{K(oe,!1)}}}async function Ze(){if(confirm(`Delete all ${e(ve).length} unused images? This cannot be undone.`)){K(le,!0);try{for(const a of e(ve))await Me({id:a.id});await Ne("app:images"),J.success("All unused images deleted")}catch(a){J.error(a.message||"Failed to delete images")}finally{K(le,!1)}}}var ge=Xs(),fe=n(ge),we=n(fe),De=d(n(we),2),pe=n(De);let Le;pe.__click=()=>K(R,"list");var ze=d(pe,2);let Pe;ze.__click=()=>K(R,"grid"),s(De),s(we);var Ae=d(we,2),he=n(Ae),Se=n(he),$e=n(Se,!0);s(Se),ae(2),s(he);var me=d(he,2),Ge=n(me),es=n(Ge,!0);s(Ge),ae(2),s(me);var be=d(me,2),Ve=n(be),ss=n(Ve,!0);s(Ve),ae(2),s(be);var ye=d(be,2),je=n(ye),as=n(je,!0);s(je),ae(2),s(ye);var Ie=d(ye,2),Fe=n(Ie),ts=n(Fe,!0);s(Fe),ae(2),s(Ie);var ns=d(Ie,2);{var os=a=>{var t=Os();t.__click=Ze;var i=n(t,!0);s(t),f(()=>{t.disabled=e(le),w(i,e(le)?"Deleting...":`Delete ${e(ve).length} Unused`)}),o(a,t)};b(ns,a=>{e(ve).length>0&&a(os)})}s(Ae),s(fe);var Re=d(fe,2),He=n(Re);{var ls=a=>{var t=Ds(),i=n(t),h=n(i),T=n(h);s(h);var U=d(h,2);U.__click=Ye;var A=n(U,!0);s(U),s(i);var D=d(i,4);{var L=v=>{var y=ks();te(y,21,()=>_.data.orphanImages,ne,(I,r)=>{const N=P(()=>re(e(r)));var g=Bs();let O;g.__click=()=>X(e(r).id),g.__keydown=m=>m.key==="Enter"&&X(e(r).id);var p=n(g),x=n(p);{var S=m=>{var M=Us();f(()=>{C(M,"src",e(N)),C(M,"alt",e(r).file_name)}),o(m,M)},G=m=>{var M=xs();o(m,M)};b(x,m=>{e(N)?m(S):m(G,!1)})}s(p);var V=d(p,2),B=d(n(V),2),z=n(B);s(B),s(V);var ie=d(V,4);ie.__click=m=>{m.stopPropagation(),Te(e(r).id)},s(g),f((m,M)=>{O=q(g,1,"imageRow orphanRow svelte-1cswnon",null,O,{selected:e(Q)===e(r).id}),w(z,`${e(r).width??""}×${e(r).height??""} · ${m??""} · ${M??""}`)},[()=>e(r).format?.toUpperCase()||"-",()=>ue(e(r).file_size)]),o(I,g)}),s(y),o(v,y)},Y=v=>{var y=Ts();te(y,21,()=>_.data.orphanImages,ne,(I,r)=>{const N=P(()=>re(e(r)));var g=Ms(),O=n(g);let p;O.__click=()=>X(e(r).id);var x=n(O);{var S=B=>{var z=Cs();f(()=>{C(z,"src",e(N)),C(z,"alt",e(r).file_name)}),o(B,z)},G=B=>{var z=Ns();o(B,z)};b(x,B=>{e(N)?B(S):B(G,!1)})}s(O);var V=d(O,2);V.__click=()=>Te(e(r).id),s(g),f(()=>p=q(O,1,"thumbnail svelte-1cswnon",null,p,{selected:e(Q)===e(r).id})),o(I,g)}),s(y),o(v,y)};b(D,v=>{e(R)==="list"?v(L):v(Y,!1)})}s(t),f(()=>{w(T,`Orphaned Images (${_.data.orphanImages.length??""})`),U.disabled=e(oe),w(A,e(oe)?"Deleting...":"Delete All")}),o(a,t)};b(He,a=>{_.data.orphanImages.length>0&&a(ls)})}var vs=d(He,2);{var rs=a=>{var t=Ls();o(a,t)},is=a=>{var t=Ws(),i=n(t),h=n(i);s(i);var T=d(i,2);{var U=D=>{var L=Es();te(L,21,()=>_.data.images,ne,(Y,v)=>{const y=P(()=>re(e(v))),I=P(()=>Xe(e(v).id));var r=Hs();let N;r.__click=()=>X(e(v).id);var g=n(r),O=n(g);{var p=c=>{var u=zs();f(()=>{C(u,"src",e(y)),C(u,"alt",e(v).file_name)}),o(c,u)},x=c=>{var u=Ps();o(c,u)};b(O,c=>{e(y)?c(p):c(x,!1)})}s(g);var S=d(g,2),G=n(S),V=n(G);{var B=c=>{var u=As(),Z=_e(u),k=n(Z,!0);s(Z);var $=d(Z,4),Oe=n($,!0);s($),f(()=>{w(k,e(v).ownerCollection?.code||"?"),w(Oe,e(v).ownerNodePath||e(v).ownerNode.code||e(v).ownerNode.title?.en||e(v).ownerNode.id)}),o(c,u)},z=c=>{var u=Ss();o(c,u)};b(V,c=>{e(v).ownerNode?c(B):c(z,!1)})}s(G);var ie=d(G,2),m=n(ie);s(ie),s(S);var M=d(S,2),cs=n(M);{var ds=c=>{var u=Fs();te(u,21,()=>e(I).details,ne,(Z,k)=>{var $=Ce(),Oe=_e($);{var us=H=>{var j=Gs(),Ue=n(j);s(j),f(ee=>{C(j,"title",ee),w(Ue,`Cover (${e(k).count??""})`)},[()=>e(k).items.map(ee=>ee.nodeCode).join(", ")]),o(H,j)},gs=H=>{var j=Ce(),Ue=_e(j);{var ee=E=>{var F=Vs(),xe=n(F);s(F),f(se=>{C(F,"title",se),w(xe,`Gallery (${e(k).count??""})`)},[()=>e(k).items.map(se=>se.nodeCode).join(", ")]),o(E,F)},fs=E=>{var F=Ce(),xe=_e(F);{var se=Be=>{var ce=js(),ws=n(ce);s(ce),f(de=>{C(ce,"title",de),w(ws,`Content (${e(k).count??""})`)},[()=>e(k).items.map(de=>`${de.nodeCode} → ${de.blockCode}`).join(", ")]),o(Be,ce)};b(xe,Be=>{e(k).type==="content"&&Be(se)},!0)}o(E,F)};b(Ue,E=>{e(k).type==="gallery"?E(ee):E(fs,!1)},!0)}o(H,j)};b(Oe,H=>{e(k).type==="cover"?H(us):H(gs,!1)})}o(Z,$)}),s(u),o(c,u)},_s=c=>{var u=Rs();o(c,u)};b(cs,c=>{e(I).total>0?c(ds):c(_s,!1)})}s(M),s(r),f((c,u)=>{N=q(r,1,"imageRow svelte-1cswnon",null,N,{selected:e(Q)===e(v).id}),w(m,`${e(v).width??""}×${e(v).height??""} · ${c??""} · ${u??""}`)},[()=>e(v).format?.toUpperCase()||"-",()=>ue(e(v).file_size)]),o(Y,r)}),s(L),o(D,L)},A=D=>{var L=Qs();te(L,21,()=>_.data.images,ne,(Y,v)=>{const y=P(()=>re(e(v)));var I=Js();let r;I.__click=()=>X(e(v).id);var N=n(I);{var g=p=>{var x=Ks();f(()=>{C(x,"src",e(y)),C(x,"alt",e(v).file_name)}),o(p,x)},O=p=>{var x=qs();o(p,x)};b(N,p=>{e(y)?p(g):p(O,!1)})}s(I),f(()=>r=q(I,1,"thumbnail svelte-1cswnon",null,r,{selected:e(Q)===e(v).id})),o(Y,I)}),s(L),o(D,L)};b(T,D=>{e(R)==="list"?D(U):D(A,!1)})}s(t),f(()=>w(h,`Node Images (${_.data.images.length??""})`)),o(a,t)};b(vs,a=>{_.data.images.length===0?a(rs):a(is,!1)})}s(Re),s(ge),f((a,t,i,h,T)=>{Le=q(pe,1,"toggleBtn svelte-1cswnon",null,Le,{active:e(R)==="list"}),Pe=q(ze,1,"toggleBtn svelte-1cswnon",null,Pe,{active:e(R)==="grid"}),w($e,a),w(es,t),w(ss,i),w(as,h),w(ts,T)},[()=>e(W)().total,()=>e(W)().used,()=>e(W)().unused,()=>e(W)().orphaned,()=>ue(e(W)().totalSize)]),o(Ke,ge),hs(),Qe()}ms(["click","keydown"]);export{ca as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as ps,n as K,t as f,a as hs,c as n,s as d,i as e,l as ke,as as P,r as s,au as ae,f as _e}from"../chunks/DxOICouY.js";import{d as ms,s as w}from"../chunks/C9d66xaq.js";import{a as o,f as l,c as Ce}from"../chunks/wJchKVuM.js";import{i as b}from"../chunks/D-cCrPs3.js";import{e as te,i as ne}from"../chunks/B3_urjHi.js";import{s as C}from"../chunks/BJBqRQv9.js";import{s as q}from"../chunks/DnoJMx4R.js";import{s as bs,a as ys}from"../chunks/BxCyPBAb.js";import{p as Is}from"../chunks/BNXambdK.js";import{i as Ne,g as Ee}from"../chunks/NDhU74_a.js";import{n as J}from"../chunks/CW7HXIjc.js";import{d as Me}from"../chunks/Ddxulroj.js";var Os=l('<button class="deleteUnusedBtn svelte-1cswnon"> </button>'),Us=l('<img class="svelte-1cswnon"/>'),xs=l('<div class="noPreview svelte-1cswnon">?</div>'),Bs=l('<div role="button" tabindex="0"><div class="rowThumb svelte-1cswnon"><!></div> <div class="rowInfo svelte-1cswnon"><div class="rowPath svelte-1cswnon"><span class="pathMissing svelte-1cswnon">No owner node</span></div> <div class="rowMeta svelte-1cswnon"> </div></div> <div class="rowUsage svelte-1cswnon"><span class="orphanBadge svelte-1cswnon">Orphaned</span></div> <button class="rowDeleteBtn svelte-1cswnon">Delete</button></div>'),ks=l('<div class="imageList svelte-1cswnon"></div>'),Cs=l('<img class="svelte-1cswnon"/>'),Ns=l('<div class="noPreview svelte-1cswnon">No preview</div>'),Ms=l('<div class="orphanThumbnail svelte-1cswnon"><button><!></button> <button class="deleteOrphanButton svelte-1cswnon">Delete</button></div>'),Ts=l('<div class="thumbnailGrid orphanGrid svelte-1cswnon"></div>'),Ds=l('<div class="orphanSection svelte-1cswnon"><div class="orphanHeader svelte-1cswnon"><h2 class="svelte-1cswnon"> </h2> <button class="deleteAllButton svelte-1cswnon"> </button></div> <p class="orphanHint svelte-1cswnon">These images are not attached to any node and can be safely deleted.</p> <!></div>'),Ls=l(`<div class="emptyState svelte-1cswnon"><p class="svelte-1cswnon">No images attached to nodes yet.</p> <p class="hint svelte-1cswnon">Upload images from within a node's edit form.</p></div>`),zs=l('<img class="svelte-1cswnon"/>'),Ps=l('<div class="noPreview svelte-1cswnon">?</div>'),As=l('<span class="pathCollection svelte-1cswnon"> </span> <span class="pathSep svelte-1cswnon">/</span> <span class="pathNodes svelte-1cswnon"> </span>',1),Ss=l('<span class="pathMissing svelte-1cswnon">No owner</span>'),Gs=l('<span class="usageBadge coverBadge svelte-1cswnon"> </span>'),Vs=l('<span class="usageBadge galleryBadge svelte-1cswnon"> </span>'),js=l('<span class="usageBadge contentBadge svelte-1cswnon"> </span>'),Fs=l('<div class="usageBadges svelte-1cswnon"></div>'),Rs=l('<span class="unusedBadge svelte-1cswnon">Unused</span>'),Hs=l('<button><div class="rowThumb svelte-1cswnon"><!></div> <div class="rowInfo svelte-1cswnon"><div class="rowPath svelte-1cswnon"><!></div> <div class="rowMeta svelte-1cswnon"> </div></div> <div class="rowUsage svelte-1cswnon"><!></div></button>'),Es=l('<div class="imageList svelte-1cswnon"></div>'),Ks=l('<img class="svelte-1cswnon"/>'),qs=l('<div class="noPreview svelte-1cswnon">No preview</div>'),Js=l("<button><!></button>"),Qs=l('<div class="thumbnailGrid svelte-1cswnon"></div>'),Ws=l('<div class="section svelte-1cswnon"><h2 class="svelte-1cswnon"> </h2> <!></div>'),Xs=l(`<div class="container svelte-1cswnon"><div class="header svelte-1cswnon"><div class="headerTop svelte-1cswnon"><div class="headerLeft svelte-1cswnon"><h1 class="svelte-1cswnon">Images</h1> <p class="hint svelte-1cswnon">Upload images from within a node's edit form</p></div> <div class="viewToggle svelte-1cswnon"><button>List</button> <button>Grid</button></div></div> <div class="statsBar svelte-1cswnon"><div class="statItem svelte-1cswnon"><span class="statValue svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Total</span></div> <div class="statItem svelte-1cswnon"><span class="statValue used svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Used</span></div> <div class="statItem svelte-1cswnon"><span class="statValue unused svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Unused</span></div> <div class="statItem svelte-1cswnon"><span class="statValue orphan svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Orphaned</span></div> <div class="statItem svelte-1cswnon"><span class="statValue svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Total Size</span></div> <!></div></div> <div class="content svelte-1cswnon"><!> <!></div></div>`);function ca(Ke,_){ps(_,!0);const qe=()=>ys(Is,"$page",Je),[Je,Qe]=bs();let Q=P(()=>qe().params.sid||null),oe=ke(!1),le=ke(!1),R=ke("list"),W=P(()=>()=>{const a=_.data.images.length,t=_.data.orphanImages.length;let i=0,h=0,T=0;for(const U of _.data.images){const A=_.data.imageUsage?.[U.id];(A?.coverOf?.length||0)+(A?.galleryOf?.length||0)+(A?.contentOf?.length||0)>0?i++:h++,T+=U.file_size||0}for(const U of _.data.orphanImages)T+=U.file_size||0;return{total:a,orphaned:t,used:i,unused:h,totalSize:T}}),ve=P(()=>_.data.images.filter(a=>{const t=_.data.imageUsage?.[a.id];return(t?.coverOf?.length||0)+(t?.galleryOf?.length||0)+(t?.contentOf?.length||0)===0}));function X(a){e(Q)===a?Ee("/images"):Ee(`/images/${a}`)}function We(a){return`${_.data.s3BaseUrl}/${a}`}function re(a){return a.s3_key?We(a.s3_key):""}function ue(a){if(!a||a===0)return"-";const t=1024,i=["B","KB","MB"],h=Math.floor(Math.log(a)/Math.log(t));return Math.round(a/Math.pow(t,h)*100)/100+" "+i[h]}function Xe(a){const t=_.data.imageUsage?.[a];if(!t)return{total:0,details:[]};const i=[];return t.coverOf.length>0&&i.push({type:"cover",count:t.coverOf.length,items:t.coverOf}),t.galleryOf.length>0&&i.push({type:"gallery",count:t.galleryOf.length,items:t.galleryOf}),t.contentOf.length>0&&i.push({type:"content",count:t.contentOf.length,items:t.contentOf}),{total:t.coverOf.length+t.galleryOf.length+t.contentOf.length,details:i}}async function Te(a){if(confirm("Delete this orphaned image?"))try{await Me({id:a}),await Ne("app:images"),J.success("Image deleted")}catch(t){J.error(t.message||"Failed to delete image")}}async function Ye(){if(confirm(`Delete all ${_.data.orphanImages.length} orphaned images? This cannot be undone.`)){K(oe,!0);try{for(const a of _.data.orphanImages)await Me({id:a.id});await Ne("app:images"),J.success("All orphaned images deleted")}catch(a){J.error(a.message||"Failed to delete images")}finally{K(oe,!1)}}}async function Ze(){if(confirm(`Delete all ${e(ve).length} unused images? This cannot be undone.`)){K(le,!0);try{for(const a of e(ve))await Me({id:a.id});await Ne("app:images"),J.success("All unused images deleted")}catch(a){J.error(a.message||"Failed to delete images")}finally{K(le,!1)}}}var ge=Xs(),fe=n(ge),we=n(fe),De=d(n(we),2),pe=n(De);let Le;pe.__click=()=>K(R,"list");var ze=d(pe,2);let Pe;ze.__click=()=>K(R,"grid"),s(De),s(we);var Ae=d(we,2),he=n(Ae),Se=n(he),$e=n(Se,!0);s(Se),ae(2),s(he);var me=d(he,2),Ge=n(me),es=n(Ge,!0);s(Ge),ae(2),s(me);var be=d(me,2),Ve=n(be),ss=n(Ve,!0);s(Ve),ae(2),s(be);var ye=d(be,2),je=n(ye),as=n(je,!0);s(je),ae(2),s(ye);var Ie=d(ye,2),Fe=n(Ie),ts=n(Fe,!0);s(Fe),ae(2),s(Ie);var ns=d(Ie,2);{var os=a=>{var t=Os();t.__click=Ze;var i=n(t,!0);s(t),f(()=>{t.disabled=e(le),w(i,e(le)?"Deleting...":`Delete ${e(ve).length} Unused`)}),o(a,t)};b(ns,a=>{e(ve).length>0&&a(os)})}s(Ae),s(fe);var Re=d(fe,2),He=n(Re);{var ls=a=>{var t=Ds(),i=n(t),h=n(i),T=n(h);s(h);var U=d(h,2);U.__click=Ye;var A=n(U,!0);s(U),s(i);var D=d(i,4);{var L=v=>{var y=ks();te(y,21,()=>_.data.orphanImages,ne,(I,r)=>{const N=P(()=>re(e(r)));var g=Bs();let O;g.__click=()=>X(e(r).id),g.__keydown=m=>m.key==="Enter"&&X(e(r).id);var p=n(g),x=n(p);{var S=m=>{var M=Us();f(()=>{C(M,"src",e(N)),C(M,"alt",e(r).file_name)}),o(m,M)},G=m=>{var M=xs();o(m,M)};b(x,m=>{e(N)?m(S):m(G,!1)})}s(p);var V=d(p,2),B=d(n(V),2),z=n(B);s(B),s(V);var ie=d(V,4);ie.__click=m=>{m.stopPropagation(),Te(e(r).id)},s(g),f((m,M)=>{O=q(g,1,"imageRow orphanRow svelte-1cswnon",null,O,{selected:e(Q)===e(r).id}),w(z,`${e(r).width??""}×${e(r).height??""} · ${m??""} · ${M??""}`)},[()=>e(r).format?.toUpperCase()||"-",()=>ue(e(r).file_size)]),o(I,g)}),s(y),o(v,y)},Y=v=>{var y=Ts();te(y,21,()=>_.data.orphanImages,ne,(I,r)=>{const N=P(()=>re(e(r)));var g=Ms(),O=n(g);let p;O.__click=()=>X(e(r).id);var x=n(O);{var S=B=>{var z=Cs();f(()=>{C(z,"src",e(N)),C(z,"alt",e(r).file_name)}),o(B,z)},G=B=>{var z=Ns();o(B,z)};b(x,B=>{e(N)?B(S):B(G,!1)})}s(O);var V=d(O,2);V.__click=()=>Te(e(r).id),s(g),f(()=>p=q(O,1,"thumbnail svelte-1cswnon",null,p,{selected:e(Q)===e(r).id})),o(I,g)}),s(y),o(v,y)};b(D,v=>{e(R)==="list"?v(L):v(Y,!1)})}s(t),f(()=>{w(T,`Orphaned Images (${_.data.orphanImages.length??""})`),U.disabled=e(oe),w(A,e(oe)?"Deleting...":"Delete All")}),o(a,t)};b(He,a=>{_.data.orphanImages.length>0&&a(ls)})}var vs=d(He,2);{var rs=a=>{var t=Ls();o(a,t)},is=a=>{var t=Ws(),i=n(t),h=n(i);s(i);var T=d(i,2);{var U=D=>{var L=Es();te(L,21,()=>_.data.images,ne,(Y,v)=>{const y=P(()=>re(e(v))),I=P(()=>Xe(e(v).id));var r=Hs();let N;r.__click=()=>X(e(v).id);var g=n(r),O=n(g);{var p=c=>{var u=zs();f(()=>{C(u,"src",e(y)),C(u,"alt",e(v).file_name)}),o(c,u)},x=c=>{var u=Ps();o(c,u)};b(O,c=>{e(y)?c(p):c(x,!1)})}s(g);var S=d(g,2),G=n(S),V=n(G);{var B=c=>{var u=As(),Z=_e(u),k=n(Z,!0);s(Z);var $=d(Z,4),Oe=n($,!0);s($),f(()=>{w(k,e(v).ownerCollection?.code||"?"),w(Oe,e(v).ownerNodePath||e(v).ownerNode.code||e(v).ownerNode.title?.en||e(v).ownerNode.id)}),o(c,u)},z=c=>{var u=Ss();o(c,u)};b(V,c=>{e(v).ownerNode?c(B):c(z,!1)})}s(G);var ie=d(G,2),m=n(ie);s(ie),s(S);var M=d(S,2),cs=n(M);{var ds=c=>{var u=Fs();te(u,21,()=>e(I).details,ne,(Z,k)=>{var $=Ce(),Oe=_e($);{var us=H=>{var j=Gs(),Ue=n(j);s(j),f(ee=>{C(j,"title",ee),w(Ue,`Cover (${e(k).count??""})`)},[()=>e(k).items.map(ee=>ee.nodeCode).join(", ")]),o(H,j)},gs=H=>{var j=Ce(),Ue=_e(j);{var ee=E=>{var F=Vs(),xe=n(F);s(F),f(se=>{C(F,"title",se),w(xe,`Gallery (${e(k).count??""})`)},[()=>e(k).items.map(se=>se.nodeCode).join(", ")]),o(E,F)},fs=E=>{var F=Ce(),xe=_e(F);{var se=Be=>{var ce=js(),ws=n(ce);s(ce),f(de=>{C(ce,"title",de),w(ws,`Content (${e(k).count??""})`)},[()=>e(k).items.map(de=>`${de.nodeCode} → ${de.blockCode}`).join(", ")]),o(Be,ce)};b(xe,Be=>{e(k).type==="content"&&Be(se)},!0)}o(E,F)};b(Ue,E=>{e(k).type==="gallery"?E(ee):E(fs,!1)},!0)}o(H,j)};b(Oe,H=>{e(k).type==="cover"?H(us):H(gs,!1)})}o(Z,$)}),s(u),o(c,u)},_s=c=>{var u=Rs();o(c,u)};b(cs,c=>{e(I).total>0?c(ds):c(_s,!1)})}s(M),s(r),f((c,u)=>{N=q(r,1,"imageRow svelte-1cswnon",null,N,{selected:e(Q)===e(v).id}),w(m,`${e(v).width??""}×${e(v).height??""} · ${c??""} · ${u??""}`)},[()=>e(v).format?.toUpperCase()||"-",()=>ue(e(v).file_size)]),o(Y,r)}),s(L),o(D,L)},A=D=>{var L=Qs();te(L,21,()=>_.data.images,ne,(Y,v)=>{const y=P(()=>re(e(v)));var I=Js();let r;I.__click=()=>X(e(v).id);var N=n(I);{var g=p=>{var x=Ks();f(()=>{C(x,"src",e(y)),C(x,"alt",e(v).file_name)}),o(p,x)},O=p=>{var x=qs();o(p,x)};b(N,p=>{e(y)?p(g):p(O,!1)})}s(I),f(()=>r=q(I,1,"thumbnail svelte-1cswnon",null,r,{selected:e(Q)===e(v).id})),o(Y,I)}),s(L),o(D,L)};b(T,D=>{e(R)==="list"?D(U):D(A,!1)})}s(t),f(()=>w(h,`Node Images (${_.data.images.length??""})`)),o(a,t)};b(vs,a=>{_.data.images.length===0?a(rs):a(is,!1)})}s(Re),s(ge),f((a,t,i,h,T)=>{Le=q(pe,1,"toggleBtn svelte-1cswnon",null,Le,{active:e(R)==="list"}),Pe=q(ze,1,"toggleBtn svelte-1cswnon",null,Pe,{active:e(R)==="grid"}),w($e,a),w(es,t),w(ss,i),w(as,h),w(ts,T)},[()=>e(W)().total,()=>e(W)().used,()=>e(W)().unused,()=>e(W)().orphaned,()=>ue(e(W)().totalSize)]),o(Ke,ge),hs(),Qe()}ms(["click","keydown"]);export{ca as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as ua,t as N,a as ga,n as L,s as t,l as qa,c as a,r as e,i as R,as as ha,f as wa}from"../chunks/DxOICouY.js";import{d as ba,s as r}from"../chunks/C9d66xaq.js";import{a as d,f as o,c as ya}from"../chunks/wJchKVuM.js";import{i as k}from"../chunks/D-cCrPs3.js";import{s as D}from"../chunks/BJBqRQv9.js";import{s as xa,a as Ba}from"../chunks/BxCyPBAb.js";import{p as Ia}from"../chunks/CIFpcI83.js";import{i as Ma,g as Na}from"../chunks/C-WiO1yA.js";import{n as V}from"../chunks/CW7HXIjc.js";import{d as Ra}from"../chunks/DM6asyaO.js";var ka=o('<a class="nodeLink svelte-qp0rc4"> </a>'),Da=o('<span class="value orphanBadge svelte-qp0rc4">Node deleted</span>'),Fa=o('<span class="value orphanBadge svelte-qp0rc4">Orphaned</span>'),Sa=o('<div class="mainContent svelte-qp0rc4"><div class="imagePreview svelte-qp0rc4"><img class="svelte-qp0rc4"/></div> <div class="infoPanel svelte-qp0rc4"><div class="infoSection svelte-qp0rc4"><h3 class="svelte-qp0rc4">Image Info</h3> <div class="infoGrid svelte-qp0rc4"><div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Filename:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Dimensions:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Format:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Size:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">MIME Type:</span> <span class="value svelte-qp0rc4"> </span></div></div></div> <div class="infoSection svelte-qp0rc4"><h3 class="svelte-qp0rc4">Metadata</h3> <div class="infoGrid svelte-qp0rc4"><div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">ID:</span> <span class="value idValue svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">S3 Key:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Owner Node:</span> <!></div></div></div></div></div>'),za=o('<div class="notFound svelte-qp0rc4">Image not found</div>'),Ca=o('<div class="detailContent svelte-qp0rc4"><div class="detailHeader svelte-qp0rc4"><h2 class="svelte-qp0rc4">Image Details</h2> <button class="deleteButton svelte-qp0rc4"> </button></div> <!></div>');function ja(j,s){ua(s,!0);const J=()=>Ba(Ia,"$page",Q),[Q,W]=xa();let X=ha(()=>J().data),f=qa(!1);function Y(i){return`${R(X).s3BaseUrl}/${i}`}function Z(i){if(i===0)return"0 Bytes";const v=1024,p=["Bytes","KB","MB"],m=Math.floor(Math.log(i)/Math.log(v));return Math.round(i/Math.pow(v,m)*100)/100+" "+p[m]}async function $(){if(confirm("Are you sure you want to delete this image? This cannot be undone.")){L(f,!0);try{await Ra({id:s.data.image.id}),await Ma("app:images"),Na("/images"),V.success("Image deleted successfully")}catch(i){V.error(i.message||"Failed to delete image")}finally{L(f,!1)}}}var g=Ca(),q=a(g),u=t(a(q),2);u.__click=$;var aa=a(u,!0);e(u),e(q);var ea=t(q,2);{var sa=i=>{var v=Sa(),p=a(v),m=a(p);e(p);var F=t(p,2),h=a(F),S=t(a(h),2),w=a(S),z=t(a(w),2),ia=a(z,!0);e(z),e(w);var b=t(w,2),C=t(a(b),2),la=a(C);e(C),e(b);var y=t(b,2),P=t(a(y),2),ra=a(P,!0);e(P),e(y);var x=t(y,2),U=t(a(x),2),va=a(U,!0);e(U),e(x);var G=t(x,2),K=t(a(G),2),na=a(K,!0);e(K),e(G),e(S),e(h);var O=t(h,2),T=t(a(O),2),B=a(T),A=t(a(B),2),da=a(A,!0);e(A),e(B);var I=t(B,2),E=t(a(I),2),ca=a(E,!0);e(E),e(I);var H=t(I,2),oa=t(a(H),2);{var pa=n=>{var l=ka(),_=a(l,!0);e(l),N(()=>{D(l,"href",`/en/finder/${s.data.ownerNode._collection??""}/nodes/${s.data.ownerNodePath??""}`),r(_,s.data.ownerNode.code||s.data.ownerNode.title?.en||s.data.ownerNode.id)}),d(n,l)},ma=n=>{var l=ya(),_=wa(l);{var _a=c=>{var M=Da();d(c,M)},fa=c=>{var M=Fa();d(c,M)};k(_,c=>{s.data.image._node?c(_a):c(fa,!1)},!0)}d(n,l)};k(oa,n=>{s.data.ownerNode?n(pa):n(ma,!1)})}e(H),e(T),e(O),e(F),e(v),N((n,l,_)=>{D(m,"src",n),D(m,"alt",s.data.image.file_name),r(ia,s.data.image.file_name),r(la,`${s.data.image.width??""} × ${s.data.image.height??""}`),r(ra,l),r(va,_),r(na,s.data.image.mime_type),r(da,s.data.image.id),r(ca,s.data.image.s3_key)},[()=>Y(s.data.image.s3_key),()=>s.data.image.format.toUpperCase(),()=>Z(s.data.image.file_size)]),d(i,v)},ta=i=>{var v=za();d(i,v)};k(ea,i=>{s.data.image?i(sa):i(ta,!1)})}e(g),N(()=>{u.disabled=R(f),r(aa,R(f)?"Deleting...":"Delete")}),d(j,g),ga(),W()}ba(["click"]);export{ja as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as ua,t as N,a as ga,n as L,s as t,l as qa,c as a,r as e,i as R,as as ha,f as wa}from"../chunks/DxOICouY.js";import{d as ba,s as r}from"../chunks/C9d66xaq.js";import{a as d,f as o,c as ya}from"../chunks/wJchKVuM.js";import{i as k}from"../chunks/D-cCrPs3.js";import{s as D}from"../chunks/BJBqRQv9.js";import{s as xa,a as Ba}from"../chunks/BxCyPBAb.js";import{p as Ia}from"../chunks/BNXambdK.js";import{i as Ma,g as Na}from"../chunks/NDhU74_a.js";import{n as V}from"../chunks/CW7HXIjc.js";import{d as Ra}from"../chunks/Ddxulroj.js";var ka=o('<a class="nodeLink svelte-qp0rc4"> </a>'),Da=o('<span class="value orphanBadge svelte-qp0rc4">Node deleted</span>'),Fa=o('<span class="value orphanBadge svelte-qp0rc4">Orphaned</span>'),Sa=o('<div class="mainContent svelte-qp0rc4"><div class="imagePreview svelte-qp0rc4"><img class="svelte-qp0rc4"/></div> <div class="infoPanel svelte-qp0rc4"><div class="infoSection svelte-qp0rc4"><h3 class="svelte-qp0rc4">Image Info</h3> <div class="infoGrid svelte-qp0rc4"><div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Filename:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Dimensions:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Format:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Size:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">MIME Type:</span> <span class="value svelte-qp0rc4"> </span></div></div></div> <div class="infoSection svelte-qp0rc4"><h3 class="svelte-qp0rc4">Metadata</h3> <div class="infoGrid svelte-qp0rc4"><div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">ID:</span> <span class="value idValue svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">S3 Key:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Owner Node:</span> <!></div></div></div></div></div>'),za=o('<div class="notFound svelte-qp0rc4">Image not found</div>'),Ca=o('<div class="detailContent svelte-qp0rc4"><div class="detailHeader svelte-qp0rc4"><h2 class="svelte-qp0rc4">Image Details</h2> <button class="deleteButton svelte-qp0rc4"> </button></div> <!></div>');function ja(j,s){ua(s,!0);const J=()=>Ba(Ia,"$page",Q),[Q,W]=xa();let X=ha(()=>J().data),f=qa(!1);function Y(i){return`${R(X).s3BaseUrl}/${i}`}function Z(i){if(i===0)return"0 Bytes";const v=1024,p=["Bytes","KB","MB"],m=Math.floor(Math.log(i)/Math.log(v));return Math.round(i/Math.pow(v,m)*100)/100+" "+p[m]}async function $(){if(confirm("Are you sure you want to delete this image? This cannot be undone.")){L(f,!0);try{await Ra({id:s.data.image.id}),await Ma("app:images"),Na("/images"),V.success("Image deleted successfully")}catch(i){V.error(i.message||"Failed to delete image")}finally{L(f,!1)}}}var g=Ca(),q=a(g),u=t(a(q),2);u.__click=$;var aa=a(u,!0);e(u),e(q);var ea=t(q,2);{var sa=i=>{var v=Sa(),p=a(v),m=a(p);e(p);var F=t(p,2),h=a(F),S=t(a(h),2),w=a(S),z=t(a(w),2),ia=a(z,!0);e(z),e(w);var b=t(w,2),C=t(a(b),2),la=a(C);e(C),e(b);var y=t(b,2),P=t(a(y),2),ra=a(P,!0);e(P),e(y);var x=t(y,2),U=t(a(x),2),va=a(U,!0);e(U),e(x);var G=t(x,2),K=t(a(G),2),na=a(K,!0);e(K),e(G),e(S),e(h);var O=t(h,2),T=t(a(O),2),B=a(T),A=t(a(B),2),da=a(A,!0);e(A),e(B);var I=t(B,2),E=t(a(I),2),ca=a(E,!0);e(E),e(I);var H=t(I,2),oa=t(a(H),2);{var pa=n=>{var l=ka(),_=a(l,!0);e(l),N(()=>{D(l,"href",`/en/finder/${s.data.ownerNode._collection??""}/nodes/${s.data.ownerNodePath??""}`),r(_,s.data.ownerNode.code||s.data.ownerNode.title?.en||s.data.ownerNode.id)}),d(n,l)},ma=n=>{var l=ya(),_=wa(l);{var _a=c=>{var M=Da();d(c,M)},fa=c=>{var M=Fa();d(c,M)};k(_,c=>{s.data.image._node?c(_a):c(fa,!1)},!0)}d(n,l)};k(oa,n=>{s.data.ownerNode?n(pa):n(ma,!1)})}e(H),e(T),e(O),e(F),e(v),N((n,l,_)=>{D(m,"src",n),D(m,"alt",s.data.image.file_name),r(ia,s.data.image.file_name),r(la,`${s.data.image.width??""} × ${s.data.image.height??""}`),r(ra,l),r(va,_),r(na,s.data.image.mime_type),r(da,s.data.image.id),r(ca,s.data.image.s3_key)},[()=>Y(s.data.image.s3_key),()=>s.data.image.format.toUpperCase(),()=>Z(s.data.image.file_size)]),d(i,v)},ta=i=>{var v=za();d(i,v)};k(ea,i=>{s.data.image?i(sa):i(ta,!1)})}e(g),N(()=>{u.disabled=R(f),r(aa,R(f)?"Deleting...":"Delete")}),d(j,g),ga(),W()}ba(["click"]);export{ja as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as G,l as o,m as F,d as H,i as r,n as e,a as J,c as b,r as h,s as L,as as M}from"../chunks/DxOICouY.js";import{a as y,f as I}from"../chunks/wJchKVuM.js";import{i as N}from"../chunks/D-cCrPs3.js";import{a as O,s as P}from"../chunks/BxCyPBAb.js";import{p as Q}from"../chunks/CIFpcI83.js";import{i as z,g as B}from"../chunks/C-WiO1yA.js";import{B as U,I as k}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{F as C}from"../chunks/CPH_RY3i.js";import{n as g}from"../chunks/CW7HXIjc.js";import{d as V,u as W}from"../chunks/CquWN9-P.js";var X=I('<div class="editor svelte-1xa1b3o"><!> <!> <div class="actions svelte-1xa1b3o"><!></div></div>'),Y=I('<p class="error svelte-1xa1b3o">Language not found</p>'),Z=I('<div class="mainContent svelte-1xa1b3o"><!></div>');function ga(S,t){G(t,!0);const n=()=>O(Q,"$page",T),[T,E]=P();let s=o(F(t.data.language?.id??"")),d=o(F(t.data.language?.title??"")),u=o(!1),c=o(!1),f=o("");H(()=>{if(r(u))return;const a=n().params.id;a!==r(f)&&(e(s,t.data.language?.id??a??"",!0),e(d,t.data.language?.title??"",!0),e(f,a,!0))});async function x(){const a=r(s).trim(),i=r(d).trim();if(!(!a||!t.data.language)&&!(t.data.language.id===a&&t.data.language.title===i)){e(u,!0);try{const l=await W({id:n().params.id,updates:{newId:a!==n().params.id?a:void 0,title:i||null}});e(s,l.id,!0),e(d,l.title??"",!0),e(f,n().params.id,!0),await z("app:languages"),l.id!==n().params.id&&B(`/languages/${l.id}`),g.success("Saved")}catch{g.error("Failed to save")}finally{e(u,!1)}}}async function K(){if(t.data.language&&confirm("Delete this language?")){e(c,!0);try{await V({id:n().params.id}),await z("app:languages"),B("/languages"),g.success("Deleted")}catch{g.error("Failed to delete")}finally{e(c,!1)}}}var m=Z(),R=b(m);{var j=a=>{var i=X(),l=b(i);C(l,{label:"ID (Code)",children:p=>{k(p,{id:"lang-id",size:"32",variant:"accent",placeholder:"Language ID (e.g., en, ro)",onblur:x,get value(){return r(s)},set value(_){e(s,_,!0)}})},$$slots:{default:!0}});var D=L(l,2);C(D,{label:"Title",children:p=>{k(p,{id:"lang-title",size:"32",variant:"accent",placeholder:"Language title (e.g., English, Română)",onblur:x,get value(){return r(d)},set value(_){e(d,_,!0)}})},$$slots:{default:!0}});var w=L(D,2),A=b(w);{let v=M(()=>r(c)||r(u));U(A,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:K,get disabled(){return r(v)}})}h(w),h(i),y(a,i)},q=a=>{var i=Y();y(a,i)};N(R,a=>{t.data.language?a(j):a(q,!1)})}h(m),y(S,m),J(),E()}export{ga as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as G,l as o,m as F,d as H,i as r,n as e,a as J,c as b,r as h,s as L,as as M}from"../chunks/DxOICouY.js";import{a as y,f as I}from"../chunks/wJchKVuM.js";import{i as N}from"../chunks/D-cCrPs3.js";import{a as O,s as P}from"../chunks/BxCyPBAb.js";import{p as Q}from"../chunks/BNXambdK.js";import{i as z,g as B}from"../chunks/NDhU74_a.js";import{B as U,I as k}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{F as C}from"../chunks/CPH_RY3i.js";import{n as g}from"../chunks/CW7HXIjc.js";import{d as V,u as W}from"../chunks/C_xn6tJ5.js";var X=I('<div class="editor svelte-1xa1b3o"><!> <!> <div class="actions svelte-1xa1b3o"><!></div></div>'),Y=I('<p class="error svelte-1xa1b3o">Language not found</p>'),Z=I('<div class="mainContent svelte-1xa1b3o"><!></div>');function ga(S,t){G(t,!0);const n=()=>O(Q,"$page",T),[T,E]=P();let s=o(F(t.data.language?.id??"")),d=o(F(t.data.language?.title??"")),u=o(!1),c=o(!1),f=o("");H(()=>{if(r(u))return;const a=n().params.id;a!==r(f)&&(e(s,t.data.language?.id??a??"",!0),e(d,t.data.language?.title??"",!0),e(f,a,!0))});async function x(){const a=r(s).trim(),i=r(d).trim();if(!(!a||!t.data.language)&&!(t.data.language.id===a&&t.data.language.title===i)){e(u,!0);try{const l=await W({id:n().params.id,updates:{newId:a!==n().params.id?a:void 0,title:i||null}});e(s,l.id,!0),e(d,l.title??"",!0),e(f,n().params.id,!0),await z("app:languages"),l.id!==n().params.id&&B(`/languages/${l.id}`),g.success("Saved")}catch{g.error("Failed to save")}finally{e(u,!1)}}}async function K(){if(t.data.language&&confirm("Delete this language?")){e(c,!0);try{await V({id:n().params.id}),await z("app:languages"),B("/languages"),g.success("Deleted")}catch{g.error("Failed to delete")}finally{e(c,!1)}}}var m=Z(),R=b(m);{var j=a=>{var i=X(),l=b(i);C(l,{label:"ID (Code)",children:p=>{k(p,{id:"lang-id",size:"32",variant:"accent",placeholder:"Language ID (e.g., en, ro)",onblur:x,get value(){return r(s)},set value(_){e(s,_,!0)}})},$$slots:{default:!0}});var D=L(l,2);C(D,{label:"Title",children:p=>{k(p,{id:"lang-title",size:"32",variant:"accent",placeholder:"Language title (e.g., English, Română)",onblur:x,get value(){return r(d)},set value(_){e(d,_,!0)}})},$$slots:{default:!0}});var w=L(D,2),A=b(w);{let v=M(()=>r(c)||r(u));U(A,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:K,get disabled(){return r(v)}})}h(w),h(i),y(a,i)},q=a=>{var i=Y();y(a,i)};N(R,a=>{t.data.language?a(j):a(q,!1)})}h(m),y(S,m),J(),E()}export{ga as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as Q,l as c,m as I,d as R,i as t,n as a,a as U,c as k,r as N,s as f,as as S}from"../chunks/DxOICouY.js";import{a as D,f as C}from"../chunks/wJchKVuM.js";import{i as V}from"../chunks/D-cCrPs3.js";import{a as W,s as X}from"../chunks/BxCyPBAb.js";import{p as Y}from"../chunks/CIFpcI83.js";import{g as B,i as P}from"../chunks/C-WiO1yA.js";import{L as Z,B as $,I as q}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{F as w}from"../chunks/CPH_RY3i.js";import{L as ee}from"../chunks/BW3w2llh.js";import{n as p}from"../chunks/CW7HXIjc.js";import{d as te,u as ae}from"../chunks/BJyh01OH.js";var ne=C('<div class="editor svelte-1v7qkhb"><!> <!> <!> <hr class="svelte-1v7qkhb"/> <!> <!> <div class="actions svelte-1v7qkhb"><!></div></div>'),re=C('<p class="error svelte-1v7qkhb">Node type not found</p>'),de=C('<div class="mainContent svelte-1v7qkhb"><!></div>');function be(J,e){Q(e,!0);const v=()=>W(Y,"$page",O),[O,K]=X();let g=c(I(e.data.nodeType?.code??"")),d=c(I({...e.data.nodeType?.title||{}})),l=c(I(e.data.nodeType?.notes??"")),m=c(!1),y=c(!1),h=c("");R(()=>{if(t(m))return;const n=v().params.id;n!==t(h)&&(a(g,e.data.nodeType?.code??"",!0),a(d,{...e.data.nodeType?.title||{}},!0),a(l,e.data.nodeType?.notes??"",!0),a(h,n,!0))});async function b(){const n=t(g).trim();if(!n||!e.data.nodeType)return;const r=e.data.nodeType;if(n!==r.code||JSON.stringify(t(d))!==JSON.stringify(r.title||{})||(t(l).trim()||null)!==r.notes){a(m,!0);try{const o=await ae({id:v().params.id,updates:{code:n,title:t(d),notes:t(l).trim()||null}});a(g,o.code,!0),a(d,{...o.title||{}},!0),a(l,o.notes??"",!0),a(h,v().params.id,!0),await P("app:node-types"),p.success("Saved")}catch{p.error("Failed to save")}finally{a(m,!1)}}}async function j(){if(e.data.nodeType&&confirm("Delete this node type?")){a(y,!0);try{await te({id:v().params.id}),await P("app:node-types"),B(`/node-types/${e.data.languageId}`),p.success("Deleted")}catch{p.error("Failed to delete")}finally{a(y,!1)}}}var T=de(),A=k(T);{var E=n=>{var r=ne(),_=k(r);ee(_,{label:"ID",get text(){return e.data.nodeType.id}});var o=f(_,2);w(o,{label:"Code",children:u=>{q(u,{id:"nt-code",size:"32",variant:"accent",placeholder:"Node type code",onblur:b,get value(){return t(g)},set value(s){a(g,s,!0)}})},$$slots:{default:!0}});var F=f(o,2);w(F,{label:"Notes",children:u=>{q(u,{id:"nt-notes",size:"32",variant:"accent",placeholder:"Description (optional)",onblur:b,get value(){return t(l)},set value(s){a(l,s,!0)}})},$$slots:{default:!0}});var L=f(F,4);Z(L,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:i=>{const s=v().url.pathname.replace(/^(\/node-types)\/[^\/]+/,`$1/${i}`);B(s)}});var x=f(L,2);w(x,{label:"Title",children:u=>{{let s=S(()=>t(d)[e.data.languageId]||"");q(u,{get id(){return`nt-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return t(s)},oninput:M=>{a(d,{...t(d),[e.data.languageId]:M.target.value},!0)},onblur:b})}},$$slots:{default:!0}});var z=f(x,2),H=k(z);{let i=S(()=>t(y)||t(m));$(H,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:j,get disabled(){return t(i)}})}N(z),N(r),D(n,r)},G=n=>{var r=re();D(n,r)};V(A,n=>{e.data.nodeType?n(E):n(G,!1)})}N(T),D(J,T),U(),K()}export{be as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as Q,l as c,m as I,d as R,i as t,n as a,a as U,c as k,r as N,s as f,as as S}from"../chunks/DxOICouY.js";import{a as D,f as C}from"../chunks/wJchKVuM.js";import{i as V}from"../chunks/D-cCrPs3.js";import{a as W,s as X}from"../chunks/BxCyPBAb.js";import{p as Y}from"../chunks/BNXambdK.js";import{g as B,i as P}from"../chunks/NDhU74_a.js";import{L as Z,B as $,I as q}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{F as w}from"../chunks/CPH_RY3i.js";import{L as ee}from"../chunks/BW3w2llh.js";import{n as p}from"../chunks/CW7HXIjc.js";import{d as te,u as ae}from"../chunks/DwDEpx6N.js";var ne=C('<div class="editor svelte-1v7qkhb"><!> <!> <!> <hr class="svelte-1v7qkhb"/> <!> <!> <div class="actions svelte-1v7qkhb"><!></div></div>'),re=C('<p class="error svelte-1v7qkhb">Node type not found</p>'),de=C('<div class="mainContent svelte-1v7qkhb"><!></div>');function be(J,e){Q(e,!0);const v=()=>W(Y,"$page",O),[O,K]=X();let g=c(I(e.data.nodeType?.code??"")),d=c(I({...e.data.nodeType?.title||{}})),l=c(I(e.data.nodeType?.notes??"")),m=c(!1),y=c(!1),h=c("");R(()=>{if(t(m))return;const n=v().params.id;n!==t(h)&&(a(g,e.data.nodeType?.code??"",!0),a(d,{...e.data.nodeType?.title||{}},!0),a(l,e.data.nodeType?.notes??"",!0),a(h,n,!0))});async function b(){const n=t(g).trim();if(!n||!e.data.nodeType)return;const r=e.data.nodeType;if(n!==r.code||JSON.stringify(t(d))!==JSON.stringify(r.title||{})||(t(l).trim()||null)!==r.notes){a(m,!0);try{const o=await ae({id:v().params.id,updates:{code:n,title:t(d),notes:t(l).trim()||null}});a(g,o.code,!0),a(d,{...o.title||{}},!0),a(l,o.notes??"",!0),a(h,v().params.id,!0),await P("app:node-types"),p.success("Saved")}catch{p.error("Failed to save")}finally{a(m,!1)}}}async function j(){if(e.data.nodeType&&confirm("Delete this node type?")){a(y,!0);try{await te({id:v().params.id}),await P("app:node-types"),B(`/node-types/${e.data.languageId}`),p.success("Deleted")}catch{p.error("Failed to delete")}finally{a(y,!1)}}}var T=de(),A=k(T);{var E=n=>{var r=ne(),_=k(r);ee(_,{label:"ID",get text(){return e.data.nodeType.id}});var o=f(_,2);w(o,{label:"Code",children:u=>{q(u,{id:"nt-code",size:"32",variant:"accent",placeholder:"Node type code",onblur:b,get value(){return t(g)},set value(s){a(g,s,!0)}})},$$slots:{default:!0}});var F=f(o,2);w(F,{label:"Notes",children:u=>{q(u,{id:"nt-notes",size:"32",variant:"accent",placeholder:"Description (optional)",onblur:b,get value(){return t(l)},set value(s){a(l,s,!0)}})},$$slots:{default:!0}});var L=f(F,4);Z(L,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:i=>{const s=v().url.pathname.replace(/^(\/node-types)\/[^\/]+/,`$1/${i}`);B(s)}});var x=f(L,2);w(x,{label:"Title",children:u=>{{let s=S(()=>t(d)[e.data.languageId]||"");q(u,{get id(){return`nt-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return t(s)},oninput:M=>{a(d,{...t(d),[e.data.languageId]:M.target.value},!0)},onblur:b})}},$$slots:{default:!0}});var z=f(x,2),H=k(z);{let i=S(()=>t(y)||t(m));$(H,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:j,get disabled(){return t(i)}})}N(z),N(r),D(n,r)},G=n=>{var r=re();D(n,r)};V(A,n=>{e.data.nodeType?n(E):n(G,!1)})}N(T),D(J,T),U(),K()}export{be as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as de,at as fe,d as ve,i as l,a as ge,as as d,c as g,r as c,s as y,U as A,t as D}from"../chunks/DxOICouY.js";import{d as he,s as G}from"../chunks/C9d66xaq.js";import{s as _e}from"../chunks/CPRTIG4n.js";import{i as B}from"../chunks/D-cCrPs3.js";import{e as H,i as J}from"../chunks/B3_urjHi.js";import{a as h,f as _}from"../chunks/wJchKVuM.js";import{s as K}from"../chunks/DnoJMx4R.js";import{s as me}from"../chunks/L_zP04PH.js";import{s as pe,a as be}from"../chunks/BxCyPBAb.js";import{p as Ne}from"../chunks/CIFpcI83.js";import{g as Pe}from"../chunks/C-WiO1yA.js";var xe=_("<span> </span>"),Ie=_('<span class="expand-icon-spacer svelte-ucse30"></span>'),Se=_('<div class="node-children svelte-ucse30"></div>'),ye=_('<div class="node-item svelte-ucse30"><button type="button"><!> <span class="node-label svelte-ucse30"> </span></button> <!></div>'),Be=_('<div class="placeholder svelte-ucse30">No content available in this language</div>'),Ue=_('<div class="node-tree svelte-ucse30"></div>'),ke=_('<div class="collection-layout svelte-ucse30"><div class="sidebar svelte-ucse30"><!></div> <div class="main-content svelte-ucse30"><!></div></div>');function He(M,r){de(r,!0);const O=()=>be(Ne,"$page",Q),[Q,T]=pe(),U=(t,e=A,a=A)=>{const n=d(()=>$(e())),s=d(()=>ee(e())||l(n)),i=d(()=>e().children?.length>0);var m=ye(),v=g(m);let R;v.__click=()=>Z(e());var q=g(v);{var se=o=>{var u=xe();let b;var S=g(u,!0);c(u),D(()=>{b=K(u,1,"expand-icon svelte-ucse30",null,b,{expanded:l(s)}),G(S,l(s)?"▼":"▶")}),h(o,u)},oe=o=>{var u=Ie();h(o,u)};B(q,o=>{l(i)?o(se):o(oe,!1)})}var z=y(q,2),ie=g(z,!0);c(z),c(v);var ue=y(v,2);{var ce=o=>{var u=Se();H(u,21,()=>e().children,J,(b,S)=>{U(b,()=>l(S),()=>a()+1)}),c(u),h(o,u)};B(ue,o=>{l(i)&&l(s)&&o(ce)})}c(m),D(o=>{me(m,`--depth: ${a()??""}`),R=K(v,1,"node-button svelte-ucse30",null,R,{selected:l(n),"has-children":l(i)}),G(ie,o)},[()=>te(e())]),h(t,m)},k=fe("languageUrlBuilder");let N=d(()=>()=>O().url.pathname.split("/").filter(Boolean).slice(3).map(e=>decodeURIComponent(e)));function j(t,e){return!!t.slug?.[e]}function C(t,e,a){let n=t;for(;n;){if(!j(n,a))return!1;n._parent?n=P(n._parent,e):n=null}return!0}function w(t,e){return t.filter(a=>j(a,e)).map(a=>({...a,children:a.children?w(a.children,e):[]}))}function p(t,e,a){const n=[];let s=t;for(;s;){const i=s.slug?.[a];if(!i)return null;n.unshift(i),s._parent?s=P(s._parent,e):s=null}return n}function P(t,e){for(const a of e){if(a.id===t)return a;if(a.children?.length){const n=P(t,a.children);if(n)return n}}return null}function V(t,e){let a=null,n=null;for(const s of t){n=null;for(const i of l(f)){const m=i.slug?.[e],v=i._parent||null;if(m===s&&v===a){n=i,a=i.id;break}}if(!n)return null}return n}function W(t){const e=[];function a(n){for(const s of n)e.push(s),s.children?.length&&a(s.children)}return a(t),e}let f=d(()=>W(r.data.nodes)),F=d(()=>w(r.data.nodes,r.data.languageId)),L=d(()=>()=>{const t=l(N)();return t.length===0?null:V(t,r.data.languageId)}),X=d(()=>()=>{const t=l(L)();return t?r.data.languages.filter(e=>C(t,l(f),e)):r.data.languages});function Y(t){const e=l(L)();if(e){if(!C(e,l(f),t))return null;const a=p(e,l(f),t);return a?`/browser/${t}/${r.data.collection.code}/${a.join("/")}`:null}return`/browser/${t}/${r.data.collection.code}`}ve(()=>{k&&k.set({getUrl:Y,availableLanguages:l(X)()})});function Z(t){const e=p(t,l(f),r.data.languageId);e&&Pe(`/browser/${r.data.languageId}/${r.data.collection.code}/${e.join("/")}`)}function $(t){const e=p(t,l(f),r.data.languageId),a=l(N)();return e?e.join("/")===a.join("/"):!1}function ee(t){const e=p(t,l(f),r.data.languageId),a=l(N)();if(!e||e.length>=a.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==a[n])return!1;return!0}function te(t){return t.title?.[r.data.languageId]||t.code||t.id}var x=ke(),I=g(x),ae=g(I);{var ne=t=>{var e=Be();h(t,e)},le=t=>{var e=Ue();H(e,21,()=>l(F),J,(a,n)=>{U(a,()=>l(n),()=>0)}),c(e),h(t,e)};B(ae,t=>{l(F).length===0?t(ne):t(le,!1)})}c(I);var E=y(I,2),re=g(E);_e(re,()=>r.children),c(E),c(x),h(M,x),ge(),T()}he(["click"]);export{He as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as de,at as fe,d as ve,i as l,a as ge,as as d,c as g,r as c,s as y,U as A,t as D}from"../chunks/DxOICouY.js";import{d as he,s as G}from"../chunks/C9d66xaq.js";import{s as _e}from"../chunks/CPRTIG4n.js";import{i as B}from"../chunks/D-cCrPs3.js";import{e as H,i as J}from"../chunks/B3_urjHi.js";import{a as h,f as _}from"../chunks/wJchKVuM.js";import{s as K}from"../chunks/DnoJMx4R.js";import{s as me}from"../chunks/L_zP04PH.js";import{s as pe,a as be}from"../chunks/BxCyPBAb.js";import{p as Ne}from"../chunks/BNXambdK.js";import{g as Pe}from"../chunks/NDhU74_a.js";var xe=_("<span> </span>"),Ie=_('<span class="expand-icon-spacer svelte-ucse30"></span>'),Se=_('<div class="node-children svelte-ucse30"></div>'),ye=_('<div class="node-item svelte-ucse30"><button type="button"><!> <span class="node-label svelte-ucse30"> </span></button> <!></div>'),Be=_('<div class="placeholder svelte-ucse30">No content available in this language</div>'),Ue=_('<div class="node-tree svelte-ucse30"></div>'),ke=_('<div class="collection-layout svelte-ucse30"><div class="sidebar svelte-ucse30"><!></div> <div class="main-content svelte-ucse30"><!></div></div>');function He(M,r){de(r,!0);const O=()=>be(Ne,"$page",Q),[Q,T]=pe(),U=(t,e=A,a=A)=>{const n=d(()=>$(e())),s=d(()=>ee(e())||l(n)),i=d(()=>e().children?.length>0);var m=ye(),v=g(m);let R;v.__click=()=>Z(e());var q=g(v);{var se=o=>{var u=xe();let b;var S=g(u,!0);c(u),D(()=>{b=K(u,1,"expand-icon svelte-ucse30",null,b,{expanded:l(s)}),G(S,l(s)?"▼":"▶")}),h(o,u)},oe=o=>{var u=Ie();h(o,u)};B(q,o=>{l(i)?o(se):o(oe,!1)})}var z=y(q,2),ie=g(z,!0);c(z),c(v);var ue=y(v,2);{var ce=o=>{var u=Se();H(u,21,()=>e().children,J,(b,S)=>{U(b,()=>l(S),()=>a()+1)}),c(u),h(o,u)};B(ue,o=>{l(i)&&l(s)&&o(ce)})}c(m),D(o=>{me(m,`--depth: ${a()??""}`),R=K(v,1,"node-button svelte-ucse30",null,R,{selected:l(n),"has-children":l(i)}),G(ie,o)},[()=>te(e())]),h(t,m)},k=fe("languageUrlBuilder");let N=d(()=>()=>O().url.pathname.split("/").filter(Boolean).slice(3).map(e=>decodeURIComponent(e)));function j(t,e){return!!t.slug?.[e]}function C(t,e,a){let n=t;for(;n;){if(!j(n,a))return!1;n._parent?n=P(n._parent,e):n=null}return!0}function w(t,e){return t.filter(a=>j(a,e)).map(a=>({...a,children:a.children?w(a.children,e):[]}))}function p(t,e,a){const n=[];let s=t;for(;s;){const i=s.slug?.[a];if(!i)return null;n.unshift(i),s._parent?s=P(s._parent,e):s=null}return n}function P(t,e){for(const a of e){if(a.id===t)return a;if(a.children?.length){const n=P(t,a.children);if(n)return n}}return null}function V(t,e){let a=null,n=null;for(const s of t){n=null;for(const i of l(f)){const m=i.slug?.[e],v=i._parent||null;if(m===s&&v===a){n=i,a=i.id;break}}if(!n)return null}return n}function W(t){const e=[];function a(n){for(const s of n)e.push(s),s.children?.length&&a(s.children)}return a(t),e}let f=d(()=>W(r.data.nodes)),F=d(()=>w(r.data.nodes,r.data.languageId)),L=d(()=>()=>{const t=l(N)();return t.length===0?null:V(t,r.data.languageId)}),X=d(()=>()=>{const t=l(L)();return t?r.data.languages.filter(e=>C(t,l(f),e)):r.data.languages});function Y(t){const e=l(L)();if(e){if(!C(e,l(f),t))return null;const a=p(e,l(f),t);return a?`/browser/${t}/${r.data.collection.code}/${a.join("/")}`:null}return`/browser/${t}/${r.data.collection.code}`}ve(()=>{k&&k.set({getUrl:Y,availableLanguages:l(X)()})});function Z(t){const e=p(t,l(f),r.data.languageId);e&&Pe(`/browser/${r.data.languageId}/${r.data.collection.code}/${e.join("/")}`)}function $(t){const e=p(t,l(f),r.data.languageId),a=l(N)();return e?e.join("/")===a.join("/"):!1}function ee(t){const e=p(t,l(f),r.data.languageId),a=l(N)();if(!e||e.length>=a.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==a[n])return!1;return!0}function te(t){return t.title?.[r.data.languageId]||t.code||t.id}var x=ke(),I=g(x),ae=g(I);{var ne=t=>{var e=Be();h(t,e)},le=t=>{var e=Ue();H(e,21,()=>l(F),J,(a,n)=>{U(a,()=>l(n),()=>0)}),c(e),h(t,e)};B(ae,t=>{l(F).length===0?t(ne):t(le,!1)})}c(I);var E=y(I,2),re=g(E);_e(re,()=>r.children),c(E),c(x),h(M,x),ge(),T()}he(["click"]);export{He as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as E,a as G,c as l,s as p,r as i,n,i as o,l as I,as as x}from"../chunks/DxOICouY.js";import{e as J}from"../chunks/C9d66xaq.js";import{a as h,f as b}from"../chunks/wJchKVuM.js";import{s as K}from"../chunks/CPRTIG4n.js";import{i as L}from"../chunks/D-cCrPs3.js";import{s as M,a as O}from"../chunks/BxCyPBAb.js";import{I as P,T as Q}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{n as g}from"../chunks/CW7HXIjc.js";import{p as W}from"../chunks/CIFpcI83.js";import{i as w,g as y}from"../chunks/C-WiO1yA.js";import{c as X,u as Y}from"../chunks/B4fr5apD.js";var Z=b('<div class="empty svelte-3xy9ly">No collections</div>'),$=b('<div class="container svelte-3xy9ly"><div class="leftArea svelte-3xy9ly"><div class="leftHeader svelte-3xy9ly">Collections</div> <div class="leftContent svelte-3xy9ly"><!></div> <div class="leftFooter svelte-3xy9ly"><form class="createForm svelte-3xy9ly"><!></form></div></div> <!></div>');function me(F,a){E(a,!0);const N=()=>O(W,"$page",S),[S,T]=M();let k=x(()=>N().params.collectionId||null),s=I(""),c=I(!1),d=x(()=>a.data.collections.map(e=>({id:e.id,name:e.code,collectionId:e.id,order:e.sort})));function z(e){if(e===null){y(`/finder/${a.data.languageId}`);return}const t=o(d).find(r=>r.id===e);t&&y(`/finder/${a.data.languageId}/${t.collectionId}/nodes`)}async function A(e){try{const t=e.map(({itemId:r,order:j})=>{const C=o(d).find(q=>q.id===r);return C?{id:C.collectionId,sort:j}:null}).filter(Boolean);await Y({updates:t}),await w("app:collections")}catch{g.error("Failed to save order")}}async function B(e){e?.preventDefault?.();const t=o(s).trim();if(t){n(c,!0);try{const r=await X({code:t,notes:null});await w("app:collections"),n(s,""),g.success("Collection created"),y(`/finder/${a.data.languageId}/${r.id}/nodes`)}catch{g.error("Failed to create collection")}finally{n(c,!1)}}}var v=$(),f=l(v),m=p(l(f),2),D=l(m);{var H=e=>{var t=Z();h(e,t)},R=e=>{Q(e,{get items(){return o(d)},allowNesting:!1,get selectedId(){return o(k)},onSelect:z,onReorder:A,gap:"2px"})};L(D,e=>{a.data.collections.length===0?e(H):e(R,!1)})}i(m);var _=p(m,2),u=l(_),U=l(u);P(U,{placeholder:"New collection code",size:"28",variant:"accent",get disabled(){return o(c)},get value(){return o(s)},set value(e){n(s,e,!0)}}),i(u),i(_),i(f);var V=p(f,2);K(V,()=>a.children),i(v),J("submit",u,B),h(F,v),G(),T()}export{me as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as E,a as G,c as l,s as p,r as i,n,i as o,l as I,as as x}from"../chunks/DxOICouY.js";import{e as J}from"../chunks/C9d66xaq.js";import{a as h,f as b}from"../chunks/wJchKVuM.js";import{s as K}from"../chunks/CPRTIG4n.js";import{i as L}from"../chunks/D-cCrPs3.js";import{s as M,a as O}from"../chunks/BxCyPBAb.js";import{I as P,T as Q}from"../chunks/DkUXkvWJ.js";import"../chunks/BRMV3Vlh.js";import{n as g}from"../chunks/CW7HXIjc.js";import{p as W}from"../chunks/BNXambdK.js";import{i as w,g as y}from"../chunks/NDhU74_a.js";import{c as X,u as Y}from"../chunks/CGpagYzn.js";var Z=b('<div class="empty svelte-3xy9ly">No collections</div>'),$=b('<div class="container svelte-3xy9ly"><div class="leftArea svelte-3xy9ly"><div class="leftHeader svelte-3xy9ly">Collections</div> <div class="leftContent svelte-3xy9ly"><!></div> <div class="leftFooter svelte-3xy9ly"><form class="createForm svelte-3xy9ly"><!></form></div></div> <!></div>');function me(F,a){E(a,!0);const N=()=>O(W,"$page",S),[S,T]=M();let k=x(()=>N().params.collectionId||null),s=I(""),c=I(!1),d=x(()=>a.data.collections.map(e=>({id:e.id,name:e.code,collectionId:e.id,order:e.sort})));function z(e){if(e===null){y(`/finder/${a.data.languageId}`);return}const t=o(d).find(r=>r.id===e);t&&y(`/finder/${a.data.languageId}/${t.collectionId}/nodes`)}async function A(e){try{const t=e.map(({itemId:r,order:j})=>{const C=o(d).find(q=>q.id===r);return C?{id:C.collectionId,sort:j}:null}).filter(Boolean);await Y({updates:t}),await w("app:collections")}catch{g.error("Failed to save order")}}async function B(e){e?.preventDefault?.();const t=o(s).trim();if(t){n(c,!0);try{const r=await X({code:t,notes:null});await w("app:collections"),n(s,""),g.success("Collection created"),y(`/finder/${a.data.languageId}/${r.id}/nodes`)}catch{g.error("Failed to create collection")}finally{n(c,!1)}}}var v=$(),f=l(v),m=p(l(f),2),D=l(m);{var H=e=>{var t=Z();h(e,t)},R=e=>{Q(e,{get items(){return o(d)},allowNesting:!1,get selectedId(){return o(k)},onSelect:z,onReorder:A,gap:"2px"})};L(D,e=>{a.data.collections.length===0?e(H):e(R,!1)})}i(m);var _=p(m,2),u=l(_),U=l(u);P(U,{placeholder:"New collection code",size:"28",variant:"accent",get disabled(){return o(c)},get value(){return o(s)},set value(e){n(s,e,!0)}}),i(u),i(_),i(f);var V=p(f,2);K(V,()=>a.children),i(v),J("submit",u,B),h(F,v),G(),T()}export{me as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p,f as m,a as e}from"../chunks/DxOICouY.js";import{c as n,a as i}from"../chunks/wJchKVuM.js";import{s as c}from"../chunks/CPRTIG4n.js";import{s as f}from"../chunks/BxCyPBAb.js";import"../chunks/CESQkQo2.js";function g(r,o){p(o,!0);const[u,s]=f();var t=n(),a=m(t);c(a,()=>o.children),i(r,t),e(),s()}export{g as component};
1
+ import"../chunks/DsnmJJEf.js";import{p,f as m,a as e}from"../chunks/DxOICouY.js";import{c as n,a as i}from"../chunks/wJchKVuM.js";import{s as c}from"../chunks/CPRTIG4n.js";import{s as f}from"../chunks/BxCyPBAb.js";import"../chunks/BsdJr886.js";function g(r,o){p(o,!0);const[u,s]=f();var t=n(),a=m(t);c(a,()=>o.children),i(r,t),e(),s()}export{g as component};
@@ -0,0 +1,2 @@
1
+ fH�$��.S�t���������/v�[EA۷�0Ѽ�Z��ΞВ�Ë�g�l�,��|`K�ϧ|>�6�Y ���j\�3VO��������W%���^]��.��/���,o89Q�7s�Y\�Ļ����߽^�Y���n�����Qg���rf1�F���$Bg�q:AԊ�
2
+ _�s�wc3��Ġ���6���