@phosart/devtool 0.2.39 → 0.2.40
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.
- package/build/client/editor/_app/immutable/chunks/{BmapHj57.js → 42r0DWvu.js} +1 -1
- package/build/client/editor/_app/immutable/chunks/42r0DWvu.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/42r0DWvu.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/4GcV8-CP.js +1 -0
- package/build/client/editor/_app/immutable/chunks/4GcV8-CP.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/4GcV8-CP.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/5A0nIMAQ.js +3 -0
- package/build/client/editor/_app/immutable/chunks/5A0nIMAQ.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/5A0nIMAQ.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/{DqFxWrM4.js → 7-WP23CK.js} +1 -1
- package/build/client/editor/_app/immutable/chunks/7-WP23CK.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/7-WP23CK.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/BGivpE9U.js +1 -0
- package/build/client/editor/_app/immutable/chunks/BGivpE9U.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/BGivpE9U.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/BSn3NNWV.js +1 -0
- package/build/client/editor/_app/immutable/chunks/BSn3NNWV.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/BSn3NNWV.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/Bjmj_fjv.js +1 -0
- package/build/client/editor/_app/immutable/chunks/Bjmj_fjv.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/Bjmj_fjv.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/BoeGdwOa.js +1 -0
- package/build/client/editor/_app/immutable/chunks/BoeGdwOa.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/BoeGdwOa.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/Bsdd0iEV.js +1 -0
- package/build/client/editor/_app/immutable/chunks/Bsdd0iEV.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/Bsdd0iEV.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/CW00K0_e.js +1 -0
- package/build/client/editor/_app/immutable/chunks/CW00K0_e.js.br +2 -0
- package/build/client/editor/_app/immutable/chunks/CW00K0_e.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/DQfcrQAO.js +1 -0
- package/build/client/editor/_app/immutable/chunks/DQfcrQAO.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/DQfcrQAO.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/DRvHbUd7.js +1 -0
- package/build/client/editor/_app/immutable/chunks/DRvHbUd7.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/DRvHbUd7.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/{CbAv_EyC.js → DXksldsr.js} +1 -1
- package/build/client/editor/_app/immutable/chunks/DXksldsr.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/DXksldsr.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/DoCbZWLO.js +12 -0
- package/build/client/editor/_app/immutable/chunks/DoCbZWLO.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/DoCbZWLO.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/L4YI7OnJ.js +22 -0
- package/build/client/editor/_app/immutable/chunks/L4YI7OnJ.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/L4YI7OnJ.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/{BwHeJh_l.js → XFabZs4n.js} +1 -1
- package/build/client/editor/_app/immutable/chunks/XFabZs4n.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/XFabZs4n.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/YFxre41u.js +5 -0
- package/build/client/editor/_app/immutable/chunks/YFxre41u.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/YFxre41u.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/{DEuJX0Kw.js → _PT6Fap7.js} +1 -1
- package/build/client/editor/_app/immutable/chunks/_PT6Fap7.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/_PT6Fap7.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/{TuU_UmXF.js → chkjhUXG.js} +2 -2
- package/build/client/editor/_app/immutable/chunks/chkjhUXG.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/chkjhUXG.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/pILfBOEZ.js +2 -0
- package/build/client/editor/_app/immutable/chunks/pILfBOEZ.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/pILfBOEZ.js.gz +0 -0
- package/build/client/editor/_app/immutable/entry/app.B8-G0MJp.js +2 -0
- package/build/client/editor/_app/immutable/entry/app.B8-G0MJp.js.br +0 -0
- package/build/client/editor/_app/immutable/entry/app.B8-G0MJp.js.gz +0 -0
- package/build/client/editor/_app/immutable/entry/start.BFJCv8XH.js +1 -0
- package/build/client/editor/_app/immutable/entry/start.BFJCv8XH.js.br +2 -0
- package/build/client/editor/_app/immutable/entry/start.BFJCv8XH.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/0.BRMo2YfQ.js +1 -0
- package/build/client/editor/_app/immutable/nodes/0.BRMo2YfQ.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/0.BRMo2YfQ.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/1.BRomZobH.js +1 -0
- package/build/client/editor/_app/immutable/nodes/1.BRomZobH.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/1.BRomZobH.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/2.ltMYKR86.js +1 -0
- package/build/client/editor/_app/immutable/nodes/2.ltMYKR86.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/2.ltMYKR86.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/3.DSRyKNuq.js +1 -0
- package/build/client/editor/_app/immutable/nodes/3.DSRyKNuq.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/3.DSRyKNuq.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/4.CYSyUS6J.js +1 -0
- package/build/client/editor/_app/immutable/nodes/4.CYSyUS6J.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/4.CYSyUS6J.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/{5.CJJCY1eL.js → 5.Cg3FhXfu.js} +1 -1
- package/build/client/editor/_app/immutable/nodes/5.Cg3FhXfu.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/5.Cg3FhXfu.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/6.C6chAd02.js +1 -0
- package/build/client/editor/_app/immutable/nodes/6.C6chAd02.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/6.C6chAd02.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/{7.CvKW7Bc_.js → 7.B9MWXVkb.js} +1 -1
- package/build/client/editor/_app/immutable/nodes/7.B9MWXVkb.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/7.B9MWXVkb.js.gz +0 -0
- package/build/client/editor/_app/version.json +1 -1
- package/build/client/editor/_app/version.json.br +0 -0
- package/build/client/editor/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-DVxv0pN2.js → 0-Sg2Pk-Pf.js} +7 -4
- package/build/server/chunks/0-Sg2Pk-Pf.js.map +1 -0
- package/build/server/chunks/1-DHYJ5uvL.js +9 -0
- package/build/server/chunks/{1-DLAv7zUp.js.map → 1-DHYJ5uvL.js.map} +1 -1
- package/build/server/chunks/{2-CXQjo2KJ.js → 2-BnoWxi5m.js} +10 -6
- package/build/server/chunks/2-BnoWxi5m.js.map +1 -0
- package/build/server/chunks/{3-CkxCrxkd.js → 3-uZo4DiN5.js} +3 -3
- package/build/server/chunks/{3-CkxCrxkd.js.map → 3-uZo4DiN5.js.map} +1 -1
- package/build/server/chunks/{4-dfmp9D7Q.js → 4-BOeCVf0K.js} +3 -3
- package/build/server/chunks/4-BOeCVf0K.js.map +1 -0
- package/build/server/chunks/{5-BiPB8QCd.js → 5-nxtVrcnh.js} +3 -3
- package/build/server/chunks/5-nxtVrcnh.js.map +1 -0
- package/build/server/chunks/{6-C8te3i1r.js → 6-Baddm4c4.js} +6 -6
- package/build/server/chunks/6-Baddm4c4.js.map +1 -0
- package/build/server/chunks/{7-DFJTEzDX.js → 7-Db_yq7O-.js} +3 -3
- package/build/server/chunks/7-Db_yq7O-.js.map +1 -0
- package/build/server/chunks/{TextInput-CI0YQsi8.js → SearchInput-DAIoHpf3.js} +50 -5
- package/build/server/chunks/SearchInput-DAIoHpf3.js.map +1 -0
- package/build/server/chunks/{TagEdit-CPvm35aH.js → TagEdit-DvOIqxjk.js} +3 -3
- package/build/server/chunks/TagEdit-DvOIqxjk.js.map +1 -0
- package/build/server/chunks/{TextBox-N5uJQMFh.js → TextBox-AWO1YDgm.js} +3 -4
- package/build/server/chunks/{TextBox-N5uJQMFh.js.map → TextBox-AWO1YDgm.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-B5zISDM2.js → _layout.svelte-BtSXmOs2.js} +3 -3
- package/build/server/chunks/{_layout.svelte-B5zISDM2.js.map → _layout.svelte-BtSXmOs2.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CUQgprcj.js → _page.svelte-Bb-IDoPh.js} +2 -3
- package/build/server/chunks/{_page.svelte-CUQgprcj.js.map → _page.svelte-Bb-IDoPh.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-ClKOeEWs.js → _page.svelte-CSTIeC_m.js} +3 -4
- package/build/server/chunks/_page.svelte-CSTIeC_m.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DZIxV1wc.js → _page.svelte-CU_C-uH5.js} +82 -20
- package/build/server/chunks/_page.svelte-CU_C-uH5.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DFajLADj.js → _page.svelte-CbtjHbxa.js} +100 -35
- package/build/server/chunks/_page.svelte-CbtjHbxa.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CqwFUF2N.js → _page.svelte-DF60mDV1.js} +100 -13
- package/build/server/chunks/_page.svelte-DF60mDV1.js.map +1 -0
- package/build/server/chunks/{_page.svelte-A15IM8Ct.js → _page.svelte-Dbrd3ndI.js} +35 -8
- package/build/server/chunks/_page.svelte-Dbrd3ndI.js.map +1 -0
- package/build/server/chunks/{_server.ts-BX9EOCce.js → _server.ts-BxeMXP1a.js} +5 -2
- package/build/server/chunks/{_server.ts-BX9EOCce.js.map → _server.ts-BxeMXP1a.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4VM2PrZ.js → _server.ts-DrH-oZMv.js} +5 -2
- package/build/server/chunks/_server.ts-DrH-oZMv.js.map +1 -0
- package/build/server/chunks/{_server.ts-DPK-3jbk.js → _server.ts-Ds6dyXi4.js} +5 -2
- package/build/server/chunks/{_server.ts-DPK-3jbk.js.map → _server.ts-Ds6dyXi4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DVV4aYkL.js → _server.ts-DwYgPNwZ.js} +9 -3
- package/build/server/chunks/_server.ts-DwYgPNwZ.js.map +1 -0
- package/build/server/chunks/{_server.ts-Bt1PHziR.js → _server.ts-fomxq4EP.js} +5 -2
- package/build/server/chunks/{_server.ts-Bt1PHziR.js.map → _server.ts-fomxq4EP.js.map} +1 -1
- package/build/server/chunks/galleryutil-DznhV1Pd.js +120 -0
- package/build/server/chunks/galleryutil-DznhV1Pd.js.map +1 -0
- package/build/server/chunks/{util-DFt6Yctw.js → util-Cfqr4aAv.js} +25 -3
- package/build/server/chunks/util-Cfqr4aAv.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +14 -14
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -2
- package/build/client/editor/_app/immutable/chunks/6o7Debw0.js +0 -3
- package/build/client/editor/_app/immutable/chunks/6o7Debw0.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/6o7Debw0.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/7gAmW7UE.js +0 -1
- package/build/client/editor/_app/immutable/chunks/7gAmW7UE.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/7gAmW7UE.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/BZ2EEWtE.js +0 -1
- package/build/client/editor/_app/immutable/chunks/BZ2EEWtE.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/BZ2EEWtE.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/BmapHj57.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/BmapHj57.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/BwHeJh_l.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/BwHeJh_l.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/ByQY8ln1.js +0 -2
- package/build/client/editor/_app/immutable/chunks/ByQY8ln1.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/ByQY8ln1.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/CLt57AbL.js +0 -1
- package/build/client/editor/_app/immutable/chunks/CLt57AbL.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/CLt57AbL.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/CN_z_8wH.js +0 -1
- package/build/client/editor/_app/immutable/chunks/CN_z_8wH.js.br +0 -2
- package/build/client/editor/_app/immutable/chunks/CN_z_8wH.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/CbAv_EyC.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/CbAv_EyC.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/D1NJb98h.js +0 -1
- package/build/client/editor/_app/immutable/chunks/D1NJb98h.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/D1NJb98h.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/DEuJX0Kw.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/DEuJX0Kw.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/Dg3UMdbC.js +0 -1
- package/build/client/editor/_app/immutable/chunks/Dg3UMdbC.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/Dg3UMdbC.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/DqFxWrM4.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/DqFxWrM4.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/Dw7fRo4f.js +0 -12
- package/build/client/editor/_app/immutable/chunks/Dw7fRo4f.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/Dw7fRo4f.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/JOEBmHft.js +0 -22
- package/build/client/editor/_app/immutable/chunks/JOEBmHft.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/JOEBmHft.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/OAXHpz2m.js +0 -5
- package/build/client/editor/_app/immutable/chunks/OAXHpz2m.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/OAXHpz2m.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/TuU_UmXF.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/TuU_UmXF.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/bnFJskpn.js +0 -1
- package/build/client/editor/_app/immutable/chunks/bnFJskpn.js.br +0 -2
- package/build/client/editor/_app/immutable/chunks/bnFJskpn.js.gz +0 -0
- package/build/client/editor/_app/immutable/chunks/gwr1akGj.js +0 -1
- package/build/client/editor/_app/immutable/chunks/gwr1akGj.js.br +0 -0
- package/build/client/editor/_app/immutable/chunks/gwr1akGj.js.gz +0 -0
- package/build/client/editor/_app/immutable/entry/app.CGWGpYEx.js +0 -2
- package/build/client/editor/_app/immutable/entry/app.CGWGpYEx.js.br +0 -0
- package/build/client/editor/_app/immutable/entry/app.CGWGpYEx.js.gz +0 -0
- package/build/client/editor/_app/immutable/entry/start.kb42cPdT.js +0 -1
- package/build/client/editor/_app/immutable/entry/start.kb42cPdT.js.br +0 -2
- package/build/client/editor/_app/immutable/entry/start.kb42cPdT.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/0.CgQGVwQy.js +0 -1
- package/build/client/editor/_app/immutable/nodes/0.CgQGVwQy.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/0.CgQGVwQy.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/1.Clv1q2Lb.js +0 -1
- package/build/client/editor/_app/immutable/nodes/1.Clv1q2Lb.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/1.Clv1q2Lb.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/2.BQsuvx4V.js +0 -1
- package/build/client/editor/_app/immutable/nodes/2.BQsuvx4V.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/2.BQsuvx4V.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/3.C6sWHRJz.js +0 -1
- package/build/client/editor/_app/immutable/nodes/3.C6sWHRJz.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/3.C6sWHRJz.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/4.DZS4NCiF.js +0 -1
- package/build/client/editor/_app/immutable/nodes/4.DZS4NCiF.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/4.DZS4NCiF.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/5.CJJCY1eL.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/5.CJJCY1eL.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/6.DWF34OYk.js +0 -1
- package/build/client/editor/_app/immutable/nodes/6.DWF34OYk.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/6.DWF34OYk.js.gz +0 -0
- package/build/client/editor/_app/immutable/nodes/7.CvKW7Bc_.js.br +0 -0
- package/build/client/editor/_app/immutable/nodes/7.CvKW7Bc_.js.gz +0 -0
- package/build/server/chunks/0-DVxv0pN2.js.map +0 -1
- package/build/server/chunks/1-DLAv7zUp.js +0 -9
- package/build/server/chunks/2-CXQjo2KJ.js.map +0 -1
- package/build/server/chunks/4-dfmp9D7Q.js.map +0 -1
- package/build/server/chunks/5-BiPB8QCd.js.map +0 -1
- package/build/server/chunks/6-C8te3i1r.js.map +0 -1
- package/build/server/chunks/7-DFJTEzDX.js.map +0 -1
- package/build/server/chunks/SearchInput-CSyQyxOt.js +0 -43
- package/build/server/chunks/SearchInput-CSyQyxOt.js.map +0 -1
- package/build/server/chunks/TagEdit-CPvm35aH.js.map +0 -1
- package/build/server/chunks/TextInput-CI0YQsi8.js.map +0 -1
- package/build/server/chunks/_page.svelte-A15IM8Ct.js.map +0 -1
- package/build/server/chunks/_page.svelte-ClKOeEWs.js.map +0 -1
- package/build/server/chunks/_page.svelte-CqwFUF2N.js.map +0 -1
- package/build/server/chunks/_page.svelte-DFajLADj.js.map +0 -1
- package/build/server/chunks/_page.svelte-DZIxV1wc.js.map +0 -1
- package/build/server/chunks/_server.ts-C4VM2PrZ.js.map +0 -1
- package/build/server/chunks/_server.ts-DVV4aYkL.js.map +0 -1
- package/build/server/chunks/galleryutil-BkuoU13t.js +0 -50
- package/build/server/chunks/galleryutil-BkuoU13t.js.map +0 -1
- package/build/server/chunks/server2--i02zbDo.js +0 -23
- package/build/server/chunks/server2--i02zbDo.js.map +0 -1
- package/build/server/chunks/util-DFt6Yctw.js.map +0 -1
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
import { w as head, x as ensure_array_like, J as stringify, F as bind_props, y as attr_class, N as clsx, G as attr } from './index2-DRmxtUQj.js';
|
|
2
|
-
import { A as AddImageButton, O as OptionalInput, T as TextBox, I as ImageEdit, a as OriginalImage } from './TextBox-
|
|
2
|
+
import { A as AddImageButton, O as OptionalInput, T as TextBox, I as ImageEdit, a as OriginalImage } from './TextBox-AWO1YDgm.js';
|
|
3
3
|
import { M as Modal, C as Collapsable } from './Modal-DuJVyuvB.js';
|
|
4
4
|
import { g as getOverrides, b as getEpoch } from './galleryoverride.svelte-RwbS-W95.js';
|
|
5
|
-
import { C as ChippedInput, T as TagEdit, a as ControlledChippedInput } from './TagEdit-
|
|
6
|
-
import { a as arrAsObject, T as TextInput } from './
|
|
5
|
+
import { C as ChippedInput, T as TagEdit, a as ControlledChippedInput } from './TagEdit-DvOIqxjk.js';
|
|
6
|
+
import { a as arrAsObject, T as TextInput } from './SearchInput-DAIoHpf3.js';
|
|
7
7
|
import { s as setContext, B as escape_html, D as getContext } from './context-8SVtp5bW.js';
|
|
8
|
-
import { n as normalizeArtist, a as normalizeCharacter } from './6-
|
|
8
|
+
import { n as normalizeArtist, a as normalizeCharacter } from './6-Baddm4c4.js';
|
|
9
9
|
import { parseDate } from 'chrono-node';
|
|
10
10
|
import { DateTime } from 'luxon';
|
|
11
11
|
import { C as Checkbox } from './Checkbox-CgSQMekt.js';
|
|
12
|
-
import { a as isBaseGallery, i as isExtendsGallery } from './galleryutil-
|
|
12
|
+
import { a as isBaseGallery, i as isExtendsGallery, c as copyPieces } from './galleryutil-DznhV1Pd.js';
|
|
13
13
|
import { i as invalidateAll, g as goto } from './client-xS_j7ZWn.js';
|
|
14
|
-
import { r as resolve } from './
|
|
14
|
+
import { r as resolve, t as truthy } from './util-Cfqr4aAv.js';
|
|
15
15
|
import { A as ActionButton } from './ActionButton-C7pHllIS.js';
|
|
16
|
-
import '
|
|
16
|
+
import { cloneDeep } from 'es-toolkit';
|
|
17
17
|
import '@monaco-editor/loader';
|
|
18
18
|
import './Tooltip-GgV7Y2ua.js';
|
|
19
19
|
import './log-Dgdg632G.js';
|
|
20
20
|
import 'tslog';
|
|
21
|
-
import './SearchInput-CSyQyxOt.js';
|
|
22
21
|
import 'fuzzysort';
|
|
23
22
|
import '@phosart/common/server';
|
|
24
23
|
import 'node:path';
|
|
@@ -401,7 +400,8 @@ async function persistGallery(galleryPath, gallery, invalidate = true) {
|
|
|
401
400
|
function _page($$renderer, $$props) {
|
|
402
401
|
$$renderer.component(($$renderer2) => {
|
|
403
402
|
const { data } = $$props;
|
|
404
|
-
|
|
403
|
+
const rawGallery = data.galleries[data.galleryPath];
|
|
404
|
+
let g = cloneDeep(rawGallery);
|
|
405
405
|
const sorted = g && isBaseGallery(g) ? g.pieces.map((v, i) => [v, i]).toSorted(([a], [b]) => b.date.getTime() - a.date.getTime()) : [];
|
|
406
406
|
useArtistsContext(data.allArtists);
|
|
407
407
|
useCharacterContext(data.allCharacters);
|
|
@@ -431,12 +431,13 @@ function _page($$renderer, $$props) {
|
|
|
431
431
|
epoch.epoch += 1;
|
|
432
432
|
overrides.reset();
|
|
433
433
|
await invalidateAll();
|
|
434
|
-
g =
|
|
434
|
+
g = rawGallery;
|
|
435
435
|
} finally {
|
|
436
436
|
loading = false;
|
|
437
437
|
}
|
|
438
438
|
}
|
|
439
439
|
let selectedPieceData = null;
|
|
440
|
+
let copyPath = "";
|
|
440
441
|
let $$settled = true;
|
|
441
442
|
let $$inner_renderer;
|
|
442
443
|
function $$render_inner($$renderer3) {
|
|
@@ -733,7 +734,53 @@ function _page($$renderer, $$props) {
|
|
|
733
734
|
$$slots: { control: true }
|
|
734
735
|
});
|
|
735
736
|
}
|
|
736
|
-
$$renderer5.push(
|
|
737
|
+
$$renderer5.push(`<!----> <div class="my-4"></div> <div class="flex gap-x-3">`);
|
|
738
|
+
TextInput($$renderer5, {
|
|
739
|
+
label: "Copy To...",
|
|
740
|
+
options: Object.keys(data.galleries).filter((k) => isBaseGallery(data.galleries[k])),
|
|
741
|
+
noReportValidation: true,
|
|
742
|
+
validationError: copyPath !== "" && !data.galleries[copyPath] ? "Select a valid path" : void 0,
|
|
743
|
+
get value() {
|
|
744
|
+
return copyPath;
|
|
745
|
+
},
|
|
746
|
+
set value($$value) {
|
|
747
|
+
copyPath = $$value;
|
|
748
|
+
$$settled = false;
|
|
749
|
+
}
|
|
750
|
+
});
|
|
751
|
+
$$renderer5.push(`<!----> `);
|
|
752
|
+
{
|
|
753
|
+
let loadingContent = function($$renderer6) {
|
|
754
|
+
$$renderer6.push(`<!---->Copying...`);
|
|
755
|
+
};
|
|
756
|
+
ActionButton($$renderer5, {
|
|
757
|
+
disabled: !data.galleries[copyPath] || !isBaseGallery(g),
|
|
758
|
+
action: async () => {
|
|
759
|
+
const target = data.galleries[copyPath];
|
|
760
|
+
const src = g;
|
|
761
|
+
if (!isBaseGallery(src) || !target || !isBaseGallery(target)) return;
|
|
762
|
+
const newPieces = await copyPieces(
|
|
763
|
+
bulkSelected.map((k) => {
|
|
764
|
+
return src.pieces.find((g2) => g2.slug === k);
|
|
765
|
+
}).filter(truthy),
|
|
766
|
+
data.galleryPath,
|
|
767
|
+
copyPath
|
|
768
|
+
);
|
|
769
|
+
target.pieces = [...target.pieces, ...newPieces];
|
|
770
|
+
await fetch(resolve("/api/gallery/[...gallerypath]/save", { gallerypath: copyPath }), {
|
|
771
|
+
method: "POST",
|
|
772
|
+
body: JSON.stringify(target),
|
|
773
|
+
headers: { "Content-Type": "application/json" }
|
|
774
|
+
});
|
|
775
|
+
copyPath = "";
|
|
776
|
+
},
|
|
777
|
+
loadingContent,
|
|
778
|
+
children: ($$renderer6) => {
|
|
779
|
+
$$renderer6.push(`<!---->Copy`);
|
|
780
|
+
}
|
|
781
|
+
});
|
|
782
|
+
}
|
|
783
|
+
$$renderer5.push(`<!----></div>`);
|
|
737
784
|
},
|
|
738
785
|
$$slots: { default: true }
|
|
739
786
|
});
|
|
@@ -750,6 +797,7 @@ function _page($$renderer, $$props) {
|
|
|
750
797
|
var bind_set_3 = (v) => {
|
|
751
798
|
if (!v) {
|
|
752
799
|
selectedPieceData = null;
|
|
800
|
+
copyPath = "";
|
|
753
801
|
}
|
|
754
802
|
};
|
|
755
803
|
{
|
|
@@ -935,7 +983,46 @@ function _page($$renderer, $$props) {
|
|
|
935
983
|
bind_set_7($$value);
|
|
936
984
|
}
|
|
937
985
|
});
|
|
938
|
-
$$renderer5.push(`<!----> <div class="mt-4"></div>
|
|
986
|
+
$$renderer5.push(`<!----> <div class="mt-4"></div> <div class="flex gap-x-3">`);
|
|
987
|
+
TextInput($$renderer5, {
|
|
988
|
+
label: "Copy To...",
|
|
989
|
+
options: Object.keys(data.galleries).filter((k) => isBaseGallery(data.galleries[k])),
|
|
990
|
+
noReportValidation: true,
|
|
991
|
+
validationError: copyPath !== "" && !data.galleries[copyPath] ? "Select a valid path" : void 0,
|
|
992
|
+
get value() {
|
|
993
|
+
return copyPath;
|
|
994
|
+
},
|
|
995
|
+
set value($$value) {
|
|
996
|
+
copyPath = $$value;
|
|
997
|
+
$$settled = false;
|
|
998
|
+
}
|
|
999
|
+
});
|
|
1000
|
+
$$renderer5.push(`<!----> `);
|
|
1001
|
+
{
|
|
1002
|
+
let loadingContent = function($$renderer6) {
|
|
1003
|
+
$$renderer6.push(`<!---->Copying...`);
|
|
1004
|
+
};
|
|
1005
|
+
ActionButton($$renderer5, {
|
|
1006
|
+
disabled: !data.galleries[copyPath] || !isBaseGallery(g),
|
|
1007
|
+
action: async () => {
|
|
1008
|
+
const target = data.galleries[copyPath];
|
|
1009
|
+
if (!target || !isBaseGallery(target)) return;
|
|
1010
|
+
const newPieces = await copyPieces([piece], data.galleryPath, copyPath);
|
|
1011
|
+
target.pieces = [...target.pieces, ...newPieces];
|
|
1012
|
+
await fetch(resolve("/api/gallery/[...gallerypath]/save", { gallerypath: copyPath }), {
|
|
1013
|
+
method: "POST",
|
|
1014
|
+
body: JSON.stringify(target),
|
|
1015
|
+
headers: { "Content-Type": "application/json" }
|
|
1016
|
+
});
|
|
1017
|
+
copyPath = "";
|
|
1018
|
+
},
|
|
1019
|
+
loadingContent,
|
|
1020
|
+
children: ($$renderer6) => {
|
|
1021
|
+
$$renderer6.push(`<!---->Copy`);
|
|
1022
|
+
}
|
|
1023
|
+
});
|
|
1024
|
+
}
|
|
1025
|
+
$$renderer5.push(`<!----></div> <div class="mt-4"></div> `);
|
|
939
1026
|
PieceAltEdit($$renderer5, {
|
|
940
1027
|
galleryPath: { gallery: data.galleryPath, piece: piece.slug },
|
|
941
1028
|
get value() {
|
|
@@ -979,4 +1066,4 @@ function _page($$renderer, $$props) {
|
|
|
979
1066
|
}
|
|
980
1067
|
|
|
981
1068
|
export { _page as default, persistGallery };
|
|
982
|
-
//# sourceMappingURL=_page.svelte-
|
|
1069
|
+
//# sourceMappingURL=_page.svelte-DF60mDV1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-DF60mDV1.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/gallery/_...gallerypath_/_page.svelte.js"],"sourcesContent":["import { z as bind_props, G as ensure_array_like, F as stringify, J as head, x as attr_class, N as clsx, w as attr } from \"../../../../chunks/index2.js\";\nimport { T as TextBox, I as ImageEdit, A as AddImageButton, a as OriginalImage, O as OptionalInput } from \"../../../../chunks/TextBox.js\";\nimport { C as Collapsable, M as Modal } from \"../../../../chunks/Modal.js\";\nimport { g as getOverrides, b as getEpoch } from \"../../../../chunks/galleryoverride.svelte.js\";\nimport { C as ChippedInput, a as ControlledChippedInput, T as TagEdit } from \"../../../../chunks/TagEdit.js\";\nimport { a as arrAsObject, T as TextInput } from \"../../../../chunks/SearchInput.js\";\nimport { s as setContext, l as getContext, k as escape_html } from \"../../../../chunks/context.js\";\nimport { n as normalizeArtist, a as normalizeCharacter } from \"../../../../chunks/art.js\";\nimport { parseDate } from \"chrono-node\";\nimport { DateTime } from \"luxon\";\nimport { C as Checkbox } from \"../../../../chunks/Checkbox.js\";\nimport { a as isBaseGallery, i as isExtendsGallery, c as copyPieces } from \"../../../../chunks/galleryutil.js\";\nimport { i as invalidateAll, g as goto } from \"../../../../chunks/client.js\";\nimport { r as resolve } from \"../../../../chunks/server2.js\";\nimport { A as ActionButton } from \"../../../../chunks/ActionButton.js\";\nimport { t as truthy } from \"../../../../chunks/util.js\";\nimport { cloneDeep } from \"es-toolkit\";\nconst key$1 = /* @__PURE__ */ Symbol();\nfunction useArtistsContext(artists) {\n setContext(key$1, artists);\n}\nfunction useArtists() {\n return getContext(key$1);\n}\nconst key = /* @__PURE__ */ Symbol();\nfunction useCharacterContext(characters) {\n setContext(key, characters);\n}\nfunction useCharacters() {\n return getContext(key);\n}\nfunction ArtistEdit($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { artists: pieceArtists = void 0 } = $$props;\n const allArtists = useArtists();\n const normalizedAll = normalizeArtist(Object.keys(allArtists), allArtists);\n const normalized = normalizeArtist(pieceArtists, allArtists);\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n var bind_get = () => normalized;\n var bind_set = (v) => void (pieceArtists = v.map((v2) => v2.name));\n {\n let renderChip = function($$renderer4, na) {\n $$renderer4.push(`<!---->@${escape_html(na.name)}`);\n };\n ChippedInput($$renderer3, {\n label: \"Artists\",\n options: arrAsObject(normalizedAll, (s) => s.name),\n get value() {\n return bind_get();\n },\n set value($$value) {\n bind_set($$value);\n },\n prefix: \"@\",\n onAddUnknown: (s) => {\n return { name: s, anonymous: false, info: null };\n },\n renderChip,\n $$slots: { renderChip: true }\n });\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { artists: pieceArtists });\n });\n}\nfunction CharactersEdit($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { characters: pieceCharacters = void 0, allCharacters } = $$props;\n const fullCharacters = useCharacters();\n const allArtists = useArtists();\n let search = \"\";\n let manualArtistOptions = arrAsObject(Object.keys(allArtists).map((a) => ({ name: search.split(\" by\")[0], from: a })).filter((ch) => !(`${ch.name} by ${ch.from}` in allCharacters)), (a) => `[new] ${a.name} by ${a.from}`);\n let options = { ...allCharacters, ...manualArtistOptions };\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n {\n let renderChip = function($$renderer4, ch) {\n const nch = normalizeCharacter(ch, fullCharacters);\n $$renderer4.push(`<div>`);\n if (!nch.from) {\n $$renderer4.push(\"<!--[-->\");\n if (nch.info) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`${escape_html(nch.info.name)}`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(`${escape_html(nch.name)}`);\n }\n $$renderer4.push(`<!--]-->`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(`${escape_html(nch.name)} by ${escape_html(nch.from)}`);\n }\n $$renderer4.push(`<!--]--></div>`);\n };\n ControlledChippedInput($$renderer3, {\n label: \"Characters\",\n options,\n onSelect: (k, v) => {\n if (!v) {\n k = k.replaceAll(/^\\[new\\]\\s*/g, \"\");\n const arr = k.split(\" by \");\n if (arr.length == 2) {\n v = { from: arr[1], name: arr[0] };\n } else {\n v = arr[0];\n }\n }\n pieceCharacters = [...pieceCharacters, v];\n search = \"\";\n },\n onRemove: (_, i) => {\n pieceCharacters = [\n ...pieceCharacters.slice(0, i),\n ...pieceCharacters.slice(i + 1)\n ];\n },\n value: pieceCharacters,\n get search() {\n return search;\n },\n set search($$value) {\n search = $$value;\n $$settled = false;\n },\n renderChip,\n $$slots: { renderChip: true }\n });\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { characters: pieceCharacters });\n });\n}\nfunction DateEdit($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { date = void 0 } = $$props;\n let dateString = \"\";\n let dateParsed = (() => {\n const d = typeof dateString === \"string\" ? parseDate(dateString) : null;\n if (!d) {\n return null;\n }\n return DateTime.fromJSDate(d);\n })();\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex items-center\">`);\n TextInput($$renderer3, {\n placeholder: DateTime.fromJSDate(date).toFormat(\"fff\"),\n label: \"Date\",\n class: \"w-xs max-w-full\",\n onkeydown: (kev) => {\n const dte = dateParsed?.toJSDate();\n if (kev.code === \"Enter\" && dte) {\n date = dte;\n dateString = \"\";\n }\n },\n validationError: dateString ? \"Press enter to confirm\" : void 0,\n get value() {\n return dateString;\n },\n set value($$value) {\n dateString = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----> `);\n if (dateParsed) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<span>= ${escape_html(dateParsed.toFormat(\"fff\"))}</span>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { date });\n });\n}\nfunction ExtendsEdit($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { value = void 0, allGalleries } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n ChippedInput($$renderer3, {\n label: \"Extends...\",\n options: arrAsObject(allGalleries),\n get value() {\n return value;\n },\n set value($$value) {\n value = $$value;\n $$settled = false;\n }\n });\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { value });\n });\n}\nfunction PieceAltEdit($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { value = void 0, galleryPath } = $$props;\n const overrides = getOverrides();\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div><div>Alternatives:</div> <div class=\"ml-4\"><!--[-->`);\n const each_array = ensure_array_like(value);\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n let alt = each_array[i];\n {\n let collapsedRight = function($$renderer4) {\n $$renderer4.push(`<div class=\"h-16 max-h-16 w-16 max-w-16\">`);\n OriginalImage($$renderer4, {\n galleryPath: { ...galleryPath, alt: alt.name, altIndex: i },\n isVideo: !!alt.video,\n class: alt.nsfw ? \"duration-300ms blur-sm transition-[filter] hover:blur-none hover:duration-[3s]\" : \"\"\n });\n $$renderer4.push(`<!----></div>`);\n };\n Collapsable($$renderer3, {\n title: alt.name,\n class: `my-2 border ${stringify(alt.nsfw ? \"outline-2 outline-amber-600\" : \"\")} ${stringify(alt.deindexed ? \" bg-gray-200\" : \"\")}`,\n collapsedRight,\n children: ($$renderer4) => {\n var bind_get = () => !!alt.nsfw;\n var bind_set = (v) => void (alt.nsfw = v || void 0);\n var bind_get_1 = () => !!alt.deindexed;\n var bind_set_1 = (v) => void (alt.deindexed = v || void 0);\n TextInput($$renderer4, {\n label: \"Name\",\n get value() {\n return alt.name;\n },\n set value($$value) {\n alt.name = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n TextBox($$renderer4, {\n label: \"Description\",\n get value() {\n return alt.description;\n },\n set value($$value) {\n alt.description = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n TextBox($$renderer4, {\n label: \"Alt Text\",\n get value() {\n return alt.alt;\n },\n set value($$value) {\n alt.alt = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> <div class=\"my-4\"></div> `);\n Checkbox($$renderer4, {\n label: \"NSFW?\",\n get checked() {\n return bind_get();\n },\n set checked($$value) {\n bind_set($$value);\n }\n });\n $$renderer4.push(`<!----> <div class=\"my-4\"></div> `);\n Checkbox($$renderer4, {\n label: \"Deindexed?\",\n get checked() {\n return bind_get_1();\n },\n set checked($$value) {\n bind_set_1($$value);\n }\n });\n $$renderer4.push(`<!----> <div class=\"my-4\"></div> `);\n ImageEdit($$renderer4, {\n galleryPath: { ...galleryPath, alt: alt.name, altIndex: i },\n class: alt.nsfw ? \"duration-300ms blur-lg transition-[filter] hover:blur-none hover:duration-[3s]\" : \"\",\n get resource() {\n return value[i];\n },\n set resource($$value) {\n value[i] = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> <div><button class=\"cursor-pointer rounded-2xl border p-3\">Delete</button></div>`);\n },\n $$slots: { collapsedRight: true, default: true }\n });\n }\n }\n $$renderer3.push(`<!--]--> <div class=\"flex\">`);\n AddImageButton($$renderer3, {\n title: \"Drag image to add a new alt\",\n existingIdentifiers: value?.map((p) => p.name) ?? [],\n galleryPath,\n onUpload: (data) => {\n if (!value) {\n value = [];\n }\n for (let i = 0; i < data.length; i++) {\n overrides.setFromNew(\n {\n ...galleryPath,\n alt: data[i].piece.name,\n altIndex: value.length + i\n },\n data[i].file\n );\n }\n value = [\n ...value,\n ...data.map((p) => p.piece).map((p) => ({\n alt: p.alt,\n image: p.image,\n name: p.name,\n description: p.description,\n video: p.video\n }))\n ];\n }\n });\n $$renderer3.push(`<!----></div></div></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { value });\n });\n}\nfunction ScreenSentinel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n $$renderer2.push(`<div></div>`);\n });\n}\nasync function persistGallery(galleryPath, gallery, invalidate = true) {\n try {\n await fetch(resolve(\"/api/gallery/[...gallerypath]/save\", { gallerypath: galleryPath }), {\n method: \"POST\",\n body: JSON.stringify(gallery),\n headers: { \"Content-Type\": \"application/json\" }\n });\n } finally {\n if (invalidate) {\n await invalidateAll();\n }\n }\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { data } = $$props;\n const rawGallery = data.galleries[data.galleryPath];\n let g = cloneDeep(rawGallery);\n const sorted = g && isBaseGallery(g) ? g.pieces.map((v, i) => [v, i]).toSorted(([a], [b]) => b.date.getTime() - a.date.getTime()) : [];\n useArtistsContext(data.allArtists);\n useCharacterContext(data.allCharacters);\n let refs = {};\n let loading = false;\n const overrides = getOverrides();\n let epoch = getEpoch();\n let shiftDown = false;\n let limit = 9;\n let bulkSelected = [];\n let completingBulk = false;\n let bulkModifications = {\n add: { artists: [], characters: [], tags: [] },\n remove: { artists: [], characters: [], tags: [] },\n isDeindexed: null,\n isNsfw: null\n };\n async function save() {\n loading = true;\n try {\n await persistGallery(\n data.galleryPath,\n g,\n /* invalidate = */\n false\n );\n epoch.epoch += 1;\n overrides.reset();\n await invalidateAll();\n g = rawGallery;\n } finally {\n loading = false;\n }\n }\n let selectedPieceData = null;\n let copyPath = \"\";\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n head(\"10lyvyb\", $$renderer3, ($$renderer4) => {\n $$renderer4.title(($$renderer5) => {\n $$renderer5.push(`<title>${escape_html(data.galleryPath)} | Art Site Editor</title>`);\n });\n });\n if (isExtendsGallery(g)) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<div class=\"flex flex-col\">`);\n ExtendsEdit($$renderer3, {\n allGalleries: data.allGalleryRelpaths,\n get value() {\n return g.$extends;\n },\n set value($$value) {\n g.$extends = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----> `);\n ActionButton($$renderer3, {\n action: save,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Save`);\n }\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n let addButton = function($$renderer4) {\n $$renderer4.push(`<div class=\"m-2 flex items-center gap-x-2\"><div class=\"flex grow\">`);\n {\n $$renderer4.push(\"<!--[!-->\");\n AddImageButton($$renderer4, {\n title: \"Drag (or paste) an image to add it\",\n defaultArtist: data.config?.defaultArtist ?? null,\n existingIdentifiers: isBaseGallery(g) ? g?.pieces?.map((p) => p.slug) ?? [] : [],\n galleryPath: { gallery: data.galleryPath, piece: \"\" },\n onUpload: (additionalPieces) => {\n if (!isBaseGallery(g)) return;\n for (const piece of additionalPieces) {\n overrides.setFromNew({ gallery: data.galleryPath, piece: piece.piece.slug }, piece.file);\n }\n g.pieces = [...g.pieces, ...additionalPieces.map((p) => p.piece)];\n save();\n }\n });\n }\n $$renderer4.push(`<!--]--></div> <div><button${attr_class(`block grow cursor-pointer rounded-2xl border ${stringify(\"border-gray-400\")} p-4 text-left text-gray-600 select-none hover:bg-gray-100 active:bg-gray-200`)}><i${attr_class(clsx(\"fa-regular fa-square-check\"))}></i> `);\n {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(`Bulk Edit`);\n }\n $$renderer4.push(`<!--]--></button></div> <div><a${attr(\"href\", resolve(\"/gallery/[...gallerypath]/bluesky\", { gallerypath: data.galleryPath }))} class=\"block grow cursor-pointer rounded-2xl border border-blue-400 p-4 text-left text-blue-600 select-none hover:bg-blue-100 active:bg-blue-200\"><i class=\"fa-brands fa-bluesky\"></i> Import from Bluesky</a></div></div>`);\n };\n $$renderer3.push(\"<!--[!-->\");\n addButton($$renderer3);\n $$renderer3.push(`<!----> <div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4\"><!--[-->`);\n const each_array = ensure_array_like(sorted.slice(0, limit));\n for (let sortedIndex = 0, $$length = each_array.length; sortedIndex < $$length; sortedIndex++) {\n let [piece, i] = each_array[sortedIndex];\n $$renderer3.push(`<div class=\"flex items-center\">`);\n {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--> `);\n {\n let right = function($$renderer4) {\n $$renderer4.push(`<div class=\"h-16 max-h-16 w-16 max-w-16\">`);\n OriginalImage($$renderer4, {\n galleryPath: { gallery: data.galleryPath, piece: piece.slug },\n isVideo: !!piece.video,\n class: piece.nsfw ? \"duration-300ms blur-sm transition-[filter] hover:blur-none hover:duration-[3s]\" : \"\"\n });\n $$renderer4.push(`<!----></div>`);\n };\n Modal($$renderer3, {\n overrideOnClick: () => {\n selectedPieceData = [piece, i, sortedIndex];\n },\n title: piece.name,\n subtitle: DateTime.fromJSDate(piece.date).toFormat(\"f\"),\n class: `m-2 grow rounded-2xl border ${stringify(piece.deindexed ? \"bg-gray-200\" : \"\")} ${stringify(piece.nsfw ? \"outline-2 outline-amber-600\" : \"\")}`,\n right,\n $$slots: { right: true }\n });\n }\n $$renderer3.push(`<!----></div>`);\n }\n $$renderer3.push(`<!--]--></div> `);\n ScreenSentinel($$renderer3);\n $$renderer3.push(`<!----> `);\n if (g?.pieces.length > 0) {\n $$renderer3.push(\"<!--[-->\");\n addButton($$renderer3);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--> <div class=\"flex justify-stretch pl-2\">`);\n Collapsable($$renderer3, {\n title: \"Advanced\",\n class: \"w-full\",\n children: ($$renderer4) => {\n ActionButton($$renderer4, {\n disabled: !shiftDown,\n class: `${stringify(\"cursor-not-allowed font-bold\")} w-full text-center `,\n action: async () => {\n await fetch(resolve(\"/api/gallery/[...gallerypath]/save\", { gallerypath: data.galleryPath }), { method: \"DELETE\" });\n await goto(resolve(\"/\"));\n await invalidateAll();\n },\n children: ($$renderer5) => {\n $$renderer5.push(`<div class=\"font-normal\"><i class=\"fa-solid fa-trash\"></i> Delete Gallery</div> <div class=\"text-[8pt]\">(requires shift-click)</div>`);\n }\n });\n $$renderer4.push(`<!----> `);\n Collapsable($$renderer4, {\n title: \"JSON\",\n class: \"mt-2 no-scrollbar overflow-scroll border-t border-gray-300 text-gray-400\",\n children: ($$renderer5) => {\n $$renderer5.push(`<pre class=\"text-gray-900\">${escape_html(JSON.stringify(g, null, 4))}</pre>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div>`);\n }\n $$renderer3.push(`<!--]--> `);\n if (isBaseGallery(g) && limit < g?.pieces.length) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.push(`<div class=\"h-screen\"></div>`);\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]--> `);\n {\n let modalRight = function($$renderer4) {\n $$renderer4.push(`<div class=\"flex items-stretch gap-x-3 py-1\"><div>`);\n if (!loading) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<button class=\"h-full cursor-pointer rounded-2xl border p-3 hover:bg-gray-300 active:bg-gray-500\"><i class=\"fa-regular fa-save\"></i> <span>Save</span></button>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(`<div class=\"h-full cursor-pointer rounded-2xl border p-3\">Saving...</div>`);\n }\n $$renderer4.push(`<!--]--> `);\n {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--></div></div>`);\n };\n Modal($$renderer3, {\n headless: true,\n title: \"Complete Bulk\",\n get open() {\n return completingBulk;\n },\n set open($$value) {\n completingBulk = $$value;\n $$settled = false;\n },\n modalRight,\n children: ($$renderer4) => {\n $$renderer4.push(`<div>Editing ${escape_html(bulkSelected.length)} entries:</div> <div class=\"flex items-stretch\"><div class=\"flex w-20 items-center\">Add:</div> <div class=\"m-4 w-2 border border-r-0\"></div> <div class=\"flex flex-col\">`);\n ArtistEdit($$renderer4, {\n get artists() {\n return bulkModifications.add.artists;\n },\n set artists($$value) {\n bulkModifications.add.artists = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n TagEdit($$renderer4, {\n possibleTags: data.allTags,\n prefix: \"#\",\n get value() {\n return bulkModifications.add.tags;\n },\n set value($$value) {\n bulkModifications.add.tags = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n CharactersEdit($$renderer4, {\n allCharacters: data.allCharacterRefs,\n get characters() {\n return bulkModifications.add.characters;\n },\n set characters($$value) {\n bulkModifications.add.characters = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----></div></div> <div class=\"m-2 w-full border-t border-dashed border-gray-300\"></div> <div class=\"flex items-stretch\"><div class=\"flex w-20 items-center\">Remove:</div> <div class=\"m-4 w-2 border border-r-0\"></div> <div class=\"flex flex-col\">`);\n ArtistEdit($$renderer4, {\n get artists() {\n return bulkModifications.remove.artists;\n },\n set artists($$value) {\n bulkModifications.remove.artists = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n TagEdit($$renderer4, {\n possibleTags: data.allTags,\n prefix: \"#\",\n get value() {\n return bulkModifications.remove.tags;\n },\n set value($$value) {\n bulkModifications.remove.tags = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n CharactersEdit($$renderer4, {\n allCharacters: data.allCharacterRefs,\n get characters() {\n return bulkModifications.remove.characters;\n },\n set characters($$value) {\n bulkModifications.remove.characters = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----></div></div> <div class=\"m-2 w-full border-t border-dashed border-gray-300\"></div> `);\n Collapsable($$renderer4, {\n title: \"Advanced\",\n children: ($$renderer5) => {\n {\n let control = function($$renderer6, v) {\n var bind_get_1 = () => v;\n var bind_set_1 = (v2) => bulkModifications.isDeindexed = v2;\n Checkbox($$renderer6, {\n label: \"Deindexed?\",\n right: true,\n get checked() {\n return bind_get_1();\n },\n set checked($$value) {\n bind_set_1($$value);\n }\n });\n };\n OptionalInput($$renderer5, {\n label: \"Set?\",\n empty: false,\n get value() {\n return bulkModifications.isDeindexed;\n },\n set value($$value) {\n bulkModifications.isDeindexed = $$value;\n $$settled = false;\n },\n control,\n $$slots: { control: true }\n });\n }\n $$renderer5.push(`<!----> <div class=\"my-4\"></div> `);\n {\n let control = function($$renderer6, v) {\n var bind_get_2 = () => v;\n var bind_set_2 = (v2) => bulkModifications.isNsfw = v2;\n Checkbox($$renderer6, {\n label: \"NSFW?\",\n right: true,\n get checked() {\n return bind_get_2();\n },\n set checked($$value) {\n bind_set_2($$value);\n }\n });\n };\n OptionalInput($$renderer5, {\n label: \"Set?\",\n empty: false,\n get value() {\n return bulkModifications.isNsfw;\n },\n set value($$value) {\n bulkModifications.isNsfw = $$value;\n $$settled = false;\n },\n control,\n $$slots: { control: true }\n });\n }\n $$renderer5.push(`<!----> <div class=\"my-4\"></div> <div class=\"flex gap-x-3\">`);\n TextInput($$renderer5, {\n label: \"Copy To...\",\n options: Object.keys(data.galleries).filter((k) => isBaseGallery(data.galleries[k])),\n noReportValidation: true,\n validationError: copyPath !== \"\" && !data.galleries[copyPath] ? \"Select a valid path\" : void 0,\n get value() {\n return copyPath;\n },\n set value($$value) {\n copyPath = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> `);\n {\n let loadingContent = function($$renderer6) {\n $$renderer6.push(`<!---->Copying...`);\n };\n ActionButton($$renderer5, {\n disabled: !data.galleries[copyPath] || !isBaseGallery(g),\n action: async () => {\n const target = data.galleries[copyPath];\n const src = g;\n if (!isBaseGallery(src) || !target || !isBaseGallery(target)) return;\n const newPieces = await copyPieces(\n bulkSelected.map((k) => {\n return src.pieces.find((g2) => g2.slug === k);\n }).filter(truthy),\n data.galleryPath,\n copyPath\n );\n target.pieces = [...target.pieces, ...newPieces];\n await fetch(resolve(\"/api/gallery/[...gallerypath]/save\", { gallerypath: copyPath }), {\n method: \"POST\",\n body: JSON.stringify(target),\n headers: { \"Content-Type\": \"application/json\" }\n });\n copyPath = \"\";\n },\n loadingContent,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Copy`);\n }\n });\n }\n $$renderer5.push(`<!----></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { modalRight: true, default: true }\n });\n }\n $$renderer3.push(`<!----> `);\n if (selectedPieceData && isBaseGallery(g)) {\n $$renderer3.push(\"<!--[-->\");\n const [piece, i] = selectedPieceData;\n var bind_get_3 = () => true;\n var bind_set_3 = (v) => {\n if (!v) {\n selectedPieceData = null;\n copyPath = \"\";\n }\n };\n {\n let modalRight = function($$renderer4) {\n $$renderer4.push(`<div class=\"flex items-stretch gap-x-3 py-1\"><div><button${attr_class(\"w-40 rounded-2xl border p-3 text-center\", void 0, {\n \"hover:bg-gray-300\": shiftDown,\n \"active:bg-gray-500\": shiftDown,\n \"cursor-pointer\": shiftDown,\n \"hover:font-bold\": !shiftDown,\n \"cursor-not-allowed\": !shiftDown\n })} style=\"line-height: 1;\"><div><i class=\"fa-solid fa-trash\"></i> <span class=\"font-normal\">Delete</span></div> <div class=\"text-[8pt]\">(requires shift-click)</div></button></div> <div>`);\n if (!loading) {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<button class=\"h-full cursor-pointer rounded-2xl border p-3 hover:bg-gray-300 active:bg-gray-500\"><i class=\"fa-regular fa-save\"></i> <span>Save</span></button>`);\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(`<div class=\"h-full cursor-pointer rounded-2xl border p-3\">Saving...</div>`);\n }\n $$renderer4.push(`<!--]--> `);\n {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--></div></div>`);\n };\n Modal($$renderer3, {\n headless: true,\n get open() {\n return bind_get_3();\n },\n set open($$value) {\n bind_set_3($$value);\n },\n title: piece.name,\n modalRight,\n children: ($$renderer4) => {\n var bind_get_4 = () => piece.description ?? \"\";\n var bind_set_4 = (v) => void (piece.description = v);\n $$renderer4.push(`<div>`);\n TextInput($$renderer4, {\n label: \"Name\",\n get value() {\n return piece.name;\n },\n set value($$value) {\n piece.name = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n ArtistEdit($$renderer4, {\n get artists() {\n return piece.artist;\n },\n set artists($$value) {\n piece.artist = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n DateEdit($$renderer4, {\n get date() {\n return piece.date;\n },\n set date($$value) {\n piece.date = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n TagEdit($$renderer4, {\n possibleTags: data.allTags,\n prefix: \"#\",\n get value() {\n return piece.tags;\n },\n set value($$value) {\n piece.tags = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n CharactersEdit($$renderer4, {\n allCharacters: data.allCharacterRefs,\n get characters() {\n return piece.characters;\n },\n set characters($$value) {\n piece.characters = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n TextBox($$renderer4, {\n label: \"Description\",\n get value() {\n return bind_get_4();\n },\n set value($$value) {\n bind_set_4($$value);\n }\n });\n $$renderer4.push(`<!----> `);\n TextBox($$renderer4, {\n label: \"Alt Text\",\n get value() {\n return piece.alt;\n },\n set value($$value) {\n piece.alt = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n ImageEdit($$renderer4, {\n galleryPath: { gallery: data.galleryPath, piece: piece.slug },\n class: piece.nsfw ? \"duration-300ms blur-lg transition-[filter] hover:blur-none hover:duration-[3s]\" : \"\",\n get resource() {\n return g.pieces[i];\n },\n set resource($$value) {\n g.pieces[i] = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> <div>`);\n Collapsable($$renderer4, {\n title: \"Advanced\",\n class: \"my-3\",\n children: ($$renderer5) => {\n var bind_get_6 = () => !!piece.nsfw;\n var bind_set_6 = (v) => void (piece.nsfw = v || void 0);\n var bind_get_7 = () => !!piece.deindexed;\n var bind_set_7 = (v) => void (piece.deindexed = v || void 0);\n {\n let control = function($$renderer6, enabled, value) {\n var bind_get_5 = () => value;\n var bind_set_5 = (v) => void (piece.id = v);\n TextInput($$renderer6, {\n label: \"id\",\n get value() {\n return bind_get_5();\n },\n set value($$value) {\n bind_set_5($$value);\n },\n disabled: !enabled,\n onclick: () => {\n piece.id = value;\n refs[piece.slug]?.focus();\n }\n });\n };\n OptionalInput($$renderer5, {\n empty: \"\",\n get value() {\n return piece.id;\n },\n set value($$value) {\n piece.id = $$value;\n $$settled = false;\n },\n control,\n $$slots: { control: true }\n });\n }\n $$renderer5.push(`<!----> <div class=\"mt-4\"></div> `);\n Checkbox($$renderer5, {\n label: \"NSFW?\",\n get checked() {\n return bind_get_6();\n },\n set checked($$value) {\n bind_set_6($$value);\n }\n });\n $$renderer5.push(`<!----> <div class=\"mt-4\"></div> `);\n Checkbox($$renderer5, {\n label: \"Deindexed?\",\n get checked() {\n return bind_get_7();\n },\n set checked($$value) {\n bind_set_7($$value);\n }\n });\n $$renderer5.push(`<!----> <div class=\"mt-4\"></div> <div class=\"flex gap-x-3\">`);\n TextInput($$renderer5, {\n label: \"Copy To...\",\n options: Object.keys(data.galleries).filter((k) => isBaseGallery(data.galleries[k])),\n noReportValidation: true,\n validationError: copyPath !== \"\" && !data.galleries[copyPath] ? \"Select a valid path\" : void 0,\n get value() {\n return copyPath;\n },\n set value($$value) {\n copyPath = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> `);\n {\n let loadingContent = function($$renderer6) {\n $$renderer6.push(`<!---->Copying...`);\n };\n ActionButton($$renderer5, {\n disabled: !data.galleries[copyPath] || !isBaseGallery(g),\n action: async () => {\n const target = data.galleries[copyPath];\n if (!target || !isBaseGallery(target)) return;\n const newPieces = await copyPieces([piece], data.galleryPath, copyPath);\n target.pieces = [...target.pieces, ...newPieces];\n await fetch(resolve(\"/api/gallery/[...gallerypath]/save\", { gallerypath: copyPath }), {\n method: \"POST\",\n body: JSON.stringify(target),\n headers: { \"Content-Type\": \"application/json\" }\n });\n copyPath = \"\";\n },\n loadingContent,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Copy`);\n }\n });\n }\n $$renderer5.push(`<!----></div> <div class=\"mt-4\"></div> `);\n PieceAltEdit($$renderer5, {\n galleryPath: { gallery: data.galleryPath, piece: piece.slug },\n get value() {\n return piece.alts;\n },\n set value($$value) {\n piece.alts = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> `);\n Collapsable($$renderer5, {\n title: \"JSON\",\n class: \"mt-2 overflow-scroll border-t border-gray-300 text-gray-400\",\n children: ($$renderer6) => {\n $$renderer6.push(`<pre class=\"text-gray-900\">${escape_html(JSON.stringify(piece, null, 4))}</pre>`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----></div></div>`);\n },\n $$slots: { modalRight: true, default: true }\n });\n }\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nexport {\n _page as default,\n persistGallery\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { K as props_id, w as head, G as attr, J as stringify, x as ensure_array_like, y as attr_class } from './index2-DRmxtUQj.js';
|
|
2
2
|
import { g as goto, i as invalidateAll } from './client-xS_j7ZWn.js';
|
|
3
|
-
import { r as resolve } from './
|
|
3
|
+
import { r as resolve } from './util-Cfqr4aAv.js';
|
|
4
4
|
import { M as Modal, C as Collapsable } from './Modal-DuJVyuvB.js';
|
|
5
5
|
import { C as Checkbox } from './Checkbox-CgSQMekt.js';
|
|
6
|
-
import { T as TextInput } from './
|
|
6
|
+
import { S as SearchInput, T as TextInput } from './SearchInput-DAIoHpf3.js';
|
|
7
7
|
import { A as ActionButton } from './ActionButton-C7pHllIS.js';
|
|
8
|
-
import {
|
|
8
|
+
import { a as isBaseGallery, c as copyPieces } from './galleryutil-DznhV1Pd.js';
|
|
9
9
|
import { B as escape_html } from './context-8SVtp5bW.js';
|
|
10
10
|
import './index-CiKLhY7A.js';
|
|
11
11
|
import './event-ByDKS2H7.js';
|
|
12
12
|
import './state.svelte-DhKCZN3e.js';
|
|
13
|
+
import './log-Dgdg632G.js';
|
|
14
|
+
import 'tslog';
|
|
13
15
|
import './routing-C4Egnc9A.js';
|
|
14
16
|
import './Tooltip-GgV7Y2ua.js';
|
|
15
17
|
import 'fuzzysort';
|
|
18
|
+
import 'node:path';
|
|
16
19
|
|
|
17
20
|
function FileTree($$renderer, $$props) {
|
|
18
21
|
$$renderer.component(($$renderer2) => {
|
|
@@ -106,6 +109,7 @@ function _page($$renderer, $$props) {
|
|
|
106
109
|
let newName = "";
|
|
107
110
|
let isExtendedGallery = false;
|
|
108
111
|
let search = "";
|
|
112
|
+
let copyPath = "";
|
|
109
113
|
function folder($$renderer3, folderName, path) {
|
|
110
114
|
Collapsable($$renderer3, {
|
|
111
115
|
title: folderName,
|
|
@@ -118,7 +122,7 @@ function _page($$renderer, $$props) {
|
|
|
118
122
|
$$renderer4.push(`<!----> `);
|
|
119
123
|
FileTree($$renderer4, {
|
|
120
124
|
showEmpty,
|
|
121
|
-
structure: data.
|
|
125
|
+
structure: data.tree,
|
|
122
126
|
folder,
|
|
123
127
|
file,
|
|
124
128
|
path: [...path, folderName]
|
|
@@ -186,10 +190,16 @@ function _page($$renderer, $$props) {
|
|
|
186
190
|
ActionButton($$renderer4, {
|
|
187
191
|
disabled: !newName,
|
|
188
192
|
action: async () => {
|
|
189
|
-
|
|
193
|
+
const target = [...path, newName + ".gallery"].join("/");
|
|
194
|
+
let pieces = [];
|
|
195
|
+
const copied = data.galleries[copyPath];
|
|
196
|
+
if (!isExtendedGallery && copied && isBaseGallery(copied)) {
|
|
197
|
+
pieces = await copyPieces(copied.pieces, copyPath, target);
|
|
198
|
+
}
|
|
199
|
+
await fetch(resolve("/api/gallery/[...gallerypath]/save", { gallerypath: target }), {
|
|
190
200
|
method: "POST",
|
|
191
201
|
headers: { "Content-Type": "application/json" },
|
|
192
|
-
body: JSON.stringify(isExtendedGallery ? { $extends: [] } : { pieces
|
|
202
|
+
body: JSON.stringify(isExtendedGallery ? { $extends: [] } : { pieces })
|
|
193
203
|
});
|
|
194
204
|
await invalidateAll();
|
|
195
205
|
close();
|
|
@@ -213,6 +223,22 @@ function _page($$renderer, $$props) {
|
|
|
213
223
|
$$settled = false;
|
|
214
224
|
}
|
|
215
225
|
});
|
|
226
|
+
$$renderer5.push(`<!----> <div class="my-4"></div> <div class="flex items-center gap-x-3">`);
|
|
227
|
+
TextInput($$renderer5, {
|
|
228
|
+
label: "Copy From...",
|
|
229
|
+
disabled: isExtendedGallery,
|
|
230
|
+
options: Object.keys(data.galleries).filter((k) => isBaseGallery(data.galleries[k])),
|
|
231
|
+
noReportValidation: true,
|
|
232
|
+
validationError: copyPath !== "" && !data.galleries[copyPath] ? "Select a valid path" : void 0,
|
|
233
|
+
get value() {
|
|
234
|
+
return copyPath;
|
|
235
|
+
},
|
|
236
|
+
set value($$value) {
|
|
237
|
+
copyPath = $$value;
|
|
238
|
+
$$settled = false;
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
$$renderer5.push(`<!----> ${escape_html(data.galleries[copyPath] ? "✅" : "❌")}</div>`);
|
|
216
242
|
},
|
|
217
243
|
$$slots: { default: true }
|
|
218
244
|
});
|
|
@@ -259,6 +285,7 @@ function _page($$renderer, $$props) {
|
|
|
259
285
|
autoFocus: true,
|
|
260
286
|
class: "grow",
|
|
261
287
|
noReportValidation: true,
|
|
288
|
+
acceptSuggestionOnEnter: true,
|
|
262
289
|
validationError: search !== "" && !data.galleryPaths.includes(search) ? "invalid path" : void 0,
|
|
263
290
|
options: asRecord(data.galleryPaths, (p) => p),
|
|
264
291
|
onSelect: (s) => {
|
|
@@ -277,7 +304,7 @@ function _page($$renderer, $$props) {
|
|
|
277
304
|
$$renderer3.push(`<!----></div></div> `);
|
|
278
305
|
controls($$renderer3, []);
|
|
279
306
|
$$renderer3.push(`<!----> `);
|
|
280
|
-
FileTree($$renderer3, { structure: data.
|
|
307
|
+
FileTree($$renderer3, { structure: data.tree, folder, file, showEmpty });
|
|
281
308
|
$$renderer3.push(`<!---->`);
|
|
282
309
|
}
|
|
283
310
|
do {
|
|
@@ -290,4 +317,4 @@ function _page($$renderer, $$props) {
|
|
|
290
317
|
}
|
|
291
318
|
|
|
292
319
|
export { _page as default };
|
|
293
|
-
//# sourceMappingURL=_page.svelte-
|
|
320
|
+
//# sourceMappingURL=_page.svelte-Dbrd3ndI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-Dbrd3ndI.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.svelte.js"],"sourcesContent":["import { G as ensure_array_like, x as attr_class, F as stringify, K as props_id, J as head, w as attr } from \"../../chunks/index2.js\";\nimport { g as goto, i as invalidateAll } from \"../../chunks/client.js\";\nimport { r as resolve } from \"../../chunks/server2.js\";\nimport { M as Modal, C as Collapsable } from \"../../chunks/Modal.js\";\nimport { C as Checkbox } from \"../../chunks/Checkbox.js\";\nimport { S as SearchInput, T as TextInput } from \"../../chunks/SearchInput.js\";\nimport { A as ActionButton } from \"../../chunks/ActionButton.js\";\nimport { a as isBaseGallery, c as copyPieces } from \"../../chunks/galleryutil.js\";\nimport { k as escape_html } from \"../../chunks/context.js\";\nfunction FileTree($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { structure, folder, file: file2, filter, path: propPath, showEmpty } = $$props;\n const path = propPath ?? [];\n const curStructure = (() => {\n let cur = structure;\n for (const el of path) {\n const next = cur.structure[el];\n if (next.$type != \"folder\") {\n return null;\n }\n cur = next;\n }\n return cur;\n })();\n (() => {\n if (!curStructure) {\n throw new Error(\":(\");\n }\n })();\n const filesToShow = Object.entries(curStructure.structure).filter(([, v]) => v.$type == \"folder\" ? false : filter?.(v) ?? true).map(([k]) => k);\n const folders = Object.entries(curStructure.structure).filter(([, v]) => v.$type == \"folder\" && (showEmpty || v.items > 0)).map(([k]) => k);\n $$renderer2.push(`<div class=\"flex flex-col items-start text-left\"><!--[-->`);\n const each_array = ensure_array_like(folders);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let fname = each_array[$$index];\n folder($$renderer2, fname, path);\n $$renderer2.push(`<!---->`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_1 = ensure_array_like(filesToShow);\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let fname = each_array_1[$$index_1];\n file2($$renderer2, fname, curStructure.structure[fname], path);\n $$renderer2.push(`<!---->`);\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction TreeButton($$renderer, $$props) {\n const { children, icon } = $$props;\n $$renderer.push(`<button class=\"m-1 cursor-pointer rounded-2xl border bg-white p-2 select-none hover:bg-gray-300 active:bg-gray-500\">`);\n if (icon) {\n $$renderer.push(\"<!--[-->\");\n $$renderer.push(`<i${attr_class(`fa-solid fa-${stringify(icon)}`)}></i>`);\n } else {\n $$renderer.push(\"<!--[!-->\");\n }\n $$renderer.push(`<!--]--> `);\n if (children) {\n $$renderer.push(\"<!--[-->\");\n $$renderer.push(`<span${attr_class(\"\", void 0, { \"pr-2\": !!icon })}>`);\n children($$renderer);\n $$renderer.push(`<!----></span>`);\n } else {\n $$renderer.push(\"<!--[!-->\");\n }\n $$renderer.push(`<!--]--></button>`);\n}\nfunction defaultCombine(a) {\n return a;\n}\nfunction asRecord(arr, key, combine) {\n const record = {};\n for (const val of arr) {\n const k = key(val);\n if (k in record) {\n record[k] = defaultCombine(record[k], val);\n } else {\n record[k] = val;\n }\n }\n return record;\n}\nfunction file($$renderer, fileName, file2, path) {\n file2.$type === \"gallery\" ? \"gallery\" : file2.$type === \"artist\" ? \"artists\" : null;\n const icon = file2.$type === \"gallery\" && file2.isBase ? \"images\" : file2.$type === \"gallery\" && !file2.isBase ? \"anchor\" : file2.$type === \"artist\" ? \"palette\" : void 0;\n TreeButton($$renderer, {\n icon,\n children: ($$renderer2) => {\n $$renderer2.push(`<!---->${escape_html(fileName)}`);\n }\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const id = props_id($$renderer2);\n const { data } = $$props;\n let showEmpty = false;\n let newName = \"\";\n let isExtendedGallery = false;\n let search = \"\";\n let copyPath = \"\";\n function folder($$renderer3, folderName, path) {\n Collapsable($$renderer3, {\n title: folderName,\n class: \"my-1\",\n openIcon: \"fa-folder-open\",\n closedIcon: \"fa-folder\",\n iconFamily: \"regular\",\n children: ($$renderer4) => {\n controls($$renderer4, [...path, folderName]);\n $$renderer4.push(`<!----> `);\n FileTree($$renderer4, {\n showEmpty,\n structure: data.tree,\n folder,\n file,\n path: [...path, folderName]\n });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n }\n function controls($$renderer3, path) {\n $$renderer3.push(`<div class=\"mb-4 flex gap-x-1\">`);\n {\n let children = function($$renderer4, close) {\n $$renderer4.push(`<div class=\"m-2 border-b p-3 font-bold\">New Folder</div> <div>`);\n TextInput($$renderer4, {\n label: \"Folder name\",\n get value() {\n return newName;\n },\n set value($$value) {\n newName = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n ActionButton($$renderer4, {\n disabled: !newName,\n action: async () => {\n await fetch(resolve(\"/api/folder/[...folderpath]\", { folderpath: [...path, newName].join(\"/\") }), { method: \"PATCH\" });\n await invalidateAll();\n showEmpty = true;\n close();\n },\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Create`);\n }\n });\n $$renderer4.push(`<!----></div>`);\n };\n Modal($$renderer3, {\n title: \"\",\n tooltip: \"New Folder\",\n icon: \"fa-solid fa-folder-plus\",\n onClose: () => void (newName = \"\"),\n hideHeader: true,\n children,\n $$slots: { default: true }\n });\n }\n $$renderer3.push(`<!----> `);\n {\n let children = function($$renderer4, close) {\n $$renderer4.push(`<div class=\"m-2 border-b p-3 font-bold\">New Gallery</div> <div>`);\n TextInput($$renderer4, {\n label: \"Gallery Name\",\n get value() {\n return newName;\n },\n set value($$value) {\n newName = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n ActionButton($$renderer4, {\n disabled: !newName,\n action: async () => {\n const target = [...path, newName + \".gallery\"].join(\"/\");\n let pieces = [];\n const copied = data.galleries[copyPath];\n if (!isExtendedGallery && copied && isBaseGallery(copied)) {\n pieces = await copyPieces(copied.pieces, copyPath, target);\n }\n await fetch(resolve(\"/api/gallery/[...gallerypath]/save\", { gallerypath: target }), {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(isExtendedGallery ? { $extends: [] } : { pieces })\n });\n await invalidateAll();\n close();\n },\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Create`);\n }\n });\n $$renderer4.push(`<!----> `);\n Collapsable($$renderer4, {\n title: \"Advanced\",\n class: \"mt-4\",\n children: ($$renderer5) => {\n Checkbox($$renderer5, {\n label: \"Is extended gallery\",\n get checked() {\n return isExtendedGallery;\n },\n set checked($$value) {\n isExtendedGallery = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> <div class=\"my-4\"></div> <div class=\"flex items-center gap-x-3\">`);\n TextInput($$renderer5, {\n label: \"Copy From...\",\n disabled: isExtendedGallery,\n options: Object.keys(data.galleries).filter((k) => isBaseGallery(data.galleries[k])),\n noReportValidation: true,\n validationError: copyPath !== \"\" && !data.galleries[copyPath] ? \"Select a valid path\" : void 0,\n get value() {\n return copyPath;\n },\n set value($$value) {\n copyPath = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> ${escape_html(data.galleries[copyPath] ? \"✅\" : \"❌\")}</div>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----></div>`);\n };\n Modal($$renderer3, {\n tooltip: \"New Gallery\",\n title: \"\",\n icon: \"fa-regular fa-images\",\n onClose: () => {\n newName = \"\";\n isExtendedGallery = false;\n },\n hideHeader: true,\n children,\n $$slots: { default: true }\n });\n }\n $$renderer3.push(`<!----></div>`);\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n head(\"1uha8ag\", $$renderer3, ($$renderer4) => {\n $$renderer4.title(($$renderer5) => {\n $$renderer5.push(`<title>Art Site Editor</title>`);\n });\n });\n $$renderer3.push(`<div class=\"my-4\">`);\n Checkbox($$renderer3, {\n label: \"Show empty folders\",\n right: true,\n get checked() {\n return showEmpty;\n },\n set checked($$value) {\n showEmpty = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----></div> <div class=\"my-4 flex gap-x-2 rounded-2xl border border-dashed p-2\"><label${attr(\"for\", `${stringify(id)}-search-box`)}><i class=\"fa-solid fa-search\"></i></label> <div class=\"relative flex grow\">`);\n SearchInput($$renderer3, {\n id: `${stringify(id)}-search-box`,\n autoFocus: true,\n class: \"grow\",\n noReportValidation: true,\n acceptSuggestionOnEnter: true,\n validationError: search !== \"\" && !data.galleryPaths.includes(search) ? \"invalid path\" : void 0,\n options: asRecord(data.galleryPaths, (p) => p),\n onSelect: (s) => {\n if (data.galleryPaths.includes(s)) {\n goto(resolve(\"/gallery/[...gallerypath]\", { gallerypath: s }));\n }\n },\n get search() {\n return search;\n },\n set search($$value) {\n search = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----></div></div> `);\n controls($$renderer3, []);\n $$renderer3.push(`<!----> `);\n FileTree($$renderer3, { structure: data.tree, folder, file, showEmpty });\n $$renderer3.push(`<!---->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AASA,SAAS,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;AACvC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO;AACzF,IAAI,MAAM,IAAI,GAAG,QAAQ,IAAI,EAAE;AAC/B,IAAI,MAAM,YAAY,GAAG,CAAC,MAAM;AAChC,MAAM,IAAI,GAAG,GAAG,SAAS;AACzB,MAAM,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE;AAC7B,QAAQ,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;AACtC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE;AACpC,UAAU,OAAO,IAAI;AACrB,QAAQ;AACR,QAAQ,GAAG,GAAG,IAAI;AAClB,MAAM;AACN,MAAM,OAAO,GAAG;AAChB,IAAI,CAAC,GAAG;AACR,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC;AAC7B,MAAM;AACN,IAAI,CAAC,GAAG;AACR,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnJ,IAAI,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/I,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,yDAAyD,CAAC,CAAC;AACjF,IAAI,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC;AACjD,IAAI,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACvF,MAAM,IAAI,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC;AACrC,MAAM,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC;AACtC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AACjC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACzC,IAAI,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC;AACvD,IAAI,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE;AAC/F,MAAM,IAAI,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC;AACzC,MAAM,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;AACpE,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AACjC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACtC,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE;AACzC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO;AACpC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,oHAAoH,CAAC,CAAC;AACzI,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7E,EAAE,CAAC,MAAM;AACT,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9B,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,IAAI,QAAQ,CAAC,UAAU,CAAC;AACxB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACrC,EAAE,CAAC,MAAM;AACT,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACtC;AACA,SAAS,cAAc,CAAC,CAAC,EAAE;AAC3B,EAAE,OAAO,CAAC;AACV;AACA,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE;AACrC,EAAE,MAAM,MAAM,GAAG,EAAE;AACnB,EAAE,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AACzB,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AACtB,IAAI,IAAI,CAAC,IAAI,MAAM,EAAE;AACrB,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAM,CAAC;AAChD,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACrB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,MAAM;AACf;AACA,SAAS,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;AACjD,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,QAAQ,GAAG,SAAS,GAAG,IAAI;AACrF,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,KAAK,KAAK,QAAQ,GAAG,SAAS,GAAG,MAAM;AAC3K,EAAE,UAAU,CAAC,UAAU,EAAE;AACzB,IAAI,IAAI;AACR,IAAI,QAAQ,EAAE,CAAC,WAAW,KAAK;AAC/B,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzD,IAAI;AACJ,GAAG,CAAC;AACJ;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;AACpC,IAAI,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO;AAC5B,IAAI,IAAI,SAAS,GAAG,KAAK;AACzB,IAAI,IAAI,OAAO,GAAG,EAAE;AACpB,IAAI,IAAI,iBAAiB,GAAG,KAAK;AACjC,IAAI,IAAI,MAAM,GAAG,EAAE;AACnB,IAAI,IAAI,QAAQ,GAAG,EAAE;AACrB,IAAI,SAAS,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE;AACnD,MAAM,WAAW,CAAC,WAAW,EAAE;AAC/B,QAAQ,KAAK,EAAE,UAAU;AACzB,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,QAAQ,EAAE,gBAAgB;AAClC,QAAQ,UAAU,EAAE,WAAW;AAC/B,QAAQ,UAAU,EAAE,SAAS;AAC7B,QAAQ,QAAQ,EAAE,CAAC,WAAW,KAAK;AACnC,UAAU,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC;AACtD,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACtC,UAAU,QAAQ,CAAC,WAAW,EAAE;AAChC,YAAY,SAAS;AACrB,YAAY,SAAS,EAAE,IAAI,CAAC,IAAI;AAChC,YAAY,MAAM;AAClB,YAAY,IAAI;AAChB,YAAY,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU;AACtC,WAAW,CAAC;AACZ,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAChC,OAAO,CAAC;AACR,IAAI;AACJ,IAAI,SAAS,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE;AACzC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,+BAA+B,CAAC,CAAC;AACzD,MAAM;AACN,QAAQ,IAAI,QAAQ,GAAG,SAAS,WAAW,EAAE,KAAK,EAAE;AACpD,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,8DAA8D,CAAC,CAAC;AAC5F,UAAU,SAAS,CAAC,WAAW,EAAE;AACjC,YAAY,KAAK,EAAE,aAAa;AAChC,YAAY,IAAI,KAAK,GAAG;AACxB,cAAc,OAAO,OAAO;AAC5B,YAAY,CAAC;AACb,YAAY,IAAI,KAAK,CAAC,OAAO,EAAE;AAC/B,cAAc,OAAO,GAAG,OAAO;AAC/B,cAAc,SAAS,GAAG,KAAK;AAC/B,YAAY;AACZ,WAAW,CAAC;AACZ,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACtC,UAAU,YAAY,CAAC,WAAW,EAAE;AACpC,YAAY,QAAQ,EAAE,CAAC,OAAO;AAC9B,YAAY,MAAM,EAAE,YAAY;AAChC,cAAc,MAAM,KAAK,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACpI,cAAc,MAAM,aAAa,EAAE;AACnC,cAAc,SAAS,GAAG,IAAI;AAC9B,cAAc,KAAK,EAAE;AACrB,YAAY,CAAC;AACb,YAAY,QAAQ,EAAE,CAAC,WAAW,KAAK;AACvC,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AAC/C,YAAY;AACZ,WAAW,CAAC;AACZ,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AAC3C,QAAQ,CAAC;AACT,QAAQ,KAAK,CAAC,WAAW,EAAE;AAC3B,UAAU,KAAK,EAAE,EAAE;AACnB,UAAU,OAAO,EAAE,YAAY;AAC/B,UAAU,IAAI,EAAE,yBAAyB;AACzC,UAAU,OAAO,EAAE,MAAM,MAAM,OAAO,GAAG,EAAE,CAAC;AAC5C,UAAU,UAAU,EAAE,IAAI;AAC1B,UAAU,QAAQ;AAClB,UAAU,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClC,SAAS,CAAC;AACV,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM;AACN,QAAQ,IAAI,QAAQ,GAAG,SAAS,WAAW,EAAE,KAAK,EAAE;AACpD,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,+DAA+D,CAAC,CAAC;AAC7F,UAAU,SAAS,CAAC,WAAW,EAAE;AACjC,YAAY,KAAK,EAAE,cAAc;AACjC,YAAY,IAAI,KAAK,GAAG;AACxB,cAAc,OAAO,OAAO;AAC5B,YAAY,CAAC;AACb,YAAY,IAAI,KAAK,CAAC,OAAO,EAAE;AAC/B,cAAc,OAAO,GAAG,OAAO;AAC/B,cAAc,SAAS,GAAG,KAAK;AAC/B,YAAY;AACZ,WAAW,CAAC;AACZ,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACtC,UAAU,YAAY,CAAC,WAAW,EAAE;AACpC,YAAY,QAAQ,EAAE,CAAC,OAAO;AAC9B,YAAY,MAAM,EAAE,YAAY;AAChC,cAAc,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACtE,cAAc,IAAI,MAAM,GAAG,EAAE;AAC7B,cAAc,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACrD,cAAc,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;AACzE,gBAAgB,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;AAC1E,cAAc;AACd,cAAc,MAAM,KAAK,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE;AAClG,gBAAgB,MAAM,EAAE,MAAM;AAC9B,gBAAgB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;AAC/D,gBAAgB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;AACtF,eAAe,CAAC;AAChB,cAAc,MAAM,aAAa,EAAE;AACnC,cAAc,KAAK,EAAE;AACrB,YAAY,CAAC;AACb,YAAY,QAAQ,EAAE,CAAC,WAAW,KAAK;AACvC,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AAC/C,YAAY;AACZ,WAAW,CAAC;AACZ,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACtC,UAAU,WAAW,CAAC,WAAW,EAAE;AACnC,YAAY,KAAK,EAAE,UAAU;AAC7B,YAAY,KAAK,EAAE,MAAM;AACzB,YAAY,QAAQ,EAAE,CAAC,WAAW,KAAK;AACvC,cAAc,QAAQ,CAAC,WAAW,EAAE;AACpC,gBAAgB,KAAK,EAAE,qBAAqB;AAC5C,gBAAgB,IAAI,OAAO,GAAG;AAC9B,kBAAkB,OAAO,iBAAiB;AAC1C,gBAAgB,CAAC;AACjB,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE;AACrC,kBAAkB,iBAAiB,GAAG,OAAO;AAC7C,kBAAkB,SAAS,GAAG,KAAK;AACnC,gBAAgB;AAChB,eAAe,CAAC;AAChB,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,wEAAwE,CAAC,CAAC;AAC1G,cAAc,SAAS,CAAC,WAAW,EAAE;AACrC,gBAAgB,KAAK,EAAE,cAAc;AACrC,gBAAgB,QAAQ,EAAE,iBAAiB;AAC3C,gBAAgB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACpG,gBAAgB,kBAAkB,EAAE,IAAI;AACxC,gBAAgB,eAAe,EAAE,QAAQ,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,qBAAqB,GAAG,MAAM;AAC9G,gBAAgB,IAAI,KAAK,GAAG;AAC5B,kBAAkB,OAAO,QAAQ;AACjC,gBAAgB,CAAC;AACjB,gBAAgB,IAAI,KAAK,CAAC,OAAO,EAAE;AACnC,kBAAkB,QAAQ,GAAG,OAAO;AACpC,kBAAkB,SAAS,GAAG,KAAK;AACnC,gBAAgB;AAChB,eAAe,CAAC;AAChB,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AACpG,YAAY,CAAC;AACb,YAAY,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AACpC,WAAW,CAAC;AACZ,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AAC3C,QAAQ,CAAC;AACT,QAAQ,KAAK,CAAC,WAAW,EAAE;AAC3B,UAAU,OAAO,EAAE,aAAa;AAChC,UAAU,KAAK,EAAE,EAAE;AACnB,UAAU,IAAI,EAAE,sBAAsB;AACtC,UAAU,OAAO,EAAE,MAAM;AACzB,YAAY,OAAO,GAAG,EAAE;AACxB,YAAY,iBAAiB,GAAG,KAAK;AACrC,UAAU,CAAC;AACX,UAAU,UAAU,EAAE,IAAI;AAC1B,UAAU,QAAQ;AAClB,UAAU,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI;AAClC,SAAS,CAAC;AACV,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AACvC,IAAI;AACJ,IAAI,IAAI,SAAS,GAAG,IAAI;AACxB,IAAI,IAAI,gBAAgB;AACxB,IAAI,SAAS,cAAc,CAAC,WAAW,EAAE;AACzC,MAAM,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,WAAW,KAAK;AACpD,QAAQ,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK;AAC3C,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,8BAA8B,CAAC,CAAC;AAC5D,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC5C,MAAM,QAAQ,CAAC,WAAW,EAAE;AAC5B,QAAQ,KAAK,EAAE,oBAAoB;AACnC,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,IAAI,OAAO,GAAG;AACtB,UAAU,OAAO,SAAS;AAC1B,QAAQ,CAAC;AACT,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;AAC7B,UAAU,SAAS,GAAG,OAAO;AAC7B,UAAU,SAAS,GAAG,KAAK;AAC3B,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,wFAAwF,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,4EAA4E,CAAC,CAAC;AAC3O,MAAM,WAAW,CAAC,WAAW,EAAE;AAC/B,QAAQ,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC;AACzC,QAAQ,SAAS,EAAE,IAAI;AACvB,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,kBAAkB,EAAE,IAAI;AAChC,QAAQ,uBAAuB,EAAE,IAAI;AACrC,QAAQ,eAAe,EAAE,MAAM,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,cAAc,GAAG,MAAM;AACvG,QAAQ,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AACtD,QAAQ,QAAQ,EAAE,CAAC,CAAC,KAAK;AACzB,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;AAC7C,YAAY,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1E,UAAU;AACV,QAAQ,CAAC;AACT,QAAQ,IAAI,MAAM,GAAG;AACrB,UAAU,OAAO,MAAM;AACvB,QAAQ,CAAC;AACT,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE;AAC5B,UAAU,MAAM,GAAG,OAAO;AAC1B,UAAU,SAAS,GAAG,KAAK;AAC3B,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC;AAC/C,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;AAC/B,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC9E,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AACjC,IAAI;AACJ,IAAI,GAAG;AACP,MAAM,SAAS,GAAG,IAAI;AACtB,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE;AAC3C,MAAM,cAAc,CAAC,gBAAgB,CAAC;AACtC,IAAI,CAAC,QAAQ,CAAC,SAAS;AACvB,IAAI,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACzC,EAAE,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -3,9 +3,12 @@ import path from 'node:path';
|
|
|
3
3
|
import { e as error, j as json } from './index-CoD1IJuy.js';
|
|
4
4
|
import { stringify } from 'yaml';
|
|
5
5
|
import { unlink, writeFile } from 'node:fs/promises';
|
|
6
|
-
import { n as normalizeGalleryPath, a as isBaseGallery, g as getGalleryDir } from './galleryutil-
|
|
6
|
+
import { n as normalizeGalleryPath, a as isBaseGallery, g as getGalleryDir } from './galleryutil-DznhV1Pd.js';
|
|
7
7
|
import { c as createLogger } from './log-Dgdg632G.js';
|
|
8
8
|
import { r as resolveWithinArt, d as deleteResources } from './fileutil-Ckv64WTK.js';
|
|
9
|
+
import './util-Cfqr4aAv.js';
|
|
10
|
+
import './routing-C4Egnc9A.js';
|
|
11
|
+
import './event-ByDKS2H7.js';
|
|
9
12
|
import 'tslog';
|
|
10
13
|
import 'node:stream';
|
|
11
14
|
|
|
@@ -112,4 +115,4 @@ const DELETE = async ({ params }) => {
|
|
|
112
115
|
};
|
|
113
116
|
|
|
114
117
|
export { DELETE, POST };
|
|
115
|
-
//# sourceMappingURL=_server.ts-
|
|
118
|
+
//# sourceMappingURL=_server.ts-BxeMXP1a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BxeMXP1a.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/gallery/_...gallerypath_/save/_server.ts.js"],"sourcesContent":["import { RawGallery, rawGalleries, clearCache, $ART } from \"@phosart/common/server\";\nimport path from \"node:path\";\nimport { json, error } from \"@sveltejs/kit\";\nimport { stringify } from \"yaml\";\nimport { unlink, writeFile } from \"node:fs/promises\";\nimport { n as normalizeGalleryPath, a as isBaseGallery, g as getGalleryDir } from \"../../../../../../chunks/galleryutil.js\";\nimport { c as createLogger } from \"../../../../../../chunks/log.js\";\nimport { d as deleteResources, r as resolveWithinArt } from \"../../../../../../chunks/fileutil.js\";\nconst logger = createLogger();\nconst POST = async ({ request, params }) => {\n const galleryPath = normalizeGalleryPath(params.gallerypath);\n const gallery = await RawGallery.parseAsync(await request.json());\n const oldGalleries = await rawGalleries();\n logger.info(\"Saving gallery @\", galleryPath, \"...\");\n await saveGallery(galleryPath, gallery);\n clearCache();\n logger.info(\"Saved gallery @\", galleryPath);\n const newGalleries = await rawGalleries();\n const deletedReferences = getDiffedReferences(oldGalleries, newGalleries);\n if (deletedReferences.size > 0) {\n logger.warn(\n \"Found\",\n deletedReferences.size,\n \"image(s) without references after save. Deleting associated resources...\"\n );\n await deleteResources([...deletedReferences]);\n }\n return json({ ok: true });\n};\nfunction getDiffedReferences(oldGallery, newGallery) {\n return getReferences(oldGallery).difference(getReferences(newGallery));\n}\nfunction getReferences(gcache) {\n let refs = /* @__PURE__ */ new Set();\n for (const [gpath, gallery] of Object.entries(gcache)) {\n if (!isBaseGallery(gallery)) continue;\n refs = refs.union(getGalleryReferences(gpath, gallery));\n }\n return refs;\n}\nfunction getGalleryReferences(galleryPath, gallery) {\n const references = /* @__PURE__ */ new Set();\n const basePath = path.resolve(\n path.join($ART(), getGalleryDir(normalizeGalleryPath(galleryPath)))\n );\n for (const piece of gallery.pieces) {\n references.add(path.resolve(path.join(basePath, piece.image)));\n if (piece.video) {\n references.add(path.resolve(path.join(basePath, piece.video.full)));\n references.add(path.resolve(path.join(basePath, piece.video.thumb)));\n }\n if (piece.alts) {\n for (const alt of piece.alts) {\n references.add(path.resolve(path.join(basePath, alt.image)));\n if (alt.video) {\n references.add(path.resolve(path.join(basePath, alt.video.full)));\n references.add(path.resolve(path.join(basePath, alt.video.thumb)));\n }\n }\n }\n }\n return references;\n}\nasync function saveGallery(galleryPath, newGallery) {\n if (isBaseGallery(newGallery)) {\n for (const p of newGallery.pieces) {\n delete p.slug;\n }\n }\n const galleryFullPath = resolveWithinArt(path.join($ART(), galleryPath));\n if (!galleryFullPath) {\n logger.warn(\"Refusing to write gallery outside art root @\", galleryPath);\n throw error(400, \"invalid gallery path\");\n }\n logger.silly(\"Writing gallery yaml @\", galleryFullPath, \"...\");\n const yaml = stringify(newGallery, {\n blockQuote: true,\n collectionStyle: \"block\",\n defaultKeyType: \"PLAIN\",\n defaultStringType: \"PLAIN\",\n indent: 2\n });\n await writeFile(galleryFullPath, yaml, { encoding: \"utf-8\" });\n logger.debug(\"Wrote gallery yaml @\", galleryFullPath);\n}\nconst DELETE = async ({ params }) => {\n const galleryPath = normalizeGalleryPath(params.gallerypath);\n const gpath = resolveWithinArt(path.join($ART(), galleryPath));\n if (!gpath) {\n logger.warn(\"Refusing to delete gallery outside art root @\", galleryPath);\n throw error(400, \"invalid gallery path\");\n }\n const oldGalleries = await rawGalleries();\n logger.info(\"Deleting gallery @\", gpath, \"...\");\n await unlink(gpath);\n clearCache();\n logger.info(\"Deleted gallery @\", gpath);\n const newGalleries = await rawGalleries();\n const deletedReferences = getDiffedReferences(oldGalleries, newGalleries);\n if (deletedReferences.size > 0) {\n logger.warn(\n \"Found\",\n deletedReferences.size,\n \"image(s) without references after save. Deleting associated resources...\"\n );\n await deleteResources([...deletedReferences]);\n }\n return json({ ok: true });\n};\nexport {\n DELETE,\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,12 @@ import { pipeline } from 'node:stream/promises';
|
|
|
13
13
|
import https from 'node:https';
|
|
14
14
|
import { a as $CACHEFILE, $ as $IMGDIR } from './paths-LWMPXYU2.js';
|
|
15
15
|
import { RateLimit } from 'async-sema';
|
|
16
|
-
import { i as isExtendsGallery } from './galleryutil-
|
|
16
|
+
import { i as isExtendsGallery } from './galleryutil-DznhV1Pd.js';
|
|
17
17
|
import { Agent, AtpAgent } from '@atproto/api';
|
|
18
18
|
import 'tslog';
|
|
19
|
+
import './util-Cfqr4aAv.js';
|
|
20
|
+
import './routing-C4Egnc9A.js';
|
|
21
|
+
import './event-ByDKS2H7.js';
|
|
19
22
|
|
|
20
23
|
const DEFAULT_AGE_MS = 1e3 * 60 * 10;
|
|
21
24
|
const DEFAULT_MAX_POSTS_FROM_BSKY = 50;
|
|
@@ -296,4 +299,4 @@ const POST = async ({ request }) => {
|
|
|
296
299
|
};
|
|
297
300
|
|
|
298
301
|
export { POST };
|
|
299
|
-
//# sourceMappingURL=_server.ts-
|
|
302
|
+
//# sourceMappingURL=_server.ts-DrH-oZMv.js.map
|