hfs 3.4.0-alpha2 → 3.4.0-rc4
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/admin/assets/AccountsPage-Cq70nuY2.js +4 -0
- package/admin/assets/{ConfigFilePage-jUH2feqi.js → ConfigFilePage-CZKkFWKy.js} +1 -1
- package/admin/assets/{CustomHtmlPage-Pl_AJZrl.js → CustomHtmlPage-BWJMIbjK.js} +1 -1
- package/admin/assets/{InternetPage-DIcAwhFk.js → InternetPage-ChHF2KsX.js} +3 -3
- package/admin/assets/{LangPage-BwVY8QRD.js → LangPage-Do-2xam2.js} +1 -1
- package/admin/assets/{LogsPage-CcjS12cP.js → LogsPage-BjPjQ5no.js} +2 -2
- package/admin/assets/MonitorPage-Cn98Y7fp.js +2 -0
- package/admin/assets/OptionsPage-D2lthk3u.js +3 -0
- package/admin/assets/{PluginsPage-CC2dINcb.js → PluginsPage-wv8YGwiG.js} +1 -1
- package/admin/assets/{af-B1Gi_bpo.js → af-DbQ8Cp2D.js} +1 -1
- package/admin/assets/{am-B-dZnhsM.js → am-rTWUV8Q3.js} +1 -1
- package/admin/assets/ar-PoKj6G1D.js +1 -0
- package/admin/assets/{ar-dz-CxlYiKtP.js → ar-dz-Br5NmnXt.js} +1 -1
- package/admin/assets/{ar-iq-y4_Puo4B.js → ar-iq-BvwnnT3I.js} +1 -1
- package/admin/assets/{ar-kw-DTOZ0VC7.js → ar-kw-BF15YTZa.js} +1 -1
- package/admin/assets/{ar-ly-lPV9gApv.js → ar-ly-qH3DvDgG.js} +1 -1
- package/admin/assets/{ar-ma-DZqLSpeB.js → ar-ma-C7os4fnL.js} +1 -1
- package/admin/assets/{ar-sa-v-5vsIOR.js → ar-sa-DYNuwli-.js} +1 -1
- package/admin/assets/{ar-tn-a4q8lhXy.js → ar-tn-DNa89H2E.js} +1 -1
- package/admin/assets/{az-Cj4yq-j-.js → az-B9-m6vPU.js} +1 -1
- package/admin/assets/be-CrScT_T-.js +1 -0
- package/admin/assets/{bg-A8-93xdK.js → bg-BBGrX1km.js} +1 -1
- package/admin/assets/{bi-bwwEWGG2.js → bi-BY1hp7bh.js} +1 -1
- package/admin/assets/{bm-DpLmtYXC.js → bm-3BGRkD_Z.js} +1 -1
- package/admin/assets/{bn-DPL_BgLw.js → bn-DwhbHuEC.js} +1 -1
- package/admin/assets/{bn-bd-DukmY_R5.js → bn-bd-BuUiyWmp.js} +1 -1
- package/admin/assets/{bo-68KDEKGI.js → bo-BH1ivA_J.js} +1 -1
- package/admin/assets/{br-gA86uwqY.js → br-CWpuoVJP.js} +1 -1
- package/admin/assets/{bs-SfthSp42.js → bs-CJ06ZDuH.js} +1 -1
- package/admin/assets/{ca-8qUtZKFe.js → ca-CaNw03n9.js} +1 -1
- package/admin/assets/{cs-CTHcqPCX.js → cs-0aG58aYb.js} +1 -1
- package/admin/assets/{cv-BhBW7hcO.js → cv-D33jjmD9.js} +1 -1
- package/admin/assets/{cy-BYTS4PNY.js → cy-Bv-r1u54.js} +1 -1
- package/admin/assets/da-Bb0RK9Ek.js +1 -0
- package/admin/assets/{de-BFqyDxvo.js → de-Dg1YmBtR.js} +1 -1
- package/admin/assets/{de-at-C7zUXXVL.js → de-at-CE8AAPiz.js} +1 -1
- package/admin/assets/{de-ch-BVHosAzt.js → de-ch-dT7HLonw.js} +1 -1
- package/admin/assets/{dist-DC2A6cD2.js → dist-D3cOB8lq.js} +1 -1
- package/admin/assets/{dv-dvig99nB.js → dv-DAiO4FWM.js} +1 -1
- package/admin/assets/{el-BtJcYjoT.js → el-CpGQCpXg.js} +1 -1
- package/admin/assets/{en-B26lXzkx.js → en-DX5a8Etn.js} +1 -1
- package/admin/assets/en-au-Bb4_3YUG.js +1 -0
- package/admin/assets/{en-ca-nou5bZ6q.js → en-ca-ksaBtz9B.js} +1 -1
- package/admin/assets/{en-in-Bri93cNM.js → en-gb-Be35srzU.js} +1 -1
- package/admin/assets/{en-ie-C55e3apX.js → en-ie-DaIh113k.js} +1 -1
- package/admin/assets/{en-il-HYabE6j7.js → en-il-CYJKN5BU.js} +1 -1
- package/admin/assets/{en-tt-BqzQXPA5.js → en-in-CySHpBIl.js} +1 -1
- package/admin/assets/{en-nz-BqhpzeuX.js → en-nz-mP8Nxbdh.js} +1 -1
- package/admin/assets/{en-sg-q8xv-C8V.js → en-sg-CoIpxjC4.js} +1 -1
- package/admin/assets/{en-gb-kl3giCnh.js → en-tt-DwydYH9j.js} +1 -1
- package/admin/assets/{eo-5Y962E4S.js → eo-DNtw5yFM.js} +1 -1
- package/admin/assets/{es-DOQ7swrW.js → es-DVT0XHUz.js} +1 -1
- package/admin/assets/{es-do-Diob7juh.js → es-do-BbtwJtqj.js} +1 -1
- package/admin/assets/{es-mx-miy7RFDh.js → es-mx-DtmP93Lr.js} +1 -1
- package/admin/assets/{es-pr-CZa5Iw2n.js → es-pr-DaTYsO8g.js} +1 -1
- package/admin/assets/{es-us-BX03CBQf.js → es-us-C-csRt3U.js} +1 -1
- package/admin/assets/esm-CreJU49o.js +1 -0
- package/admin/assets/{et-DGWOmMlC.js → et-CK8IKO_0.js} +1 -1
- package/admin/assets/{eu-D1Qj8RMh.js → eu--GTpSs4T.js} +1 -1
- package/admin/assets/{fa--TfwKnl9.js → fa-CHdd20JP.js} +1 -1
- package/admin/assets/{fi-Dcbkv925.js → fi-BFXmafHr.js} +1 -1
- package/admin/assets/{fo-BPGX_WF4.js → fo-D5nODabC.js} +1 -1
- package/admin/assets/{fr-CNsDHzNh.js → fr-D1Ip1Dge.js} +1 -1
- package/admin/assets/{fr-ca-BsNs3KIJ.js → fr-ca-BNSC7iSL.js} +1 -1
- package/admin/assets/{fr-ch-BBmdtvlB.js → fr-ch-CpBlTkAy.js} +1 -1
- package/admin/assets/{fy-q3UE-mqp.js → fy-C2lX9wgR.js} +1 -1
- package/admin/assets/ga-CqPs0moD.js +1 -0
- package/admin/assets/{gd-mLMfry_l.js → gd-DwR_ZM38.js} +1 -1
- package/admin/assets/{gl-CO8Bj9I_.js → gl-OUgWMUz3.js} +1 -1
- package/admin/assets/{gom-latn-myglMmHV.js → gom-latn-AexJ0ZQz.js} +1 -1
- package/admin/assets/{gu-Bdz1OpMU.js → gu-CWIu1O0z.js} +1 -1
- package/admin/assets/{he-C4lqk2AA.js → he-LcLErtzp.js} +1 -1
- package/admin/assets/{hi-h0Byc_UN.js → hi-kQn-O4r7.js} +1 -1
- package/admin/assets/{hr-CZV7Za1n.js → hr-DZ_e0Ulr.js} +1 -1
- package/admin/assets/{ht-Dg2blNvl.js → ht-BQic7H76.js} +1 -1
- package/admin/assets/{hu-DbOVhd9K.js → hu-C9Umqg7s.js} +1 -1
- package/admin/assets/{hy-am-E48Q7kWE.js → hy-am-D6agS2em.js} +1 -1
- package/admin/assets/{icons-C_ux1zLA.js → icons-D6k8t08O.js} +1 -1
- package/admin/assets/{id-Cd4yWevW.js → id-jp72rBrA.js} +1 -1
- package/admin/assets/index-DUFnYPeE.js +779 -0
- package/admin/assets/{is-BJZYSfrA.js → is-BQEPU5pL.js} +1 -1
- package/admin/assets/{it-BRaqqFz4.js → it-BfwC0F9Q.js} +1 -1
- package/admin/assets/{it-ch-BkLqxaff.js → it-ch-DRHQLZvj.js} +1 -1
- package/admin/assets/{ja-X_I-25cD.js → ja-BRfodXq8.js} +1 -1
- package/admin/assets/{jv-BBBx3R3v.js → jv-CjdA7shg.js} +1 -1
- package/admin/assets/{ka-D9Yrujqk.js → ka-erBrS3c-.js} +1 -1
- package/admin/assets/{kk-Bz450_o8.js → kk-BwfB676c.js} +1 -1
- package/admin/assets/{km-CKOAqvHM.js → km-BFjcfFW9.js} +1 -1
- package/admin/assets/{kn-k2xTBR7a.js → kn-D_yG3aYq.js} +1 -1
- package/admin/assets/{ko-BCvoCYib.js → ko-BThIM7bS.js} +1 -1
- package/admin/assets/{ku-D6Rloctr.js → ku-_PuC_gH_.js} +1 -1
- package/admin/assets/{ky-C54qnEzk.js → ky-DDLpB1ep.js} +1 -1
- package/admin/assets/{lb-y3rkrWB2.js → lb-DnkPbtvx.js} +1 -1
- package/admin/assets/{lo-nA_dPnOU.js → lo-D-SL6zpP.js} +1 -1
- package/admin/assets/{lt-hjPmCCML.js → lt-D5ekwPTY.js} +1 -1
- package/admin/assets/{lv-Bh4qmUa_.js → lv-_fCWCMW3.js} +1 -1
- package/admin/assets/{me-e32suC_n.js → me-HHhlyCy2.js} +1 -1
- package/admin/assets/{mi-Dwbsuyr9.js → mi-Cdoio8LZ.js} +1 -1
- package/admin/assets/{mk-DjUXwKRn.js → mk-DPZliVUO.js} +1 -1
- package/admin/assets/{ml-CWjFAViF.js → ml-D7F-V_eL.js} +1 -1
- package/admin/assets/{mn-BU4qTvEl.js → mn-BB2_r7Uf.js} +1 -1
- package/admin/assets/{mr-Bvnduzfb.js → mr-DS20irLS.js} +1 -1
- package/admin/assets/{ms-XuKVAni7.js → ms-IsWqX08Y.js} +1 -1
- package/admin/assets/{ms-my-CDbnYp0g.js → ms-my-DXb8k3-o.js} +1 -1
- package/admin/assets/{mt-PDuxJf8J.js → mt-CqISTppi.js} +1 -1
- package/admin/assets/{my-7N6SHnsD.js → my-DQnfIg4a.js} +1 -1
- package/admin/assets/{nb-Cu3KUtTR.js → nb-BZ3oXkCk.js} +1 -1
- package/admin/assets/{ne-CYW0uI2a.js → ne-BzdLyBBb.js} +1 -1
- package/admin/assets/{nl-DL7cw699.js → nl-D6k7FUY-.js} +1 -1
- package/admin/assets/{nl-be-B3NSF-2w.js → nl-be-BJMJB86Z.js} +1 -1
- package/admin/assets/{nn-BHITVkGB.js → nn-DeDoW2gh.js} +1 -1
- package/admin/assets/{oc-lnc-dp3c4Bty.js → oc-lnc-D7zHC0B6.js} +1 -1
- package/admin/assets/{pa-in-BxgIlP1T.js → pa-in-DFr7y90l.js} +1 -1
- package/admin/assets/{pl-GrG6yjkB.js → pl-CqtucynZ.js} +1 -1
- package/admin/assets/{pt-cVbj6hL6.js → pt-C17mt65n.js} +1 -1
- package/admin/assets/{pt-br-BxTgeF95.js → pt-br-CzOOC-bM.js} +1 -1
- package/admin/assets/{rn-DiVJ2_Jy.js → rn-CAIDc-jx.js} +1 -1
- package/admin/assets/{ro-D1WeRyXR.js → ro-D2zK9l-W.js} +1 -1
- package/admin/assets/rolldown-runtime-8BhlS34s.js +1 -0
- package/admin/assets/{routing-Be72yFmd.js → routing-DvS2UalH.js} +1 -1
- package/admin/assets/{ru-DZCu4V9W.js → ru-fzjTY7Be.js} +1 -1
- package/admin/assets/{rw-DfFpVc_g.js → rw-1K76p_9E.js} +1 -1
- package/admin/assets/{sd-yDyBYxtQ.js → sd-90fzw5NP.js} +1 -1
- package/admin/assets/{se-EJKibocp.js → se-CdyuJz2s.js} +1 -1
- package/admin/assets/sha512-CyvtZ8Ek.js +1 -0
- package/admin/assets/{si-BCBV00rO.js → si-BmAvPXrx.js} +1 -1
- package/admin/assets/{sk-B2VvG_mo.js → sk-BU2IAAmj.js} +1 -1
- package/admin/assets/{sl-BTYmt65M.js → sl-ChP1IupW.js} +1 -1
- package/admin/assets/{sq-BaLGKAHu.js → sq-L_xT9URu.js} +1 -1
- package/admin/assets/{sr-DarE-95b.js → sr-GWkHw_Kt.js} +1 -1
- package/admin/assets/{sr-cyrl-CrwXFtkw.js → sr-cyrl-CmbXxMh7.js} +1 -1
- package/admin/assets/{ss-CbBe1RUs.js → ss-uh1wXX0s.js} +1 -1
- package/admin/assets/{sv-Baw7Je9j.js → sv-BaqZIaFS.js} +1 -1
- package/admin/assets/{sv-fi-CVHORXkw.js → sv-fi-5mTgY7SS.js} +1 -1
- package/admin/assets/{sw-k1H_OzIi.js → sw-CgZyjUY_.js} +1 -1
- package/admin/assets/{ta-Bc4ZaZT9.js → ta-BTYrdU6q.js} +1 -1
- package/admin/assets/{te-ClciACZi.js → te-BCD82vjs.js} +1 -1
- package/admin/assets/{tet-B75w1oSG.js → tet-D3WjCGd2.js} +1 -1
- package/admin/assets/{tg-CuH2ARRk.js → tg-Gqdlk9ho.js} +1 -1
- package/admin/assets/{th-LvExAoJ6.js → th-CsNcKT-3.js} +1 -1
- package/admin/assets/{tk-2CFwTMKo.js → tk-DTwh4mGR.js} +1 -1
- package/admin/assets/{tl-ph-CNJ_lViV.js → tl-ph-DGe58ZB_.js} +1 -1
- package/admin/assets/{tlh-9UbKQkHo.js → tlh-QefTfcsO.js} +1 -1
- package/admin/assets/{tr-Cu4P4OMe.js → tr-CAVwBwq3.js} +1 -1
- package/admin/assets/{tzl-D97WsZW-.js → tzl-CecEic_J.js} +1 -1
- package/admin/assets/{tzm-latn-BRGsWK-9.js → tzm-latn-Coe9YWA1.js} +1 -1
- package/admin/assets/{tzm-CURkYgMY.js → tzm-wsG5Gbc8.js} +1 -1
- package/admin/assets/{ug-cn-Cd4exKOc.js → ug-cn-MQAmw47P.js} +1 -1
- package/admin/assets/{uk-DEXM3PIH.js → uk-qONcDBL3.js} +1 -1
- package/admin/assets/{ur-DpUycj07.js → ur-DwbJl05B.js} +1 -1
- package/admin/assets/{uz-CznjzufA.js → uz-DI2FQHIg.js} +1 -1
- package/admin/assets/{uz-latn-Baga58FN.js → uz-latn-DHU_kU5D.js} +1 -1
- package/admin/assets/{vi-BrZWcL2C.js → vi-BmZ3NncE.js} +1 -1
- package/admin/assets/{x-pseudo-BY6J4I7_.js → x-pseudo-DhxEXlE7.js} +1 -1
- package/admin/assets/{yo-Dkeaym0x.js → yo-DF4qHF3o.js} +1 -1
- package/admin/assets/{zh-C2fOZUKR.js → zh-C0JKmERV.js} +1 -1
- package/admin/assets/{zh-cn-CiA7hMZm.js → zh-cn-BaPz93Vm.js} +1 -1
- package/admin/assets/{zh-hk-EkoniWh0.js → zh-hk-BsGTDJKO.js} +1 -1
- package/admin/assets/{zh-tw-KDgos-kB.js → zh-tw-BOyHnTWu.js} +1 -1
- package/admin/index.html +3 -3
- package/central.json +3 -3
- package/frontend/assets/dist-legacy-BLSZSqtf.js +2 -0
- package/frontend/assets/index-legacy-DYqom5rb.js +30 -0
- package/frontend/assets/lib-legacy-D_nM1f4j.js +1 -0
- package/frontend/assets/polyfills-legacy-DKfiW0TO.js +3 -0
- package/frontend/assets/sha512-legacy-CBxAsOjS.js +1 -0
- package/frontend/index.html +3 -3
- package/npm-shrinkwrap.json +68 -68
- package/package.json +14 -13
- package/src/QuickZipStream.js +11 -1
- package/src/admin-langs/hfs-admin-lang-ar.json +1 -0
- package/src/admin-langs/hfs-admin-lang-bg.json +1 -0
- package/src/admin-langs/hfs-admin-lang-de.json +1 -0
- package/src/admin-langs/hfs-admin-lang-el.json +1 -0
- package/src/admin-langs/hfs-admin-lang-en.json +1 -0
- package/src/admin-langs/hfs-admin-lang-es.json +1 -0
- package/src/admin-langs/hfs-admin-lang-fi.json +11 -18
- package/src/admin-langs/hfs-admin-lang-fr.json +1 -0
- package/src/admin-langs/hfs-admin-lang-hu.json +1 -0
- package/src/admin-langs/hfs-admin-lang-it.json +1 -0
- package/src/admin-langs/hfs-admin-lang-ja.json +1 -0
- package/src/admin-langs/hfs-admin-lang-ko.json +1 -0
- package/src/admin-langs/hfs-admin-lang-lt.json +1 -0
- package/src/admin-langs/hfs-admin-lang-ms.json +1 -0
- package/src/admin-langs/hfs-admin-lang-nl.json +1 -0
- package/src/admin-langs/hfs-admin-lang-pl.json +1 -0
- package/src/admin-langs/hfs-admin-lang-pt-br.json +1 -0
- package/src/admin-langs/hfs-admin-lang-ro.json +1 -0
- package/src/admin-langs/hfs-admin-lang-ru.json +1 -0
- package/src/admin-langs/hfs-admin-lang-sr-latn.json +1 -0
- package/src/admin-langs/hfs-admin-lang-sr.json +1 -0
- package/src/admin-langs/hfs-admin-lang-th.json +1 -0
- package/src/admin-langs/hfs-admin-lang-tr.json +1 -0
- package/src/admin-langs/hfs-admin-lang-uk.json +1 -0
- package/src/admin-langs/hfs-admin-lang-vi.json +1 -0
- package/src/admin-langs/hfs-admin-lang-zh-hant.json +1 -0
- package/src/admin-langs/hfs-admin-lang-zh.json +1 -0
- package/src/api.log.js +1 -2
- package/src/const.js +1 -1
- package/src/github.js +2 -4
- package/src/langs/hfs-lang-zh-hant.json +2 -2
- package/src/langs/hfs-lang-zh.json +2 -2
- package/src/plugins.js +10 -4
- package/src/util-http.js +16 -9
- package/src/vfs.js +1 -1
- package/src/walkDir.js +13 -11
- package/admin/assets/AccountsPage-CoiPofEv.js +0 -4
- package/admin/assets/MonitorPage-DMVFXyMe.js +0 -2
- package/admin/assets/OptionsPage-BB40ax9G.js +0 -3
- package/admin/assets/ar-DsQGp6kZ.js +0 -1
- package/admin/assets/be-B-3QlFM8.js +0 -1
- package/admin/assets/da-BiwfOrRd.js +0 -1
- package/admin/assets/en-au-CWzJ565h.js +0 -1
- package/admin/assets/esm-Dtaf0rWK.js +0 -1
- package/admin/assets/ga-C-DOgnYh.js +0 -1
- package/admin/assets/index-BSSQOMG_.js +0 -755
- package/admin/assets/rolldown-runtime-CacB07dV.js +0 -1
- package/admin/assets/sha512-DJtGRwVu.js +0 -1
- package/frontend/assets/dist-legacy-D7Dg5w3L.js +0 -1
- package/frontend/assets/index-legacy-CnazC3Dj.js +0 -1
- package/frontend/assets/lib-legacy-BxFHpdER.js +0 -1
- package/frontend/assets/polyfills-legacy-uhvhjQSD.js +0 -1
- package/frontend/assets/sha512-legacy-C8xoQBnP.js +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-8BhlS34s.js";import{B as t,Bt as n,C as r,Dt as i,E as a,En as o,Et as s,F as c,G as l,H as u,J as d,Kt as f,L as p,Nt as m,O as h,Ot as g,Qt as _,Rt as v,St as y,U as b,Ut as x,V as S,X as C,Y as w,Yt as T,Z as E,Zt as D,_ as O,_r as k,_t as A,an as j,ar as M,at as ee,b as te,bn as ne,bt as N,cn as P,d as F,dt as I,et as re,fr as L,ft as R,gn as z,gr as B,h as V,hr as H,ht as ie,ir as ae,it as U,jn as oe,k as se,kn as ce,lr as W,lt as le,mn as ue,ot as de,p as fe,qt as pe,ur as G,v as me,vr as K,vt as q,xt as he,y as ge,yr as _e,z as ve,zt as ye}from"./index-DUFnYPeE.js";import{_ as be,g as xe,h as Se,m as Ce,v as we}from"./icons-D6k8t08O.js";var J=e(_e());G();var Te=[`password`,`password2`,`adminActualAccess`,`hasPassword`,`invalidated`,`canLogin`,`members`];function Ee({account:e,done:n,groups:c,addToBar:l,reload:d}){var f,m;let{username:h}=R(),[g,v]=(0,J.useState)(e),[x,S]=(0,J.useState)([]),C=ce();(0,J.useEffect)(()=>{var t;v(e),S(c.filter(t=>t!==e.username)),C||(t=O.current)==null||(t=t.querySelector(`input`))==null||t.focus()},[JSON.stringify(e)]);let E=!e.username,{isGroup:D}=g,O=(0,J.useRef)(),{members:k}=e,M=(f=e.plugin)==null?void 0:f.auth;return(0,J.createElement)(A,{key:e.username,formRef:O,values:g,set(e,t){v(n=>W(W({},n),{},{[t]:e}))},barSx:W({gap:2,width:`100%`},le()),stickyBar:!0,addToBar:[!E&&(0,J.createElement)(t,W(W({icon:a,title:j`Delete`,confirm:j(`Delete {username}?`,{username:e.username})},h===e.username&&{disabled:!0,title:j`Cannot delete current account`}),{},{onClick:()=>L(`del_account`,{username:e.username}).then(d)})),(0,J.createElement)(t,{icon:Ce,title:j`Invalidate past sessions`+(e.invalidated?`
|
|
2
|
+
`+j(`(already invalidated sessions before {timestamp})`,{timestamp:s(e.invalidated)}):``),confirm:j(`Invalidate all sessions up to now for "{username}"?`,{username:e.username}),doneMessage:!0,onClick:()=>L(`invalidate_sessions`,{username:e.username}).then(d)}),...ae(l)],fields:[{k:`username`,label:j(D?`Group name`:`Username`),autoComplete:`off`,required:!0,md:D&&!M?12:4,helperText:j`Case-insensitive`,getError:t=>t!==e.username&&L(`get_account`,{username:t}).then(t=>(t==null?void 0:t.username)===e.username?j`usernames are case-insensitive`:j`already used`,()=>!1)},M&&{k:``,md:8,comp:(0,J.createElement)(_,{severity:`info`},j`Authentication handled by a plugin`)},!D&&!M&&{k:`password`,xs:6,md:4,type:`password`,autoComplete:`new-password`,required:E,label:E?j`Password`:j`Change password`},!D&&!M&&{k:`password2`,xs:6,md:4,type:`password`,autoComplete:`new-password`,label:j`Repeat password`,getError:(e,{values:t})=>(e||``)!==(t.password||``)&&j`Enter same password`},{k:`disabled`,comp:q,fromField:e=>!e,toField:e=>!e,label:j`Enabled`,xs:12,sm:6,lg:4,helperText:g.disabled||g.canLogin!==!1?j`login_disabled_by_account_or_groups`:(0,J.createElement)(T,{sx:{color:`warning.main`},component:`span`},new Date(e.expire)<new Date?j`Login is prevented because account is expired`:j`login_disabled_by_groups`)},{k:`ignore_limits`,label:j`Ignore limits`,comp:q,xs:12,sm:6,lg:4,helperText:g.ignore_limits?j`Speed limits don't apply to this account`:j`Speed limits apply to this account`},W({k:`admin`,comp:q,fromField:e=>e||null,label:j`Admin-panel access`,xs:12,sm:6,lg:4,helperText:j`To access THIS interface you are using right now`},!e.admin&&e.adminActualAccess&&{value:!0,disabled:!0,helperText:j`inherited_permission_notice`}),!D&&{k:`require_password_change`,label:j`Require password change`,comp:q,xs:12,sm:6,lg:4,helperText:j`At next login, but can be dismissed`},{k:`disable_password_change`,label:j`Password change`,comp:y,xs:12,sm:6,lg:4,defaultValue:null,options:{[j(`default_setting`,{defaultValue:j(g.canChangePassword?`Allowed`:`Disabled`)})]:null,[j`Allowed`]:!1,[j`Disabled`]:!0}},k?D&&!k.length?(0,J.createElement)(T,{},j`No members`):k.length>0&&(0,J.createElement)(ve,{gap:0,flexWrap:`wrap`},j(`members_count`,{n:k.length}),o(`,\xA0`,(m=e.members)==null?void 0:m.map(e=>(0,J.createElement)(c.includes(e)?`i`:`span`,{},e))),(0,J.createElement)(p,{icon:a,confirm:j(`delete_items`,{n:e.members.length}),onClick:()=>L(`del_account`,{username:e.members}).then(d),sx:{verticalAlign:`text-top`}})):null,D&&(0,J.createElement)(_,{severity:`info`},j`group_add_members_hint`),{k:`belongs`,comp:he,label:j`Inherit from groups`,options:x,sm:6,lg:4,helperText:[j`Specify groups to inherit permissions from.`,D&&j`A group can inherit from another group.`,!x.length&&j`no_groups_available`].filter(Boolean).join(` `)},{k:`allow_net`,comp:b,label:j`Allowed network address`,sm:6,lg:4,placeholder:j`any address`},!D&&{k:`auto_login_net`,comp:b,label:j`Auto-login by IP address`,sm:6,lg:4,placeholder:j`none`,helperText:[j`Using a hostname?`,` `,(0,J.createElement)(u,{onClick:()=>U(j`auto_login_net_help`,{title:j`Auto-login by IP address`})},j`Configure it first`)]},{k:`redirect`,comp:F,label:j`Redirect`,placeholder:j`no`,sm:6,lg:4,helperText:j`account_redirect_hint`},{k:`expire`,label:j`Expiration`,sm:6,lg:4,comp:r,toField:e=>e&&new Date(e),helperText:j`When expired, login won't be allowed`},W(W({k:`days_to_live`,label:j`Days to live`,sm:6,lg:4,comp:N,step:`any`,min:1/1e3},g.expire&&{xs:12,disabled:!0,sx:{opacity:.2}}),{},{helperText:j`Used to set expiration on first login`}),{k:`notes`,label:j`Notes`,multiline:!0,sm:6,lg:4}],onError:U,save:W(W({children:j`Save`},w(i(g,e))),{},{onClick(){return K(function*(){var t;let{password:r=``,password2:i,adminActualAccess:a,hasPassword:o,invalidated:s,canLogin:c,members:l}=g,u=oe(g,Te),d=((t=O.current)==null?void 0:t.querySelector(`button.saveBtn`))||void 0;if(E){let e=yield L(`add_account`,u);if(r)try{yield P(g.username,r)}catch(e){throw L(`del_account`,{username:g.username}),e}n(e==null?void 0:e.username,d);return}let f=yield L(`set_account`,{username:e.username,changes:u});r&&(yield P(g.username,r),v(e=>W(W({},e),{},{password:``,password2:``}))),e.username===h&&(I.username=f.username),n(f==null?void 0:f.username,d)})()}})})}var Y=e(k());B(),G();var X={fieldSeparator:`,`,lineSeparator:`
|
|
3
|
+
`,quote:`"`},Z={field:0,fieldOffset:0,line:0,lineOffset:0,quoted:!1,appendCell:!1,appendField:!1,appendRow:!1},De=class extends Error{constructor(e,t){super(`Invalid CSV at ${e}:${t}`)}},Oe=class{constructor(e=X){H(this,`_rows`,[]),H(this,`_row`,[]),H(this,`_cell`,``),H(this,`_options`,X),H(this,`_state`,W({},Z)),H(this,`_index`,0),H(this,`_current`,``),H(this,`_previous`,``),H(this,`_quoteState`,W({},Z)),this._options=Object.assign({},X,e)}parse(e){for(this.reset(),this._index=0;this._index<e.length;this._index++)this._state.appendCell=!0,this._previous=this._current,this._current=e[this._index],this.handleNext();if(this._row.length>0&&(this.addField(this.fieldValue(this._cell),this._row,this._state),this.addRow(this._row,this._rows,this._state)),this._state.quoted)throw new De(this._quoteState.line,this._quoteState.lineOffset);return this.makeImmutable(),this._rows}get rows(){return this._rows}get json(){if(this.rows.length>0){let e=this.rows[0].filter(e=>typeof e==`string`);return Object.freeze(this.rows.filter((e,t)=>e&&t>0).map(t=>{let n={};return e.forEach((e,r)=>{n[e]=t[r]}),Object.freeze(n)}))}return Object.freeze([])}handleNext(){this.handleQuote()||this.handleFieldSeparator()||this.handleLineSeparator(),this.processState()}handleQuote(){return this._current===this._options.quote&&(this._quoteState=W({},this._state),this._previous===`\\`?this.handleQuoteEscaped():this.handleQuoteNotEscaped(),!0)}handleQuoteEscaped(){this._cell=this._cell.slice(0,Math.max(0,this._cell.length-1))}handleQuoteNotEscaped(){if(this._cell.length===0||this._state.quoted)this._state.quoted=!this._state.quoted;else throw new De(this._state.line,this._state.lineOffset);this._state.appendCell=!1}handleFieldSeparator(){return this._current===this._options.fieldSeparator&&(this._state.quoted||(this._state.appendCell=!1,this._state.appendField=!0),!0)}handleLineSeparator(){return this._current===this._options.lineSeparator&&(this._state.quoted||(this._state.appendCell=!1,this._state.appendField=!0,this._state.appendRow=!0),!0)}processState(){this._state.appendCell&&(this._cell+=this._current),this._state.appendField&&(this.addField(this.fieldValue(this._cell),this._row,this._state),this._cell=``),this._state.appendRow&&(this.addRow(this._row,this._rows,this._state),this._row=[]),this._state.lineOffset++,this._state.fieldOffset++}fieldValue(e){return e}addField(e,t,n){t.push(e),n.field++,n.fieldOffset=-1,n.appendField=!1}addRow(e,t,n){t.push(e),n.field=0,n.line++,n.lineOffset=-1,n.appendRow=!1}makeImmutable(){this.rows.forEach(e=>{e.forEach(e=>Object.freeze(e)),Object.freeze(e)}),Object.freeze(this._rows)}reset(){this._rows=[],this._row=[],this._cell=``,this._state=W({},Z),this._index=0,this._current=``,this._previous=``,this._quoteState=W({},Z)}};G();function ke(e){return Q.apply(this,arguments)}function Q(){return Q=K(function*(e){z(function(){var t=K(function*(t){let n=t==null?void 0:t[0];if(!n)return;let r=yield ue(n);if(!r)return;let i=new Oe().parse(r.trim()),a={comp:N,min:1,max:9,xs:6,typing:!0},o={skipFirstLines:0,usernameColumn:1,passwordColumn:2,groupColumn:3,redirectColumn:4,overwriteExistingAccounts:!1},s=yield de({title:j`Import accounts from CSV`,dialogProps:{maxWidth:`sm`},values:o,form:e=>{let t=i[e.skipFirstLines||0]||[],n=l(t,W(W({},o),e));return{save:{startIcon:(0,J.createElement)(V),children:j`Go`},fields:[(0,J.createElement)(T,{sx:{p:1}},j`Total lines:`,i.length),{k:`skipFirstLines`,label:j`Skip First Lines`,comp:N,max:i.length-1,typing:!0,md:6,getError:e=>e!=null&&!Number.isInteger(e)&&`Enter an integer`,helperText:(0,J.createElement)(J.Fragment,{},j`First line: `,(0,J.createElement)(`code`,{},t.join(`, `)))},{k:`overwriteExistingAccounts`,label:j`Overwrite Existing Accounts`,comp:q,md:6},W(W({k:`usernameColumn`,label:j`Username Column`},a),{},{helperText:(0,J.createElement)(J.Fragment,{},j`First username: `,n.u)}),W(W({k:`passwordColumn`,label:j`Password Column`},a),{},{helperText:(0,J.createElement)(J.Fragment,{},j`First password: `,n.p)}),W(W({k:`groupColumn`,label:j`Group Column`},a),{},{helperText:(0,J.createElement)(J.Fragment,{},j`First group: `,n.g)}),W(W({k:`redirectColumn`,label:j`Redirect Column`},a),{},{helperText:(0,J.createElement)(J.Fragment,{},j`First redirect: `,n.r)})]}}});if(!s)return;let{close:c}=ne({title:j`Importing...`,Content(){let[t,n]=(0,J.useState)(0),[r,a]=(0,J.useState)();return(0,J.useEffect)(()=>{let t=!1;return setTimeout(K(function*(){if(t)return;let r=0,o=0,u=s.skipFirstLines,d=i.length-u,f=0;try{for(let e of i){var p;if(t)return;if(u){u--;continue}let i=l(e,s);a(i),n(f++/d),yield L(`add_account`,{username:i.u,belongs:(p=i.g)==null?void 0:p.split(`,`),redirect:i.r,overwrite:s.overwriteExistingAccounts}).then(()=>{if(i.p)return P(i.u,i.p)}).catch(e=>{if(e.code===409)return o++;r++})}}finally{c();let t=f-r-o,n=[j`Results:`,j(`account_import_failed`,{n:r}),j(`account_import_succeeded`,{n:t}),j(`account_import_skipped_existing`,{n:o})].join(`
|
|
4
|
+
`);U(n,!t&&r?`error`:r||o?`warning`:`success`),e==null||e()}})),()=>{t=!0}},[]),(0,J.createElement)(T,{sx:{display:`flex`,gap:2,alignItems:`center`}},(0,J.createElement)(S,{icon:h,progress:t}),r==null?void 0:r.u)}});function l(e,t){return{u:e[t.usernameColumn-1],p:e[t.passwordColumn-1],g:e[t.groupColumn-1],r:e[t.redirectColumn-1]}}});return function(e){return t.apply(this,arguments)}}(),{multiple:!1,accept:`.csv`})}),Q.apply(this,arguments)}G();var Ae=` `,$=e=>e==null?void 0:e.split(Ae).at(-1);function je(){let{username:e,accountsAsTree:r}=R(),{data:i,reload:o,element:s}=c(`get_accounts`),[u,h]=(0,J.useState)([]),y=Array.isArray(u);(0,J.useEffect)(()=>{Array.isArray(i==null?void 0:i.list)&&y&&h(u.filter(e=>i.list.find(t=>(t==null?void 0:t.username)===$(e))))},[i]);let b=(0,J.useMemo)(()=>i&&Y.default.sortBy(i.list,[e=>!e.isGroup,e=>!e.adminActualAccess,`username`]),[i]),S=y&&Y.default.find(b,{username:$(u[0])}),w=E(`md`),k=!(u.length>0)||!b?null:y&&u.length>1?(0,J.createElement)(J.Fragment,{},(0,J.createElement)(ve,{},(0,J.createElement)(D,{variant:`h6`},j(`select_count`,{n:u.length})),(0,J.createElement)(p,{onClick:B,icon:a},j`Remove`)),(0,J.createElement)(n,{},Y.default.uniq(u.map($)).map(e=>(0,J.createElement)(ye,{key:e},(0,J.createElement)(v,{},e))))):M(S||F(),e=>(0,J.createElement)(Ee,{account:e,groups:b.filter(e=>e.isGroup).map(e=>e.username),addToBar:w&&[(0,J.createElement)(T,{sx:{flex:1}}),Me(e,{fontSize:`large`,sx:{p:1}}),(0,J.createElement)(t,{icon:ie,title:j`Close`,onClick:z})],reload:o,done(e,t){h(w?[e]:[]),o(),l(``,t)}}));(0,J.useEffect)(()=>{if(w||!k||!u.length)return;let{close:e}=ne({title:Y.default.isString(u)?Y.default.startCase(u):u.length>1?j`Multiple selection`:S?j(S.isGroup?`Group: `:`User: `)+S.username:`?`,Content:()=>k,onClose(e){e||z()}});return()=>void e(!0)},[w,u,S]);let A={height:`100%`,display:`flex`,flexDirection:`column`,overflow:`auto`},[N,P]=re(j`Show tree`,j`Show list`,()=>({icon:m}),r);return I.accountsAsTree=N,s||(0,J.createElement)(x,{container:!0,sx:{rowSpacing:1,columnSpacing:2,top:0,flex:`1 1 auto`,height:0}},(0,J.createElement)(x,{size:{xs:12,md:5,lg:4,xl:5},sx:A},(0,J.createElement)(T,{sx:{display:`flex`,flexWrap:`wrap`,gap:2,mb:2,boxShadow:e=>`0px -8px 4px 10px ${e.palette.background.paper}`,position:`sticky`,top:0,zIndex:2,backgroundColor:`background.paper`,width:`fit-content`}},(0,J.createElement)(fe,{variant:`contained`,startIcon:(0,J.createElement)(xe),items:[{children:j`user`,onClick:()=>h(`new-user`)},{children:j`group`,onClick:()=>h(`new-group`)},{children:j`from CSV`,onClick:()=>ke(o)}]},j`Add`),C(o),P,(b==null?void 0:b.length)>0&&(0,J.createElement)(D,{sx:{p:1}},j(`accounts_count`,{n:b.length}))),!(b!=null&&b.length)&&(0,J.createElement)(_,{severity:`info`},g(j`remote_admin_account_required`)),(0,J.createElement)(te,{multiSelect:!0,sx:{pr:4,pb:2,minWidth:`15em`},selectedItems:y?u:[],slots:{collapseIcon:O,expandIcon:me},onSelectedItemsChange(e,t){var n,r;e!=null&&(n=e.target)!=null&&(r=n.closest)!=null&&r.call(n,`.MuiTreeItem-iconContainer`)||h(t)}},b&&(function e(t,n=``){return t.map(t=>{var r,i;return(0,J.createElement)(ge,{key:t.username,itemId:n+t.username,label:(0,J.createElement)(T,{sx:{display:`flex`,flexWrap:`wrap`,padding:`.2em 0`,columnGap:`.5em`,alignItems:`center`}},Me(t),(t.disabled||t.canLogin===!1)&&d(we,t.disabled?j`Disabled`:j`Disabled by its groups`,t.disabled?void 0:{color:`text.secondary`}),(t.expire||t.days_to_live)&&(0,J.createElement)(Se),t.adminActualAccess&&d(se,j`Can login into Admin`),t.username,!!((r=t.belongs)!=null&&r.length)&&(0,J.createElement)(T,{sx:{color:`text.secondary`,fontSize:`small`}},`(`,(i=t.belongs)==null?void 0:i.join(`, `),`)`))},N&&e(b.filter(e=>{var n;return(n=t.directMembers)==null?void 0:n.includes(e.username)}),n+t.username+Ae))})})(N?b.filter(e=>!b.some(t=>{var n;return(n=t.members)==null?void 0:n.includes(e.username)})):b))),w&&k&&(0,J.createElement)(x,{size:`grow`,sx:W(W({},A),{},{maxWidth:`100%`})},(0,J.createElement)(pe,{sx:{overflow:`initial`}},(0,J.createElement)(f,{},k))));function F(){return{username:``,hasPassword:u===`new-user`,adminActualAccess:!1,invalidated:void 0,canLogin:!0,canChangePassword:!0,isGroup:u===`new-group`,members:[],directMembers:[]}}function z(){h([])}function B(){return V.apply(this,arguments)}function V(){return V=K(function*(){if(typeof u==`string`||u.some(t=>$(t)===e)&&!(yield ee(j`current_account_delete_warning`)))return;let t=Y.default.without(Y.default.uniq(u.map($)),e);if(!t.length)return U(j`Nothing to delete`,`info`);if(!(yield ee(j(`delete_items`,{n:t.length}))))return;let n=[];for(let e of t)(yield L(`del_account`,{username:e}).then(()=>1,()=>0))||n.push(e);if(o(),n.length)return U(j(`items_delete_failed`,{n:n.length,list:n.join(`, `)}),`error`)}),V.apply(this,arguments)}}function Me(e,t={}){return(0,J.createElement)(e.isGroup?h:be,t)}export{je as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-8BhlS34s.js";import{B as t,D as n,F as r,Jn as i,L as a,Qt as o,Tn as s,X as c,Yt as l,an as u,c as d,dn as f,dt as p,fn as m,fr as h,i as g,wn as _,wt as v,yr as y,yt as b,z as x}from"./index-DUFnYPeE.js";var S=e(y());function C(){p.title=u`Config file`;let{data:e,reload:y,element:C}=r(`get_config_text`,{}),[w,T]=(0,S.useState)(),[E,D]=(0,S.useState)(),[O,k]=(0,S.useState)(!1);return(0,S.useEffect)(()=>{D(e==null?void 0:e.text),T(e==null?void 0:e.text)},[e]),C||(0,S.createElement)(S.Fragment,{},(0,S.createElement)(x,{flexWrap:`wrap`,justifyContent:`space-between`},(0,S.createElement)(a,{icon:g,onClick:j,disabled:!e},u`Export without passwords`),O?(0,S.createElement)(S.Fragment,{},c(y),(0,S.createElement)(t,{icon:v,title:u`Save
|
|
2
2
|
(ctrl+enter)`,modified:w!==E,onClick:A}),(0,S.createElement)(o,{severity:`warning`,sx:{minWidth:`10em`}},u`Be careful, you can easily break things here`)):(0,S.createElement)(a,{icon:n,variant:`outlined`,onClick(){k(!0),setTimeout(()=>m(`main textarea`),500)}},u`Edit`),(0,S.createElement)(l,{sx:{flex:1,minWidth:`fit-content`}},(0,S.createElement)(b,{label:u`File path`,value:e==null?void 0:e.fullPath,size:`small`}))),C||w!==void 0&&(0,S.createElement)(l,{sx:{"& pre,& textarea":{wordBreak:`break-all !important`}}},(0,S.createElement)(_,{margin:10},(0,S.createElement)(d,{value:w,disabled:!O,style:{background:`#8881`},onValueChange:T,onKeyDown(e){[`s`,`Enter`].includes(s(e))&&(A(),e.preventDefault())}}))));function A(){return h(`set_config_text`,{text:w}).then(()=>D(w))}function j(){var t;let n=(w||``).replace(/^(\s*(\w*password|_\w*|token|srp|dynamic_dns_url):\s*).+(?:\r?\n|$)/gm,`$1removed
|
|
3
3
|
`).replace(/(:\/\/)[^/@\s]+@/g,`$1removed@`)+i(`custom_html: | # this is currently ignored by hfs, just here for reference
|
|
4
4
|
`,(t=e.customHtml)==null?void 0:t.replace(/^/gm,` `));n&&f(`config_no_passwords.yaml`,n)}}export{C as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-8BhlS34s.js";import{B as t,F as n,It as r,Jn as i,Ot as a,Q as o,Qt as s,St as c,Wn as l,X as u,Yt as d,_r as f,an as p,c as m,cr as h,dt as g,en as _,fr as v,ft as y,it as b,lr as x,on as S,or as C,q as w,tt as T,ur as E,vr as D,wt as O,yr as k}from"./index-DUFnYPeE.js";var A=e(f()),j=e(k());E();function M(e,t,n){return(0,j.createElement)(N,x({checked:e||!1,onChange(e,n){t(n)},disabled:e===void 0},n))}var N=_(r)(({theme:e,size:t})=>{let n=t&&t===`small`;return{height:n?36:48,width:n?18:26,padding:5,"& .MuiSwitch-switchBase":{margin:1,padding:0,transform:`translateY(${n?16:22}px)`,"&.Mui-checked":{color:e.palette.primary.contrastText,transform:`translateY(2px)`,"& .MuiSwitch-thumb:before":{backgroundImage:`url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="${n?14:20}" width="20" viewBox="0 0 20 20"><path fill="${encodeURIComponent(e.palette.primary.contrastText)}" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"/></svg>')`},"& + .MuiSwitch-track":{backgroundColor:e.palette.grey[500]}}},"& .Mui-checked .MuiSwitch-thumb":{backgroundColor:e.palette.primary.main,boxShadow:`0px 2px 1px 1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)`},"& .MuiSwitch-thumb":{width:n?16:24,height:n?16:24,backgroundColor:e.palette.grey[700],"&::before":{content:`''`,position:`absolute`,width:`85%`,height:`85%`,left:0,top:0,backgroundRepeat:`no-repeat`,backgroundPosition:`center`,backgroundImage:`url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="${n?14:20}" width="20" viewBox="0 0 20 20"><path fill="${encodeURIComponent(e.palette.primary.contrastText)}" d="M19,13H5V11H19V13Z"/></svg>')`}},"& .MuiSwitch-track":{backgroundColor:e.palette.grey[500],borderRadius:10}}});E();var P={top:`top_html_body`,bottom:`bottom_html_body`};function F({setTitleSide:e}){let{data:r,reload:f,element:_}=n(`get_custom_html`),{customHtmlSection:E}=y(),[k,N]=(0,j.useState)({}),[F,I]=(0,j.useState)({});(0,j.useEffect)(()=>{r&&(I(r.sections),N(r.sections),B(r.enabled))},[r]);let L=(0,j.useMemo)(()=>{let e=A.default.sortBy(Object.keys(k),[l,e=>e]);return e.length&&!e.includes(E)&&(g.customHtmlSection=A.default.findKey(k,Boolean)||(e==null?void 0:e[0])||``),e.map(e=>{var t;return{value:e,label:(P[e]?p(P[e]):S(i(`HTTP `,h[e])||A.default.startCase(e)))+((t=k[e])!=null&&t.trim()?` *`:``)}})},[k]),R=(0,j.useMemo)(()=>!A.default.isEqualWith(F,k,(e,t)=>!e&&!t||void 0),[F,k]),[z,B]=(0,j.useState)();e((0,j.useMemo)(()=>(0,j.createElement)(d,{sx:{display:{xs:`none`,md:`block`}}},(0,j.createElement)(s,{severity:`info`},a(p`custom_html_help`),T(`customization`,p`More help`)),(0,j.createElement)(s,{severity:`info`},p`To customize icons `,T(`customization#icons`,p`read documentation`))),[]));let V=o([`s`,`Enter`]);return _||(0,j.createElement)(j.Fragment,{},(0,j.createElement)(d,{sx:{display:`flex`,alignItems:`center`,gap:1,mb:1}},(0,j.createElement)(c,{label:p`Section`,value:E,options:L,onChange:e=>g.customHtmlSection=e}),u(f),(0,j.createElement)(t,{ref:V.ref,icon:O,title:p`Save
|
|
2
2
|
(ctrl+s)`,modified:R,doneAnimation:!0,onClick:H}),w(p`Enable all sections`,void 0,M(z,function(){var e=D(function*(e){try{yield v(`set_config`,{values:{[C.disable_custom_html]:!e}}),B(e)}catch(e){b(e)}});return function(t){return e.apply(this,arguments)}}()))),(0,j.createElement)(m,{lang:E===`style`?`css`:E===`script`?`js`:`html`,value:(k==null?void 0:k[E])||``,style:{background:`#8881`},onValueChange(e){N(t=>x(x({},t),{},{[E]:e}))}}));function H(){return v(`set_custom_html`,{sections:k}).then(()=>I(k))}}export{F as default};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-8BhlS34s.js";import{A as t,An as n,Ct as r,Et as i,F as a,Gt as o,H as s,Hn as c,Ht as l,Jn as u,Jt as d,Kn as f,Kt as p,L as m,Lt as h,N as ee,Ot as g,P as _,Qt as v,R as y,S as b,St as te,T as x,U as ne,Un as S,Ut as C,Vt as re,Xn as w,Yt as T,Zt as E,_r as D,an as O,ar as k,at as A,bt as ie,ct as j,d as M,fr as N,g as P,gt as ae,hn as F,ir as I,it as L,jt as oe,lr as R,mr as se,mt as ce,nt as z,o as le,on as B,or as V,ot as ue,qt as de,rr as fe,rt as H,sr as U,st as pe,tt as me,ur as W,ut as he,vr as G,vt as ge,x as _e,xt as ve,yn as ye,yr as K,z as q}from"./index-DUFnYPeE.js";import{d as be,f as xe,l as Se,p as J,u as Ce}from"./icons-D6k8t08O.js";var Y=e(K());W();function we({onComplete:e,checkDomain:t,fresh:n,renewError:i}){var o;let s=a(`get_acme`),{data:u,error:f}=se(`get_acme_status`),[p,h]=(0,Y.useState)(),[ee,_]=(0,Y.useState)(!1),[y,b]=(0,Y.useState)(``),x=(0,Y.useRef)(Promise.resolve()),ne=(0,Y.useRef)(0);if((0,Y.useEffect)(()=>{s.data&&h(s.data)},[s.data]),(0,Y.useEffect)(()=>{(u==null?void 0:u.state)===`done`&&u.id!==ne.current&&(ne.current=u.id,e())},[u==null?void 0:u.id,u==null?void 0:u.state]),!p)return s.element;let S=((o=s.data)==null?void 0:o.providers)||[],w=p.dns[0],E=S.find(e=>e.id===(w==null?void 0:w.provider)),D=(u==null?void 0:u.state)===`running`,k=p.domain.includes(`*.`),ie=O`HTTP validation cannot issue wildcard certificates. Select a DNS provider.`,j=p.challenge===`http-01`?`http`:(w==null?void 0:w.provider)||`dns`,M=p.challenge===`dns-01`&&w&&(!(E!=null&&E.available)||E.config_version!==w.config_version);return(0,Y.createElement)(T,{sx:{display:`grid`,gap:2}},g(O(`generate_lets_encrypt_certificate`,{letsEncryptUrl:`https://letsencrypt.org`})),(0,Y.createElement)(r,{label:O`Domain for certificate`,value:p.domain.replaceAll(`,`,`
|
|
2
2
|
`),multiline:!0,required:!0,disabled:D,helperText:g(O`certificate_domains_example`),onChange(e){let t=e.replaceAll(`
|
|
3
|
-
`,`,`);P(R({domain:t},t.includes(`*.`)&&{challenge:`dns-01`}))}}),p.domain.split(`,`).some(c)&&(0,Y.createElement)(v,{severity:`info`},O`acme_ip_short_lived_notice`),(0,Y.createElement)(te,{label:O`Validation`,value:j,disabled:D,options:[{value:`http`,label:`HTTP`},...j===`dns`?[{value:`dns`,label:O`Select a DNS provider`,disabled:!0}]:[],...w&&!E?[{value:w.provider,label:`DNS · `+w.provider,disabled:!0}]:[],...S.map(e=>({value:e.id,label:`DNS · `+e.label,disabled:!e.available}))],helperText:g(O(`acme_validation_help`,{url:`https://github.com/rejetto/hfs/wiki/Certificate-validation`})),onChange(e){if(e===`http`&&k)return L(ie,`error`);let t=S.find(t=>t.id===e);P(e===`http`?{challenge:`http-01`}:{challenge:`dns-01`,dns:t?[R({id:(w==null?void 0:w.id)||`main`,provider:e,config_version:t.config_version,credentials:{}},(w==null?void 0:w.provider)===e&&w.config_version===t.config_version?w:{})]:[]})}}),M&&(0,Y.createElement)(v,{severity:`error`},O`DNS provider unavailable or incompatible; update HFS or reconfigure the provider`),M&&(E==null?void 0:E.available)&&(0,Y.createElement)(d,{onClick:()=>P({dns:[{id:w.id,provider:E.id,config_version:E.config_version,credentials:{}}]})},O`Reconfigure provider`),p.challenge===`dns-01`&&(E==null?void 0:E.help_url)&&(0,Y.createElement)(re,{href:E.help_url,target:`_blank`,rel:`noopener`},O`How to get credentials`),p.challenge===`dns-01`&&w&&E&&(0,Y.createElement)(C,{container:!0,spacing:2},Object.entries(E.fields).map(([e,t])=>(0,Y.createElement)(C,{key:e,size:{xs:12,sm:6}},(0,Y.createElement)(r,{label:O(t.label||e),value:w.credentials[e]||``,disabled:D,type:t.secret?`password`:`text`,autoComplete:`off`,onChange(t){P({dns:[R(R({},w),{},{credentials:R(R({},w.credentials),{},{[e]:t})})]})}})))),(0,Y.createElement)(q,{justifyContent:`space-between`},(0,Y.createElement)(ge,{label:O`Automatic renew before expiration`,value:p.renew,disabled:D||!p.domain,onChange:e=>P({renew:e})}),(0,Y.createElement)(m,{icon:J,onClick:ae,disabled:D||ee||!p.domain||!!M||p.challenge===`dns-01`&&!E},O`Request`)),i&&(0,Y.createElement)(v,{severity:`error`},i),y&&(0,Y.createElement)(v,{severity:`error`},y),f&&(0,Y.createElement)(v,{severity:`warning`},O`Connection lost; reopen this page to check the certificate request.`),(u==null?void 0:u.state)!==`idle`&&(u==null?void 0:u.message)&&(0,Y.createElement)(v,{severity:u.state===`error`?`error`:u.state===`done`?`success`:`info`},B(u.message),u.domain&&` · `+u.domain),(u==null?void 0:u.warning)&&(0,Y.createElement)(v,{severity:`warning`},B(u.warning)),D&&(0,Y.createElement)(l));function P(e){let t=R(R({},p),e);h(t),_(!0),b(``);let n=x.current.catch(()=>{}).then(()=>N(`set_acme`,{settings:t}));x.current=n,n.catch(e=>b(String(e))).finally(()=>{x.current===n&&_(!1)})}function ae(){return F.apply(this,arguments)}function F(){return F=G(function*(){try{if(k&&p.challenge===`http-01`)throw Error(ie);yield x.current;let[e,...r]=p.domain.split(`,`);if(n(e)&&!(yield A(O`Your certificate is still good`,{trueText:O`Make a new one anyway`}))||p.challenge===`http-01`&&(!(yield A(O`acme_http_port_requirement`))||(yield t(e))))return;yield N(`make_cert`,{domain:e,altNames:r,background:!0})}catch(e){L(String(e),`error`)}}),F.apply(this,arguments)}}var Te=e(D()),Ee=z.filter(e=>H.includes(e.code)),De=`https://portforward.com/`,Oe=1080,ke=(0,Y.createElement)(`div`,{},O`internet_probably_unreachable`,` `,me(`Work-on-the-internet#double-nat`,O`Read more`));function X({setTitleSide:e}){var r,f,p;let[h,S]=(0,Y.useState)(),[C,E]=(0,Y.useState)(!1),[D,I]=(0,Y.useState)(!1),R=a(`get_status`),z=a(`get_config`,{only:[V.base_url]}),B=(r=z.data)==null?void 0:r[V.base_url],de=k([(f=R.data)==null||(f=f.http)==null?void 0:f.error,(p=R.data)==null||(p=p.https)==null?void 0:p.error],([e,t])=>e&&t?`error`:e||t?`warning`:`success`),H=a(`get_nat`,{},{timeout:30}),{data:U,error:W}=a(`get_public_ips`,{},{timeout:20}),{data:K}=H,J=K==null?void 0:K.internalPort,X=(K==null?void 0:K.mapped)&&K.mapped.private.port!==J&&K.mapped.private.port,Ne=(K==null?void 0:K.externalIp)&&U&&!U.includes(K.externalIp),Q=n();return(0,Y.useEffect)(()=>{Q.state&&Ke(!0)},[Q.state]),e((0,Y.useMemo)(()=>(0,Y.createElement)(v,{severity:`info`,sx:{display:{xs:`none`,sm:`inherit`}}},O`internet_page_intro`),[])),(0,Y.createElement)(q,{vert:!0,gap:`2em`},(0,Y.createElement)(T,{sx:{maxWidth:`40em`}},Ue()),(0,Y.createElement)(q,{gap:`2em`,flexWrap:`wrap`,maxWidth:`84em`,"&>*":{maxWidth:`40em`,width:{md:`40em`}},alignItems:`flex-start`,justifyContent:`space-between`},He(),ze(),Ie(),Fe()));function Pe(e){return e.replace(RegExp(`.+<body>(.+)<\\/body>.+`,`is`),(e,t)=>t||e).replace(/<[^>]+>/g,` `)}function Fe(){let{data:e}=se(`get_dynamic_dns_error`),n=(0,Y.useRef)();return(0,Y.useEffect)(()=>n.current&&F(n.current,`1s blink`),[e]),(0,Y.createElement)(Z,{icon:xe,title:O`Dynamic DNS updater`},e&&(0,Y.createElement)(q,{},e.error?(0,Y.createElement)(ce,{color:`error`,ref:n}):(0,Y.createElement)(ae,{color:`success`,ref:n}),i(e.ts),` – `,e.error?(O`Error: `+Pe(e.error)).slice(0,500):O`Updated successfully`),O`dynamic_dns_intro`,(0,Y.createElement)(t,{form:(e,{setValues:t})=>({fields:[(0,Y.createElement)(q,{},Te.default.map({NoIP:{url:`https://$username:$password@dynupdate.no-ip.com/nic/update?hostname=$domain`,fields:[`username`,`password`,`domain`].map(e=>({k:e,label:O(Te.default.upperFirst(e))}))},DuckDNS:{url:`https://www.duckdns.org/update/$domain/$token>OK`,fields:[{k:`domain`,label:O`Domain`,helperText:O`do NOT include the .duckdns.org part`},{k:`token`,label:O`Token`}]}},({url:e,fields:n},r)=>(0,Y.createElement)(m,{key:e,onClick:()=>ue({title:O(`{label} wizard`,{label:r}),form:{sx:{maxWidth:`20em`},before:(0,Y.createElement)(T,{sx:{mb:1}},O`The following information is stored unencrypted`),fields:n.map(e=>Te.default.isString(e)?{k:e}:e)}}).then(n=>n&&t({[V.dynamic_dns_url]:w(e,n,`$`)}))},O(`{label} wizard`,{label:r})))),{k:V.dynamic_dns_url,label:O`Updater URL`,multiline:!0,helperText:O`dynamic_dns_url_help`}]})}))}function Ie(){let e=(0,Y.useMemo)(()=>Ee.map(e=>({value:e.code,label:e.name})),[Ee]);return(0,Y.createElement)(Z,{title:O`Geo IP`,icon:oe},(0,Y.createElement)(t,{keys:[V.geo_enable,V.geo_allow,V.geo_list,V.geo_allow_unknown,V.geo_ignore_net],form:t=>{var n;return{fields:[{k:V.geo_enable,comp:ge,label:O`Enable`,helperText:g(O`geo_db_download_notice`)},...t!=null&&t[V.geo_enable]?[{k:V.geo_allow,comp:te,label:O`Rule`,options:{[O`no restriction`]:null,[O`block selected countries`]:!1,[O`allow selected countries`]:!0}},t[V.geo_allow]!=null&&{k:V.geo_list,comp:ve,label:O(`selected_countries_count`,{count:((n=t[V.geo_list])==null?void 0:n.length)||0}),valueSeparator:!1,placeholder:O`none`,options:e,renderOption:e=>(0,Y.createElement)(y,{code:e.value,long:!0}),clearable:!0,getError:e=>t[V.geo_allow]&&!(e!=null&&e.length)&&O`Cannot be empty`},t[V.geo_allow]!=null&&{k:V.geo_allow_unknown,comp:te,label:O`When country cannot be determined`,helperText:O`Local IPs are ignored`,options:{[O`Allow`]:!0,[O`Block`]:!1},sm:6},{k:V.geo_ignore_net,comp:ne,label:O`Ignore IP addresses`,placeholder:O`none`,helperText:O`Bypass geo-filtering`,sm:6}]:[]]}},addToBar:[(0,Y.createElement)(T,{sx:{flex:1}}),(0,Y.createElement)(m,{icon:x,onClick:Le},O`Lookup IP`)]}))}function Le(){return Re.apply(this,arguments)}function Re(){return Re=G(function*(){let e=yield pe(O`Lookup IP`);if(!e)return;let{country:t}=yield N(`geo_ip`,{ip:e});return t?L((0,Y.createElement)(y,{code:t,long:!0}),`success`):L(O`IP not found`,`error`)}),Re.apply(this,arguments)}function ze(){var e;let t=a(`get_cert`),{https:n}=R.data||{},r=(n==null?void 0:n.port)===-1,c=n==null?void 0:n.error;return R.element||(0,Y.createElement)(Z,{title:O`HTTPS`,icon:P,color:n!=null&&n.listening&&!c?`success`:`warning`},c?(0,Y.createElement)(v,{severity:`warning`},c):r&&(0,Y.createElement)(s,{onClick:Be},O`Not enabled`),t.element||k(t.data,e=>{var t,n;return e.none?(0,Y.createElement)(s,{onClick:l},O`No certificate configured`):(0,Y.createElement)(T,{},(0,Y.createElement)(_,{fontSize:`small`,sx:{mr:1,verticalAlign:`middle`}}),O`Current certificate`,(0,Y.createElement)(`ul`,{},(0,Y.createElement)(`li`,{},O`Domain: `,((t=e.altNames)==null?void 0:t.join(` + `))||`-`),(0,Y.createElement)(`li`,{},O`Issuer: `,((n=e.issuer)==null?void 0:n.O)||(0,Y.createElement)(`i`,{},O`self-signed`)),(0,Y.createElement)(`li`,{},O`Validity: `,[`validFrom`,`validTo`].map(t=>i(e[t])).join(` – `))))}),(0,Y.createElement)(o),(0,Y.createElement)(we,{checkDomain:We,renewError:(e=R.data)==null?void 0:e.acmeRenewError,fresh(e){var n,r,i;let a=Number(new Date((n=t.data)==null?void 0:n.validTo)),o=(a-Number(new Date((r=t.data)==null?void 0:r.validFrom)))/3;return!!(!((i=t.data)==null||(i=i.altNames)==null)&&i.includes(e)&&a-Date.now()>=o)},onComplete(){t.reload(),R.reload(),r&&Be()}}));function l(){return u.apply(this,arguments)}function u(){return u=G(function*(){yield ee(),t.reload(),R.reload()}),u.apply(this,arguments)}}function Be(){return Ve.apply(this,arguments)}function Ve(){return Ve=G(function*(){if(!(yield A(O`https_disabled_notice`,{trueText:O`Enable it`})))return;let e=he();try{yield N(`set_config`,{values:{https_port:443}}),yield fe(1e3),R.reload()}finally{e()}}),Ve.apply(this,arguments)}function He(){return z.element||(0,Y.createElement)(Z,{icon:oe,title:O`Address`},(0,Y.createElement)(q,{flexWrap:`wrap`},O`Main address: `,B?(0,Y.createElement)(`tt`,{},B):O`automatic, not configured`,(0,Y.createElement)(m,{size:`small`,variant:`outlined`,"aria-label":O`Change address`,onClick:()=>void le().then(z.reload)},O`Change`)),(0,Y.createElement)(o),(0,Y.createElement)(t,{saveOnChange:!0,onSave(){R.reload()},form:{fields:[{k:V.roots,label:O`Domain roots`,helperText:O`domain_roots_help`,comp:b,reorder:!0,fields:[{k:`host`,label:O`Domain/Host`,helperText:O`Wildcards supported: *.domain.com|other.com`,getError:e=>(e==null?void 0:e.includes(`/`))&&O`No URLs or paths here!`},{k:`root`,label:O`Home/Root`,comp:M,files:!1,placeholder:O`default`,helperText:O`Root path in VFS`,$column:{renderCell({value:e}){return e||(0,Y.createElement)(`i`,{},O`default`)}}}],toField:e=>Object.entries(e||{}).map(([e,t])=>({host:e,root:t})),fromField:e=>Object.fromEntries(e.map(e=>[e.host,e.root||``]))},{k:V.force_address,label:O`accept_listed_domains_only`,comp:ge}]}}))}function Ue(){if(H.error)return H.element;let e=U==null?void 0:U.includes(K==null?void 0:K.localIp);return(0,Y.createElement)(q,{justifyContent:`space-around`},(0,Y.createElement)(je,{name:O`Server`,icon:e?_e:be,color:de,ip:K==null?void 0:K.localIp,below:J&&(0,Y.createElement)(T,{className:`port hideInTests`},O`port `,J)}),!e&&(0,Y.createElement)(Ae),!e&&(0,Y.createElement)(je,{name:O`Router`,icon:Se,ip:K==null?void 0:K.gatewayIp,color:h?`success`:(K==null?void 0:K.mapped)&&(X?`warning`:`success`),below:D?(0,Y.createElement)(l,{sx:{height:`1em`}}):K&&(h&&!K.mapped?O(`port_number`,{port:K.externalPort||K.internalPort}):(0,Y.createElement)(s,{sx:{display:`block`},onClick:Je},O`port `,X?O`is wrong`:(K==null?void 0:K.externalPort)||(h?O`verified`:O`unknown`)))}),(0,Y.createElement)(Ae),(0,Y.createElement)(je,{name:O`Internet`,icon:Ce,ip:W?[]:U,color:h?`success`:h===!1?`error`:Ne?`warning`:void 0,below:W?String(W):C?(0,Y.createElement)(l,{sx:{height:`1em`}}):U&&(0,Y.createElement)(T,{className:`hideInTests`},Ne&&(0,Y.createElement)(s,{sx:{display:`block`},onClick:()=>L(ke,`warning`)},O`Double NAT`),h?O`Working!`:h===!1?O`Failed!`:``,` `,(B>``||(U==null?void 0:U.length)>0)&&(K==null?void 0:K.internalPort)&&(0,Y.createElement)(s,{onClick:()=>Ke()},O`Verify`)||`\xA0`)}))}function We(e){return Ge.apply(this,arguments)}function Ge(){return Ge=G(function*(e){return e&&!1===(yield N(`check_domain`,{domain:e}).catch(e=>A(String(e),{trueText:O`Continue anyway`,falseText:O`Stop`})))}),Ge.apply(this,arguments)}function Ke(){return qe.apply(this,arguments)}function qe(){return qe=G(function*(e=!1){yield H.loading;let t=H.getData();if(t&&(S(void 0),!(!e&&!(yield A(O`internet_test_intro`))))){E(!0);try{let e=B&&new URL(B).hostname;if(e&&Me(e))return L(O`non_public_ip_warning`,`warning`);let n=B;if(!c(e)&&(yield We(e)))return;let r=n&&(yield N(`self_check`,{url:n}).catch(e=>L(e.code?O`internet_test_unavailable`:e,`error`)));if(n&&!r)return;if(r!=null&&r.success)return S(!0),L((0,Y.createElement)(T,{},O`server_reachable_over_internet`,(0,Y.createElement)(`ul`,{},(0,Y.createElement)(`li`,{},r.url))),`success`);(r==null?void 0:r.success)===!1&&(yield L(g(O(`configured_address_failed_testing_ip`,{checkUrl:n})),`warning`));let i=yield N(`self_check`,{});if(i.some(e=>e.success)){S(!0);let e=(r==null?void 0:r.success)===!1&&g(O(`server_reachable_only_by_ip`,{checkUrl:n}));return L((0,Y.createElement)(T,{},e||O`server_reachable_over_internet`,(0,Y.createElement)(`ul`,{},...i.map(e=>(0,Y.createElement)(`li`,{},e.url)))),e?`warning`:`success`)}if(S(!1),X)return Xe().then(Q);if(Ne)return L(ke,`warning`);if(t.upnp&&!t.mapped)return A(O`internet_unreachable_try_port_forward`,{trueText:O`Fix it`}).then(function(){var e=G(function*(e){if(e){try{yield $(t.internalPort,``,``)}catch(e){yield $(Oe,``)}j(O`Port forwarded, now we verify again`,`success`),Q()}});return function(t){return e.apply(this,arguments)}}());let a=yield N(`get_config`,{only:[V.geo_enable,V.geo_allow]}),{close:o}=L((0,Y.createElement)(T,{},O`internet_unreachable_possible_causes`,(0,Y.createElement)(`ul`,{},a[V.geo_enable]&&a[V.geo_allow]!=null&&(0,Y.createElement)(`li`,{},O`internet_test_geo_block_cause`),!t.upnp&&(0,Y.createElement)(`li`,{},O`Your router may need to be configured. `,(0,Y.createElement)(re,{href:De,target:`help`},O`How?`)),(0,Y.createElement)(`li`,{},O`internet_test_firewall_cause`),(t.externalPort||t.internalPort)<=1024&&(0,Y.createElement)(`li`,{},O`isp_may_block_low_ports`,` `,t.upnp&&(0,Y.createElement)(d,{size:`small`,onClick(){o(),$(Oe).then(Q)}},O(`Try {HIGHER_PORT}`,{HIGHER_PORT:Oe}))),t.mapped&&(0,Y.createElement)(`li`,{},O`router_bug_reboot_hint`),(0,Y.createElement)(`li`,{},(0,Y.createElement)(`div`,{},O`internet_test_no_public_ip_cause`,me(`Work-on-the-internet#double-nat`,O`Read more`))))),`warning`)}catch(e){L(e)}finally{E(!1)}}}),qe.apply(this,arguments)}function Je(){return Ye.apply(this,arguments)}function Ye(){return Ye=G(function*(){if(!K)return;if(X)return(yield A(O(`port_forward_wrong_port`,{mappedPort:X}),{trueText:O`Fix it`}))&&Xe();if(!K.upnp)return L((0,Y.createElement)(T,{sx:{lineHeight:1.5}},g(O(`upnp_not_available_help`,{helpUrl:De}))),`info`);let e=yield pe(g([O(`port_forward_intro`,{localPort:J}),!K.mapped&&O`port_forward_check_existing`,O(`port_forward_request_help`,{localPort:J})].filter(Boolean).join(`
|
|
3
|
+
`,`,`);P(R({domain:t},t.includes(`*.`)&&{challenge:`dns-01`}))}}),p.domain.split(`,`).some(c)&&(0,Y.createElement)(v,{severity:`info`},O`acme_ip_short_lived_notice`),(0,Y.createElement)(te,{label:O`Validation`,value:j,disabled:D,options:[{value:`http`,label:`HTTP`},...j===`dns`?[{value:`dns`,label:O`Select a DNS provider`,disabled:!0}]:[],...w&&!E?[{value:w.provider,label:`DNS · `+w.provider,disabled:!0}]:[],...S.map(e=>({value:e.id,label:`DNS · `+e.label,disabled:!e.available}))],helperText:g(O(`acme_validation_help`,{url:`https://github.com/rejetto/hfs/wiki/Certificate-validation`})),onChange(e){if(e===`http`&&k)return L(ie,`error`);let t=S.find(t=>t.id===e);P(e===`http`?{challenge:`http-01`}:{challenge:`dns-01`,dns:t?[R({id:(w==null?void 0:w.id)||`main`,provider:e,config_version:t.config_version,credentials:{}},(w==null?void 0:w.provider)===e&&w.config_version===t.config_version?w:{})]:[]})}}),M&&(0,Y.createElement)(v,{severity:`error`},O`DNS provider unavailable or incompatible; update HFS or reconfigure the provider`),M&&(E==null?void 0:E.available)&&(0,Y.createElement)(d,{onClick:()=>P({dns:[{id:w.id,provider:E.id,config_version:E.config_version,credentials:{}}]})},O`Reconfigure provider`),p.challenge===`dns-01`&&(E==null?void 0:E.help_url)&&(0,Y.createElement)(re,{href:E.help_url,target:`_blank`,rel:`noopener`},O`How to get credentials`),p.challenge===`dns-01`&&w&&E&&(0,Y.createElement)(C,{container:!0,spacing:2},Object.entries(E.fields).map(([e,t])=>(0,Y.createElement)(C,{key:e,size:{xs:12,sm:6}},(0,Y.createElement)(r,{label:O(t.label||e),value:w.credentials[e]||``,disabled:D,type:t.secret?`password`:`text`,autoComplete:`off`,onChange(t){P({dns:[R(R({},w),{},{credentials:R(R({},w.credentials),{},{[e]:t})})]})}})))),(0,Y.createElement)(q,{justifyContent:`space-between`},(0,Y.createElement)(ge,{label:O`Automatic renew before expiration`,value:p.renew,disabled:D||!p.domain,onChange:e=>P({renew:e})}),(0,Y.createElement)(m,{icon:J,onClick:ae,disabled:D||ee||!p.domain||!!M||p.challenge===`dns-01`&&!E},O`Request`)),i&&(0,Y.createElement)(v,{severity:`error`},i),y&&(0,Y.createElement)(v,{severity:`error`},y),f&&(0,Y.createElement)(v,{severity:`warning`},O`Connection lost; reopen this page to check the certificate request.`),(u==null?void 0:u.state)!==`idle`&&(u==null?void 0:u.message)&&(0,Y.createElement)(v,{severity:u.state===`error`?`error`:u.state===`done`?`success`:`info`},B(u.message),u.domain&&` · `+u.domain),(u==null?void 0:u.warning)&&(0,Y.createElement)(v,{severity:`warning`},B(u.warning)),D&&(0,Y.createElement)(l));function P(e){let t=R(R({},p),e);h(t),_(!0),b(``);let n=x.current.catch(()=>{}).then(()=>N(`set_acme`,{settings:t}));x.current=n,n.catch(e=>b(String(e))).finally(()=>{x.current===n&&_(!1)})}function ae(){return F.apply(this,arguments)}function F(){return F=G(function*(){try{if(k&&p.challenge===`http-01`)throw Error(ie);yield x.current;let[e,...r]=p.domain.split(`,`);if(n(e)&&!(yield A(O`Your certificate is still good`,{trueText:O`Make a new one anyway`}))||p.challenge===`http-01`&&(!(yield A(O`acme_http_port_requirement`))||(yield t(e))))return;yield N(`make_cert`,{domain:e,altNames:r,background:!0})}catch(e){L(String(e),`error`)}}),F.apply(this,arguments)}}var Te=e(D()),Ee=z.filter(e=>H.includes(e.code)),De=`https://portforward.com/`,Oe=1080,ke=(0,Y.createElement)(`div`,{},O`internet_probably_unreachable`,` `,me(`Work-on-the-internet#double-nat`,O`Read more`));function X({setTitleSide:e}){var r,f,p;let[h,S]=(0,Y.useState)(),[C,E]=(0,Y.useState)(!1),[D,I]=(0,Y.useState)(!1),R=a(`get_status`),z=a(`get_config`,{only:[V.base_url]}),B=(r=z.data)==null?void 0:r[V.base_url],de=k([(f=R.data)==null||(f=f.http)==null?void 0:f.error,(p=R.data)==null||(p=p.https)==null?void 0:p.error],([e,t])=>e&&t?`error`:e||t?`warning`:`success`),H=a(`get_nat`,{},{timeout:30}),{data:U,error:W}=a(`get_public_ips`,{},{timeout:20}),{data:K}=H,J=K==null?void 0:K.internalPort,X=(K==null?void 0:K.mapped)&&K.mapped.private.port!==J&&K.mapped.private.port,Ne=(K==null?void 0:K.externalIp)&&U&&!U.includes(K.externalIp),Q=n();return(0,Y.useEffect)(()=>{Q.state&&Ke(!0)},[Q.state]),e((0,Y.useMemo)(()=>(0,Y.createElement)(v,{severity:`info`,sx:{display:{xs:`none`,sm:`inherit`}}},O`internet_page_intro`),[])),(0,Y.createElement)(q,{vert:!0,gap:`2em`},(0,Y.createElement)(T,{sx:{maxWidth:`40em`}},Ue()),(0,Y.createElement)(q,{gap:`2em`,flexWrap:`wrap`,maxWidth:`84em`,"&>*":{maxWidth:`40em`,width:{md:`40em`}},alignItems:`flex-start`,justifyContent:`space-between`},He(),ze(),Ie(),Fe()));function Pe(e){return e.replace(RegExp(`.+<body>(.+)<\\/body>.+`,`is`),(e,t)=>t||e).replace(/<[^>]+>/g,` `)}function Fe(){let{data:e}=se(`get_dynamic_dns_error`),n=(0,Y.useRef)();return(0,Y.useEffect)(()=>n.current&&F(n.current,`1s blink`),[e]),(0,Y.createElement)(Z,{icon:xe,title:O`Dynamic DNS updater`},e&&(0,Y.createElement)(q,{},e.error?(0,Y.createElement)(ce,{color:`error`,ref:n}):(0,Y.createElement)(ae,{color:`success`,ref:n}),i(e.ts),` – `,e.error?(O`Error: `+Pe(e.error)).slice(0,500):O`Updated successfully`),O`dynamic_dns_intro`,(0,Y.createElement)(t,{form:(e,{setValues:t})=>({fields:[(0,Y.createElement)(q,{},Te.default.map({NoIP:{url:`https://$username:$password@dynupdate.no-ip.com/nic/update?hostname=$domain`,fields:[`username`,`password`,`domain`].map(e=>({k:e,label:O(Te.default.upperFirst(e))}))},DuckDNS:{url:`https://www.duckdns.org/update/$domain/$token>OK`,fields:[{k:`domain`,label:O`Domain`,helperText:O`do NOT include the .duckdns.org part`},{k:`token`,label:O`Token`}]}},({url:e,fields:n},r)=>(0,Y.createElement)(m,{key:e,onClick:()=>ue({title:O(`{label} wizard`,{label:r}),form:{sx:{maxWidth:`20em`},before:(0,Y.createElement)(T,{sx:{mb:1}},O`The following information is stored unencrypted`),fields:n.map(e=>Te.default.isString(e)?{k:e}:e)}}).then(n=>n&&t({[V.dynamic_dns_url]:w(e,n,`$`)}))},O(`{label} wizard`,{label:r})))),{k:V.dynamic_dns_url,label:O`Updater URL`,multiline:!0,helperText:O`dynamic_dns_url_help`}]})}))}function Ie(){let e=(0,Y.useMemo)(()=>Ee.map(e=>({value:e.code,label:e.name})),[Ee]);return(0,Y.createElement)(Z,{title:O`Geo IP`,icon:oe},(0,Y.createElement)(t,{keys:[V.geo_enable,V.geo_allow,V.geo_list,V.geo_allow_unknown,V.geo_ignore_net],form:t=>{var n;return{fields:[{k:V.geo_enable,comp:ge,label:O`Enable`,helperText:g(O`geo_db_download_notice`)},...t!=null&&t[V.geo_enable]?[{k:V.geo_allow,comp:te,label:O`Rule`,options:{[O`no restriction`]:null,[O`block selected countries`]:!1,[O`allow selected countries`]:!0}},t[V.geo_allow]!=null&&{k:V.geo_list,comp:ve,label:O(`selected_countries_count`,{count:((n=t[V.geo_list])==null?void 0:n.length)||0}),valueSeparator:!1,placeholder:O`none`,options:e,renderOption:e=>(0,Y.createElement)(y,{code:e.value,long:!0}),clearable:!0,getError:e=>t[V.geo_allow]&&!(e!=null&&e.length)&&O`Cannot be empty`},t[V.geo_allow]!=null&&{k:V.geo_allow_unknown,comp:te,label:O`When country cannot be determined`,helperText:O`Local IPs are ignored`,options:{[O`Allow`]:!0,[O`Block`]:!1},sm:6},{k:V.geo_ignore_net,comp:ne,label:O`Ignore IP addresses`,placeholder:O`none`,helperText:O`Bypass geo-filtering`,sm:6}]:[]]}},addToBar:[(0,Y.createElement)(T,{sx:{flex:1}}),(0,Y.createElement)(m,{icon:x,onClick:Le},O`Lookup IP`)]}))}function Le(){return Re.apply(this,arguments)}function Re(){return Re=G(function*(){let e=yield pe(O`Lookup IP`);if(!e)return;let{country:t}=yield N(`geo_ip`,{ip:e});return t?L((0,Y.createElement)(y,{code:t,long:!0}),`success`):L(O`IP not found`,`error`)}),Re.apply(this,arguments)}function ze(){var e;let t=a(`get_cert`),{https:n}=R.data||{},r=(n==null?void 0:n.port)===-1,c=n==null?void 0:n.error;return R.element||(0,Y.createElement)(Z,{title:O`HTTPS`,icon:P,color:n!=null&&n.listening&&!c?`success`:`warning`},c?(0,Y.createElement)(v,{severity:`warning`},c):r&&(0,Y.createElement)(s,{onClick:Be},O`Not enabled`),t.element||k(t.data,e=>{var t,n;return e.none?(0,Y.createElement)(s,{onClick:l},O`No certificate configured`):(0,Y.createElement)(T,{},(0,Y.createElement)(_,{fontSize:`small`,sx:{mr:1,verticalAlign:`middle`}}),O`Current certificate`,(0,Y.createElement)(`ul`,{},(0,Y.createElement)(`li`,{},O`Domain: `,((t=e.altNames)==null?void 0:t.join(` + `))||`-`),(0,Y.createElement)(`li`,{},O`Issuer: `,((n=e.issuer)==null?void 0:n.O)||(0,Y.createElement)(`i`,{},O`self-signed`)),(0,Y.createElement)(`li`,{},O`Validity: `,[`validFrom`,`validTo`].map(t=>i(e[t])).join(` – `))))}),(0,Y.createElement)(o),(0,Y.createElement)(we,{checkDomain:We,renewError:(e=R.data)==null?void 0:e.acmeRenewError,fresh(e){var n,r,i;let a=Number(new Date((n=t.data)==null?void 0:n.validTo)),o=(a-Number(new Date((r=t.data)==null?void 0:r.validFrom)))/3;return!!((i=t.data)!=null&&(i=i.altNames)!=null&&i.includes(e)&&a-Date.now()>=o)},onComplete(){t.reload(),R.reload(),r&&Be()}}));function l(){return u.apply(this,arguments)}function u(){return u=G(function*(){yield ee(),t.reload(),R.reload()}),u.apply(this,arguments)}}function Be(){return Ve.apply(this,arguments)}function Ve(){return Ve=G(function*(){if(!(yield A(O`https_disabled_notice`,{trueText:O`Enable it`})))return;let e=he();try{yield N(`set_config`,{values:{https_port:443}}),yield fe(1e3),R.reload()}finally{e()}}),Ve.apply(this,arguments)}function He(){return z.element||(0,Y.createElement)(Z,{icon:oe,title:O`Address`},(0,Y.createElement)(q,{flexWrap:`wrap`},O`Main address: `,B?(0,Y.createElement)(`tt`,{},B):O`automatic, not configured`,(0,Y.createElement)(m,{size:`small`,variant:`outlined`,"aria-label":O`Change address`,onClick:()=>void le().then(z.reload)},O`Change`)),(0,Y.createElement)(o),(0,Y.createElement)(t,{saveOnChange:!0,onSave(){R.reload()},form:{fields:[{k:V.roots,label:O`Domain roots`,helperText:O`domain_roots_help`,comp:b,reorder:!0,fields:[{k:`host`,label:O`Domain/Host`,helperText:O`Wildcards supported: *.domain.com|other.com`,getError:e=>(e==null?void 0:e.includes(`/`))&&O`No URLs or paths here!`},{k:`root`,label:O`Home/Root`,comp:M,files:!1,placeholder:O`default`,helperText:O`Root path in VFS`,$column:{renderCell({value:e}){return e||(0,Y.createElement)(`i`,{},O`default`)}}}],toField:e=>Object.entries(e||{}).map(([e,t])=>({host:e,root:t})),fromField:e=>Object.fromEntries(e.map(e=>[e.host,e.root||``]))},{k:V.force_address,label:O`accept_listed_domains_only`,comp:ge}]}}))}function Ue(){if(H.error)return H.element;let e=U==null?void 0:U.includes(K==null?void 0:K.localIp);return(0,Y.createElement)(q,{justifyContent:`space-around`},(0,Y.createElement)(je,{name:O`Server`,icon:e?_e:be,color:de,ip:K==null?void 0:K.localIp,below:J&&(0,Y.createElement)(T,{className:`port hideInTests`},O`port `,J)}),!e&&(0,Y.createElement)(Ae),!e&&(0,Y.createElement)(je,{name:O`Router`,icon:Se,ip:K==null?void 0:K.gatewayIp,color:h?`success`:(K==null?void 0:K.mapped)&&(X?`warning`:`success`),below:D?(0,Y.createElement)(l,{sx:{height:`1em`}}):K&&(h&&!K.mapped?O(`port_number`,{port:K.externalPort||K.internalPort}):(0,Y.createElement)(s,{sx:{display:`block`},onClick:Je},O`port `,X?O`is wrong`:(K==null?void 0:K.externalPort)||(h?O`verified`:O`unknown`)))}),(0,Y.createElement)(Ae),(0,Y.createElement)(je,{name:O`Internet`,icon:Ce,ip:W?[]:U,color:h?`success`:h===!1?`error`:Ne?`warning`:void 0,below:W?String(W):C?(0,Y.createElement)(l,{sx:{height:`1em`}}):U&&(0,Y.createElement)(T,{className:`hideInTests`},Ne&&(0,Y.createElement)(s,{sx:{display:`block`},onClick:()=>L(ke,`warning`)},O`Double NAT`),h?O`Working!`:h===!1?O`Failed!`:``,` `,(B>``||(U==null?void 0:U.length)>0)&&(K==null?void 0:K.internalPort)&&(0,Y.createElement)(s,{onClick:()=>Ke()},O`Verify`)||`\xA0`)}))}function We(e){return Ge.apply(this,arguments)}function Ge(){return Ge=G(function*(e){return e&&!1===(yield N(`check_domain`,{domain:e}).catch(e=>A(String(e),{trueText:O`Continue anyway`,falseText:O`Stop`})))}),Ge.apply(this,arguments)}function Ke(){return qe.apply(this,arguments)}function qe(){return qe=G(function*(e=!1){yield H.loading;let t=H.getData();if(t&&(S(void 0),e||(yield A(O`internet_test_intro`)))){E(!0);try{let e=B&&new URL(B).hostname;if(e&&Me(e))return L(O`non_public_ip_warning`,`warning`);let n=B;if(!c(e)&&(yield We(e)))return;let r=n&&(yield N(`self_check`,{url:n}).catch(e=>L(e.code?O`internet_test_unavailable`:e,`error`)));if(n&&!r)return;if(r!=null&&r.success)return S(!0),L((0,Y.createElement)(T,{},O`server_reachable_over_internet`,(0,Y.createElement)(`ul`,{},(0,Y.createElement)(`li`,{},r.url))),`success`);(r==null?void 0:r.success)===!1&&(yield L(g(O(`configured_address_failed_testing_ip`,{checkUrl:n})),`warning`));let i=yield N(`self_check`,{});if(i.some(e=>e.success)){S(!0);let e=(r==null?void 0:r.success)===!1&&g(O(`server_reachable_only_by_ip`,{checkUrl:n}));return L((0,Y.createElement)(T,{},e||O`server_reachable_over_internet`,(0,Y.createElement)(`ul`,{},...i.map(e=>(0,Y.createElement)(`li`,{},e.url)))),e?`warning`:`success`)}if(S(!1),X)return Xe().then(Q);if(Ne)return L(ke,`warning`);if(t.upnp&&!t.mapped)return A(O`internet_unreachable_try_port_forward`,{trueText:O`Fix it`}).then(function(){var e=G(function*(e){if(e){try{yield $(t.internalPort,``,``)}catch(e){yield $(Oe,``)}j(O`Port forwarded, now we verify again`,`success`),Q()}});return function(t){return e.apply(this,arguments)}}());let a=yield N(`get_config`,{only:[V.geo_enable,V.geo_allow]}),{close:o}=L((0,Y.createElement)(T,{},O`internet_unreachable_possible_causes`,(0,Y.createElement)(`ul`,{},a[V.geo_enable]&&a[V.geo_allow]!=null&&(0,Y.createElement)(`li`,{},O`internet_test_geo_block_cause`),!t.upnp&&(0,Y.createElement)(`li`,{},O`Your router may need to be configured. `,(0,Y.createElement)(re,{href:De,target:`help`},O`How?`)),(0,Y.createElement)(`li`,{},O`internet_test_firewall_cause`),(t.externalPort||t.internalPort)<=1024&&(0,Y.createElement)(`li`,{},O`isp_may_block_low_ports`,` `,t.upnp&&(0,Y.createElement)(d,{size:`small`,onClick(){o(),$(Oe).then(Q)}},O(`Try {HIGHER_PORT}`,{HIGHER_PORT:Oe}))),t.mapped&&(0,Y.createElement)(`li`,{},O`router_bug_reboot_hint`),(0,Y.createElement)(`li`,{},(0,Y.createElement)(`div`,{},O`internet_test_no_public_ip_cause`,me(`Work-on-the-internet#double-nat`,O`Read more`))))),`warning`)}catch(e){L(e)}finally{E(!1)}}}),qe.apply(this,arguments)}function Je(){return Ye.apply(this,arguments)}function Ye(){return Ye=G(function*(){if(!K)return;if(X)return(yield A(O(`port_forward_wrong_port`,{mappedPort:X}),{trueText:O`Fix it`}))&&Xe();if(!K.upnp)return L((0,Y.createElement)(T,{sx:{lineHeight:1.5}},g(O(`upnp_not_available_help`,{helpUrl:De}))),`info`);let e=yield pe(g([O(`port_forward_intro`,{localPort:J}),!K.mapped&&O`port_forward_check_existing`,O(`port_forward_request_help`,{localPort:J})].filter(Boolean).join(`
|
|
4
4
|
|
|
5
|
-
`)),{value:K.externalPort||J,field:{label:O`Port seen from the Internet`,comp:ie},addToBar:K.mapped&&[(0,Y.createElement)(d,{color:`warning`,onClick:t},O`Remove`)],dialogProps:{sx:{maxWidth:`20em`}}});e&&(yield $(Number(e),O`Port forwarded`).catch(()=>{}));function t(){ye(),$(0,`Port removed`)}}),Ye.apply(this,arguments)}function Xe(){return K!=null&&K.externalPort?$(K.externalPort,`Forwarding corrected`):L(O`externalPort not found`,`error`)}function $(e){return Ze.apply(this,arguments)}function Ze(){return Ze=G(function*(e,t=``,n=O`Operation failed`){I(!0);try{yield N(`map_port`,{external:e},{timeout:30}),H.reload(),t&&j(t,`success`),S(void 0)}catch(t){if(n){let r=(e||K.internalPort)<1024
|
|
5
|
+
`)),{value:K.externalPort||J,field:{label:O`Port seen from the Internet`,comp:ie},addToBar:K.mapped&&[(0,Y.createElement)(d,{color:`warning`,onClick:t},O`Remove`)],dialogProps:{sx:{maxWidth:`20em`}}});e&&(yield $(Number(e),O`Port forwarded`).catch(()=>{}));function t(){ye(),$(0,`Port removed`)}}),Ye.apply(this,arguments)}function Xe(){return K!=null&&K.externalPort?$(K.externalPort,`Forwarding corrected`):L(O`externalPort not found`,`error`)}function $(e){return Ze.apply(this,arguments)}function Ze(){return Ze=G(function*(e,t=``,n=O`Operation failed`){I(!0);try{yield N(`map_port`,{external:e},{timeout:30}),H.reload(),t&&j(t,`success`),S(void 0)}catch(t){if(n){let r=(e||K.internalPort)<1024,i=n+u(`: `,t==null?void 0:t.message)+(r?` `+O`router_may_reject_low_ports`:``);yield L(i,`error`)}throw t}finally{I(!1)}}),Ze.apply(this,arguments)}}function Ae(){return(0,Y.createElement)(T,{sx:{flex:1},className:`animated-dashed-line`})}function je({name:e,icon:t,color:n,ip:r,below:i}){let a=I(r),o=a.every(e=>typeof e==`string`&&c(e)&&!e.includes(`:`));return(0,Y.createElement)(T,{sx:{display:`inline-block`,textAlign:`center`}},(0,Y.createElement)(t,{color:n,sx:{fontSize:`min(20vw, 10vh)`,mb:`-0.1em`}}),(0,Y.createElement)(T,{sx:{fontSize:`larger`}},e),r===void 0?(0,Y.createElement)(h):(0,Y.createElement)(T,{sx:{fontSize:`smaller`,whiteSpace:o?`pre`:`pre-wrap`},className:`ip `+U},a.join(`
|
|
6
6
|
`)||O`unknown`),i?(0,Y.createElement)(T,{sx:{fontSize:`smaller`}},i):(0,Y.createElement)(h))}function Z({title:e,icon:t,color:n,children:r}){return(0,Y.createElement)(de,{},(0,Y.createElement)(p,{},(0,Y.createElement)(q,{vert:!0},(0,Y.createElement)(E,{variant:`h3`,sx:{fontSize:`x-large`}},t&&(0,Y.createElement)(t,{color:n,sx:{mr:1,mb:`2px`}}),e),r)))}function Me(e){let t=f(e);if(S(t))return!0;if(t.includes(`:`))return/^(?:::|::1|ff[\da-f]{2}:.*)$/.test(t);if(!/^\d+\.\d+\.\d+\.\d+$/.test(t))return!1;let[n,r]=t.split(`.`).map(Number);return n===0||n===127||n>=224||n===100&&r>=64&&r<=127}export{X as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-8BhlS34s.js";import{B as t,E as n,F as r,I as i,K as a,St as o,Yt as s,Zt as c,_r as l,an as u,ct as d,fr as f,gn as p,h as m,it as h,lr as g,mn as _,or as v,pn as y,tt as b,ur as x,vr as S,w as C,yr as w}from"./index-DUFnYPeE.js";var T=e(w()),E=e(l());x();function D({setTitleSide:e}){let{list:r,error:o,connecting:l,initializing:v,reload:y}=i(`get_langs`),x=(0,T.useMemo)(()=>E.default.uniq([`en`,...r.filter(e=>!e.admin).map(e=>e.code)]),[r]);return e(null),(0,T.createElement)(T.Fragment,{},(0,T.createElement)(s,{sx:g({mt:1,maxWidth:`50em`,flex:1},a)},(0,T.createElement)(s,{sx:{mb:1,display:`flex`,gap:1,flexDirection:{xs:`column`,sm:`row`}}},(0,T.createElement)(s,{sx:{flex:1}},(0,T.createElement)(O,{langs:x})),(0,T.createElement)(s,{sx:{flex:1}},(0,T.createElement)(k))),(0,T.createElement)(c,{component:`h2`,variant:`subtitle1`,sx:{mb:1}},u`Uploaded languages`),(0,T.createElement)(c,{variant:`body2`,sx:{mb:1}},b(`Translation#hfs-34-beta`,u`See the documentation`)),(0,T.createElement)(C,{error:o,loading:l,initializing:v,rows:(0,T.useMemo)(()=>E.default.sortBy(r.filter(e=>!e.embedded),`code`,`admin`),[r]),hideFooter:!0,fillFlex:!0,columns:[{field:`admin`,headerName:u`Interface`,width:110,valueGetter:(e,t)=>t.admin?u`Admin`:u`Frontend`},{field:`code`,headerName:u`Code`,width:110,valueFormatter:e=>e==null?void 0:e.toUpperCase()},{field:`language`,headerName:u`Language`,flex:1,minWidth:100,valueGetter:(e,t)=>A(t.code)},{field:`version`,headerName:u`Version`,width:120,hideUnder:`sm`},{field:`author`,headerName:u`Author`,flex:1,hideUnder:`sm`}],actionsHeader:(0,T.createElement)(t,{icon:m,title:u`Add`,onClick:w}),actionsProps:{width:52},actions:({row:e})=>[(0,T.createElement)(t,{icon:n,title:u`Delete`,confirm:u(`Delete language code "{code}"?`,{code:e.code}),onClick(){return S(function*(){yield f(`del_lang`,E.default.pick(e,`code`,`admin`)),e.admin?location.reload():y(),d(u`Deleted`)})()}})]})));function w(){p(function(){var e=S(function*(e){if(!e)return;let t=yield Promise.all(Array.from(e,e=>_(e).then(t=>f(`add_langs`,{langs:{[e.name]:t}})).then(()=>``,t=>`${e.name}: ${t.data||t.message||t}`)));y();let n=t.filter(Boolean);n.length?yield h(n.join(`.
|
|
2
2
|
`),`error`):d(u`Loaded`),Array.from(e).some(e=>e.name.startsWith(`hfs-admin-lang-`))&&location.reload()});return function(t){return e.apply(this,arguments)}}(),{accept:`.json`})}}function O({langs:e}){let t=v.force_lang,{data:n,reload:i,loading:a}=r(`get_config`,{only:[t]}),[s,c]=(0,T.useState)();(0,T.useEffect)(()=>{var e;return c((e=n==null?void 0:n[t])==null?s:e)},[n]);let[l,d]=(0,T.useState)();return(0,T.createElement)(o,{fullWidth:!0,label:u`Frontend language`,size:`small`,disabled:!!a||typeof l==`string`,value:l==null?s:l,onChange(e){return S(function*(){d(e);try{yield f(`set_config`,{values:{[t]:e}}).catch(h),yield i()}finally{d(void 0)}})()},options:[{label:u`Respect browser language`,value:``},...E.default.sortBy(e).map(e=>({value:e,label:`${e.toUpperCase()} — ${A(e)}`}))]})}function k(){let e=y().adminLangs,t=e.includes(y().adminLang)?y().adminLang:``;return(0,T.createElement)(o,{fullWidth:!0,size:`small`,sx:{minWidth:`12em`},label:u`Admin language`,value:t,options:[{value:``,label:u`Respect browser language`},...E.default.sortBy(e).map(e=>({value:e,label:`${e.toUpperCase()} — ${A(e)}`}))],onChange(e){return S(function*(){yield f(`set_config`,{values:{[v.admin_lang]:e}}),location.reload()})()}})}function A(e){try{let t=new Intl.DisplayNames([e],{type:`language`}).of(e);return t?t[0].toLocaleUpperCase(e)+t.slice(1):e.toUpperCase()}catch(t){return e.toUpperCase()}}export{D as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-8BhlS34s.js";import{$ as t,$n as n,A as r,At as i,B as a,Bn as o,Dn as s,E as c,F as l,Ft as u,Gn as d,I as f,In as p,Jn as ee,L as m,Ln as h,Pt as g,Qn as te,R as ne,St as re,U as _,Yt as v,Z as y,Zn as ie,_r as b,an as x,ar as S,bn as ae,ct as C,dr as w,er as T,et as oe,f as se,fr as E,i as D,in as O,jn as ce,kt as le,ln as ue,lr as k,lt as A,m as de,nr as fe,nt as pe,or as j,pr as me,q as he,qn as ge,tt as M,ur as N,vn as P,vr as F,vt as I,w as _e,yr as L,z as R,zn as ve}from"./index-DUFnYPeE.js";import{a as z,c as B,i as V,m as ye,o as be,s as xe}from"./icons-D6k8t08O.js";import{t as H}from"./routing-DvS2UalH.js";var U=e(b()),W=e(L());N();var Se=[`ip`,`comment`];function Ce(e){let{ip:t,comment:n}=e,r=ce(e,Se),{data:i,refresh:o}=s(G,t,{delay:100,expireAfter:5e3});return(0,W.createElement)(a,k(k(k({icon:V,title:x`Block IP`,confirm:x(`Block address {ip}`,{ip:t})},i&&{disabled:!0,title:x`Blocked`}),r),{},{onClick(){return F(function*(){yield E(`add_block`,{ip:t,merge:{comment:n}}),o(),C(x`Blocked`,`success`)})()}}))}function G(e){return K.apply(this,arguments)}function K(){return K=F(function*(e){return E(`is_ip_blocked`,{ips:e}).then(e=>e.blocked)}),K.apply(this,arguments)}N();var we=[`file`,`footerSide`,`hidden`,`limit`,`filter`],q={log:`Served`,error_log:`Failed`,console:`Console`,disconnections:`Disconnections`,ips:`IPs`},J=fe(q),Te;function Ee({setTitleSide:e}){let t=J,[n,o]=H(`logs`,t),s=!y(`sm`)&&{error_log:x`Failed`,console:(0,W.createElement)(z),disconnections:(0,W.createElement)(B)},c=t[n],d=c.endsWith(`log`),f=l(`get_log_info`);return e((0,W.useMemo)(()=>d&&(f.element||S(f.data,e=>(0,W.createElement)(v,{sx:{fontSize:`smaller`}},x(`current_log_size`,{size:h(U.default.sum(Object.values(e.current)))}),(0,W.createElement)(`br`),S(Object.values(e.rotated).flat(),e=>x(`archived_files`,{n:e.length,totalSize:h(U.default.sumBy(e,`size`))}))))),[f.element,f.data,d])),(0,W.createElement)(W.Fragment,{},(0,W.createElement)(R,{gap:0},(0,W.createElement)(g,{value:n,onChange(e,t){o(t)}},t.map(e=>(0,W.createElement)(u,{label:U.default.get(s,e)||x(q[e]),key:e,sx:{minWidth:0,px:{xs:1.5,sm:2}}}))),(0,W.createElement)(v,{sx:{flex:1}}),(0,W.createElement)(a,{icon:D,title:d?x`Download as file`:x`Not available`,link:w+`get_log_file?file=${c}`,disabled:!d}),(0,W.createElement)(a,{icon:i,title:x`Options`,onClick:p})),t.map(e=>(0,W.createElement)(X,{hidden:c!==e,file:e,key:e,fillFlex:!0})));function p(){ae({title:x`Log options`,dialogProps:{sx:{maxWidth:`40em`}},Content(){return(0,W.createElement)(r,{barSx:k({gap:2,width:`100%`},A()),form:{stickyBar:!0,fields:[{k:j.log,label:x(q.log),sm:6,helperText:x`Requests are logged here. Empty to disable it.`},{k:j.error_log,label:x(q.error_log),sm:6,placeholder:x`errors go to main log`,helperText:x`error_log_help`},{k:j.log_rotation,comp:re,sm:6,label:x`Log rotation`,options:[{value:``,label:x`disabled`},...[`daily`,`weekly`,`monthly`].map(e=>({value:e,label:x(e)}))],helperText:[M(`Logs#rotation`,x`To keep log-files smaller`),x` (deletion is not automatic)`]},{k:j.dont_log_net,comp:_,label:x`Don't log address`,sm:6,placeholder:x`no exception`},{k:j.log_gui,sm:6,comp:I,label:x`Log interface loading`,helperText:x`Some requests are necessary to load the interface`},{k:j.log_api,sm:6,comp:I,label:x`Log API requests`,helperText:x`Requests for commands`},{k:j.log_ua,sm:6,comp:I,label:x`Log User-Agent`,helperText:x`user_agent_log_size_warning`},{k:j.log_host,sm:6,comp:I,label:x`Log Host header`},{k:j.log_spam,sm:6,comp:I,label:x`Log spam requests`,helperText:P(x`Failed requests that you probably don't want to see`)},{k:j.log_spam_regex,label:x`Spam URL regex`,helperText:x`log_spam_regex_help`,getError(e){try{new RegExp(e)}catch(e){return x`Invalid regular expression`}}},{k:j.track_ips,sm:6,comp:I,label:x`Keep track of IPs`,parentProps:{sx:{display:`flex`,gap:1,alignItems:`flex-start`}},after:(0,W.createElement)(m,{size:`small`,variant:`outlined`,color:`warning`,sx:{mt:`4px`},confirm:!0,doneMessage:!0,onClick:()=>E(`reset_ips`).then(Te)},x`Reset`)},{k:j.debug,sm:6,comp:I,label:x`Debug messages in console`}]}})}})}}var De=[j.log,j.error_log],Y=1e6;function X(e){let{file:r,footerSide:i,hidden:a,limit:s=Y,filter:l}=e,u=ce(e,we),[g,re]=(0,W.useState)(!1),[_,y]=(0,W.useState)(!1),[b,S]=(0,W.useState)(!1),{pause:ae,pauseButton:D}=t(),[A,fe]=oe(x`Show APIs`,x`Hide APIs`,e=>({icon:be,sx:{rotate:e?0:`180deg`}}),!0),j=(0,W.useRef)(0),[M,N]=(0,W.useState)(NaN),[P,F]=(0,W.useState)(!0),[I,L]=(0,W.useState)(0),[z,B]=(0,W.useState)(s);s=z;let V=Math.pow(2,20),[H,Se]=(0,W.useState)(!a);(0,W.useEffect)(()=>Se(e=>e||!a),[a]);let G=De.includes(r),{loading:K}=me(H&&G&&(P||I>0)&&`get_log_file`,{file:r,range:P||!I?String(-V):`0-${I}`},{skipParse:!0,skipLog:!0,onResponse(e,t){let n=t.split(`
|
|
2
2
|
`);if(P){let[t,r]=te(`/`,e.headers.get(`Content-Range`)||``),i=Number(r);if(isNaN(i))throw p(`shouldn't happen`);N(i),t.startsWith(`bytes 0-`)?F(!1):(n.shift(),L(i-new Blob([n.join(`
|
|
3
|
-
`)]).size))}else I&&(C(x(`entire_log_loaded`,{loadedSize:h(I)})),L(0));let r=d(n,e=>Ne(Oe(e,j.current++)),Boolean,!0);J(e=>[...e,...r])}}),{list:q,setList:J,error:Ee,connecting:X,initializing:ke,reload:Ae}=f(H&&`get_log`,{file:r},{limit:s,invert:!0,pause:ae,map:Ne,reconnectGraceSeconds:G?1/0:r===`ips`?60:1}),Z=r===`ips`;Z&&(Te=Ae);let Q={field:`ts`,headerName:x`Timestamp`,type:`dateTime`,width:96,valueGetter:e=>new Date(e),renderCell:({value:e})=>(0,W.createElement)(W.Fragment,{},e.toLocaleDateString(O),(0,W.createElement)(`br`),e.toLocaleTimeString(O))},$={field:`ip`,headerName:x`Address`,flex:.6,minWidth:130,maxWidth:230,mergeRender:{user:{sx:{display:`flex`,justifyContent:`space-between`,gap:`.5em`}},country:g&&{},ua:{}}},je=(0,W.useMemo)(()=>{var e;return l?q.filter(l):A||(q==null||(e=q[0])==null?void 0:e.uri)===void 0?q:q.filter(e=>!e.uri.startsWith(w))},[q,A,l]),Me=r===`console`;return a?null:(0,W.createElement)(_e,k(k({persist:`log_`+r,error:Ee,loading:X,initializing:ke||!!K,rows:je,compact:!0,actionsProps:{hideUnder:`md`},actions:Me?void 0:(({row:e})=>ge([(0,W.createElement)(Ce,{ip:e.ip,comment:`From log`}),Z&&(0,W.createElement)(m,{icon:c,confirm:!0,title:x(`Delete {ip}`,{ip:e.ip}),doneMessage:!0,onClick:()=>E(`delete_ips`,{ip:e.ip}).then(()=>J(t=>t.filter(t=>t.ip!==e.ip)))}),Z&&(0,W.createElement)(m,{icon:ye,confirm:!0,title:x(`delete_records_up_to`,{timestamp:o(e.ts)}),onClick:()=>E(`delete_ips`,{ts:e.ts}).then(e=>C(x(`items_deleted`,{n:e.n}))).then(Ae)}),G&&(0,W.createElement)(m,{icon:de,title:x`Copy request`,doneAnimation:!0,onClick:()=>ue(JSON.stringify(U.default.omit(e,`id`),void 0,2))})])),initialState:Z?{sorting:{sortModel:[{field:`ts`,sort:`desc`}]}}:void 0},u),{},{footerSide:e=>(0,W.createElement)(v,{},D,r.endsWith(`log`)&&fe,!X&&I>0&&(0,W.createElement)(m,{icon:xe,variant:`outlined`,sx:{ml:{sm:1}},labelIf:e>700,title:x(`partial_log_loaded`,{loadedSize:h(V),totalSize:h(M)}),loading:!P,onClick(){B(0),F(!1)}},x`Load whole log`),i),footerExtra:()=>s>0&&q.length>=s*.8&&(0,W.createElement)(R,{justifyContent:`flex-end`},(0,W.createElement)(m,{size:`small`,variant:`outlined`,title:x(`log_memory_limit_hint`,{limit:s.toLocaleString(O)},`Currently keeping the latest {limit} rows in memory.`),onClick:()=>B(s<Y?Y:0)},s<Y?x`Show more`:x`Unlimited rows`)),columns:Me?[Q,{field:`k`,headerName:x`Level`,hideUnder:`sm`},{field:`msg`,headerName:x`Message`,flex:1,mergeRender:{k:{override:{valueFormatter:e=>e!==`log`&&e}}}}]:Z||r===`disconnections`?[Q,$,Z&&{field:`served`,headerName:x`Requests`,width:85,sx:{whiteSpace:`pre-line`},valueGetter:(e,t)=>e===void 0?void 0:e+t.failed,renderCell:({row:e,value:t})=>t>=0&&`✅ ${e.served}\n 🚫 ${e.failed}`},{headerName:x`Country`,field:`country`,flex:1,hideUnder:!g||`md`,valueGetter:e=>{var t;return((t=U.default.find(pe,{code:e}))==null?void 0:t.name)||e},renderCell:({row:e})=>(0,W.createElement)(ne,{code:e.country,long:!0,def:`-`})},!Z&&{field:`msg`,headerName:x`Message`,flex:4}]:[$,{headerName:x`Country`,field:`country`,valueGetter:(e,t)=>{var n;return(n=t.extra)==null?void 0:n.country},hideUnder:!g||`xl`,renderCell:({value:e})=>(0,W.createElement)(ne,{code:e,def:`-`})},{field:`user`,headerName:x`Username`,flex:.3,maxWidth:200,hideUnder:`xl`},Q,{field:`method`,headerName:x`Method`,width:80,hideUnder:`xl`},{field:`status`,headerName:x`Code`,type:`number`,width:70,hideUnder:`xl`,renderCell:({value:e})=>he(ee(e+` - `,le[e])||x`Unknown`,void 0,(0,W.createElement)(v,{sx:{bgcolor:`#888a`,color:`#fff`,borderRadius:`.3em`,p:`.05em .3em`,lineHeight:`1.2em`}},e))},{field:`length`,headerName:x`Size`,type:`number`,hideUnder:`md`,valueFormatter:e=>h(e)},{headerName:x`Agent`,field:`ua`,width:60,hideUnder:!_||`md`,valueGetter:(e,t)=>{var n;return(n=t.extra)==null?void 0:n.ua},renderCell:({value:e})=>se(e)},{field:`host`,headerName:x`Host`,width:100,hideUnder:!b||`md`,valueGetter:(e,t)=>{var n;return(n=t.extra)==null?void 0:n.host}},{field:`notes`,headerName:x`Notes`,width:110,hideUnder:`sm`,cellClassName:`wrap`,renderCell:({value:e})=>e&&(0,W.createElement)(v,{sx:{whiteSpace:`pre-wrap`}},e)},{field:`uri`,headerName:x`URI`,flex:2,minWidth:100,sx:{wordBreak:`break-all`},mergeRender:{method:{},status:{}},renderCell:({value:e,row:t})=>{var n;let[r,i]=te(`?`,e).map(e=>ie(e)),a=(n=t.extra)==null?void 0:n.ul;
|
|
3
|
+
`)]).size))}else I&&(C(x(`entire_log_loaded`,{loadedSize:h(I)})),L(0));let r=d(n,e=>Ne(Oe(e,j.current++)),Boolean,!0);J(e=>[...e,...r])}}),{list:q,setList:J,error:Ee,connecting:X,initializing:ke,reload:Ae}=f(H&&`get_log`,{file:r},{limit:s,invert:!0,pause:ae,map:Ne,reconnectGraceSeconds:G?1/0:r===`ips`?60:1}),Z=r===`ips`;Z&&(Te=Ae);let Q={field:`ts`,headerName:x`Timestamp`,type:`dateTime`,width:96,valueGetter:e=>new Date(e),renderCell:({value:e})=>(0,W.createElement)(W.Fragment,{},e.toLocaleDateString(O),(0,W.createElement)(`br`),e.toLocaleTimeString(O))},$={field:`ip`,headerName:x`Address`,flex:.6,minWidth:130,maxWidth:230,mergeRender:{user:{sx:{display:`flex`,justifyContent:`space-between`,gap:`.5em`}},country:g&&{},ua:{}}},je=(0,W.useMemo)(()=>{var e;return l?q.filter(l):A||(q==null||(e=q[0])==null?void 0:e.uri)===void 0?q:q.filter(e=>!e.uri.startsWith(w))},[q,A,l]),Me=r===`console`;return a?null:(0,W.createElement)(_e,k(k({persist:`log_`+r,error:Ee,loading:X,initializing:ke||!!K,rows:je,compact:!0,actionsProps:{hideUnder:`md`},actions:Me?void 0:(({row:e})=>ge([(0,W.createElement)(Ce,{ip:e.ip,comment:`From log`}),Z&&(0,W.createElement)(m,{icon:c,confirm:!0,title:x(`Delete {ip}`,{ip:e.ip}),doneMessage:!0,onClick:()=>E(`delete_ips`,{ip:e.ip}).then(()=>J(t=>t.filter(t=>t.ip!==e.ip)))}),Z&&(0,W.createElement)(m,{icon:ye,confirm:!0,title:x(`delete_records_up_to`,{timestamp:o(e.ts)}),onClick:()=>E(`delete_ips`,{ts:e.ts}).then(e=>C(x(`items_deleted`,{n:e.n}))).then(Ae)}),G&&(0,W.createElement)(m,{icon:de,title:x`Copy request`,doneAnimation:!0,onClick:()=>ue(JSON.stringify(U.default.omit(e,`id`),void 0,2))})])),initialState:Z?{sorting:{sortModel:[{field:`ts`,sort:`desc`}]}}:void 0},u),{},{footerSide:e=>(0,W.createElement)(v,{},D,r.endsWith(`log`)&&fe,!X&&I>0&&(0,W.createElement)(m,{icon:xe,variant:`outlined`,sx:{ml:{sm:1}},labelIf:e>700,title:x(`partial_log_loaded`,{loadedSize:h(V),totalSize:h(M)}),loading:!P,onClick(){B(0),F(!1)}},x`Load whole log`),i),footerExtra:()=>s>0&&q.length>=s*.8&&(0,W.createElement)(R,{justifyContent:`flex-end`},(0,W.createElement)(m,{size:`small`,variant:`outlined`,title:x(`log_memory_limit_hint`,{limit:s.toLocaleString(O)},`Currently keeping the latest {limit} rows in memory.`),onClick:()=>B(s<Y?Y:0)},s<Y?x`Show more`:x`Unlimited rows`)),columns:Me?[Q,{field:`k`,headerName:x`Level`,hideUnder:`sm`},{field:`msg`,headerName:x`Message`,flex:1,mergeRender:{k:{override:{valueFormatter:e=>e!==`log`&&e}}}}]:Z||r===`disconnections`?[Q,$,Z&&{field:`served`,headerName:x`Requests`,width:85,sx:{whiteSpace:`pre-line`},valueGetter:(e,t)=>e===void 0?void 0:e+t.failed,renderCell:({row:e,value:t})=>t>=0&&`✅ ${e.served}\n 🚫 ${e.failed}`},{headerName:x`Country`,field:`country`,flex:1,hideUnder:!g||`md`,valueGetter:e=>{var t;return((t=U.default.find(pe,{code:e}))==null?void 0:t.name)||e},renderCell:({row:e})=>(0,W.createElement)(ne,{code:e.country,long:!0,def:`-`})},!Z&&{field:`msg`,headerName:x`Message`,flex:4}]:[$,{headerName:x`Country`,field:`country`,valueGetter:(e,t)=>{var n;return(n=t.extra)==null?void 0:n.country},hideUnder:!g||`xl`,renderCell:({value:e})=>(0,W.createElement)(ne,{code:e,def:`-`})},{field:`user`,headerName:x`Username`,flex:.3,maxWidth:200,hideUnder:`xl`},Q,{field:`method`,headerName:x`Method`,width:80,hideUnder:`xl`},{field:`status`,headerName:x`Code`,type:`number`,width:70,hideUnder:`xl`,renderCell:({value:e})=>he(ee(e+` - `,le[e])||x`Unknown`,void 0,(0,W.createElement)(v,{sx:{bgcolor:`#888a`,color:`#fff`,borderRadius:`.3em`,p:`.05em .3em`,lineHeight:`1.2em`}},e))},{field:`length`,headerName:x`Size`,type:`number`,hideUnder:`md`,valueFormatter:e=>h(e)},{headerName:x`Agent`,field:`ua`,width:60,hideUnder:!_||`md`,valueGetter:(e,t)=>{var n;return(n=t.extra)==null?void 0:n.ua},renderCell:({value:e})=>se(e)},{field:`host`,headerName:x`Host`,width:100,hideUnder:!b||`md`,valueGetter:(e,t)=>{var n;return(n=t.extra)==null?void 0:n.host}},{field:`notes`,headerName:x`Notes`,width:110,hideUnder:`sm`,cellClassName:`wrap`,renderCell:({value:e})=>e&&(0,W.createElement)(v,{sx:{whiteSpace:`pre-wrap`}},e)},{field:`uri`,headerName:x`URI`,flex:2,minWidth:100,sx:{wordBreak:`break-all`},mergeRender:{method:{},status:{}},renderCell:({value:e,row:t})=>{var n;let[r,i]=te(`?`,e).map(e=>ie(e)),a=(n=t.extra)==null?void 0:n.ul;if(U.default.isArray(a))return r+a.join(` + `);if(!r.startsWith(`/~/api/`))return[r,i&&(0,W.createElement)(v,{key:0,component:`span`,sx:{color:`text.secondary`,fontSize:`smaller`}},`?`,i)];let o=r.slice(w.length),s=i&&`: `+Array.from(new URLSearchParams(i)).map(e=>{var t;return`${e[0]}=${(t=T(e[1]))==null?e[1]:t}`}).join(` ; `);return x(`API {name}{params}`,{name:o,params:s})}},{field:`agentText`,valueGetter:(e,t)=>{var n;return(n=t.extra)==null?void 0:n.ua},headerName:x`Agent text`,flex:2,hideUnder:!0}]}));function Ne(e){if(!e)return;let{extra:t}=e;if((t!=null&&t.country||e.country)&&!g&&re(!0),t!=null&&t.ua&&!_&&y(!0),t!=null&&t.host&&!b&&S(!0),e.uri){var r,i,a;let o=e.method===`PUT`||(t==null?void 0:t.ul),s=o&&n(`?`,e.uri).includes(`partial=`);o&&(e.length=((r=t==null?void 0:t.size)==null?0:r)+(!s&&Number((i=e.uri.match(/\?.*resume=(\d+)/))==null?void 0:i[1])||0));let c=(t==null?void 0:t.speed)&&ve(t.speed,{sep:`\xA0`});e.notes=t!=null&&t.dl?x(c?`log_full_download_at_speed`:`log_full_download`,{speed:c}):o?x(s?c?`log_partial_upload_at_speed`:`log_partial_upload`:c?`log_upload_at_speed`:`log_upload`,{speed:c}):e.status===401&&(a=e.uri)!=null&&a.startsWith(`/~/api/loginSrp`)?x(t!=null&&t.u?`log_login_failed_for_user`:`log_login_failed`,{username:t==null?void 0:t.u}):U.default.map(t==null?void 0:t.params,(e,t)=>`${t}: ${e}\n`).join(``)+(e.notes||``),t!=null&&t.aborted&&(e.notes+=x` (aborted)`)}return e}}function Oe(e,t){let n=/^(.+?) (.+?) (.+?) \[(.{11}):(.{14})] "(\w+) ([^"]+) HTTP\/\d.\d" (\d+) (-|\d+) ?(.*)/.exec(e);if(!n)return;let[,r,,i,a,o,s,c,l,u,d]=n;return{id:t,ip:r,user:i===`-`?void 0:i,ts:new Date(a+` `+o),method:s,uri:c,status:Number(l),length:u===`-`?void 0:Number(u),extra:T(T(d))||void 0}}export{X as LogFile,Ee as default,Ce as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-8BhlS34s.js";import{$ as t,B as n,En as r,Et as i,F as a,I as o,J as s,K as c,L as l,Ln as u,Mn as d,Mt as f,Ot as p,Qt as m,R as h,Rn as g,St as _,Ut as v,V as y,Vn as b,Xt as x,Yt as S,Z as C,_r as w,an as T,ar as E,at as D,ct as O,dt as k,et as A,f as j,fr as M,ft as ee,g as te,h as N,i as P,in as F,it as I,mr as L,on as R,or as z,q as B,un as V,v as H,w as U,yr as W,z as G,zn as K}from"./index-DUFnYPeE.js";import{c as q,n as J,r as Y}from"./icons-D6k8t08O.js";import{LogFile as X,t as ne}from"./LogsPage-BjPjQ5no.js";var Z=e(w()),Q=e(W());function re({setTitleSide:e}){return e((0,Q.useMemo)(()=>(0,Q.createElement)(m,{severity:`info`,sx:{display:{xs:`none`,sm:`inherit`}}},T`proxy_connections_notice`),[])),(0,Q.createElement)(Q.Fragment,{},(0,Q.createElement)(ie),(0,Q.createElement)(ae))}function ie(){var e,t;let{data:o,element:s,reload:c}=a(`get_status`);d(c,1e4);let{data:l}=L(`get_connection_stats`),[f,p]=(0,Q.useState)(!1),m=C(`md`),h=C(`sm`),g=C(`xl`),_=V({locale:F,maxTokens:2,skipZeroes:!0});return s||(0,Q.createElement)(S,{sx:{display:`flex`,flexWrap:`wrap`,gap:{xs:.5,md:1},mb:{xs:1,sm:2}}},(f||m)&&v(`started`,{label:T`Uptime`,render:e=>_(Date.now()-+new Date(e)),title:e=>T(`started_at_colon`,{startedAt:i(e)})}),(f||h)&&v(`sent_got`,{render:e=>({[T`Sent`]:u(e[0]),[T`Got`]:u(e[1])}),title:e=>T(`since_timestamp`,{timestamp:i(e[2])}),onDelete:()=>D(T`Reset stats?`).then(e=>e&&M(`clear_persistent`,{k:[`totalSent`,`totalGot`]}).then(()=>I(T`Done`,`success`),I))}),v(`outSpeedKb`,{label:T`Outgoing traffic`,render:$,minWidth:`8.5em`}),v(`inSpeedKb`,{label:T`Input`,render:$,minWidth:`8.5em`}),(f||h)&&v(`ips`,{label:T`IPs`,title:()=>l&&T(`connections_count`,{n:l.connections,count:l.connections.toLocaleString(F)})}),(m||f||(o==null||(e=o.http)==null?void 0:e.error))&&v(`http`,{label:T`HTTP`,render:y}),(m||f||(o==null||(t=o.https)==null?void 0:t.error))&&v(`https`,{label:T`HTTPS`,render:y}),(g||f)&&v(`ram`,{label:T`RAM`,render:u}),!g&&(0,Q.createElement)(n,{size:`small`,icon:f?J:H,title:T`Show more`,onClick:()=>p(e=>!e)}));function v(e,{label:t,minWidth:n,render:i,title:a,onDelete:s}={}){var c;let u=(c=Z.default.get(l,e))==null?Z.default.get(o,e):c;if(u===void 0)return null;let d,f=a==null?void 0:a(u);return i&&(u=i(u),Array.isArray(u)&&([u,d]=u)),t||(t=R(Z.default.capitalize(e.replaceAll(`_`,` `)))),B(f,void 0,(0,Q.createElement)(x,{variant:`filled`,color:d,onDelete:s,label:r(` – `,Z.default.map(Z.default.isPlainObject(u)?u:{[t]:u},(e,t)=>(0,Q.createElement)(`span`,{style:{display:`inline-block`,minWidth:n}},(0,Q.createElement)(`b`,{},t),`: `,e)))}))}function y(e){return e.listening?[`port `+e.port,`success`]:e.error?[e.error,`error`]:`off`}}function ae(){var e;let{list:r,error:i,props:d,initializing:m}=o(`get_connections`),x=a(`get_config`,{only:[z.geo_enable]}),{monitorOnlyFiles:w}=ee(),{pause:D,pauseButton:I}=t(),L=(0,Q.useMemo)(()=>{var e;return(e=w?r==null?void 0:r.filter(e=>e.op):r)==null?[]:e},[!D&&r,w]),R=C(`md`),[B,V]=A(T`Show log`,T`Hide log`,e=>({icon:f,sx:{rotate:e?0:`180deg`}}),k.monitorWithLog);k.monitorWithLog=B;let H=R&&B?6:0;return(0,Q.createElement)(Q.Fragment,{},(0,Q.createElement)(G,{},(0,Q.createElement)(G,{flex:1},(0,Q.createElement)(_,{fullWidth:!1,value:w,onChange:e=>k.monitorOnlyFiles=e,options:{[T`Show downloads+uploads`]:!0,[T`Show all connections`]:!1}})),R&&(0,Q.createElement)(G,{flex:1,justifyContent:`space-between`},B?T`Live log`:(0,Q.createElement)(S),V)),(0,Q.createElement)(v,{container:!0,sx:{flex:1},columnSpacing:1},(0,Q.createElement)(v,{size:12-H,sx:c},(0,Q.createElement)(U,{persist:`connections`,error:i,initializing:m,rows:L,getRowId:e=>e.ip+`:`+e.port,fillFlex:!0,noRows:w&&`No downloads/uploads at the moment`,actionsHeader:I,footerSide:()=>(0,Q.createElement)(G,{},(0,Q.createElement)(l,{size:`small`,icon:q,labelIf:`xl`,confirm:T`Disconnecting all connections but localhost. Continue?`,onClick:()=>M(`disconnect`,{allButLocalhost:!0}).then(e=>O(T(`Disconnected: {result}`,{result:e.result})))},T`Disconnect all`)),columns:[{field:`ip`,headerName:T`Address`,flex:1,maxWidth:400,renderCell:({row:e,value:t})=>b(t)+` :`+e.port,mergeRender:{user:{sx:{display:`flex`,justifyContent:`space-between`,gap:`.5em`}},agent:{},country:{}}},{field:`country`,headerName:T`Country`,hideUnder:((e=x.data)==null?void 0:e[z.geo_enable])!==!0||`md`,renderCell:({value:e,row:t})=>(0,Q.createElement)(h,{code:e,ip:t.ip})},{field:`user`,headerName:T`User`,hideUnder:`md`},{field:`started`,headerName:T`Started`,type:`dateTime`,width:96,hideUnder:`lg`,valueFormatter:e=>new Date(e).toLocaleTimeString(F)},{field:`path`,headerName:T`File`,flex:1.5,renderCell({value:e,row:t}){var n;if(!e||!t.op)return;let r={display:`flex`,alignItems:`center`,height:`100%`,minWidth:0,gap:1};return t.op===`browsing`?(0,Q.createElement)(S,{sx:r},(0,Q.createElement)(S,{},e,(0,Q.createElement)(S,{sx:{fontSize:`x-small`}},T`browsing`))):(0,Q.createElement)(S,{sx:r},(0,Q.createElement)(y,{icon:t.archive?Y:t.op===`upload`?N:P,progress:(n=t.opProgress)==null?t.opOffset:n,offset:t.opOffset,title:p(g(t.opProgress)+(t.opTotal?`
|
|
2
|
+
`+T(`total_size`,{totalSize:u(t.opTotal)}):``))}),(0,Q.createElement)(S,{sx:{lineHeight:`1.2em`,minWidth:0}},t.archive?(0,Q.createElement)(S,{},e,(0,Q.createElement)(S,{sx:{fontSize:`x-small`,color:`text.secondary`}},t.archive)):E(e==null?void 0:e.lastIndexOf(`/`),t=>(0,Q.createElement)(S,{},e.slice(t+1),t>0&&(0,Q.createElement)(S,{sx:{fontSize:`x-small`,color:`text.secondary`}},e.slice(0,t))))))}},{field:`outSpeedKb`,headerName:T`Speed`,width:110,hideUnder:`sm`,type:`number`,renderCell:({value:e,row:t})=>$(Math.max(e||0,t.inSpeedKb||0)||void 0),mergeRender:{sent:{sx:{fontSize:`small`,textAlign:`right`}}}},{field:`sent`,headerName:T`Sent`,type:`number`,hideUnder:`md`,renderCell:({value:e,row:t})=>u(Math.max(e||0,t.got||0))},{field:`v`,headerName:T`Protocol`,align:`center`,hideUnder:1/0,renderCell:({value:e,row:t})=>(0,Q.createElement)(Q.Fragment,{},T(`ip_version`,{version:e}),t.secure&&s(te,T`HTTPS`,{opacity:.5}))},{field:`agent`,headerName:T`Agent`,hideUnder:`lg`,renderCell:({value:e})=>j(e)}],actionsProps:{hideUnder:`sm`},actions:({row:e})=>[(0,Q.createElement)(n,{icon:q,title:T`Disconnect`,doneMessage:!0,onClick:()=>M(`disconnect`,Z.default.pick(e,[`ip`,`port`])).then(e=>e.result>0)}),(0,Q.createElement)(ne,{ip:e.ip,comment:`From monitoring`,disabled:e.ip===(d==null?void 0:d.you)})]})),R&&B&&(0,Q.createElement)(v,{size:H,sx:c},(0,Q.createElement)(X,{file:`${z.log}|${z.error_log}`,filter:w?(e=>!e.uri.startsWith(`/~/`)):void 0,fillFlex:!0,compact:!1,limit:1e3,getRowClassName:({row:e})=>e.status<400?``:`isError`,sx:{"& .isError":{backgroundColor:`#a443`}}}))))}function $(e){return e===void 0?``:K(e*1e3,{digits:1})}export{re as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-8BhlS34s.js";import{Cn as t,Ct as n,F as r,Fn as i,Ft as a,G as o,H as s,J as c,Jt as l,M as u,N as d,Nn as f,On as p,Ot as m,Pn as h,Pt as g,Qn as _,S as v,Sn as y,St as b,Tt as ee,U as x,Vn as te,W as S,Wt as C,Y as ne,Yt as w,Z as re,_n as ie,_r as ae,_t as oe,a as T,an as E,ar as D,at as O,bt as k,ct as se,dt as A,fr as ce,ft as le,it as j,j as ue,l as de,lr as M,nn as fe,or as N,pt as pe,s as me,sn as he,t as ge,tr as _e,tt as P,u as F,ur as I,vr as ve,vt as L,xn as ye,yr as R}from"./index-DUFnYPeE.js";import{t as be}from"./icons-D6k8t08O.js";import{t as xe}from"./routing-DvS2UalH.js";var z=e(R()),B=e(ae()),V=`//---`;function Se(e){let t=e.split(RegExp(`(?:^|
|
|
2
|
+
)`+B.default.escapeRegExp(V),`g`)),n=[],r=!0;for(let e of t)if(r){r=!1;let t=e.trim();t&&n.push({name:``,code:t})}else{let[t,r]=_(`
|
|
3
|
+
`,e);n.push({name:t,code:r})}return n}var H=F();I();var U,Ce=[`net`,`frontend`,`uploads`,`others`],we=y({changes:{}});t(A,e=>{e.some(e=>e[1][0]===`config`)&&Te()});function W(){var e,t,n;let{data:_,reload:y,element:C}=r(`get_config`,{omit:[`vfs`]}),ae=le(),{changes:F}=ye(we),I=r(_&&`get_status`),R=I.data,W=I.reload,ke=()=>d(e=>{U&&Object.assign(U,e),setTimeout(W,1e3),setTimeout(W,2e3)});(0,z.useEffect)(()=>void W(),[_]);let Ae=re(`sm`),je=(0,z.useRef)(null),Me=p(),[Ne,Pe]=xe(`options`,Ce),G={},K=(e=r(`get_admins`).data)==null?void 0:e.list,q=R==null?void 0:R.connectionAddress,J=window.location.hostname===`localhost`,Fe=q==null?void 0:q.includes(`:`),Ie=[{label:E`any`,value:``,disabled:!1},{label:E`any IPv4`,value:`0.0.0.0`,disabled:!J&&(!q||Fe)},{label:E`any IPv6`,value:`::`,disabled:!J&&(!q||!Fe)},...[`127.0.0.1`,`::1`].map(e=>({label:e,value:e,disabled:!J&&q!==e})),...(R==null||(t=R.ips)==null?void 0:t.map(e=>({value:e,disabled:q!==e})))||[]];if(C)return C;if(I.error)return I.element;let Y=U===_?ae.config:A.config=U=_,Le={comp:k,min:1,unit:`KB/s`,placeholder:E`no limit`,sm:6},X={comp:k,placeholder:E`no limit`,toField:e=>e||``,sm:4},Z=Y[N.https_port]>=0;return(0,z.createElement)(oe,{sx:{maxWidth:`60em`},values:Y,set(e,t){A.config[t]=e},stickyBar:!0,onError:j,onValidation(e,t){if(!t)return;let n=e&&Object.keys(e).find(t=>e[t]);n&&G[n]!==void 0&&Pe(G[n])},save:M({children:E`Save`,ref:je,onClick:Q},ne(Object.keys(F).length>0)),barSx:{gap:2},addToBar:[(0,z.createElement)(l,{onClick(){y(),W()},startIcon:(0,z.createElement)(ee)},E`Reload`),(0,z.createElement)(l,{component:fe,href:`/config`,startIcon:(0,z.createElement)(be)},Ae?E`Config file`:E`File`)],defaults(){return{xs:6}},fields:Re({Net:[{k:N.port,comp:Ee,xs:12,sm:4,label:E`HTTP port`,status:(R==null?void 0:R.http)||!0,suggestedPort:80},{k:N.https_port,comp:Ee,xs:12,sm:4,label:E`HTTPS port`,status:(R==null?void 0:R.https)||!0,suggestedPort:443,onChange(e){return e>=0&&!Z&&!Y[N.cert]&&ke(),e}},{k:N.upnp_enabled,comp:L,xs:12,sm:4,label:E`UPnP/SSDP`,helperText:E`Port forwarding and double-NAT detection`},Z&&{k:N.cert,comp:T,sm:4,label:E`HTTPS certificate file`,helperText:P(`HTTPS#certificate`,E`What is this?`),error:D(R==null?void 0:R.https.error,e=>ue(e)&&(R.https.listening?e:[e,` - `,(0,z.createElement)(s,{key:`fix`,onClick:ke},E`make one`)]))},Z&&M({k:N.private_key,comp:T,sm:4,label:E`HTTPS private key file`},D(R==null?void 0:R.https.error,e=>u(e)?{error:!0,helperText:e}:null)),Z&&{k:N.force_https,comp:L,label:E`Force HTTPS`,sm:4,disabled:!Z||Y[N.port]<0,helperText:E`Not applied to localhost. Doesn't work with proxies.`},{k:N.listen_interface,comp:b,label:E`Listen interface`,sm:4,afterList:Ie.some(e=>e.disabled)&&(0,z.createElement)(w,{sx:{p:`8px 16px 0`,borderTop:`1px solid`,fontSize:`small`}},E`If an address is disabled, connect through it to select it`),options:Ie},M(M({k:N.max_kbps},Le),{},{sm:4,label:E`Limit output`,helperText:E`Doesn't apply to localhost`}),M(M({k:N.max_kbps_per_ip},Le),{},{sm:4,label:E`Limit output per-IP`}),M(M({k:N.max_downloads},X),{},{label:E`Max downloads`,helperText:E`Number of simultaneous downloads`}),M(M({k:N.max_downloads_per_ip},X),{},{label:E`Max downloads per-IP`}),M(M({k:N.max_downloads_per_account},X),{},{label:E`Max downloads per-account`,helperText:E`Overrides other limits`}),{k:N.admin_net,comp:x,xs:12,sm:6,label:E`Admin-panel accessible from`,placeholder:E`any address`,helperText:E`admin_net_localhost_hint`},{k:N.localhost_admin,comp:L,xs:12,sm:6,label:E`Consider localhost access as Admin`,getError:e=>!e&&(K==null?void 0:K.length)===0&&E`First create at least one admin account`,helperText:E`Access admin-panel without entering credentials`},{k:N.proxies,comp:k,xs:6,md:3,max:9,label:E`Number of incoming HTTP proxies`,placeholder:E`none`,error:ge(Y,R),helperText:Y.proxies>0?(0,z.createElement)(w,{component:`span`,sx:{color:`warning.main`}},E`Configure your firewall to allow only trusted proxies to connect to HFS.`):E`Necessary to detect users' IP`},{k:N.outbound_interface,comp:b,xs:6,md:3,label:E`Outbound interface`,options:[{label:E`automatic`,value:``},...(R==null||(n=R.ips)==null?void 0:n.map(e=>({value:e})))||[]]},{k:N.outbound_proxy,xs:6,md:4,label:E`Outbound proxy`,placeholder:E`none`,helperText:E`URL form`,getError:e=>_e(()=>e&&new URL(e)&&``,()=>`Invalid URL`)},{k:N.allowed_referer,comp:De,md:2,placeholder:E`any`,label:E`Links from other websites`,helperText:E`In case another website is linking your files`},{k:N.block,label:!1,comp:v,xs:12,prepend:!0,sm:!0,autoRowHeight:!0,form:{sx:{maxWidth:`40em`}},fields:[{k:`ip`,label:E`Blocked IP`,sm:12,required:!0,wrap:!0,$width:2,comp:x,$column:{mergeRender:{comment:{},expire:{}}},helperText:E`block_self_warning`},{k:`expire`,label:E`Expire`,$type:`dateTime`,minDate:new Date,sm:6,$hideUnder:`sm`,helperText:E`Leave empty for no expiration`},{k:`disabled`,$type:`boolean`,label:E`Enabled`,helperText:E`geo_rule_disable_hint`,toField:e=>!e,fromField:e=>!e||void 0,sm:6,$width:80},{k:`comment`,label:E`Comment`,$hideUnder:`sm`}]}],"Front-end":[{k:N.file_menu_on_link,comp:b,label:E`Access file menu`,md:3,options:{[E`by clicking on file name`]:!0,[E`by dedicated button`]:!1}},{k:N.menu_at_top,comp:b,md:3,label:E`Menu panel`,options:{[E`at top`]:!0,[E`at bottom`]:!1}},{k:N.title,md:6,helperText:E`You can see this in the tab of your browser`},{k:N.auto_play_seconds,comp:k,xs:6,sm:3,min:1,max:1e4,required:!0,label:E`Auto-play seconds delay`,helperText:m(E(`show_interface_default_help`,{docsUrl:f+`discussions/270`}))},{k:N.tile_size,comp:k,xs:6,sm:3,max:10,required:!0,label:E`Default tiles size`,helperText:P(`Tiles`,E`To enable tiles-mode`)},{k:N.theme,comp:b,xs:6,sm:3,options:i},{k:N.sort_by,comp:b,xs:6,sm:3,options:h},{k:N.invert_order,comp:L,xs:6,md:3},{k:N.folders_first,comp:L,xs:6,md:3},{k:N.sort_numerics,comp:L,xs:6,md:3,label:E`Sort numeric names`},{k:N.title_with_path,comp:L,xs:6,md:3},{k:N.favicon,comp:T,placeholder:E`None`,fileMask:`*.ico|`+he,xs:12,sm:6,helperText:E`The icon associated to your website`},{k:N.show_uploader,label:E`Show uploader to`,comp:me,xs:!0},{k:N.page_size,comp:k,xs:!0,min:1,required:!0,helperText:E`Entries per page`}],Uploads:[{k:N.dont_overwrite_uploading,comp:L,md:4,label:E`Uploads don't overwrite`,helperText:E`Files are automatically numbered (frontend only)`},{k:N.split_uploads,comp:k,unit:`MB`,md:2,step:.1,min:.1,fromField:e=>e*1e6,toField:e=>e?e/1e6:null,placeholder:E`disabled`,label:E`Split uploads in chunks`,helperText:E`Overcome proxy limits (frontend only)`},{k:N.delete_unfinished_uploads_after,comp:k,md:3,min:0,unit:E`seconds`,required:!0,label:E`Delete unfinished uploads after`},{k:N.min_available_mb,comp:k,md:3,min:0,unit:`MBytes`,placeholder:E`None`,label:E`Min. available disk space`,helperText:E`Reject uploads that don't comply`},{k:N.require_upload_approval_for_active_content,comp:L,xs:12,sm:6,md:4,label:E`Require approval for uploaded HTML/SVG`,helperText:E`Prevents running scripts on your website`},{k:N.own_upload_delete_hours,comp:k,xs:12,sm:6,md:3,min:0,unit:E`hours`,required:!0,label:E`Uploaders can delete their files for`,helperText:E`Set to 0 to disable`}],Others:[{k:N.show_hidden_files,comp:L,sm:3,label:E`Include hidden files`},{k:N.descript_ion_encoding,sm:3,label:E`Encoding of file DESCRIPT.ION`,comp:b,disabled:Y[N.comments_storage]===`attr`,options:[`utf8`,720,775,819,850,852,862,869,874,808,...B.default.range(1250,1257),10029,20866,21866]},{k:N.comments_storage,comp:b,xs:12,sm:6,options:{[E`in file DESCRIPT.ION`]:``,[E`in file attributes`]:`attr`,[E`in file attributes + load DESCRIPT.ION`]:`attr+ion`}},{k:N.keep_session_alive,comp:L,sm:6,md:6,helperText:E`frontend_page_open_session_hint`},{k:N.session_duration,comp:k,sm:3,md:3,min:5,unit:`seconds`,required:!0},{k:N.size_1024,label:E`KB size`,comp:b,sm:3,options:{1e3:!1,1024:!0}},{k:N.open_browser_at_start,comp:L,label:E`Open Admin-panel at start`,xs:12,sm:6,md:3,helperText:E`Browser is automatically launched with HFS`},{k:N.zip_calculate_size_for_seconds,comp:k,xs:12,sm:6,md:3,unit:`seconds`,required:!0,label:E`Calculate ZIP size for`,helperText:E`download_progress_time_hint`},{k:N.mime,comp:v,label:E`Custom MIME types`,reorder:!0,prepend:!0,xs:12,sm:12,md:6,fields:[{k:`v`,label:E`Mime type`,placeholder:E`auto`,$width:2,helperText:E`Leave empty to get automatic value`},{k:`k`,label:E`File mask`,helperText:(0,z.createElement)(S),$width:1,$column:{renderCell:({value:e,id:t})=>(0,z.createElement)(`code`,{},e,e===`*`&&t<B.default.size(Y[N.mime])-1&&c(pe,m(E`mime_order_hint`),{color:`warning.main`,ml:1}))}}],toField:e=>Object.entries(e||{}).map(([e,t])=>({k:e,v:t})),fromField:e=>Object.fromEntries(e.map(e=>[e.k,e.v||`auto`])),helperText:E`Most MIME types are detected automatically`},{k:N.force_webdav_login,comp:Oe,sm:!0,label:E`WebDAV force login`,fallbackRE:`Microsoft-WebDAV`,helperText:[E`force_login_compat_help`,P(`webdav`,E`Why?`)]},Y[N.force_webdav_login]!==!0&&{k:N.webdav_initial_auth,comp:Oe,sm:6,label:E`WebDAV initial auth`,helperText:E`force_login_once_help`},{k:N.server_code,comp:v,xs:12,fields:[{k:`name`,label:E`Name`,$width:.4,$render:({value:e})=>e.trim()||(0,z.createElement)(`i`,{},E`no name`)},{k:`code`,label:E`Code`,comp:de,lang:`js`,$hideUnder:`sm`,$render:({value:e})=>typeof e==`string`?(0,z.createElement)(ie,{},(0,H.highlight)(e,H.languages.js,`js`)):`?`,helperText:m(E(`server_code_plugin_help`,{docsUrl:f+`blob/main/dev-plugins.md`}))}],toField:e=>!e||typeof e!=`string`?[]:Se(e),fromField:ze,applyButton:{onClick:e=>Q({[N.server_code]:ze(e)})}}]})});function Re(e){let t=Object.entries(e),n=[];for(let[e,[,r]]of t.entries())for(let t of r)t?(G[t.k]=e,n.push(M(M({},t),{},{parentProps:M(M({},t.parentProps),{},{hidden:e!==Ne})}))):n.push(t);return[{k:``,xs:12,comp:(0,z.createElement)(g,{value:Ne,variant:`scrollable`,scrollButtons:`auto`,onChange(e,t){Pe(t)}},t.map(([e])=>(0,z.createElement)(a,{key:e,label:E(e),sx:{minWidth:0}}))),parentProps:{ref:Me,sx:{position:`sticky`,top:{xs:56,sm:64,lg:0},zIndex:2,bgcolor:`background.paper`}}},...n]}function ze(e){return e.map(({name:e=``,code:t=``},n)=>n||e?`${V}${e}\n${t}\n`:t).join(``)}function Q(){return $.apply(this,arguments)}function $(){return $=ve(function*(e={}){var t,n;let r=M(M({},F),e);if(B.default.isEmpty(r))return se(E`Nothing to save`);let i=window.location,a=[N.port,N.https_port];if(a.every(e=>r[e]!==void 0))return j(E`change_both_ports_warning`,`warning`);let s=[R==null||(t=R.http)==null?void 0:t.listening,R==null||(n=R.https)==null?void 0:n.listening],c=location.protocol===`https:`;c&&(a.reverse(),s.reverse());let l=r[a[0]],u=Y[a[1]],d=u>0&&s[1],f=c?`http`:`https`;if(l<0&&!d)return j(E(`cannot_disable_only_fixed_port`,{otherProtocol:f}),`warning`);if(l===0&&!d)return j(E(`cannot_randomize_only_fixed_port`,{otherProtocol:f}),`warning`);let p=l>0&&l!=i.port;if(p&&!(yield O(E`You are changing the port and you may be disconnected`)))return;let m=N.cert in r||N.private_key in r;if(c&&m&&!(yield O(E`You may disrupt https service, kicking you out`)))return;yield ce(`set_config`,{values:r}),N.split_uploads in r&&(yield j(E`split_uploads_reload_notice`,`warning`));let h=te(i.hostname),g=i.pathname+i.hash,v=l<=0?`${c?`http:`:`https:`}//${h}:${u}${g}`:p?`${i.protocol}//${h}:${l||Y[a[0]]}${g}`:yield D(`https://${h}:${i.port}${g}`,e=>{var t;return!c&&((t=r[N.force_https])==null?_[N.force_https]:t)&&fetch(e).then(()=>e,()=>0)});if(v)return yield j(E`redirect_warning`,`warning`),window.location.href=v;let y=N.port in r||N.https_port in r;setTimeout(W,y||m?1e3:0),Object.assign(U,r),Te(),o(!1,je.current)}),$.apply(this,arguments)}}function Te(){let e={};if(A.config)for(let[t,n]of Object.entries(A.config))JSON.stringify(n)!==JSON.stringify(U==null?void 0:U[t])&&(e[t]=n);we.changes=e}function Ee({label:e,value:t,onChange:n,setApi:r,status:i,suggestedPort:a=1,error:o,helperText:s}){var c;let l=(0,z.useRef)(a);t>0&&(l.current=t);let d=Number(t>0?l.current:t)||0,f=i==null?void 0:i.error;return f&&(ue(f)||u(f)?f=void 0:o=!0),(0,z.createElement)(w,{},(0,z.createElement)(w,{sx:{display:`flex`}},(0,z.createElement)(b,{sx:{flexGrow:1},label:e,error:o,value:d,options:[{label:E`off`,value:-1},{label:E`random`,value:0},{label:E`choose`,value:l.current}],onChange:n}),t>0&&(0,z.createElement)(k,{label:E`Number`,fullWidth:!1,value:t,onChange:n,setApi:r,error:o,min:1,max:65535,helperText:s,sx:{minWidth:`5.5em`}})),i&&(0,z.createElement)(C,{error:o},i===!0?`...`:(c=f)==null?(i==null?void 0:i.listening)&&E(`Correctly working on port {port}`,{port:i.port}):c))}function De({label:e,value:t,onChange:r,error:i}){let a=!t||t===`-`,o=`example.com`;return(0,z.createElement)(w,{sx:{display:`flex`}},(0,z.createElement)(b,{label:e,value:a?t:o,options:{[E`allow all`]:``,[E`forbid all`]:`-`,[E`allow some`]:o},onChange:r,error:i,sx:a?void 0:{maxWidth:`11em`}}),!a&&(0,z.createElement)(n,{label:E`Domain to allow`,value:t,placeholder:`example.com`,onChange:r,error:i,helperText:(0,z.createElement)(S)}))}function Oe({label:e,value:t,onChange:r,error:i,helperText:a,fallbackRE:o=`.*`}){let[s,c]=(0,z.useState)(``),l=typeof t==`string`;(0,z.useEffect)(()=>c(l?t:o),[t]);let u=(0,z.useId)();return(0,z.createElement)(w,{},(0,z.createElement)(w,{sx:{display:`flex`}},(0,z.createElement)(b,{label:e,value:t,onChange:r,error:i,"aria-describedby":u,options:{[E`Off`]:!1,[E`Always`]:!0,[E`RegEx`]:s},sx:l?{maxWidth:`9em`}:void 0}),l&&(0,z.createElement)(n,{label:E`User-Agent regex`,value:t,onChange:r,error:i})),(0,z.createElement)(C,{id:u},a))}export{W as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-8BhlS34s.js";import{Ft as t,Pt as n,an as r,n as i,r as a,yr as o}from"./index-DUFnYPeE.js";import{t as s}from"./routing-DvS2UalH.js";var c=e(o()),l=[{label:r`Installed`,path:`installed`,Pane:a},{label:r`Get more`,path:`get`,Pane:i},{label:r`Check updates`,path:`updates`,Pane:()=>(0,c.createElement)(a,{updates:!0})}],u=l.map(e=>e.path);function d(){let[e,r]=s(`plugins`,u),{Pane:i}=l[e];return(0,c.createElement)(c.Fragment,{},(0,c.createElement)(n,{value:e,onChange(e,t){r(t)}},l.map(e=>(0,c.createElement)(t,{key:e.path,label:e.label}))),(0,c.createElement)(i))}export{d as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`af`,weekdays:`Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag`.split(`_`),months:`Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember`.split(`_`),weekStart:1,weekdaysShort:`Son_Maa_Din_Woe_Don_Vry_Sat`.split(`_`),monthsShort:`Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des`.split(`_`),weekdaysMin:`So_Ma_Di_Wo_Do_Vr_Sa`.split(`_`),ordinal:function(e){return e},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD/MM/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY HH:mm`,LLLL:`dddd, D MMMM YYYY HH:mm`},relativeTime:{future:`oor %s`,past:`%s gelede`,s:`'n paar sekondes`,m:`'n minuut`,mm:`%d minute`,h:`'n uur`,hh:`%d ure`,d:`'n dag`,dd:`%d dae`,M:`'n maand`,MM:`%d maande`,y:`'n jaar`,yy:`%d jaar`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`am`,weekdays:`እሑድ_ሰኞ_ማክሰኞ_ረቡዕ_ሐሙስ_አርብ_ቅዳሜ`.split(`_`),weekdaysShort:`እሑድ_ሰኞ_ማክሰ_ረቡዕ_ሐሙስ_አርብ_ቅዳሜ`.split(`_`),weekdaysMin:`እሑ_ሰኞ_ማክ_ረቡ_ሐሙ_አር_ቅዳ`.split(`_`),months:`ጃንዋሪ_ፌብሯሪ_ማርች_ኤፕሪል_ሜይ_ጁን_ጁላይ_ኦገስት_ሴፕቴምበር_ኦክቶበር_ኖቬምበር_ዲሴምበር`.split(`_`),monthsShort:`ጃንዋ_ፌብሯ_ማርች_ኤፕሪ_ሜይ_ጁን_ጁላይ_ኦገስ_ሴፕቴ_ኦክቶ_ኖቬም_ዲሴም`.split(`_`),weekStart:1,yearStart:4,relativeTime:{future:`በ%s`,past:`%s በፊት`,s:`ጥቂት ሰከንዶች`,m:`አንድ ደቂቃ`,mm:`%d ደቂቃዎች`,h:`አንድ ሰዓት`,hh:`%d ሰዓታት`,d:`አንድ ቀን`,dd:`%d ቀናት`,M:`አንድ ወር`,MM:`%d ወራት`,y:`አንድ ዓመት`,yy:`%d ዓመታት`},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD/MM/YYYY`,LL:`MMMM D ፣ YYYY`,LLL:`MMMM D ፣ YYYY HH:mm`,LLLL:`dddd ፣ MMMM D ፣ YYYY HH:mm`},ordinal:function(e){return e+`ኛ`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t=`يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر`.split(`_`),n={1:`١`,2:`٢`,3:`٣`,4:`٤`,5:`٥`,6:`٦`,7:`٧`,8:`٨`,9:`٩`,0:`٠`},r={"١":`1`,"٢":`2`,"٣":`3`,"٤":`4`,"٥":`5`,"٦":`6`,"٧":`7`,"٨":`8`,"٩":`9`,"٠":`0`},i=/[١٢٣٤٥٦٧٨٩٠]/g,a=/،/g,o=/\d/g,s=/,/g,c={name:`ar`,weekdays:`الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت`.split(`_`),weekdaysShort:`أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت`.split(`_`),weekdaysMin:`ح_ن_ث_ر_خ_ج_س`.split(`_`),months:t,monthsShort:t,weekStart:6,meridiem:function(e){return e>12?`م`:`ص`},relativeTime:{future:`بعد %s`,past:`منذ %s`,s:`ثانية واحدة`,m:`دقيقة واحدة`,mm:`%d دقائق`,h:`ساعة واحدة`,hh:`%d ساعات`,d:`يوم واحد`,dd:`%d أيام`,M:`شهر واحد`,MM:`%d أشهر`,y:`عام واحد`,yy:`%d أعوام`},preparse:function(e){return e.replace(i,function(e){return r[e]}).replace(a,`,`)},postformat:function(e){return e.replace(o,function(e){return n[e]}).replace(s,`،`)},ordinal:function(e){return e},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`D/M/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY HH:mm`,LLLL:`dddd D MMMM YYYY HH:mm`}};e.locale(c,null,!0);export{c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`ar-dz`,weekdays:`الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت`.split(`_`),months:`جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر`.split(`_`),weekdaysShort:`احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت`.split(`_`),monthsShort:`جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر`.split(`_`),weekdaysMin:`أح_إث_ثلا_أر_خم_جم_سب`.split(`_`),ordinal:function(e){return e},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD/MM/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY HH:mm`,LLLL:`dddd D MMMM YYYY HH:mm`},meridiem:function(e){return e>12?`م`:`ص`},relativeTime:{future:`في %s`,past:`منذ %s`,s:`ثوان`,m:`دقيقة`,mm:`%d دقائق`,h:`ساعة`,hh:`%d ساعات`,d:`يوم`,dd:`%d أيام`,M:`شهر`,MM:`%d أشهر`,y:`سنة`,yy:`%d سنوات`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`ar-iq`,weekdays:`الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت`.split(`_`),months:`كانون الثاني_شباط_آذار_نيسان_أيار_حزيران_تموز_آب_أيلول_تشرين الأول_ تشرين الثاني_كانون الأول`.split(`_`),weekStart:1,weekdaysShort:`أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت`.split(`_`),monthsShort:`كانون الثاني_شباط_آذار_نيسان_أيار_حزيران_تموز_آب_أيلول_تشرين الأول_ تشرين الثاني_كانون الأول`.split(`_`),weekdaysMin:`ح_ن_ث_ر_خ_ج_س`.split(`_`),ordinal:function(e){return e},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD/MM/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY HH:mm`,LLLL:`dddd D MMMM YYYY HH:mm`},meridiem:function(e){return e>12?`م`:`ص`},relativeTime:{future:`في %s`,past:`منذ %s`,s:`ثوان`,m:`دقيقة`,mm:`%d دقائق`,h:`ساعة`,hh:`%d ساعات`,d:`يوم`,dd:`%d أيام`,M:`شهر`,MM:`%d أشهر`,y:`سنة`,yy:`%d سنوات`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`ar-kw`,weekdays:`الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت`.split(`_`),months:`يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر`.split(`_`),weekdaysShort:`احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت`.split(`_`),monthsShort:`يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر`.split(`_`),weekdaysMin:`ح_ن_ث_ر_خ_ج_س`.split(`_`),ordinal:function(e){return e},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD/MM/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY HH:mm`,LLLL:`dddd D MMMM YYYY HH:mm`},meridiem:function(e){return e>12?`م`:`ص`},relativeTime:{future:`في %s`,past:`منذ %s`,s:`ثوان`,m:`دقيقة`,mm:`%d دقائق`,h:`ساعة`,hh:`%d ساعات`,d:`يوم`,dd:`%d أيام`,M:`شهر`,MM:`%d أشهر`,y:`سنة`,yy:`%d سنوات`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`ar-ly`,weekdays:`الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت`.split(`_`),months:`يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر`.split(`_`),weekStart:6,weekdaysShort:`أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت`.split(`_`),monthsShort:`يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر`.split(`_`),weekdaysMin:`ح_ن_ث_ر_خ_ج_س`.split(`_`),ordinal:function(e){return e},meridiem:function(e){return e>12?`م`:`ص`},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`D/M/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY HH:mm`,LLLL:`dddd D MMMM YYYY HH:mm`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`ar-ma`,weekdays:`الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت`.split(`_`),months:`يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر`.split(`_`),weekStart:6,weekdaysShort:`احد_إثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت`.split(`_`),monthsShort:`يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر`.split(`_`),weekdaysMin:`ح_ن_ث_ر_خ_ج_س`.split(`_`),ordinal:function(e){return e},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD/MM/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY HH:mm`,LLLL:`dddd D MMMM YYYY HH:mm`},meridiem:function(e){return e>12?`م`:`ص`},relativeTime:{future:`في %s`,past:`منذ %s`,s:`ثوان`,m:`دقيقة`,mm:`%d دقائق`,h:`ساعة`,hh:`%d ساعات`,d:`يوم`,dd:`%d أيام`,M:`شهر`,MM:`%d أشهر`,y:`سنة`,yy:`%d سنوات`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`ar-sa`,weekdays:`الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت`.split(`_`),months:`يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر`.split(`_`),weekdaysShort:`أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت`.split(`_`),monthsShort:`يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر`.split(`_`),weekdaysMin:`ح_ن_ث_ر_خ_ج_س`.split(`_`),ordinal:function(e){return e},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD/MM/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY HH:mm`,LLLL:`dddd D MMMM YYYY HH:mm`},meridiem:function(e){return e>12?`م`:`ص`},relativeTime:{future:`في %s`,past:`منذ %s`,s:`ثوان`,m:`دقيقة`,mm:`%d دقائق`,h:`ساعة`,hh:`%d ساعات`,d:`يوم`,dd:`%d أيام`,M:`شهر`,MM:`%d أشهر`,y:`سنة`,yy:`%d سنوات`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`ar-tn`,weekdays:`الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت`.split(`_`),months:`جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر`.split(`_`),weekStart:1,weekdaysShort:`أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت`.split(`_`),monthsShort:`جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر`.split(`_`),weekdaysMin:`ح_ن_ث_ر_خ_ج_س`.split(`_`),ordinal:function(e){return e},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD/MM/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY HH:mm`,LLLL:`dddd D MMMM YYYY HH:mm`},meridiem:function(e){return e>12?`م`:`ص`},relativeTime:{future:`في %s`,past:`منذ %s`,s:`ثوان`,m:`دقيقة`,mm:`%d دقائق`,h:`ساعة`,hh:`%d ساعات`,d:`يوم`,dd:`%d أيام`,M:`شهر`,MM:`%d أشهر`,y:`سنة`,yy:`%d سنوات`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`az`,weekdays:`Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə`.split(`_`),weekdaysShort:`Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən`.split(`_`),weekdaysMin:`Bz_BE_ÇA_Çə_CA_Cü_Şə`.split(`_`),months:`yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr`.split(`_`),monthsShort:`yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek`.split(`_`),weekStart:1,formats:{LT:`H:mm`,LTS:`H:mm:ss`,L:`DD.MM.YYYY`,LL:`D MMMM YYYY г.`,LLL:`D MMMM YYYY г., H:mm`,LLLL:`dddd, D MMMM YYYY г., H:mm`},relativeTime:{future:`%s sonra`,past:`%s əvvəl`,s:`bir neçə saniyə`,m:`bir dəqiqə`,mm:`%d dəqiqə`,h:`bir saat`,hh:`%d saat`,d:`bir gün`,dd:`%d gün`,M:`bir ay`,MM:`%d ay`,y:`bir il`,yy:`%d il`},ordinal:function(e){return e}};e.locale(t,null,!0);export{t as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t=`студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня`.split(`_`),n=`студзень_лютый_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань`.split(`_`),r=`студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж.`.split(`_`),i=`студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж`.split(`_`),a=/D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;function o(e,t){var n=e.split(`_`);return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function s(e,t,n){var r={ss:t?`секунда_секунды_секунд`:`секунду_секунды_секунд`,mm:t?`хвіліна_хвіліны_хвілін`:`хвіліну_хвіліны_хвілін`,hh:t?`гадзіна_гадзіны_гадзін`:`гадзіну_гадзіны_гадзін`,dd:`дзень_дні_дзён`,MM:`месяц_месяцы_месяцаў`,yy:`год_гады_гадоў`};return n===`m`?t?`хвіліна`:`хвіліну`:n===`h`?t?`гадзіна`:`гадзіну`:e+` `+o(r[n],+e)}var c=function(e,r){return a.test(r)?t[e.month()]:n[e.month()]};c.s=n,c.f=t;var l=function(e,t){return a.test(t)?r[e.month()]:i[e.month()]};l.s=i,l.f=r;var u={name:`be`,weekdays:`нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота`.split(`_`),weekdaysShort:`няд_пнд_аўт_сер_чцв_пят_суб`.split(`_`),weekdaysMin:`нд_пн_аў_ср_чц_пт_сб`.split(`_`),months:c,monthsShort:l,weekStart:1,yearStart:4,formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD.MM.YYYY`,LL:`D MMMM YYYY г.`,LLL:`D MMMM YYYY г., HH:mm`,LLLL:`dddd, D MMMM YYYY г., HH:mm`},relativeTime:{future:`праз %s`,past:`%s таму`,s:`некалькі секунд`,m:s,mm:s,h:s,hh:s,d:`дзень`,dd:s,M:`месяц`,MM:s,y:`год`,yy:s},ordinal:function(e){return e},meridiem:function(e){return e<4?`ночы`:e<12?`раніцы`:e<17?`дня`:`вечара`}};e.locale(u,null,!0);export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`bg`,weekdays:`неделя_понеделник_вторник_сряда_четвъртък_петък_събота`.split(`_`),weekdaysShort:`нед_пон_вто_сря_чет_пет_съб`.split(`_`),weekdaysMin:`нд_пн_вт_ср_чт_пт_сб`.split(`_`),months:`януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември`.split(`_`),monthsShort:`яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек`.split(`_`),weekStart:1,ordinal:function(e){var t=e%100;if(t>10&&t<20)return e+`-ти`;var n=e%10;return n===1?e+`-ви`:n===2?e+`-ри`:n===7||n===8?e+`-ми`:e+`-ти`},formats:{LT:`H:mm`,LTS:`H:mm:ss`,L:`D.MM.YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY H:mm`,LLLL:`dddd, D MMMM YYYY H:mm`},relativeTime:{future:`след %s`,past:`преди %s`,s:`няколко секунди`,m:`минута`,mm:`%d минути`,h:`час`,hh:`%d часа`,d:`ден`,dd:`%d дена`,M:`месец`,MM:`%d месеца`,y:`година`,yy:`%d години`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`bi`,weekdays:`Sande_Mande_Tusde_Wenesde_Tosde_Fraede_Sarade`.split(`_`),months:`Januari_Februari_Maj_Eprel_Mei_Jun_Julae_Okis_Septemba_Oktoba_Novemba_Disemba`.split(`_`),weekStart:1,weekdaysShort:`San_Man_Tus_Wen_Tos_Frae_Sar`.split(`_`),monthsShort:`Jan_Feb_Maj_Epr_Mai_Jun_Jul_Oki_Sep_Okt_Nov_Dis`.split(`_`),weekdaysMin:`San_Ma_Tu_We_To_Fr_Sar`.split(`_`),ordinal:function(e){return e},formats:{LT:`h:mm A`,LTS:`h:mm:ss A`,L:`DD/MM/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY h:mm A`,LLLL:`dddd, D MMMM YYYY h:mm A`},relativeTime:{future:`lo %s`,past:`%s bifo`,s:`sam seken`,m:`wan minit`,mm:`%d minit`,h:`wan haoa`,hh:`%d haoa`,d:`wan dei`,dd:`%d dei`,M:`wan manis`,MM:`%d manis`,y:`wan yia`,yy:`%d yia`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`bm`,weekdays:`Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri`.split(`_`),months:`Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo`.split(`_`),weekStart:1,weekdaysShort:`Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib`.split(`_`),monthsShort:`Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des`.split(`_`),weekdaysMin:`Ka_Nt_Ta_Ar_Al_Ju_Si`.split(`_`),ordinal:function(e){return e},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD/MM/YYYY`,LL:`MMMM [tile] D [san] YYYY`,LLL:`MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm`,LLLL:`dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm`},relativeTime:{future:`%s kɔnɔ`,past:`a bɛ %s bɔ`,s:`sanga dama dama`,m:`miniti kelen`,mm:`miniti %d`,h:`lɛrɛ kelen`,hh:`lɛrɛ %d`,d:`tile kelen`,dd:`tile %d`,M:`kalo kelen`,MM:`kalo %d`,y:`san kelen`,yy:`san %d`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={1:`১`,2:`২`,3:`৩`,4:`৪`,5:`৫`,6:`৬`,7:`৭`,8:`৮`,9:`৯`,0:`০`},n={"১":`1`,"২":`2`,"৩":`3`,"৪":`4`,"৫":`5`,"৬":`6`,"৭":`7`,"৮":`8`,"৯":`9`,"০":`0`},r={name:`bn`,weekdays:`রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার`.split(`_`),months:`জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর`.split(`_`),weekdaysShort:`রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি`.split(`_`),monthsShort:`জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে`.split(`_`),weekdaysMin:`রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি`.split(`_`),preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},ordinal:function(e){return e},formats:{LT:`A h:mm সময়`,LTS:`A h:mm:ss সময়`,L:`DD/MM/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY, A h:mm সময়`,LLLL:`dddd, D MMMM YYYY, A h:mm সময়`},relativeTime:{future:`%s পরে`,past:`%s আগে`,s:`কয়েক সেকেন্ড`,m:`এক মিনিট`,mm:`%d মিনিট`,h:`এক ঘন্টা`,hh:`%d ঘন্টা`,d:`এক দিন`,dd:`%d দিন`,M:`এক মাস`,MM:`%d মাস`,y:`এক বছর`,yy:`%d বছর`}};e.locale(r,null,!0);export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={1:`১`,2:`২`,3:`৩`,4:`৪`,5:`৫`,6:`৬`,7:`৭`,8:`৮`,9:`৯`,0:`০`},n={"১":`1`,"২":`2`,"৩":`3`,"৪":`4`,"৫":`5`,"৬":`6`,"৭":`7`,"৮":`8`,"৯":`9`,"০":`0`},r={name:`bn-bd`,weekdays:`রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার`.split(`_`),months:`জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর`.split(`_`),weekdaysShort:`রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি`.split(`_`),monthsShort:`জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে`.split(`_`),weekdaysMin:`রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি`.split(`_`),weekStart:0,preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},ordinal:function(e){var t=[`ই`,`লা`,`রা`,`ঠা`,`শে`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`},formats:{LT:`A h:mm সময়`,LTS:`A h:mm:ss সময়`,L:`DD/MM/YYYY খ্রিস্টাব্দ`,LL:`D MMMM YYYY খ্রিস্টাব্দ`,LLL:`D MMMM YYYY খ্রিস্টাব্দ, A h:mm সময়`,LLLL:`dddd, D MMMM YYYY খ্রিস্টাব্দ, A h:mm সময়`},meridiem:function(e){return e<4?`রাত`:e<6?`ভোর`:e<12?`সকাল`:e<15?`দুপুর`:e<18?`বিকাল`:e<20?`সন্ধ্যা`:`রাত`},relativeTime:{future:`%s পরে`,past:`%s আগে`,s:`কয়েক সেকেন্ড`,m:`এক মিনিট`,mm:`%d মিনিট`,h:`এক ঘন্টা`,hh:`%d ঘন্টা`,d:`এক দিন`,dd:`%d দিন`,M:`এক মাস`,MM:`%d মাস`,y:`এক বছর`,yy:`%d বছর`}};e.locale(r,null,!0);export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`bo`,weekdays:`གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་`.split(`_`),weekdaysShort:`ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་`.split(`_`),weekdaysMin:`ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་`.split(`_`),months:`ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ`.split(`_`),monthsShort:`ཟླ་དང་པོ_ཟླ་གཉིས་པ_ཟླ་གསུམ་པ_ཟླ་བཞི་པ_ཟླ་ལྔ་པ_ཟླ་དྲུག་པ_ཟླ་བདུན་པ_ཟླ་བརྒྱད་པ_ཟླ་དགུ་པ_ཟླ་བཅུ་པ_ཟླ་བཅུ་གཅིག་པ_ཟླ་བཅུ་གཉིས་པ`.split(`_`),ordinal:function(e){return e},formats:{LT:`A h:mm`,LTS:`A h:mm:ss`,L:`DD/MM/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY, A h:mm`,LLLL:`dddd, D MMMM YYYY, A h:mm`},relativeTime:{future:`%s ལ་`,past:`%s སྔོན་ལ་`,s:`ཏོག་ཙམ་`,m:`སྐར་མ་གཅིག་`,mm:`སྐར་མ་ %d`,h:`ཆུ་ཚོད་གཅིག་`,hh:`ཆུ་ཚོད་ %d`,d:`ཉིན་གཅིག་`,dd:`ཉིན་ %d`,M:`ཟླ་བ་གཅིག་`,MM:`ཟླ་བ་ %d`,y:`ལོ་གཅིག་`,yy:`ལོ་ %d`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";function t(e){return e>9?t(e%10):e}function n(e){return{m:`v`,b:`v`,d:`z`}[e.charAt(0)]+e.substring(1)}function r(e,t){return t===2?n(e):e}function i(e,t,n){return e+` `+r({mm:`munutenn`,MM:`miz`,dd:`devezh`}[n],e)}function a(e){switch(t(e)){case 1:case 3:case 4:case 5:case 9:return e+` bloaz`;default:return e+` vloaz`}}var o={name:`br`,weekdays:`Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn`.split(`_`),months:`Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu`.split(`_`),weekStart:1,weekdaysShort:`Sul_Lun_Meu_Mer_Yao_Gwe_Sad`.split(`_`),monthsShort:`Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker`.split(`_`),weekdaysMin:`Su_Lu_Me_Mer_Ya_Gw_Sa`.split(`_`),ordinal:function(e){return e},formats:{LT:`h[e]mm A`,LTS:`h[e]mm:ss A`,L:`DD/MM/YYYY`,LL:`D [a viz] MMMM YYYY`,LLL:`D [a viz] MMMM YYYY h[e]mm A`,LLLL:`dddd, D [a viz] MMMM YYYY h[e]mm A`},relativeTime:{future:`a-benn %s`,past:`%s ʼzo`,s:`un nebeud segondennoù`,m:`ur vunutenn`,mm:i,h:`un eur`,hh:`%d eur`,d:`un devezh`,dd:i,M:`ur miz`,MM:i,y:`ur bloaz`,yy:a},meridiem:function(e){return e<12?`a.m.`:`g.m.`}};e.locale(o,null,!0);export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`bs`,weekdays:`nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota`.split(`_`),months:`januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar`.split(`_`),weekStart:1,weekdaysShort:`ned._pon._uto._sri._čet._pet._sub.`.split(`_`),monthsShort:`jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.`.split(`_`),weekdaysMin:`ne_po_ut_sr_če_pe_su`.split(`_`),ordinal:function(e){return e},formats:{LT:`H:mm`,LTS:`H:mm:ss`,L:`DD.MM.YYYY`,LL:`D. MMMM YYYY`,LLL:`D. MMMM YYYY H:mm`,LLLL:`dddd, D. MMMM YYYY H:mm`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`ca`,weekdays:`Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte`.split(`_`),weekdaysShort:`Dg._Dl._Dt._Dc._Dj._Dv._Ds.`.split(`_`),weekdaysMin:`Dg_Dl_Dt_Dc_Dj_Dv_Ds`.split(`_`),months:`Gener_Febrer_Març_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre`.split(`_`),monthsShort:`Gen._Febr._Març_Abr._Maig_Juny_Jul._Ag._Set._Oct._Nov._Des.`.split(`_`),weekStart:1,formats:{LT:`H:mm`,LTS:`H:mm:ss`,L:`DD/MM/YYYY`,LL:`D MMMM [de] YYYY`,LLL:`D MMMM [de] YYYY [a les] H:mm`,LLLL:`dddd D MMMM [de] YYYY [a les] H:mm`,ll:`D MMM YYYY`,lll:`D MMM YYYY, H:mm`,llll:`ddd D MMM YYYY, H:mm`},relativeTime:{future:`d'aquí %s`,past:`fa %s`,s:`uns segons`,m:`un minut`,mm:`%d minuts`,h:`una hora`,hh:`%d hores`,d:`un dia`,dd:`%d dies`,M:`un mes`,MM:`%d mesos`,y:`un any`,yy:`%d anys`},ordinal:function(e){var t=e===1||e===3?`r`:e===2?`n`:e===4?`t`:`è`;return``+e+t}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";function t(e){return e>1&&e<5&&~~(e/10)!=1}function n(e,n,r,i){var a=e+` `;switch(r){case`s`:return n||i?`pár sekund`:`pár sekundami`;case`m`:return n?`minuta`:i?`minutu`:`minutou`;case`mm`:return n||i?a+(t(e)?`minuty`:`minut`):a+`minutami`;case`h`:return n?`hodina`:i?`hodinu`:`hodinou`;case`hh`:return n||i?a+(t(e)?`hodiny`:`hodin`):a+`hodinami`;case`d`:return n||i?`den`:`dnem`;case`dd`:return n||i?a+(t(e)?`dny`:`dní`):a+`dny`;case`M`:return n||i?`měsíc`:`měsícem`;case`MM`:return n||i?a+(t(e)?`měsíce`:`měsíců`):a+`měsíci`;case`y`:return n||i?`rok`:`rokem`;case`yy`:return n||i?a+(t(e)?`roky`:`let`):a+`lety`}}var r={name:`cs`,weekdays:`neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota`.split(`_`),weekdaysShort:`ne_po_út_st_čt_pá_so`.split(`_`),weekdaysMin:`ne_po_út_st_čt_pá_so`.split(`_`),months:`leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec`.split(`_`),monthsShort:`led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro`.split(`_`),weekStart:1,yearStart:4,ordinal:function(e){return e+`.`},formats:{LT:`H:mm`,LTS:`H:mm:ss`,L:`DD.MM.YYYY`,LL:`D. MMMM YYYY`,LLL:`D. MMMM YYYY H:mm`,LLLL:`dddd D. MMMM YYYY H:mm`,l:`D. M. YYYY`},relativeTime:{future:`za %s`,past:`před %s`,s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n}};e.locale(r,null,!0);export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`cv`,weekdays:`вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун`.split(`_`),months:`кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав`.split(`_`),weekStart:1,weekdaysShort:`выр_тун_ытл_юн_кӗҫ_эрн_шӑм`.split(`_`),monthsShort:`кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш`.split(`_`),weekdaysMin:`вр_тн_ыт_юн_кҫ_эр_шм`.split(`_`),ordinal:function(e){return e},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD-MM-YYYY`,LL:`YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]`,LLL:`YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm`,LLLL:`dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`cy`,weekdays:`Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn`.split(`_`),months:`Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr`.split(`_`),weekStart:1,weekdaysShort:`Sul_Llun_Maw_Mer_Iau_Gwe_Sad`.split(`_`),monthsShort:`Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag`.split(`_`),weekdaysMin:`Su_Ll_Ma_Me_Ia_Gw_Sa`.split(`_`),ordinal:function(e){return e},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD/MM/YYYY`,LL:`D MMMM YYYY`,LLL:`D MMMM YYYY HH:mm`,LLLL:`dddd, D MMMM YYYY HH:mm`},relativeTime:{future:`mewn %s`,past:`%s yn ôl`,s:`ychydig eiliadau`,m:`munud`,mm:`%d munud`,h:`awr`,hh:`%d awr`,d:`diwrnod`,dd:`%d diwrnod`,M:`mis`,MM:`%d mis`,y:`blwyddyn`,yy:`%d flynedd`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={name:`da`,weekdays:`søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag`.split(`_`),weekdaysShort:`søn._man._tirs._ons._tors._fre._lør.`.split(`_`),weekdaysMin:`sø._ma._ti._on._to._fr._lø.`.split(`_`),months:`januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december`.split(`_`),monthsShort:`jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.`.split(`_`),weekStart:1,yearStart:4,ordinal:function(e){return e+`.`},formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD.MM.YYYY`,LL:`D. MMMM YYYY`,LLL:`D. MMMM YYYY HH:mm`,LLLL:`dddd [d.] D. MMMM YYYY [kl.] HH:mm`},relativeTime:{future:`om %s`,past:`%s siden`,s:`få sekunder`,m:`et minut`,mm:`%d minutter`,h:`en time`,hh:`%d timer`,d:`en dag`,dd:`%d dage`,M:`en måned`,MM:`%d måneder`,y:`et år`,yy:`%d år`}};e.locale(t,null,!0);export{t as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={s:`ein paar Sekunden`,m:[`eine Minute`,`einer Minute`],mm:`%d Minuten`,h:[`eine Stunde`,`einer Stunde`],hh:`%d Stunden`,d:[`ein Tag`,`einem Tag`],dd:[`%d Tage`,`%d Tagen`],M:[`ein Monat`,`einem Monat`],MM:[`%d Monate`,`%d Monaten`],y:[`ein Jahr`,`einem Jahr`],yy:[`%d Jahre`,`%d Jahren`]};function n(e,n,r){var i=t[r];return Array.isArray(i)&&(i=i[+!n]),i.replace(`%d`,e)}var r={name:`de`,weekdays:`Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag`.split(`_`),weekdaysShort:`So._Mo._Di._Mi._Do._Fr._Sa.`.split(`_`),weekdaysMin:`So_Mo_Di_Mi_Do_Fr_Sa`.split(`_`),months:`Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember`.split(`_`),monthsShort:`Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.`.split(`_`),ordinal:function(e){return e+`.`},weekStart:1,yearStart:4,formats:{LTS:`HH:mm:ss`,LT:`HH:mm`,L:`DD.MM.YYYY`,LL:`D. MMMM YYYY`,LLL:`D. MMMM YYYY HH:mm`,LLLL:`dddd, D. MMMM YYYY HH:mm`},relativeTime:{future:`in %s`,past:`vor %s`,s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n}};e.locale(r,null,!0);export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={s:`ein paar Sekunden`,m:[`eine Minute`,`einer Minute`],mm:`%d Minuten`,h:[`eine Stunde`,`einer Stunde`],hh:`%d Stunden`,d:[`ein Tag`,`einem Tag`],dd:[`%d Tage`,`%d Tagen`],M:[`ein Monat`,`einem Monat`],MM:[`%d Monate`,`%d Monaten`],y:[`ein Jahr`,`einem Jahr`],yy:[`%d Jahre`,`%d Jahren`]};function n(e,n,r){var i=t[r];return Array.isArray(i)&&(i=i[+!n]),i.replace(`%d`,e)}var r={name:`de-at`,weekdays:`Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag`.split(`_`),weekdaysShort:`So._Mo._Di._Mi._Do._Fr._Sa.`.split(`_`),weekdaysMin:`So_Mo_Di_Mi_Do_Fr_Sa`.split(`_`),months:`Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember`.split(`_`),monthsShort:`Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.`.split(`_`),ordinal:function(e){return e+`.`},weekStart:1,formats:{LTS:`HH:mm:ss`,LT:`HH:mm`,L:`DD.MM.YYYY`,LL:`D. MMMM YYYY`,LLL:`D. MMMM YYYY HH:mm`,LLLL:`dddd, D. MMMM YYYY HH:mm`},relativeTime:{future:`in %s`,past:`vor %s`,s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n}};e.locale(r,null,!0);export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./esm-
|
|
1
|
+
import{t as e}from"./esm-CreJU49o.js";var t={s:`ein paar Sekunden`,m:[`eine Minute`,`einer Minute`],mm:`%d Minuten`,h:[`eine Stunde`,`einer Stunde`],hh:`%d Stunden`,d:[`ein Tag`,`einem Tag`],dd:[`%d Tage`,`%d Tagen`],M:[`ein Monat`,`einem Monat`],MM:[`%d Monate`,`%d Monaten`],y:[`ein Jahr`,`einem Jahr`],yy:[`%d Jahre`,`%d Jahren`]};function n(e,n,r){var i=t[r];return Array.isArray(i)&&(i=i[+!n]),i.replace(`%d`,e)}var r={name:`de-ch`,weekdays:`Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag`.split(`_`),weekdaysShort:`So_Mo_Di_Mi_Do_Fr_Sa`.split(`_`),weekdaysMin:`So_Mo_Di_Mi_Do_Fr_Sa`.split(`_`),months:`Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember`.split(`_`),monthsShort:`Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.`.split(`_`),ordinal:function(e){return e+`.`},weekStart:1,formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`DD.MM.YYYY`,LL:`D. MMMM YYYY`,LLL:`D. MMMM YYYY HH:mm`,LLLL:`dddd, D. MMMM YYYY HH:mm`},relativeTime:{future:`in %s`,past:`vor %s`,s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n}};e.locale(r,null,!0);export{r as default};
|