@fde-desktop/fde-core 0.4.11 → 0.4.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AppEmptyState-Boej96TB.js → AppEmptyState-BVfKZU-h.js} +1 -1
- package/dist/AppEmptyState-Z8_Cviti.cjs +1 -0
- package/dist/AppIcon-Czrtau6A.cjs +1 -0
- package/dist/{AppIcon-mtEoyzOb.js → AppIcon-aFNw89J2.js} +1 -1
- package/dist/AppMenuBar-38QtFTPk.cjs +1 -0
- package/dist/AppTempMemory-DAC62jiS.cjs +1 -0
- package/dist/AppTempMemory-DgUW6GaF.js +23 -0
- package/dist/CalendarApp-BYTyu089.js +9 -0
- package/dist/CalendarApp-DPOK4mqg.cjs +1 -0
- package/dist/{ColorPicker-WCeD3Wjf.js → ColorPicker-B76rCS2H.js} +1 -1
- package/dist/ColorPicker-BZqsPh3X.cjs +1 -0
- package/dist/CreateItemApp-B0IHL16b.cjs +1 -0
- package/dist/CreateItemApp-UUP2HAu2.js +149 -0
- package/dist/DeviceInfoApp-BPQyeVSd.js +162 -0
- package/dist/DeviceInfoApp-D2mS2OT-.cjs +1 -0
- package/dist/DownloadProgress-CpJguS8g.cjs +1 -0
- package/dist/FilePickerApp-ClmPw6lk.cjs +1 -0
- package/dist/{FilePickerApp-ClHuhm6Z.js → FilePickerApp-D7fERKbp.js} +1 -1
- package/dist/FilesApp-DhJbO8wg.js +191 -0
- package/dist/FilesApp-LbwRRR1i.cjs +1 -0
- package/dist/IconColorPicker-7rWNAiNQ.cjs +1 -0
- package/dist/IconColorPicker-DUIXSb5E.js +58 -0
- package/dist/ImageViewerApp-9T-V8uP5.cjs +1 -0
- package/dist/ImageViewerApp-ihqIwJ-L.js +68 -0
- package/dist/ImageViewerMenuBar-DmvZoZ03.cjs +1 -0
- package/dist/{ImageViewerMenuBar-BIsUokxV.js → ImageViewerMenuBar-ZeIKHdA-.js} +18 -19
- package/dist/MenuEditApp-DRKfmSIZ.js +361 -0
- package/dist/MenuEditApp-U7EqB5Rl.cjs +1 -0
- package/dist/MenuEditMenuBar-BE_cXaoG.cjs +1 -0
- package/dist/MenuEditMenuBar-Df1je7F6.js +59 -0
- package/dist/NotesApp-DZfNQ8mN.cjs +1 -0
- package/dist/NotesApp-rwAeXyJy.js +344 -0
- package/dist/{NotesMenuBar-DILZTjnT.js → NotesMenuBar-C503t5pu.js} +12 -13
- package/dist/NotesMenuBar-CwgZ9dHy.cjs +1 -0
- package/dist/PdfApp-DNZaSXbF.cjs +1 -0
- package/dist/PdfApp-K1Z612o3.js +38 -0
- package/dist/PdfMenuBar-BPzP_JUO.cjs +1 -0
- package/dist/PdfMenuBar-DEUKgKTE.js +38 -0
- package/dist/SettingsApp-DdWqiYFE.cjs +1 -0
- package/dist/SettingsApp-ghc3RaMv.js +875 -0
- package/dist/SettingsMenuBar-C4KAPoBs.js +41 -0
- package/dist/SettingsMenuBar-CgmaF9_B.cjs +1 -0
- package/dist/{UploaderApp-CbypD538.js → UploaderApp-D9vfOR0S.js} +28 -40
- package/dist/UploaderApp-omSY-NSn.cjs +1 -0
- package/dist/VscIcon-CeELixwP.cjs +1 -0
- package/dist/buildBreadcrumbs-C2c2a4R3.cjs +1 -0
- package/dist/desktopStore-LSQweOqZ.cjs +1 -0
- package/dist/{desktopStore-8cSZlj7s.js → desktopStore-xnNbYaYm.js} +263 -263
- package/dist/formatBytes-Bv1bQPKQ.cjs +1 -0
- package/dist/formatBytes-CaP80WnM.js +14 -0
- package/dist/i18nConstants-DgbKSBIK.cjs +1 -0
- package/dist/i18nConstants-Nzpf2IFp.js +611 -0
- package/dist/imageViewerStore-CYt4R4e4.cjs +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +50 -29
- package/dist/index.js +715 -658
- package/dist/menuEditStore-sU6qaF2j.cjs +1 -0
- package/dist/notesStore-BnMXBRaV.cjs +1 -0
- package/dist/settingsAppStore-CQ4JHd7Q.cjs +1 -0
- package/dist/useAdaptiveDimensions-BDZxP4E3.cjs +1 -0
- package/dist/{useAdaptiveDimensions-DxNLJ7R5.js → useAdaptiveDimensions-sv9lwqF_.js} +1 -1
- package/dist/useCloseInterceptor-AzfjUZgz.cjs +1 -0
- package/dist/{useCloseInterceptor-CIxhOZx1.js → useCloseInterceptor-Bwm4I0O8.js} +1 -1
- package/dist/useDeviceDetection-B9jjlate.js +37 -0
- package/dist/useDeviceDetection-CnxnQWIq.cjs +1 -0
- package/dist/useDragDrop-Bdwzk6VO.cjs +1 -0
- package/dist/useDragDrop-D2LtOEYC.js +139 -0
- package/dist/useDynamicIcon-Cg3B_Aeq.cjs +1 -0
- package/dist/useNotifications-CR9JLjtC.js +26 -0
- package/dist/useNotifications-rwLmJ7fI.cjs +1 -0
- package/dist/useOpenApp-BBZ_B7Pr.cjs +1 -0
- package/dist/{useOpenApp-DkZLFFCH.js → useOpenApp-DdEbOVby.js} +3 -3
- package/dist/useResolvedUrl-CgqjNxzw.js +389 -0
- package/dist/useResolvedUrl-Dz2AhrDV.cjs +1 -0
- package/package.json +1 -1
- package/dist/AppEmptyState-CLc00OOG.cjs +0 -1
- package/dist/AppIcon-C8vHUVcb.cjs +0 -1
- package/dist/AppMenuBar-CAlkNHjj.cjs +0 -1
- package/dist/CalendarApp-DOmjWbpl.js +0 -10
- package/dist/CalendarApp-Z0bCCYsK.cjs +0 -1
- package/dist/ColorPicker-CQRRwY-y.cjs +0 -1
- package/dist/CreateItemApp-BkFFFdX1.cjs +0 -1
- package/dist/CreateItemApp-DR8Y4bwo.js +0 -202
- package/dist/DeviceInfoApp-BXQ9uOwF.cjs +0 -1
- package/dist/DeviceInfoApp-I63mJRWy.js +0 -195
- package/dist/DownloadProgress-CkTGTf0z.cjs +0 -1
- package/dist/FilePickerApp-By6-vbag.cjs +0 -1
- package/dist/FilesApp-BC4UPNuw.cjs +0 -1
- package/dist/FilesApp-D8MqvC5X.js +0 -210
- package/dist/ImageViewerApp-B1niWF75.cjs +0 -1
- package/dist/ImageViewerApp-iojtyFEf.js +0 -69
- package/dist/ImageViewerMenuBar-BgzgSF3v.cjs +0 -1
- package/dist/MenuEditApp-BHptoJbz.cjs +0 -1
- package/dist/MenuEditApp-CJUbJaqh.js +0 -492
- package/dist/MenuEditMenuBar-CCOSPAUe.cjs +0 -1
- package/dist/MenuEditMenuBar-DnCL-kaZ.js +0 -60
- package/dist/NotesApp-BmQIBtJ2.cjs +0 -1
- package/dist/NotesApp-DJ2dGt4-.js +0 -364
- package/dist/NotesMenuBar-BzojwMtH.cjs +0 -1
- package/dist/PdfApp-IjY_GtnW.js +0 -39
- package/dist/PdfApp-krW8UI97.cjs +0 -1
- package/dist/PdfMenuBar-Bd5MTZcZ.js +0 -39
- package/dist/PdfMenuBar-DWD0Qa3F.cjs +0 -1
- package/dist/SettingsApp-BE22l5UP.cjs +0 -1
- package/dist/SettingsApp-BTFtTFY_.js +0 -1228
- package/dist/SettingsMenuBar-CZE2evG2.cjs +0 -1
- package/dist/SettingsMenuBar-ktC0viTd.js +0 -42
- package/dist/UploaderApp-D_qD3O70.cjs +0 -1
- package/dist/VscIcon-BYb_Soyy.cjs +0 -1
- package/dist/buildBreadcrumbs-Ccd8i11b.cjs +0 -1
- package/dist/desktopStore-C1jR6Fdb.cjs +0 -1
- package/dist/imageViewerStore-Dfylg59V.cjs +0 -1
- package/dist/menuEditStore-CYwtfD6H.cjs +0 -1
- package/dist/notesStore-CrWTO6oB.cjs +0 -1
- package/dist/rolldown-runtime-CAFD8bLK.js +0 -11
- package/dist/settingsAppStore-DuYZNeFf.cjs +0 -1
- package/dist/useAdaptiveDimensions-3Lz4X0Tc.cjs +0 -1
- package/dist/useCloseInterceptor-CdX-09Ib.cjs +0 -1
- package/dist/useDynamicIcon-CK6SjEv5.cjs +0 -1
- package/dist/useOpenApp-D-FOY88T.cjs +0 -1
- package/dist/useResolvedUrl-B6x4xy0x.js +0 -29
- package/dist/useResolvedUrl-Bb39DpVy.cjs +0 -1
- /package/dist/{Colors-CuABn2W4.js → Colors-BIj4g0eH.js} +0 -0
- /package/dist/{Colors-CNJbU7oq.cjs → Colors-PNt4eyR6.cjs} +0 -0
- /package/dist/{DownloadProgress-DnVASsv5.js → DownloadProgress-DBFA58C5.js} +0 -0
- /package/dist/{imageViewerStore-COrD02Zu.js → imageViewerStore-C6UgceP-.js} +0 -0
- /package/dist/{menuEditStore-CxsgLiQu.js → menuEditStore-DPqViGva.js} +0 -0
- /package/dist/{notesStore-Dgah46U5.js → notesStore-KZDXN6zx.js} +0 -0
- /package/dist/{settingsAppStore-DHZhi6Rl.js → settingsAppStore-Y7x3r6pV.js} +0 -0
- /package/dist/{useMenuBarUtils-DAap0ukp.cjs → useMenuBarUtils-BOnQYtKU.cjs} +0 -0
- /package/dist/{useMenuBarUtils-ChAfI7OA.js → useMenuBarUtils-DTPFK0IN.js} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,54 +1,46 @@
|
|
|
1
|
-
import { _ as e, a as t,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { a as
|
|
5
|
-
import { t as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
1
|
+
import { _ as e, a as t, d as n, f as r, i, l as a, m as o, n as s, o as c, p as l, r as u, s as d, t as f, u as p, v as m } from "./i18nConstants-Nzpf2IFp.js";
|
|
2
|
+
import { a as h, c as g, d as _, f as v, i as y, l as b, n as x, p as S, r as C, s as w, t as T, u as E } from "./useResolvedUrl-CgqjNxzw.js";
|
|
3
|
+
import { A as D, B as ee, C as O, D as k, E as te, F as A, H as j, I as ne, L as re, M as ie, N as M, O as ae, P as oe, R as se, S as ce, T as le, U as ue, V as de, _ as fe, a as pe, b as me, c as he, d as ge, f as _e, g as ve, h as ye, i as be, j as xe, k as Se, l as Ce, m as we, n as Te, o as Ee, p as De, r as Oe, s as ke, t as Ae, u as je, v as Me, w as Ne, x as Pe, y as Fe, z as Ie } from "./useOpenApp-DdEbOVby.js";
|
|
4
|
+
import { $ as Le, A as Re, B as ze, C as Be, D as Ve, E as He, F as Ue, G as We, H as Ge, I as Ke, J as qe, K as Je, L as Ye, M as Xe, N as Ze, O as Qe, P as $e, Q as et, R as tt, S as nt, T as rt, U as it, V as at, W as ot, X as st, Y as ct, Z as lt, _ as ut, a as dt, at as ft, b as pt, c as mt, ct as ht, d as gt, dt as _t, et as vt, f as yt, ft as bt, g as xt, h as St, ht as Ct, i as wt, it as Tt, j as Et, k as Dt, l as Ot, lt as kt, m as At, mt as jt, n as N, nt as Mt, o as P, ot as Nt, p as Pt, pt as Ft, q as It, r as Lt, rt as Rt, s as zt, st as Bt, t as Vt, tt as Ht, u as Ut, ut as Wt, v as F, w as Gt, x as Kt, y as qt, z as Jt } from "./desktopStore-xnNbYaYm.js";
|
|
5
|
+
import { a as Yt, c as Xt, i as I, n as Zt, o as Qt, r as $t, s as en, t as tn } from "./useDynamicIcon-_wGeWu-b.js";
|
|
6
|
+
import { t as nn } from "./useAdaptiveDimensions-sv9lwqF_.js";
|
|
7
|
+
import { a as rn, i as an, o as on, r as sn, s as cn } from "./useDragDrop-D2LtOEYC.js";
|
|
8
|
+
import { t as L } from "./AppIcon-aFNw89J2.js";
|
|
9
|
+
import { a as ln, i as un, n as dn, r as fn, t as pn } from "./useCloseInterceptor-Bwm4I0O8.js";
|
|
9
10
|
import { t as R } from "./VscIcon-AEENjKOE.js";
|
|
10
|
-
import { n as
|
|
11
|
-
import {
|
|
12
|
-
import { n as
|
|
13
|
-
import {
|
|
14
|
-
import { t as
|
|
15
|
-
import { t as
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { n as
|
|
19
|
-
import { t as
|
|
20
|
-
import { t as
|
|
21
|
-
import { t as
|
|
22
|
-
import { t as
|
|
23
|
-
import { r as Tn, t as En } from "./UploaderApp-CbypD538.js";
|
|
24
|
-
import { t as Dn } from "./ColorPicker-WCeD3Wjf.js";
|
|
25
|
-
import { t as On } from "./useMenuBarUtils-ChAfI7OA.js";
|
|
26
|
-
import { t as kn } from "./NotesMenuBar-DILZTjnT.js";
|
|
27
|
-
import { t as An } from "./MenuEditMenuBar-DnCL-kaZ.js";
|
|
28
|
-
import { t as jn } from "./SettingsMenuBar-ktC0viTd.js";
|
|
29
|
-
import { t as Mn } from "./PdfMenuBar-Bd5MTZcZ.js";
|
|
30
|
-
import { t as Nn } from "./ImageViewerMenuBar-BIsUokxV.js";
|
|
31
|
-
import { i as Pn, r as Fn, t as In } from "./CreateItemApp-DR8Y4bwo.js";
|
|
11
|
+
import { n as mn, t as hn } from "./AppMenuBar-DmSfQRXU.js";
|
|
12
|
+
import { t as gn } from "./useNotifications-CR9JLjtC.js";
|
|
13
|
+
import { n as _n, r as vn, t as yn } from "./buildBreadcrumbs-noWhu8os.js";
|
|
14
|
+
import { t as bn } from "./useDeviceDetection-B9jjlate.js";
|
|
15
|
+
import { n as xn, t as Sn } from "./AppEmptyState-BVfKZU-h.js";
|
|
16
|
+
import { t as Cn } from "./Colors-BIj4g0eH.js";
|
|
17
|
+
import { t as wn } from "./ColorPicker-B76rCS2H.js";
|
|
18
|
+
import { t as Tn } from "./DownloadProgress-DBFA58C5.js";
|
|
19
|
+
import { a as En, n as Dn, t as On } from "./FilePickerApp-D7fERKbp.js";
|
|
20
|
+
import { n as kn, t as An } from "./IconColorPicker-DUIXSb5E.js";
|
|
21
|
+
import { t as jn } from "./AppTempMemory-DgUW6GaF.js";
|
|
22
|
+
import { t as Mn } from "./useMenuBarUtils-DTPFK0IN.js";
|
|
23
|
+
import { t as Nn } from "./formatBytes-CaP80WnM.js";
|
|
32
24
|
import "@mantine/core/styles.css";
|
|
33
25
|
import "@mantine/dates/styles.css";
|
|
34
|
-
import { Suspense as
|
|
26
|
+
import { Suspense as Pn, createContext as Fn, createElement as In, memo as Ln, useCallback as z, useContext as Rn, useEffect as B, useLayoutEffect as zn, useMemo as V, useRef as H, useState as U } from "react";
|
|
35
27
|
import { Fragment as W, jsx as G, jsxs as K } from "react/jsx-runtime";
|
|
36
|
-
import { ActionIcon as
|
|
37
|
-
import { QueryClient as
|
|
38
|
-
import { create as
|
|
39
|
-
import { AnimatePresence as
|
|
40
|
-
import { initReactI18next as
|
|
41
|
-
import
|
|
42
|
-
import
|
|
43
|
-
import { Rnd as
|
|
44
|
-
import { useShallow as
|
|
45
|
-
import { FcDoNotInsert as
|
|
46
|
-
import { Terminal as
|
|
47
|
-
import { FitAddon as
|
|
48
|
-
import { ClipboardAddon as
|
|
28
|
+
import { ActionIcon as Bn, Anchor as Vn, Button as q, Center as Hn, Group as Un, Loader as Wn, MantineProvider as Gn, Menu as J, Modal as Kn, Notification as qn, Popover as Y, Progress as Jn, Stack as Yn, Text as X, TextInput as Xn, UnstyledButton as Zn, createTheme as Qn, useMantineTheme as $n } from "@mantine/core";
|
|
29
|
+
import { QueryClient as er, QueryClient as tr, QueryClientProvider as nr } from "@tanstack/react-query";
|
|
30
|
+
import { create as rr } from "zustand";
|
|
31
|
+
import { AnimatePresence as ir, motion as ar, useAnimationControls as or } from "framer-motion";
|
|
32
|
+
import { initReactI18next as sr, useTranslation as Z } from "react-i18next";
|
|
33
|
+
import cr from "i18next";
|
|
34
|
+
import lr from "i18next-browser-languagedetector";
|
|
35
|
+
import { Rnd as ur } from "react-rnd";
|
|
36
|
+
import { useShallow as dr } from "zustand/react/shallow";
|
|
37
|
+
import { FcDoNotInsert as fr, FcInfo as pr } from "react-icons/fc";
|
|
38
|
+
import { Terminal as mr } from "@xterm/xterm";
|
|
39
|
+
import { FitAddon as hr } from "@xterm/addon-fit";
|
|
40
|
+
import { ClipboardAddon as gr } from "@xterm/addon-clipboard";
|
|
49
41
|
import "@xterm/xterm/css/xterm.css";
|
|
50
42
|
//#region src/components/Theme/ThemeContext.ts
|
|
51
|
-
var
|
|
43
|
+
var _r = Fn(void 0), vr = {
|
|
52
44
|
borderRadius: "8px",
|
|
53
45
|
headerHeight: 40,
|
|
54
46
|
minWidth: 400,
|
|
@@ -56,12 +48,12 @@ var br = Rn(void 0), xr = {
|
|
|
56
48
|
defaultWidth: 800,
|
|
57
49
|
defaultHeight: 600,
|
|
58
50
|
shadow: "0 8px 32px rgba(0, 0, 0, 0.2)"
|
|
59
|
-
},
|
|
51
|
+
}, yr = {
|
|
60
52
|
height: 48,
|
|
61
53
|
position: "bottom",
|
|
62
54
|
background: "rgba(0, 0, 0, 0.8)",
|
|
63
55
|
blur: !0
|
|
64
|
-
},
|
|
56
|
+
}, br = {
|
|
65
57
|
light: {
|
|
66
58
|
mode: "light",
|
|
67
59
|
colors: {
|
|
@@ -70,8 +62,8 @@ var br = Rn(void 0), xr = {
|
|
|
70
62
|
window: "#ffffff",
|
|
71
63
|
accent: "#339af0"
|
|
72
64
|
},
|
|
73
|
-
window:
|
|
74
|
-
taskbar:
|
|
65
|
+
window: vr,
|
|
66
|
+
taskbar: yr,
|
|
75
67
|
desktop: {
|
|
76
68
|
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
|
|
77
69
|
iconSize: 64,
|
|
@@ -86,8 +78,8 @@ var br = Rn(void 0), xr = {
|
|
|
86
78
|
window: "#25262b",
|
|
87
79
|
accent: "#4dabf7"
|
|
88
80
|
},
|
|
89
|
-
window:
|
|
90
|
-
taskbar:
|
|
81
|
+
window: vr,
|
|
82
|
+
taskbar: yr,
|
|
91
83
|
desktop: {
|
|
92
84
|
background: "linear-gradient(135deg, #1a1b1e 0%, #2d1f3d 100%)",
|
|
93
85
|
iconSize: 64,
|
|
@@ -97,17 +89,15 @@ var br = Rn(void 0), xr = {
|
|
|
97
89
|
};
|
|
98
90
|
//#endregion
|
|
99
91
|
//#region src/components/Theme/ThemeProvider.tsx
|
|
100
|
-
function
|
|
101
|
-
let [i, a] = U(
|
|
102
|
-
B(() => {
|
|
103
|
-
n !== void 0 && n !== i && a(n);
|
|
104
|
-
}, [n, i]);
|
|
105
|
-
let s = z(() => {
|
|
92
|
+
function xr({ children: e, initialMode: t = "light", mode: n, theme: r }) {
|
|
93
|
+
let [i, a] = U(t), o = H(null), s = n ?? i, c = z(() => {
|
|
106
94
|
a((e) => e === "light" ? "dark" : "light");
|
|
107
|
-
}, []),
|
|
95
|
+
}, []), l = z((e) => {
|
|
96
|
+
a(e);
|
|
97
|
+
}, []), u = z((e) => {
|
|
108
98
|
o.current = e;
|
|
109
|
-
}, []),
|
|
110
|
-
let e =
|
|
99
|
+
}, []), d = z(() => {
|
|
100
|
+
let e = br[s], t = o.current;
|
|
111
101
|
return t ? {
|
|
112
102
|
...e,
|
|
113
103
|
colors: {
|
|
@@ -149,41 +139,41 @@ function wr({ children: e, initialMode: t = "light", mode: n, theme: r }) {
|
|
|
149
139
|
...r.desktop
|
|
150
140
|
}
|
|
151
141
|
} : e;
|
|
152
|
-
}, [
|
|
142
|
+
}, [s, r]);
|
|
153
143
|
B(() => {
|
|
154
|
-
document.documentElement.style.setProperty("color-scheme",
|
|
155
|
-
}, [
|
|
156
|
-
let
|
|
157
|
-
getTheme:
|
|
158
|
-
setMode:
|
|
159
|
-
toggle:
|
|
160
|
-
setCustomColors:
|
|
144
|
+
document.documentElement.style.setProperty("color-scheme", s), document.documentElement.setAttribute("data-mantine-color-scheme", s);
|
|
145
|
+
}, [s]);
|
|
146
|
+
let f = V(() => ({
|
|
147
|
+
getTheme: d,
|
|
148
|
+
setMode: l,
|
|
149
|
+
toggle: c,
|
|
150
|
+
setCustomColors: u
|
|
161
151
|
}), [
|
|
152
|
+
d,
|
|
162
153
|
l,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
c
|
|
154
|
+
c,
|
|
155
|
+
u
|
|
166
156
|
]);
|
|
167
|
-
return /* @__PURE__ */ G(
|
|
168
|
-
value:
|
|
157
|
+
return /* @__PURE__ */ G(_r.Provider, {
|
|
158
|
+
value: f,
|
|
169
159
|
children: e
|
|
170
160
|
});
|
|
171
161
|
}
|
|
172
162
|
//#endregion
|
|
173
163
|
//#region src/components/Theme/useTheme.ts
|
|
174
|
-
function
|
|
175
|
-
let e =
|
|
164
|
+
function Sr() {
|
|
165
|
+
let e = Rn(_r);
|
|
176
166
|
if (!e) throw Error("useTheme must be used within a ThemeProvider");
|
|
177
167
|
return e.getTheme();
|
|
178
168
|
}
|
|
179
|
-
function
|
|
180
|
-
let e =
|
|
169
|
+
function Cr() {
|
|
170
|
+
let e = Rn(_r);
|
|
181
171
|
if (!e) throw Error("useThemeContext must be used within a ThemeProvider");
|
|
182
172
|
return e;
|
|
183
173
|
}
|
|
184
174
|
//#endregion
|
|
185
175
|
//#region src/components/Theme/defaultMantineTheme.ts
|
|
186
|
-
var
|
|
176
|
+
var wr = {
|
|
187
177
|
primaryColor: "blue",
|
|
188
178
|
other: {
|
|
189
179
|
desktop: { backgroundColor: "#1a1a2e" },
|
|
@@ -198,40 +188,40 @@ var Dr = {
|
|
|
198
188
|
},
|
|
199
189
|
accent: "#339af0"
|
|
200
190
|
}
|
|
201
|
-
},
|
|
191
|
+
}, Tr = Fn(void 0), Er = new tr({ defaultOptions: { queries: {
|
|
202
192
|
staleTime: Infinity,
|
|
203
193
|
gcTime: Infinity
|
|
204
194
|
} } });
|
|
205
|
-
function
|
|
206
|
-
let
|
|
207
|
-
fs:
|
|
208
|
-
isReady:
|
|
209
|
-
error:
|
|
210
|
-
theme:
|
|
195
|
+
function Dr({ children: t, fileSystem: n, isReady: r, error: i }) {
|
|
196
|
+
let a = Sr(), o = e((e) => e.setThemeMode), s = e((e) => e.toggleTheme), c = V(() => ({
|
|
197
|
+
fs: r ? n : null,
|
|
198
|
+
isReady: r,
|
|
199
|
+
error: i,
|
|
200
|
+
theme: a,
|
|
211
201
|
setThemeMode: o,
|
|
212
202
|
toggleTheme: s
|
|
213
203
|
}), [
|
|
214
|
-
t,
|
|
215
204
|
n,
|
|
216
205
|
r,
|
|
217
206
|
i,
|
|
207
|
+
a,
|
|
218
208
|
o,
|
|
219
209
|
s
|
|
220
210
|
]);
|
|
221
|
-
return /* @__PURE__ */ G(
|
|
211
|
+
return /* @__PURE__ */ G(Tr.Provider, {
|
|
222
212
|
value: c,
|
|
223
|
-
children:
|
|
213
|
+
children: t
|
|
224
214
|
});
|
|
225
215
|
}
|
|
226
|
-
function
|
|
227
|
-
let [l, u] = U(!1), [d, f] = U(null), p =
|
|
216
|
+
function Or({ children: t, fileSystem: n, initialMode: r, theme: i, mantineTheme: a, fallback: o = null, onError: s, queryClient: c = Er }) {
|
|
217
|
+
let [l, u] = U(!1), [d, f] = U(null), p = e((e) => e.theme.mode), m = e((e) => e.setThemeMode);
|
|
228
218
|
B(() => {
|
|
229
|
-
|
|
219
|
+
r && m(r);
|
|
230
220
|
}, []), B(() => {
|
|
231
221
|
let e = !0;
|
|
232
222
|
return (async () => {
|
|
233
223
|
try {
|
|
234
|
-
await
|
|
224
|
+
await n.initialize(), e && u(!0);
|
|
235
225
|
} catch (t) {
|
|
236
226
|
let n = t instanceof Error ? t : Error(String(t));
|
|
237
227
|
e && (f(n), s?.(n));
|
|
@@ -239,24 +229,24 @@ function jr({ children: e, fileSystem: t, initialMode: n, theme: r, mantineTheme
|
|
|
239
229
|
})(), () => {
|
|
240
230
|
e = !1;
|
|
241
231
|
};
|
|
242
|
-
}, [
|
|
243
|
-
let h = V(() =>
|
|
244
|
-
...
|
|
245
|
-
...
|
|
246
|
-
}), [
|
|
247
|
-
return d || !l ? /* @__PURE__ */ G(W, { children: o }) : /* @__PURE__ */ G(
|
|
232
|
+
}, [n, s]);
|
|
233
|
+
let h = V(() => Qn({
|
|
234
|
+
...wr,
|
|
235
|
+
...a
|
|
236
|
+
}), [a]);
|
|
237
|
+
return d || !l ? /* @__PURE__ */ G(W, { children: o }) : /* @__PURE__ */ G(nr, {
|
|
248
238
|
client: c,
|
|
249
|
-
children: /* @__PURE__ */ G(
|
|
239
|
+
children: /* @__PURE__ */ G(Gn, {
|
|
250
240
|
theme: h,
|
|
251
241
|
forceColorScheme: p,
|
|
252
|
-
children: /* @__PURE__ */ G(
|
|
242
|
+
children: /* @__PURE__ */ G(xr, {
|
|
253
243
|
mode: p,
|
|
254
|
-
theme:
|
|
255
|
-
children: /* @__PURE__ */ G(
|
|
256
|
-
fileSystem:
|
|
244
|
+
theme: i,
|
|
245
|
+
children: /* @__PURE__ */ G(Dr, {
|
|
246
|
+
fileSystem: n,
|
|
257
247
|
isReady: l,
|
|
258
248
|
error: d,
|
|
259
|
-
children:
|
|
249
|
+
children: t
|
|
260
250
|
})
|
|
261
251
|
})
|
|
262
252
|
})
|
|
@@ -264,16 +254,16 @@ function jr({ children: e, fileSystem: t, initialMode: n, theme: r, mantineTheme
|
|
|
264
254
|
}
|
|
265
255
|
//#endregion
|
|
266
256
|
//#region src/components/FdeProvider/useFdeContext.ts
|
|
267
|
-
function
|
|
268
|
-
let e =
|
|
257
|
+
function kr() {
|
|
258
|
+
let e = Rn(Tr);
|
|
269
259
|
if (!e) throw Error("useFdeContext must be used within an FdeProvider");
|
|
270
260
|
return e;
|
|
271
261
|
}
|
|
272
262
|
//#endregion
|
|
273
263
|
//#region src/hooks/useWindowButtonRegistry.tsx
|
|
274
|
-
var
|
|
264
|
+
var Ar = Fn(null), jr = ({ children: e }) => {
|
|
275
265
|
let t = H(/* @__PURE__ */ new Map());
|
|
276
|
-
return /* @__PURE__ */ G(
|
|
266
|
+
return /* @__PURE__ */ G(Ar.Provider, {
|
|
277
267
|
value: {
|
|
278
268
|
register: (e, n) => {
|
|
279
269
|
t.current.set(e, n);
|
|
@@ -285,46 +275,77 @@ var Nr = Rn(null), Pr = ({ children: e }) => {
|
|
|
285
275
|
},
|
|
286
276
|
children: e
|
|
287
277
|
});
|
|
288
|
-
},
|
|
289
|
-
let e =
|
|
278
|
+
}, Mr = () => {
|
|
279
|
+
let e = Rn(Ar);
|
|
290
280
|
if (!e) throw Error("useWindowButtonRegistry must be used within WindowButtonRegistryProvider");
|
|
291
281
|
return e;
|
|
292
|
-
},
|
|
293
|
-
|
|
282
|
+
}, Nr = {
|
|
283
|
+
root: "_root_hze7e_1",
|
|
284
|
+
background: "_background_hze7e_10",
|
|
285
|
+
noiseOverlay: "_noiseOverlay_hze7e_19"
|
|
286
|
+
}, Pr = ({ children: t, onContextMenu: n, wallpaper: r, wallpaperModule: i, backgroundColor: a }) => {
|
|
287
|
+
let o = P((e) => e.setViewportSize), s = H(null), c = e((e) => e.wallpaperHasNoise), l = e((e) => e.wallpaperNoiseOpacity), { backgroundImage: u, noiseImageUrl: d } = V(() => {
|
|
288
|
+
if (i === "gradient") {
|
|
289
|
+
let e = r ?? "", t = e.match(/url\(data:image\/png;base64,[^)]+\)/);
|
|
290
|
+
return {
|
|
291
|
+
backgroundImage: e,
|
|
292
|
+
noiseImageUrl: t ? t[0].replace(/url\((.*)\)/, "$1") : ""
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
return {
|
|
296
|
+
backgroundImage: r ? `url(${r})` : "",
|
|
297
|
+
noiseImageUrl: ""
|
|
298
|
+
};
|
|
299
|
+
}, [r, i]), f = l / 100;
|
|
294
300
|
B(() => {
|
|
295
|
-
let e =
|
|
301
|
+
let e = s.current;
|
|
296
302
|
if (!e) return;
|
|
297
303
|
let t = new ResizeObserver((e) => {
|
|
298
304
|
let { width: t, height: n } = e[0]?.contentRect ?? {};
|
|
299
|
-
t && t > 0 && n && n > 0 &&
|
|
305
|
+
t && t > 0 && n && n > 0 && o(t, n);
|
|
300
306
|
});
|
|
301
307
|
return t.observe(e), () => t.disconnect();
|
|
302
|
-
}, [
|
|
303
|
-
let
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
308
|
+
}, [o]);
|
|
309
|
+
let p = {
|
|
310
|
+
"--taskbar-height": "48px",
|
|
311
|
+
"--noise-tile-size": "128px"
|
|
312
|
+
};
|
|
313
|
+
return /* @__PURE__ */ K("div", {
|
|
314
|
+
ref: s,
|
|
315
|
+
className: Nr.root,
|
|
307
316
|
"data-testid": "desktop-area",
|
|
308
|
-
style:
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
+
style: p,
|
|
318
|
+
onContextMenu: n,
|
|
319
|
+
children: [
|
|
320
|
+
/* @__PURE__ */ G("div", {
|
|
321
|
+
className: Nr.background,
|
|
322
|
+
style: {
|
|
323
|
+
backgroundImage: u,
|
|
324
|
+
backgroundSize: "cover",
|
|
325
|
+
backgroundPosition: "center",
|
|
326
|
+
backgroundColor: a ?? "transparent"
|
|
327
|
+
}
|
|
328
|
+
}),
|
|
329
|
+
c && d && /* @__PURE__ */ G("div", {
|
|
330
|
+
className: Nr.noiseOverlay,
|
|
331
|
+
style: {
|
|
332
|
+
backgroundImage: `url(${d})`,
|
|
333
|
+
opacity: f
|
|
334
|
+
}
|
|
335
|
+
}),
|
|
336
|
+
t
|
|
337
|
+
]
|
|
317
338
|
});
|
|
318
|
-
},
|
|
339
|
+
}, Fr = (e) => e.toLocaleTimeString([], {
|
|
319
340
|
hour: "2-digit",
|
|
320
341
|
minute: "2-digit"
|
|
321
|
-
}),
|
|
322
|
-
let [e, t] = U(() =>
|
|
342
|
+
}), Ir = () => {
|
|
343
|
+
let [e, t] = U(() => Fr(/* @__PURE__ */ new Date()));
|
|
323
344
|
return B(() => {
|
|
324
|
-
let e = setInterval(() => t(
|
|
345
|
+
let e = setInterval(() => t(Fr(/* @__PURE__ */ new Date())), 1e3);
|
|
325
346
|
return () => clearInterval(e);
|
|
326
347
|
}, []), e;
|
|
327
|
-
},
|
|
348
|
+
}, Lr = -8, Rr = 0, zr = () => {
|
|
328
349
|
let [e, t] = U({
|
|
329
350
|
activeMenu: null,
|
|
330
351
|
position: {
|
|
@@ -337,7 +358,7 @@ var Nr = Rn(null), Pr = ({ children: e }) => {
|
|
|
337
358
|
activeMenu: "window",
|
|
338
359
|
position: {
|
|
339
360
|
x: e.clientX,
|
|
340
|
-
y: e.clientY +
|
|
361
|
+
y: e.clientY + Lr
|
|
341
362
|
},
|
|
342
363
|
targetWindowId: n
|
|
343
364
|
});
|
|
@@ -346,7 +367,7 @@ var Nr = Rn(null), Pr = ({ children: e }) => {
|
|
|
346
367
|
activeMenu: "panel",
|
|
347
368
|
position: {
|
|
348
369
|
x: e.clientX,
|
|
349
|
-
y: e.clientY +
|
|
370
|
+
y: e.clientY + Lr
|
|
350
371
|
},
|
|
351
372
|
targetWindowId: null
|
|
352
373
|
});
|
|
@@ -355,7 +376,7 @@ var Nr = Rn(null), Pr = ({ children: e }) => {
|
|
|
355
376
|
activeMenu: "launcher",
|
|
356
377
|
position: {
|
|
357
378
|
x: e.clientX,
|
|
358
|
-
y: e.clientY +
|
|
379
|
+
y: e.clientY + Rr
|
|
359
380
|
},
|
|
360
381
|
targetWindowId: null
|
|
361
382
|
});
|
|
@@ -377,17 +398,17 @@ var Nr = Rn(null), Pr = ({ children: e }) => {
|
|
|
377
398
|
openLauncherMenu: i,
|
|
378
399
|
closeMenu: a
|
|
379
400
|
};
|
|
380
|
-
},
|
|
381
|
-
let
|
|
401
|
+
}, Br = () => {
|
|
402
|
+
let t = e((e) => e.animationDuration);
|
|
382
403
|
return {
|
|
383
|
-
duration:
|
|
384
|
-
windowVariants:
|
|
385
|
-
panelVariants:
|
|
386
|
-
minimizeVariant:
|
|
387
|
-
restoreVariant:
|
|
388
|
-
maximizeTransition:
|
|
389
|
-
easeIn:
|
|
390
|
-
easeOut:
|
|
404
|
+
duration: t,
|
|
405
|
+
windowVariants: _e(t),
|
|
406
|
+
panelVariants: je(t),
|
|
407
|
+
minimizeVariant: Ce(.3),
|
|
408
|
+
restoreVariant: ge(.3),
|
|
409
|
+
maximizeTransition: he(.25),
|
|
410
|
+
easeIn: Ee(t),
|
|
411
|
+
easeOut: ke(t)
|
|
391
412
|
};
|
|
392
413
|
}, Q = {
|
|
393
414
|
WELCOME: "welcome",
|
|
@@ -407,14 +428,14 @@ var Nr = Rn(null), Pr = ({ children: e }) => {
|
|
|
407
428
|
CODE_SERVER: "code-server",
|
|
408
429
|
DEVICE_INFO: "device-info",
|
|
409
430
|
MENUEDIT: "menuedit"
|
|
410
|
-
},
|
|
431
|
+
}, Vr = {
|
|
411
432
|
[Q.FILES]: "filesApp",
|
|
412
433
|
[Q.PDF]: "pdfViewer",
|
|
413
434
|
[Q.IMAGE_VIEWER]: "imageViewer",
|
|
414
435
|
[Q.DOS_EMULATOR]: "dosEmulator",
|
|
415
436
|
[Q.CODE_SERVER]: "codeServer",
|
|
416
437
|
[Q.DEVICE_INFO]: "deviceInfo"
|
|
417
|
-
},
|
|
438
|
+
}, Hr = [
|
|
418
439
|
Q.WELCOME,
|
|
419
440
|
Q.UPLOADER,
|
|
420
441
|
Q.TERMINAL,
|
|
@@ -429,13 +450,13 @@ var Nr = Rn(null), Pr = ({ children: e }) => {
|
|
|
429
450
|
];
|
|
430
451
|
//#endregion
|
|
431
452
|
//#region src/hooks/useAppName.ts
|
|
432
|
-
function
|
|
453
|
+
function Ur(e) {
|
|
433
454
|
let { t } = Z("apps");
|
|
434
|
-
return e ? t(`names.${
|
|
455
|
+
return e ? t(`names.${Vr[e] ?? e}`, e) : "";
|
|
435
456
|
}
|
|
436
457
|
//#endregion
|
|
437
458
|
//#region src/hooks/useSearchFilter.ts
|
|
438
|
-
function
|
|
459
|
+
function Wr(e, t, n) {
|
|
439
460
|
return V(() => {
|
|
440
461
|
if (!t.trim()) return e;
|
|
441
462
|
let r = t.toLowerCase().trim();
|
|
@@ -451,7 +472,7 @@ function Jr(e, t, n) {
|
|
|
451
472
|
}
|
|
452
473
|
//#endregion
|
|
453
474
|
//#region src/hooks/useCollapsible.ts
|
|
454
|
-
function
|
|
475
|
+
function Gr(e) {
|
|
455
476
|
let [t, n] = U(e ?? /* @__PURE__ */ new Set());
|
|
456
477
|
return {
|
|
457
478
|
expanded: t,
|
|
@@ -485,32 +506,32 @@ function Yr(e) {
|
|
|
485
506
|
isExpanded: z((e) => t.has(e), [t])
|
|
486
507
|
};
|
|
487
508
|
}
|
|
488
|
-
var
|
|
509
|
+
var Kr = {
|
|
489
510
|
header: "_header_2d0oy_1",
|
|
490
511
|
iconContainer: "_iconContainer_2d0oy_20",
|
|
491
512
|
expandIcon: "_expandIcon_2d0oy_28",
|
|
492
513
|
icon: "_icon_2d0oy_20",
|
|
493
514
|
title: "_title_2d0oy_42",
|
|
494
515
|
content: "_content_2d0oy_48"
|
|
495
|
-
},
|
|
496
|
-
let s =
|
|
516
|
+
}, qr = ({ title: e, fcIcon: t = "FcFolder", expanded: n, onToggle: r, children: i, className: a, "aria-label": o }) => {
|
|
517
|
+
let s = Xt(n ? "VscRemove" : "VscAdd", {
|
|
497
518
|
size: 14,
|
|
498
|
-
className:
|
|
519
|
+
className: Kr.expandIcon
|
|
499
520
|
});
|
|
500
521
|
return /* @__PURE__ */ K("div", {
|
|
501
522
|
className: a,
|
|
502
|
-
children: [/* @__PURE__ */ K(
|
|
503
|
-
className:
|
|
523
|
+
children: [/* @__PURE__ */ K(Zn, {
|
|
524
|
+
className: Kr.header,
|
|
504
525
|
onClick: r,
|
|
505
526
|
"aria-expanded": n,
|
|
506
527
|
"aria-label": o ?? e,
|
|
507
528
|
children: [
|
|
508
529
|
/* @__PURE__ */ G("span", {
|
|
509
|
-
className:
|
|
530
|
+
className: Kr.iconContainer,
|
|
510
531
|
children: s
|
|
511
532
|
}),
|
|
512
533
|
/* @__PURE__ */ G("span", {
|
|
513
|
-
className:
|
|
534
|
+
className: Kr.icon,
|
|
514
535
|
children: /* @__PURE__ */ G(L, {
|
|
515
536
|
fcIcon: t,
|
|
516
537
|
size: 16
|
|
@@ -519,16 +540,16 @@ var Xr = {
|
|
|
519
540
|
/* @__PURE__ */ G(X, {
|
|
520
541
|
size: "sm",
|
|
521
542
|
fw: 500,
|
|
522
|
-
className:
|
|
543
|
+
className: Kr.title,
|
|
523
544
|
children: e
|
|
524
545
|
})
|
|
525
546
|
]
|
|
526
547
|
}), n && /* @__PURE__ */ G("div", {
|
|
527
|
-
className:
|
|
548
|
+
className: Kr.content,
|
|
528
549
|
children: i
|
|
529
550
|
})]
|
|
530
551
|
});
|
|
531
|
-
},
|
|
552
|
+
}, Jr = {
|
|
532
553
|
trigger: "_trigger_4gumo_1",
|
|
533
554
|
panel: "_panel_4gumo_23",
|
|
534
555
|
searchContainer: "_searchContainer_4gumo_39",
|
|
@@ -540,7 +561,7 @@ var Xr = {
|
|
|
540
561
|
};
|
|
541
562
|
//#endregion
|
|
542
563
|
//#region src/components/Launcher/Launcher.tsx
|
|
543
|
-
function
|
|
564
|
+
function Yr(e) {
|
|
544
565
|
let t = e.icon, n = "fcIcon" in e ? e.fcIcon : void 0, r = t?.startsWith("Fc") || t?.startsWith("Fi") || t?.startsWith("Vsc");
|
|
545
566
|
return {
|
|
546
567
|
id: e.id,
|
|
@@ -551,15 +572,15 @@ function $r(e) {
|
|
|
551
572
|
iconColor: "iconColor" in e ? e.iconColor : void 0
|
|
552
573
|
};
|
|
553
574
|
}
|
|
554
|
-
var
|
|
555
|
-
let n =
|
|
575
|
+
var Xr = ({ app: e, onOpen: t }) => {
|
|
576
|
+
let n = Ur(e.id);
|
|
556
577
|
return /* @__PURE__ */ K("button", {
|
|
557
|
-
className:
|
|
578
|
+
className: Jr.appButton,
|
|
558
579
|
onClick: () => t(e.id),
|
|
559
580
|
role: "menuitem",
|
|
560
581
|
"aria-label": n,
|
|
561
582
|
children: [/* @__PURE__ */ G("span", {
|
|
562
|
-
className:
|
|
583
|
+
className: Jr.appIcon,
|
|
563
584
|
children: /* @__PURE__ */ G(L, {
|
|
564
585
|
fcIcon: e.fcIcon,
|
|
565
586
|
iconUrl: e.iconUrl,
|
|
@@ -571,90 +592,99 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
571
592
|
children: n
|
|
572
593
|
})]
|
|
573
594
|
}, e.id);
|
|
574
|
-
},
|
|
575
|
-
title:
|
|
595
|
+
}, Zr = ({ folder: e, isExpanded: t, apps: n, onToggle: r, onOpen: i }) => /* @__PURE__ */ G(qr, {
|
|
596
|
+
title: cn(e),
|
|
576
597
|
fcIcon: e.fcIcon,
|
|
577
598
|
expanded: t,
|
|
578
599
|
onToggle: r,
|
|
579
|
-
children: n.map((e) => /* @__PURE__ */ G(
|
|
600
|
+
children: n.map((e) => /* @__PURE__ */ G(Xr, {
|
|
580
601
|
app: e,
|
|
581
602
|
onOpen: i
|
|
582
603
|
}, e.id))
|
|
583
|
-
}, e.id),
|
|
584
|
-
let
|
|
604
|
+
}, e.id), Qr = ({ fcIcon: t = "FcDebian", onContextMenu: n }) => {
|
|
605
|
+
let r = I(t, {
|
|
585
606
|
size: 22,
|
|
586
607
|
style: { display: "block" }
|
|
587
|
-
}), [
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
608
|
+
}), [i, a] = U(!1), [o, s] = U(""), c = Ae(), l = e((e) => e.theme.colors.taskbar), u = P((e) => e.launcherFolders), d = P((e) => e.customApps), { panelVariants: f } = Br(), p = H(null), m = H(null), { expanded: h, toggle: g, reset: _ } = Gr(/* @__PURE__ */ new Set()), v = V(() => [...ht].sort((e, t) => e.name.localeCompare(t.name)), []), y = V(() => new Set(u.flatMap((e) => e.appIds)), [u]), b = Wr(V(() => v.filter((e) => !y.has(e.id)), [v, y]), o, (e) => [e.id, e.name]), x = V(() => {
|
|
609
|
+
let e = u.map((e) => ({
|
|
610
|
+
...e,
|
|
611
|
+
appIds: e.appIds.filter((t) => {
|
|
612
|
+
if (e.id === "launcher-folder-custom-apps") return !0;
|
|
613
|
+
let n = v.some((e) => e.id === t), r = d.some((e) => e.id === t);
|
|
614
|
+
return n || r;
|
|
615
|
+
})
|
|
616
|
+
})).filter((e) => e.id === "launcher-folder-custom-apps" ? d.length > 0 : e.appIds.length > 0);
|
|
617
|
+
if (!o.trim()) return [...e].sort((e, t) => e.isPredefined === t.isPredefined ? e.name.localeCompare(t.name) : e.isPredefined ? -1 : 1);
|
|
618
|
+
let t = o.toLowerCase();
|
|
619
|
+
return e.map((e) => ({
|
|
620
|
+
...e,
|
|
621
|
+
appIds: e.appIds.filter((e) => {
|
|
622
|
+
let n = v.find((t) => t.id === e) ?? d.find((t) => t.id === e);
|
|
623
|
+
return n && (n.id.toLowerCase().includes(t) || n.name.toLowerCase().includes(t));
|
|
595
624
|
})
|
|
596
625
|
})).filter((e) => e.appIds.length > 0).sort((e, t) => e.isPredefined === t.isPredefined ? e.name.localeCompare(t.name) : e.isPredefined ? -1 : 1);
|
|
597
626
|
}, [
|
|
598
627
|
u,
|
|
599
628
|
o,
|
|
600
|
-
v
|
|
629
|
+
v,
|
|
630
|
+
d
|
|
601
631
|
]), S = V(() => {
|
|
602
632
|
if (!o.trim()) return d;
|
|
603
633
|
let e = o.toLowerCase();
|
|
604
634
|
return d.filter((t) => t.id.toLowerCase().includes(e) || t.name.toLowerCase().includes(e));
|
|
605
635
|
}, [d, o]);
|
|
606
636
|
B(() => {
|
|
607
|
-
o.trim() &&
|
|
637
|
+
o.trim() && i && (x.map((e) => e.id).forEach((e) => {
|
|
608
638
|
h.has(e) || g(e);
|
|
609
|
-
}), S.length > 0 && !h.has("launcher-folder-custom-apps") && g(
|
|
639
|
+
}), S.length > 0 && !h.has("launcher-folder-custom-apps") && g(Jt));
|
|
610
640
|
}, [
|
|
611
641
|
o,
|
|
612
642
|
x,
|
|
613
643
|
S,
|
|
614
|
-
|
|
644
|
+
i,
|
|
615
645
|
h,
|
|
616
646
|
g
|
|
617
647
|
]), B(() => {
|
|
618
|
-
|
|
619
|
-
}, [
|
|
620
|
-
if (!
|
|
648
|
+
i || _();
|
|
649
|
+
}, [i, _]), B(() => {
|
|
650
|
+
if (!i) return;
|
|
621
651
|
let e = (e) => {
|
|
622
|
-
p.current && !p.current.contains(e.target) && (
|
|
652
|
+
p.current && !p.current.contains(e.target) && (a(!1), s(""));
|
|
623
653
|
}, t = (e) => {
|
|
624
|
-
e.key === "Escape" && (
|
|
654
|
+
e.key === "Escape" && (a(!1), s(""));
|
|
625
655
|
};
|
|
626
656
|
return document.addEventListener("mousedown", e), document.addEventListener("keydown", t), () => {
|
|
627
657
|
document.removeEventListener("mousedown", e), document.removeEventListener("keydown", t);
|
|
628
658
|
};
|
|
629
|
-
}, [
|
|
659
|
+
}, [i]);
|
|
630
660
|
let C = (e) => {
|
|
631
|
-
if (e.preventDefault(), e.stopPropagation(),
|
|
632
|
-
|
|
661
|
+
if (e.preventDefault(), e.stopPropagation(), i) {
|
|
662
|
+
a(!1), s("");
|
|
633
663
|
return;
|
|
634
664
|
}
|
|
635
|
-
|
|
665
|
+
n?.(e);
|
|
636
666
|
};
|
|
637
667
|
B(() => {
|
|
638
|
-
|
|
639
|
-
}, [
|
|
668
|
+
i && m.current && m.current.focus();
|
|
669
|
+
}, [i]);
|
|
640
670
|
let w = z((e) => {
|
|
641
|
-
c(e),
|
|
671
|
+
c(e), a(!1), s("");
|
|
642
672
|
}, [c]), T = z((e) => {
|
|
643
673
|
g(e);
|
|
644
674
|
}, [g]), E = I("FcSearch", { size: 16 }), D = z(() => {
|
|
645
|
-
|
|
646
|
-
}, [
|
|
675
|
+
i ? (a(!1), s("")) : a(!0);
|
|
676
|
+
}, [i]);
|
|
647
677
|
return /* @__PURE__ */ K("div", {
|
|
648
678
|
ref: p,
|
|
649
679
|
children: [/* @__PURE__ */ G("button", {
|
|
650
|
-
className:
|
|
680
|
+
className: Jr.trigger,
|
|
651
681
|
onClick: D,
|
|
652
682
|
onContextMenu: C,
|
|
653
683
|
"aria-label": "Launcher",
|
|
654
|
-
"aria-expanded":
|
|
655
|
-
children:
|
|
656
|
-
}), /* @__PURE__ */ G(
|
|
657
|
-
className:
|
|
684
|
+
"aria-expanded": i,
|
|
685
|
+
children: r
|
|
686
|
+
}), /* @__PURE__ */ G(ir, { children: i && /* @__PURE__ */ K(ar.div, {
|
|
687
|
+
className: Jr.panel,
|
|
658
688
|
style: { background: l },
|
|
659
689
|
role: "menu",
|
|
660
690
|
"aria-label": "App launcher",
|
|
@@ -662,40 +692,40 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
662
692
|
animate: f.animate,
|
|
663
693
|
exit: f.exit,
|
|
664
694
|
children: [/* @__PURE__ */ G("div", {
|
|
665
|
-
className:
|
|
666
|
-
children: /* @__PURE__ */ G(
|
|
695
|
+
className: Jr.searchContainer,
|
|
696
|
+
children: /* @__PURE__ */ G(Xn, {
|
|
667
697
|
ref: m,
|
|
668
698
|
placeholder: "Search apps...",
|
|
669
699
|
value: o,
|
|
670
700
|
onChange: (e) => s(e.target.value),
|
|
671
701
|
leftSection: E,
|
|
672
702
|
size: "xs",
|
|
673
|
-
classNames: { input:
|
|
703
|
+
classNames: { input: Jr.searchInput },
|
|
674
704
|
"aria-label": "Search apps"
|
|
675
705
|
})
|
|
676
706
|
}), /* @__PURE__ */ K("div", {
|
|
677
|
-
className:
|
|
707
|
+
className: Jr.scrollContainer,
|
|
678
708
|
children: [
|
|
679
709
|
x.map((e) => {
|
|
680
710
|
let t = h.has(e.id);
|
|
681
|
-
return e.id === "launcher-folder-custom-apps" ? S.length === 0 ? null : /* @__PURE__ */ G(
|
|
711
|
+
return e.id === "launcher-folder-custom-apps" ? S.length === 0 ? null : /* @__PURE__ */ G(Zr, {
|
|
682
712
|
folder: e,
|
|
683
713
|
isExpanded: t,
|
|
684
|
-
apps: S.map(
|
|
714
|
+
apps: S.map(Yr),
|
|
685
715
|
onToggle: () => T(e.id),
|
|
686
716
|
onOpen: w
|
|
687
|
-
}, e.id) : /* @__PURE__ */ G(
|
|
717
|
+
}, e.id) : /* @__PURE__ */ G(Zr, {
|
|
688
718
|
folder: e,
|
|
689
719
|
isExpanded: t,
|
|
690
|
-
apps: e.appIds.map((e) => v.find((t) => t.id === e)).filter((e) => e !== void 0).sort((e, t) => e.name.localeCompare(t.name)).map(
|
|
720
|
+
apps: e.appIds.map((e) => v.find((t) => t.id === e)).filter((e) => e !== void 0).sort((e, t) => e.name.localeCompare(t.name)).map(Yr),
|
|
691
721
|
onToggle: () => T(e.id),
|
|
692
722
|
onOpen: w
|
|
693
723
|
}, e.id);
|
|
694
724
|
}),
|
|
695
725
|
b.length > 0 && /* @__PURE__ */ G("div", {
|
|
696
|
-
className:
|
|
697
|
-
children: b.map((e) => /* @__PURE__ */ G(
|
|
698
|
-
app:
|
|
726
|
+
className: Jr.appsSection,
|
|
727
|
+
children: b.map((e) => /* @__PURE__ */ G(Xr, {
|
|
728
|
+
app: Yr(e),
|
|
699
729
|
onOpen: w
|
|
700
730
|
}, e.id))
|
|
701
731
|
}),
|
|
@@ -710,7 +740,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
710
740
|
})]
|
|
711
741
|
}) })]
|
|
712
742
|
});
|
|
713
|
-
},
|
|
743
|
+
}, $r = ({ x: e, y: t }) => /* @__PURE__ */ G(J.Target, { children: /* @__PURE__ */ G("div", {
|
|
714
744
|
"aria-hidden": "true",
|
|
715
745
|
style: {
|
|
716
746
|
position: "fixed",
|
|
@@ -720,9 +750,9 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
720
750
|
height: 0,
|
|
721
751
|
pointerEvents: "none"
|
|
722
752
|
}
|
|
723
|
-
}) }),
|
|
753
|
+
}) }), ei = (e) => {
|
|
724
754
|
let t = H(null), [n, r] = U(0);
|
|
725
|
-
return
|
|
755
|
+
return zn(() => {
|
|
726
756
|
if (t.current && e) {
|
|
727
757
|
let e = t.current.offsetHeight;
|
|
728
758
|
r(e);
|
|
@@ -731,16 +761,16 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
731
761
|
menuRef: t,
|
|
732
762
|
menuHeight: n
|
|
733
763
|
};
|
|
734
|
-
},
|
|
764
|
+
}, ti = { menuItem: "_menuItem_18vno_1" }, ni = 8, ri = ({ windowMenuOpened: e, panelMenuOpened: t, launcherMenuOpened: n, menuPosition: r, targetWindowId: i, targetWindowState: a, onCloseWindow: o, onMinimizeWindow: s, onMaximizeWindow: c, onRestoreWindow: l, onClose: u }) => {
|
|
735
765
|
let { t: d } = Z("contextMenu"), f = {
|
|
736
766
|
size: 14,
|
|
737
767
|
style: { display: "block" }
|
|
738
|
-
}, p = () => I("FcCancel", f), m = () => I("FcMinus", f), h = () => I("FcTemplate", f), g = () => I("FcUndo", f), _ = () => I("FcSettings", f), v = () => I("FcFolder", f), y =
|
|
739
|
-
|
|
768
|
+
}, p = () => I("FcCancel", f), m = () => I("FcMinus", f), h = () => I("FcTemplate", f), g = () => I("FcUndo", f), _ = () => I("FcSettings", f), v = () => I("FcFolder", f), y = Ae(), b = Ur("menuedit"), x = P((e) => e.openWindow), S = a === "minimized", C = a === "maximized", { menuRef: w, menuHeight: T } = ei(e), { menuRef: E, menuHeight: D } = ei(t), { menuRef: ee, menuHeight: O } = ei(n), [k, te] = U(!1), [A, j] = U(!1), [ne, re] = U(!1);
|
|
769
|
+
zn(() => {
|
|
740
770
|
e || te(!1), e && T > 0 && te(!0);
|
|
741
|
-
}, [e, T]),
|
|
771
|
+
}, [e, T]), zn(() => {
|
|
742
772
|
t || j(!1), t && D > 0 && j(!0);
|
|
743
|
-
}, [t, D]),
|
|
773
|
+
}, [t, D]), zn(() => {
|
|
744
774
|
n || re(!1), n && O > 0 && re(!0);
|
|
745
775
|
}, [n, O]);
|
|
746
776
|
let ie = V(() => e ? {
|
|
@@ -766,8 +796,8 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
766
796
|
A,
|
|
767
797
|
ne
|
|
768
798
|
]), M = V(() => {
|
|
769
|
-
let { x: e, y: t } = r, { height: n, ready: i } = ie, a = t -
|
|
770
|
-
return i && n > 0 && t > window.innerHeight - 48 - n -
|
|
799
|
+
let { x: e, y: t } = r, { height: n, ready: i } = ie, a = t - ni;
|
|
800
|
+
return i && n > 0 && t > window.innerHeight - 48 - n - ni && (a = t - n + ni), {
|
|
771
801
|
x: e,
|
|
772
802
|
y: a
|
|
773
803
|
};
|
|
@@ -798,7 +828,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
798
828
|
closeOnEscape: !0,
|
|
799
829
|
closeOnItemClick: !0,
|
|
800
830
|
withinPortal: !0,
|
|
801
|
-
children: [/* @__PURE__ */ G(
|
|
831
|
+
children: [/* @__PURE__ */ G($r, {
|
|
802
832
|
x: M.x,
|
|
803
833
|
y: M.y
|
|
804
834
|
}), /* @__PURE__ */ K(J.Dropdown, {
|
|
@@ -810,7 +840,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
810
840
|
i && s(i);
|
|
811
841
|
},
|
|
812
842
|
children: /* @__PURE__ */ K("div", {
|
|
813
|
-
className:
|
|
843
|
+
className: ti.menuItem,
|
|
814
844
|
children: [
|
|
815
845
|
/* @__PURE__ */ G(m, {}),
|
|
816
846
|
" ",
|
|
@@ -823,7 +853,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
823
853
|
i && l(i);
|
|
824
854
|
},
|
|
825
855
|
children: /* @__PURE__ */ K("div", {
|
|
826
|
-
className:
|
|
856
|
+
className: ti.menuItem,
|
|
827
857
|
children: [
|
|
828
858
|
/* @__PURE__ */ G(g, {}),
|
|
829
859
|
" ",
|
|
@@ -835,7 +865,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
835
865
|
i && c(i);
|
|
836
866
|
},
|
|
837
867
|
children: /* @__PURE__ */ K("div", {
|
|
838
|
-
className:
|
|
868
|
+
className: ti.menuItem,
|
|
839
869
|
children: [
|
|
840
870
|
/* @__PURE__ */ G(h, {}),
|
|
841
871
|
" ",
|
|
@@ -849,7 +879,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
849
879
|
i && o(i);
|
|
850
880
|
},
|
|
851
881
|
children: /* @__PURE__ */ K("div", {
|
|
852
|
-
className:
|
|
882
|
+
className: ti.menuItem,
|
|
853
883
|
children: [
|
|
854
884
|
/* @__PURE__ */ G(p, {}),
|
|
855
885
|
" ",
|
|
@@ -867,7 +897,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
867
897
|
closeOnEscape: !0,
|
|
868
898
|
closeOnItemClick: !0,
|
|
869
899
|
withinPortal: !0,
|
|
870
|
-
children: [/* @__PURE__ */ G(
|
|
900
|
+
children: [/* @__PURE__ */ G($r, {
|
|
871
901
|
x: M.x,
|
|
872
902
|
y: M.y
|
|
873
903
|
}), /* @__PURE__ */ G(J.Dropdown, {
|
|
@@ -878,7 +908,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
878
908
|
y("settings");
|
|
879
909
|
},
|
|
880
910
|
children: /* @__PURE__ */ K("div", {
|
|
881
|
-
className:
|
|
911
|
+
className: ti.menuItem,
|
|
882
912
|
children: [
|
|
883
913
|
/* @__PURE__ */ G(_, {}),
|
|
884
914
|
" ",
|
|
@@ -895,7 +925,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
895
925
|
closeOnEscape: !0,
|
|
896
926
|
closeOnItemClick: !0,
|
|
897
927
|
withinPortal: !0,
|
|
898
|
-
children: [/* @__PURE__ */ G(
|
|
928
|
+
children: [/* @__PURE__ */ G($r, {
|
|
899
929
|
x: M.x,
|
|
900
930
|
y: M.y
|
|
901
931
|
}), /* @__PURE__ */ K(J.Dropdown, {
|
|
@@ -917,7 +947,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
917
947
|
})]
|
|
918
948
|
})
|
|
919
949
|
] });
|
|
920
|
-
},
|
|
950
|
+
}, ii = {
|
|
921
951
|
actions: {
|
|
922
952
|
save: "Save",
|
|
923
953
|
saveAs: "Save As",
|
|
@@ -1018,7 +1048,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1018
1048
|
ariaLabel: "App launcher",
|
|
1019
1049
|
selectedIcon: "Selected: {{icon}}"
|
|
1020
1050
|
}
|
|
1021
|
-
},
|
|
1051
|
+
}, ai = {
|
|
1022
1052
|
names: {
|
|
1023
1053
|
notepad: "Notepad",
|
|
1024
1054
|
terminal: "Terminal",
|
|
@@ -1149,7 +1179,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1149
1179
|
notAvailableMessage: "VS Code (code-server) cannot be used in browser mode.",
|
|
1150
1180
|
dockerRequired: "Please run in Docker to use VS Code."
|
|
1151
1181
|
}
|
|
1152
|
-
},
|
|
1182
|
+
}, oi = {
|
|
1153
1183
|
sections: {
|
|
1154
1184
|
wallpaper: {
|
|
1155
1185
|
label: "Wallpaper",
|
|
@@ -1180,11 +1210,24 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1180
1210
|
title: "Wallpaper",
|
|
1181
1211
|
wallpaperType: "Wallpaper Type",
|
|
1182
1212
|
staticImage: "Static Image",
|
|
1213
|
+
gradient: "Gradient",
|
|
1214
|
+
gradientType: "Gradient Type",
|
|
1215
|
+
gradientPreset: "Preset",
|
|
1216
|
+
gradientPosition: "Position {index}",
|
|
1217
|
+
addColor: "Add color",
|
|
1218
|
+
removeColor: "Remove",
|
|
1219
|
+
linear: "Linear",
|
|
1220
|
+
radial: "Radial",
|
|
1221
|
+
conic: "Conic",
|
|
1222
|
+
angle: "Angle",
|
|
1183
1223
|
chooseFromImages: "Choose from Images",
|
|
1184
1224
|
uploadFromDisk: "Upload from disk",
|
|
1185
1225
|
resetToDefault: "Reset to default",
|
|
1186
1226
|
orEnterUrl: "Or enter a URL",
|
|
1187
|
-
wallpaperPreview: "Wallpaper preview"
|
|
1227
|
+
wallpaperPreview: "Wallpaper preview",
|
|
1228
|
+
gradientPreview: "Gradient preview",
|
|
1229
|
+
addNoise: "Add noise texture",
|
|
1230
|
+
noiseOpacity: "Noise opacity"
|
|
1188
1231
|
},
|
|
1189
1232
|
appearance: {
|
|
1190
1233
|
title: "Appearance",
|
|
@@ -1224,7 +1267,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1224
1267
|
spanish: "Español"
|
|
1225
1268
|
},
|
|
1226
1269
|
all: "All Settings"
|
|
1227
|
-
},
|
|
1270
|
+
}, si = {
|
|
1228
1271
|
window: {
|
|
1229
1272
|
title: "Window",
|
|
1230
1273
|
minimize: "Minimize",
|
|
@@ -1252,7 +1295,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1252
1295
|
selectFolder: "Select folder",
|
|
1253
1296
|
filename: "filename.md"
|
|
1254
1297
|
}
|
|
1255
|
-
},
|
|
1298
|
+
}, ci = {
|
|
1256
1299
|
window: {
|
|
1257
1300
|
minimize: "Minimize",
|
|
1258
1301
|
restore: "Restore",
|
|
@@ -1298,7 +1341,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1298
1341
|
title: "Launcher",
|
|
1299
1342
|
editLauncher: "Edit Launcher"
|
|
1300
1343
|
}
|
|
1301
|
-
},
|
|
1344
|
+
}, li = {
|
|
1302
1345
|
empty: {
|
|
1303
1346
|
title: "There are no new notifications",
|
|
1304
1347
|
message: "For now"
|
|
@@ -1308,7 +1351,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1308
1351
|
hideNotifications: "Hide notifications",
|
|
1309
1352
|
clock: "clock"
|
|
1310
1353
|
}
|
|
1311
|
-
},
|
|
1354
|
+
}, ui = {
|
|
1312
1355
|
toolbar: {
|
|
1313
1356
|
formatting: "Text formatting",
|
|
1314
1357
|
bold: "Bold",
|
|
@@ -1324,7 +1367,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1324
1367
|
horizontalRule: "Horizontal rule"
|
|
1325
1368
|
},
|
|
1326
1369
|
untitled: "untitled.md"
|
|
1327
|
-
},
|
|
1370
|
+
}, di = {
|
|
1328
1371
|
hero: {
|
|
1329
1372
|
title: "Fullstack Developer & DevOps",
|
|
1330
1373
|
downloadCV: "Download CV",
|
|
@@ -1337,7 +1380,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1337
1380
|
experience: "Professional Experience",
|
|
1338
1381
|
techStack: "Tech Stack",
|
|
1339
1382
|
languages: "Languages"
|
|
1340
|
-
},
|
|
1383
|
+
}, fi = {
|
|
1341
1384
|
title: "Edit Launcher",
|
|
1342
1385
|
newFolder: "New Folder",
|
|
1343
1386
|
predefined: "Predefined",
|
|
@@ -1350,7 +1393,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1350
1393
|
addFolder: "Add folder",
|
|
1351
1394
|
instructions: "Right-click an app in a folder to remove it. Click an available app to add it to the first custom folder.",
|
|
1352
1395
|
canCreateNewFolder: "You can create new folders if needed."
|
|
1353
|
-
},
|
|
1396
|
+
}, pi = {
|
|
1354
1397
|
actions: {
|
|
1355
1398
|
save: "Guardar",
|
|
1356
1399
|
saveAs: "Guardar como",
|
|
@@ -1451,7 +1494,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1451
1494
|
ariaLabel: "Lanzador de aplicaciones",
|
|
1452
1495
|
selectedIcon: "Seleccionado: {{icon}}"
|
|
1453
1496
|
}
|
|
1454
|
-
},
|
|
1497
|
+
}, mi = {
|
|
1455
1498
|
names: {
|
|
1456
1499
|
notepad: "Bloc de notas",
|
|
1457
1500
|
terminal: "Terminal",
|
|
@@ -1582,7 +1625,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1582
1625
|
notAvailableMessage: "VS Code (code-server) no puede usarse en modo navegador.",
|
|
1583
1626
|
dockerRequired: "Por favor, ejecuta la aplicación en Docker para usar VS Code."
|
|
1584
1627
|
}
|
|
1585
|
-
},
|
|
1628
|
+
}, hi = {
|
|
1586
1629
|
sections: {
|
|
1587
1630
|
wallpaper: {
|
|
1588
1631
|
label: "Fondo de pantalla",
|
|
@@ -1613,11 +1656,24 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1613
1656
|
title: "Fondo de pantalla",
|
|
1614
1657
|
wallpaperType: "Tipo de fondo",
|
|
1615
1658
|
staticImage: "Imagen estática",
|
|
1659
|
+
gradient: "Degradado",
|
|
1660
|
+
gradientType: "Tipo de degradado",
|
|
1661
|
+
gradientPreset: "Preset",
|
|
1662
|
+
gradientPosition: "Posición {index}",
|
|
1663
|
+
addColor: "Añadir color",
|
|
1664
|
+
removeColor: "Quitar",
|
|
1665
|
+
linear: "Lineal",
|
|
1666
|
+
radial: "Radial",
|
|
1667
|
+
conic: "Cónico",
|
|
1668
|
+
angle: "Ángulo",
|
|
1616
1669
|
chooseFromImages: "Elegir de imágenes",
|
|
1617
1670
|
uploadFromDisk: "Subir desde disco",
|
|
1618
1671
|
resetToDefault: "Restablecer por defecto",
|
|
1619
1672
|
orEnterUrl: "O introduce una URL",
|
|
1620
|
-
wallpaperPreview: "Vista previa del fondo"
|
|
1673
|
+
wallpaperPreview: "Vista previa del fondo",
|
|
1674
|
+
gradientPreview: "Vista previa del degradado",
|
|
1675
|
+
addNoise: "Añadir textura de ruido",
|
|
1676
|
+
noiseOpacity: "Opacidad del ruido"
|
|
1621
1677
|
},
|
|
1622
1678
|
appearance: {
|
|
1623
1679
|
title: "Apariencia",
|
|
@@ -1657,7 +1713,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1657
1713
|
spanish: "Español"
|
|
1658
1714
|
},
|
|
1659
1715
|
all: "Todos los ajustes"
|
|
1660
|
-
},
|
|
1716
|
+
}, gi = {
|
|
1661
1717
|
window: {
|
|
1662
1718
|
title: "Ventana",
|
|
1663
1719
|
minimize: "Minimizar",
|
|
@@ -1685,7 +1741,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1685
1741
|
selectFolder: "Seleccionar carpeta",
|
|
1686
1742
|
filename: "nombre.md"
|
|
1687
1743
|
}
|
|
1688
|
-
},
|
|
1744
|
+
}, _i = {
|
|
1689
1745
|
window: {
|
|
1690
1746
|
minimize: "Minimizar",
|
|
1691
1747
|
restore: "Restaurar",
|
|
@@ -1731,7 +1787,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1731
1787
|
title: "Launcher",
|
|
1732
1788
|
editLauncher: "Editar Launcher"
|
|
1733
1789
|
}
|
|
1734
|
-
},
|
|
1790
|
+
}, vi = {
|
|
1735
1791
|
empty: {
|
|
1736
1792
|
title: "No hay notificaciones nuevas",
|
|
1737
1793
|
message: "Por ahora"
|
|
@@ -1741,7 +1797,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1741
1797
|
hideNotifications: "Ocultar notificaciones",
|
|
1742
1798
|
clock: "reloj"
|
|
1743
1799
|
}
|
|
1744
|
-
},
|
|
1800
|
+
}, yi = {
|
|
1745
1801
|
toolbar: {
|
|
1746
1802
|
formatting: "Formato de texto",
|
|
1747
1803
|
bold: "Negrita",
|
|
@@ -1757,7 +1813,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1757
1813
|
horizontalRule: "Línea horizontal"
|
|
1758
1814
|
},
|
|
1759
1815
|
untitled: "sin-titulo.md"
|
|
1760
|
-
},
|
|
1816
|
+
}, bi = {
|
|
1761
1817
|
hero: {
|
|
1762
1818
|
title: "Fullstack Developer & DevOps",
|
|
1763
1819
|
downloadCV: "Descargar CV",
|
|
@@ -1770,7 +1826,7 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1770
1826
|
experience: "Experiencia Profesional",
|
|
1771
1827
|
techStack: "Stack Tecnológico",
|
|
1772
1828
|
languages: "Idiomas"
|
|
1773
|
-
},
|
|
1829
|
+
}, xi = {
|
|
1774
1830
|
newFolder: "Nueva Carpeta",
|
|
1775
1831
|
predefined: "Predefinida",
|
|
1776
1832
|
rename: "Renombrar",
|
|
@@ -1782,34 +1838,34 @@ var ei = ({ app: e, onOpen: t }) => {
|
|
|
1782
1838
|
addFolder: "Añadir carpeta",
|
|
1783
1839
|
instructions: "Clic derecho en una app dentro de una carpeta para eliminarla. Clic en una app disponible para añadirla a la primera carpeta personalizada.",
|
|
1784
1840
|
canCreateNewFolder: "Puedes crear una nueva carpeta si lo necesitas."
|
|
1785
|
-
},
|
|
1786
|
-
|
|
1841
|
+
}, Si = ["en", "es"];
|
|
1842
|
+
cr.use(lr).use(sr).init({
|
|
1787
1843
|
resources: {
|
|
1788
1844
|
en: {
|
|
1789
|
-
common:
|
|
1790
|
-
apps:
|
|
1791
|
-
settings:
|
|
1792
|
-
window:
|
|
1793
|
-
contextMenu:
|
|
1794
|
-
notifications:
|
|
1795
|
-
notes:
|
|
1796
|
-
welcome:
|
|
1797
|
-
menuedit:
|
|
1845
|
+
common: ii,
|
|
1846
|
+
apps: ai,
|
|
1847
|
+
settings: oi,
|
|
1848
|
+
window: si,
|
|
1849
|
+
contextMenu: ci,
|
|
1850
|
+
notifications: li,
|
|
1851
|
+
notes: ui,
|
|
1852
|
+
welcome: di,
|
|
1853
|
+
menuedit: fi
|
|
1798
1854
|
},
|
|
1799
1855
|
es: {
|
|
1800
|
-
common:
|
|
1801
|
-
apps:
|
|
1802
|
-
settings:
|
|
1803
|
-
window:
|
|
1804
|
-
contextMenu:
|
|
1805
|
-
notifications:
|
|
1806
|
-
notes:
|
|
1807
|
-
welcome:
|
|
1808
|
-
menuedit:
|
|
1856
|
+
common: pi,
|
|
1857
|
+
apps: mi,
|
|
1858
|
+
settings: hi,
|
|
1859
|
+
window: gi,
|
|
1860
|
+
contextMenu: _i,
|
|
1861
|
+
notifications: vi,
|
|
1862
|
+
notes: yi,
|
|
1863
|
+
welcome: bi,
|
|
1864
|
+
menuedit: xi
|
|
1809
1865
|
}
|
|
1810
1866
|
},
|
|
1811
1867
|
fallbackLng: "en",
|
|
1812
|
-
supportedLngs:
|
|
1868
|
+
supportedLngs: Si,
|
|
1813
1869
|
ns: [
|
|
1814
1870
|
"common",
|
|
1815
1871
|
"apps",
|
|
@@ -1829,7 +1885,7 @@ dr.use(fr).use(ur).init({
|
|
|
1829
1885
|
caches: ["localStorage"]
|
|
1830
1886
|
}
|
|
1831
1887
|
});
|
|
1832
|
-
var
|
|
1888
|
+
var Ci = cr, wi = {
|
|
1833
1889
|
root: "_root_17um1_1",
|
|
1834
1890
|
windowButton: "_windowButton_17um1_15",
|
|
1835
1891
|
systemTray: "_systemTray_17um1_44",
|
|
@@ -1837,64 +1893,64 @@ var Di = dr, Oi = {
|
|
|
1837
1893
|
clock: "_clock_17um1_70",
|
|
1838
1894
|
notifButton: "_notifButton_17um1_88",
|
|
1839
1895
|
langButton: "_langButton_17um1_109"
|
|
1840
|
-
},
|
|
1896
|
+
}, Ti = {
|
|
1841
1897
|
en: "English",
|
|
1842
1898
|
es: "Español"
|
|
1843
|
-
},
|
|
1844
|
-
let { t
|
|
1845
|
-
|
|
1846
|
-
}, [
|
|
1899
|
+
}, Ei = () => {
|
|
1900
|
+
let { t, i18n: n } = Z("settings"), r = e((e) => e.language), i = e((e) => e.setLanguage), [a, o] = U(!1), s = z((e) => {
|
|
1901
|
+
i(e), n.changeLanguage(e), localStorage.setItem("fde-desktop:language", e), o(!1);
|
|
1902
|
+
}, [i, n]);
|
|
1847
1903
|
return /* @__PURE__ */ K(Y, {
|
|
1848
|
-
opened:
|
|
1904
|
+
opened: a,
|
|
1849
1905
|
onChange: o,
|
|
1850
1906
|
position: "top-end",
|
|
1851
1907
|
shadow: "md",
|
|
1852
1908
|
withArrow: !0,
|
|
1853
|
-
children: [/* @__PURE__ */ G(Y.Target, { children: /* @__PURE__ */ G(
|
|
1854
|
-
className:
|
|
1909
|
+
children: [/* @__PURE__ */ G(Y.Target, { children: /* @__PURE__ */ G(Zn, {
|
|
1910
|
+
className: wi.langButton,
|
|
1855
1911
|
onClick: () => o((e) => !e),
|
|
1856
|
-
"aria-label":
|
|
1857
|
-
"aria-expanded":
|
|
1912
|
+
"aria-label": t("language.selectPlaceholder"),
|
|
1913
|
+
"aria-expanded": a,
|
|
1858
1914
|
children: /* @__PURE__ */ G(l, {
|
|
1859
|
-
lang:
|
|
1915
|
+
lang: r,
|
|
1860
1916
|
size: 16
|
|
1861
1917
|
})
|
|
1862
|
-
}) }), /* @__PURE__ */ G(Y.Dropdown, { children: /* @__PURE__ */ G(
|
|
1918
|
+
}) }), /* @__PURE__ */ G(Y.Dropdown, { children: /* @__PURE__ */ G(Yn, {
|
|
1863
1919
|
gap: "xs",
|
|
1864
|
-
children:
|
|
1920
|
+
children: Si.map((e) => /* @__PURE__ */ G(Zn, {
|
|
1865
1921
|
onClick: () => s(e),
|
|
1866
|
-
"aria-label":
|
|
1867
|
-
"aria-pressed": e ===
|
|
1922
|
+
"aria-label": Ti[e],
|
|
1923
|
+
"aria-pressed": e === r,
|
|
1868
1924
|
style: {
|
|
1869
1925
|
padding: "8px 12px",
|
|
1870
1926
|
borderRadius: 6,
|
|
1871
1927
|
width: "100%",
|
|
1872
|
-
background: e ===
|
|
1928
|
+
background: e === r ? "var(--mantine-primary-color-light)" : "transparent",
|
|
1873
1929
|
cursor: "pointer"
|
|
1874
1930
|
},
|
|
1875
|
-
children: /* @__PURE__ */ K(
|
|
1931
|
+
children: /* @__PURE__ */ K(Un, {
|
|
1876
1932
|
gap: "sm",
|
|
1877
1933
|
children: [/* @__PURE__ */ G(l, {
|
|
1878
1934
|
lang: e,
|
|
1879
1935
|
size: 20
|
|
1880
1936
|
}), /* @__PURE__ */ G(X, {
|
|
1881
1937
|
size: "sm",
|
|
1882
|
-
fw: e ===
|
|
1883
|
-
children:
|
|
1938
|
+
fw: e === r ? 600 : 400,
|
|
1939
|
+
children: Ti[e]
|
|
1884
1940
|
})]
|
|
1885
1941
|
})
|
|
1886
1942
|
}, e))
|
|
1887
1943
|
}) })]
|
|
1888
1944
|
});
|
|
1889
|
-
},
|
|
1890
|
-
let r = H(null), { register: i, unregister: a } =
|
|
1945
|
+
}, Di = ({ win: e, onClick: t, onContextMenu: n }) => {
|
|
1946
|
+
let r = H(null), { register: i, unregister: a } = Mr();
|
|
1891
1947
|
return B(() => (r.current && i(e.id, r.current.getBoundingClientRect()), () => a(e.id)), [
|
|
1892
1948
|
e.id,
|
|
1893
1949
|
i,
|
|
1894
1950
|
a
|
|
1895
1951
|
]), /* @__PURE__ */ K("button", {
|
|
1896
1952
|
ref: r,
|
|
1897
|
-
className:
|
|
1953
|
+
className: wi.windowButton,
|
|
1898
1954
|
"data-active": e.state === "minimized" ? "false" : "true",
|
|
1899
1955
|
onClick: t,
|
|
1900
1956
|
onContextMenu: n,
|
|
@@ -1911,8 +1967,8 @@ var Di = dr, Oi = {
|
|
|
1911
1967
|
children: e.title
|
|
1912
1968
|
})]
|
|
1913
1969
|
});
|
|
1914
|
-
},
|
|
1915
|
-
let { t } = Z("notifications"),
|
|
1970
|
+
}, Oi = ({ calendarSlot: t }) => {
|
|
1971
|
+
let { t: n } = Z("notifications"), r = e((e) => e.theme.colors.taskbar), i = e((e) => e.theme.mode), a = e((e) => e.toggleTheme), o = e((e) => e.launcherIcon), s = P((e) => e.notifications), c = P((e) => e.removeNotification), l = P((e) => e.windows), u = P((e) => e.restoreWindow), d = P((e) => e.minimizeWindow), f = P((e) => e.focusWindow), p = P((e) => e.closeWindow), m = P((e) => e.maximizeWindow), h = Ir(), [g, _] = U(!1), [v, y] = U(!1), { position: b, targetWindowId: x, windowMenuOpened: S, panelMenuOpened: C, launcherMenuOpened: w, openWindowMenu: T, openPanelMenu: E, openLauncherMenu: D, closeMenu: ee } = zr(), O = x ? l.find((e) => e.id === x)?.state ?? null : null, k = H(0);
|
|
1916
1972
|
B(() => {
|
|
1917
1973
|
s.length > k.current && setTimeout(() => y(!0), 0), k.current = s.length;
|
|
1918
1974
|
}, [s.length]);
|
|
@@ -1920,23 +1976,23 @@ var Di = dr, Oi = {
|
|
|
1920
1976
|
t === "minimized" ? (u(e), f(e)) : d(e);
|
|
1921
1977
|
};
|
|
1922
1978
|
return /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ K("div", {
|
|
1923
|
-
className:
|
|
1924
|
-
style: { background:
|
|
1979
|
+
className: wi.root,
|
|
1980
|
+
style: { background: r },
|
|
1925
1981
|
role: "toolbar",
|
|
1926
1982
|
"aria-label": "Taskbar",
|
|
1927
1983
|
onContextMenu: E,
|
|
1928
1984
|
children: [
|
|
1929
|
-
/* @__PURE__ */ G(
|
|
1985
|
+
/* @__PURE__ */ G(Qr, {
|
|
1930
1986
|
fcIcon: o,
|
|
1931
1987
|
onContextMenu: D
|
|
1932
1988
|
}),
|
|
1933
|
-
te.map((e) => /* @__PURE__ */ G(
|
|
1989
|
+
te.map((e) => /* @__PURE__ */ G(Di, {
|
|
1934
1990
|
win: e,
|
|
1935
1991
|
onClick: () => A(e.id, e.state),
|
|
1936
1992
|
onContextMenu: (t) => T(t, e.id)
|
|
1937
1993
|
}, e.id)),
|
|
1938
1994
|
/* @__PURE__ */ K("div", {
|
|
1939
|
-
className:
|
|
1995
|
+
className: wi.systemTray,
|
|
1940
1996
|
"data-testid": "system-tray",
|
|
1941
1997
|
children: [
|
|
1942
1998
|
/* @__PURE__ */ K(Y, {
|
|
@@ -1947,9 +2003,9 @@ var Di = dr, Oi = {
|
|
|
1947
2003
|
withArrow: !0,
|
|
1948
2004
|
keepMounted: !0,
|
|
1949
2005
|
children: [/* @__PURE__ */ G(Y.Target, { children: /* @__PURE__ */ G("button", {
|
|
1950
|
-
className:
|
|
2006
|
+
className: wi.notifButton,
|
|
1951
2007
|
onClick: () => y((e) => !e),
|
|
1952
|
-
"aria-label":
|
|
2008
|
+
"aria-label": n(v ? "taskbar.hideNotifications" : "taskbar.showNotifications"),
|
|
1953
2009
|
children: /* @__PURE__ */ G(L, {
|
|
1954
2010
|
fcIcon: v ? "FcCollapse" : "FcExpand",
|
|
1955
2011
|
size: 18
|
|
@@ -1967,11 +2023,11 @@ var Di = dr, Oi = {
|
|
|
1967
2023
|
gap: 8,
|
|
1968
2024
|
minWidth: 300
|
|
1969
2025
|
},
|
|
1970
|
-
children: s.length === 0 ? /* @__PURE__ */ G(
|
|
1971
|
-
title:
|
|
2026
|
+
children: s.length === 0 ? /* @__PURE__ */ G(qn, {
|
|
2027
|
+
title: n("empty.title"),
|
|
1972
2028
|
onClose: () => y(!1),
|
|
1973
|
-
children:
|
|
1974
|
-
}) : s.map((e) => /* @__PURE__ */ G(
|
|
2029
|
+
children: n("empty.message")
|
|
2030
|
+
}) : s.map((e) => /* @__PURE__ */ G(qn, {
|
|
1975
2031
|
withBorder: !0,
|
|
1976
2032
|
icon: e.fcIcon ? /* @__PURE__ */ G(L, {
|
|
1977
2033
|
fcIcon: e.fcIcon,
|
|
@@ -1986,13 +2042,13 @@ var Di = dr, Oi = {
|
|
|
1986
2042
|
})
|
|
1987
2043
|
})]
|
|
1988
2044
|
}),
|
|
1989
|
-
/* @__PURE__ */ G(
|
|
2045
|
+
/* @__PURE__ */ G(Ei, {}),
|
|
1990
2046
|
/* @__PURE__ */ G("button", {
|
|
1991
|
-
className:
|
|
1992
|
-
onClick:
|
|
1993
|
-
"aria-label":
|
|
1994
|
-
title:
|
|
1995
|
-
children:
|
|
2047
|
+
className: wi.themeToggle,
|
|
2048
|
+
onClick: a,
|
|
2049
|
+
"aria-label": n(i === "dark" ? "theme.switchToLight" : "theme.switchToDark", { ns: "common" }),
|
|
2050
|
+
title: n(i === "dark" ? "theme.switchToLight" : "theme.switchToDark", { ns: "common" }),
|
|
2051
|
+
children: i === "dark" ? "☀️" : "🌙"
|
|
1996
2052
|
}),
|
|
1997
2053
|
/* @__PURE__ */ K(Y, {
|
|
1998
2054
|
opened: g,
|
|
@@ -2001,20 +2057,20 @@ var Di = dr, Oi = {
|
|
|
2001
2057
|
shadow: "md",
|
|
2002
2058
|
withArrow: !0,
|
|
2003
2059
|
children: [/* @__PURE__ */ G(Y.Target, { children: /* @__PURE__ */ G("button", {
|
|
2004
|
-
className:
|
|
2060
|
+
className: wi.clock,
|
|
2005
2061
|
onClick: () => _((e) => !e),
|
|
2006
|
-
"aria-label":
|
|
2062
|
+
"aria-label": n("taskbar.clock"),
|
|
2007
2063
|
"aria-expanded": g,
|
|
2008
2064
|
children: /* @__PURE__ */ G(X, {
|
|
2009
2065
|
size: "xs",
|
|
2010
2066
|
children: h
|
|
2011
2067
|
})
|
|
2012
|
-
}) }), /* @__PURE__ */ G(Y.Dropdown, { children:
|
|
2068
|
+
}) }), /* @__PURE__ */ G(Y.Dropdown, { children: t })]
|
|
2013
2069
|
})
|
|
2014
2070
|
]
|
|
2015
2071
|
})
|
|
2016
2072
|
]
|
|
2017
|
-
}), /* @__PURE__ */ G(
|
|
2073
|
+
}), /* @__PURE__ */ G(ri, {
|
|
2018
2074
|
windowMenuOpened: S,
|
|
2019
2075
|
panelMenuOpened: C,
|
|
2020
2076
|
launcherMenuOpened: w,
|
|
@@ -2027,21 +2083,21 @@ var Di = dr, Oi = {
|
|
|
2027
2083
|
onRestoreWindow: u,
|
|
2028
2084
|
onClose: ee
|
|
2029
2085
|
})] });
|
|
2030
|
-
},
|
|
2086
|
+
}, ki = ({ message: e = "Loading...", size: t = "lg" }) => /* @__PURE__ */ G(Hn, {
|
|
2031
2087
|
style: {
|
|
2032
2088
|
width: "100%",
|
|
2033
2089
|
height: "100%"
|
|
2034
2090
|
},
|
|
2035
|
-
children: /* @__PURE__ */ K(
|
|
2091
|
+
children: /* @__PURE__ */ K(Yn, {
|
|
2036
2092
|
align: "center",
|
|
2037
2093
|
gap: "md",
|
|
2038
|
-
children: [/* @__PURE__ */ G(
|
|
2094
|
+
children: [/* @__PURE__ */ G(Wn, { size: t }), /* @__PURE__ */ G(X, {
|
|
2039
2095
|
c: "dimmed",
|
|
2040
2096
|
children: e
|
|
2041
2097
|
})]
|
|
2042
2098
|
})
|
|
2043
|
-
}),
|
|
2044
|
-
let n =
|
|
2099
|
+
}), Ai = ({ progress: e, windowIcon: t }) => {
|
|
2100
|
+
let n = $n(), r = () => {
|
|
2045
2101
|
switch (e.state) {
|
|
2046
2102
|
case "fetching": return "Fetching app info...";
|
|
2047
2103
|
case "compiling": return "Compiling app...";
|
|
@@ -2051,13 +2107,13 @@ var Di = dr, Oi = {
|
|
|
2051
2107
|
default: return "Loading...";
|
|
2052
2108
|
}
|
|
2053
2109
|
}, i = () => e.state === "error" ? "red" : e.state === "ready" ? "green" : n.primaryColor;
|
|
2054
|
-
return /* @__PURE__ */ G(
|
|
2110
|
+
return /* @__PURE__ */ G(Hn, {
|
|
2055
2111
|
style: {
|
|
2056
2112
|
width: "100%",
|
|
2057
2113
|
height: "100%"
|
|
2058
2114
|
},
|
|
2059
2115
|
"data-testid": "custom-app-loading",
|
|
2060
|
-
children: /* @__PURE__ */ K(
|
|
2116
|
+
children: /* @__PURE__ */ K(Yn, {
|
|
2061
2117
|
align: "center",
|
|
2062
2118
|
gap: "lg",
|
|
2063
2119
|
p: "xl",
|
|
@@ -2071,7 +2127,7 @@ var Di = dr, Oi = {
|
|
|
2071
2127
|
fw: 700,
|
|
2072
2128
|
children: e.appName || "App"
|
|
2073
2129
|
}),
|
|
2074
|
-
/* @__PURE__ */ G(
|
|
2130
|
+
/* @__PURE__ */ G(Jn, {
|
|
2075
2131
|
value: e.progress,
|
|
2076
2132
|
size: "lg",
|
|
2077
2133
|
radius: "xl",
|
|
@@ -2098,12 +2154,12 @@ var Di = dr, Oi = {
|
|
|
2098
2154
|
]
|
|
2099
2155
|
})
|
|
2100
2156
|
});
|
|
2101
|
-
},
|
|
2157
|
+
}, ji = ({ appId: e }) => /* @__PURE__ */ G(Hn, {
|
|
2102
2158
|
style: {
|
|
2103
2159
|
width: "100%",
|
|
2104
2160
|
height: "100%"
|
|
2105
2161
|
},
|
|
2106
|
-
children: /* @__PURE__ */ K(
|
|
2162
|
+
children: /* @__PURE__ */ K(Yn, {
|
|
2107
2163
|
align: "center",
|
|
2108
2164
|
gap: "lg",
|
|
2109
2165
|
p: "xl",
|
|
@@ -2111,7 +2167,7 @@ var Di = dr, Oi = {
|
|
|
2111
2167
|
children: [
|
|
2112
2168
|
/* @__PURE__ */ G(X, {
|
|
2113
2169
|
size: "3rem",
|
|
2114
|
-
children: /* @__PURE__ */ G(
|
|
2170
|
+
children: /* @__PURE__ */ G(fr, {})
|
|
2115
2171
|
}),
|
|
2116
2172
|
/* @__PURE__ */ G(X, {
|
|
2117
2173
|
size: "lg",
|
|
@@ -2136,7 +2192,7 @@ var Di = dr, Oi = {
|
|
|
2136
2192
|
},
|
|
2137
2193
|
children: "Open Welcome App"
|
|
2138
2194
|
}),
|
|
2139
|
-
/* @__PURE__ */ G(
|
|
2195
|
+
/* @__PURE__ */ G(Vn, {
|
|
2140
2196
|
href: "https://github.com/frannunpal/frannunpal.github.io/issues",
|
|
2141
2197
|
target: "_blank",
|
|
2142
2198
|
rel: "noopener noreferrer",
|
|
@@ -2145,12 +2201,12 @@ var Di = dr, Oi = {
|
|
|
2145
2201
|
})
|
|
2146
2202
|
]
|
|
2147
2203
|
})
|
|
2148
|
-
}),
|
|
2204
|
+
}), Mi = ({ appId: e }) => /* @__PURE__ */ G(Hn, {
|
|
2149
2205
|
style: {
|
|
2150
2206
|
width: "100%",
|
|
2151
2207
|
height: "100%"
|
|
2152
2208
|
},
|
|
2153
|
-
children: /* @__PURE__ */ K(
|
|
2209
|
+
children: /* @__PURE__ */ K(Yn, {
|
|
2154
2210
|
align: "center",
|
|
2155
2211
|
gap: "lg",
|
|
2156
2212
|
p: "xl",
|
|
@@ -2158,7 +2214,7 @@ var Di = dr, Oi = {
|
|
|
2158
2214
|
children: [
|
|
2159
2215
|
/* @__PURE__ */ G(X, {
|
|
2160
2216
|
size: "3rem",
|
|
2161
|
-
children: /* @__PURE__ */ G(
|
|
2217
|
+
children: /* @__PURE__ */ G(pr, {})
|
|
2162
2218
|
}),
|
|
2163
2219
|
/* @__PURE__ */ G(X, {
|
|
2164
2220
|
size: "lg",
|
|
@@ -2184,15 +2240,15 @@ var Di = dr, Oi = {
|
|
|
2184
2240
|
})
|
|
2185
2241
|
]
|
|
2186
2242
|
})
|
|
2187
|
-
}),
|
|
2188
|
-
function
|
|
2189
|
-
|
|
2243
|
+
}), Ni = /* @__PURE__ */ new Set(), $ = null, Pi = null, Fi = null, Ii = !1, Li = 0, Ri = null, zi = !1, Bi = !1;
|
|
2244
|
+
function Vi() {
|
|
2245
|
+
Ni.clear(), $ = null, Pi = null, Fi = null, Ii = !1, Li = 0, Ri = null, zi = !1, Bi = !1;
|
|
2190
2246
|
}
|
|
2191
|
-
var
|
|
2192
|
-
function
|
|
2247
|
+
var Hi = 1e4, Ui = 2e3, Wi = 5, Gi = 0;
|
|
2248
|
+
function Ki() {
|
|
2193
2249
|
return `${window.location.protocol === "https:" ? "wss:" : "ws:"}//${window.location.host}/api/hmr`;
|
|
2194
2250
|
}
|
|
2195
|
-
async function
|
|
2251
|
+
async function qi() {
|
|
2196
2252
|
try {
|
|
2197
2253
|
let e = await fetch("/api/hmr", { method: "HEAD" });
|
|
2198
2254
|
return e.status === 426 || e.status === 400;
|
|
@@ -2200,45 +2256,45 @@ async function Zi() {
|
|
|
2200
2256
|
return !1;
|
|
2201
2257
|
}
|
|
2202
2258
|
}
|
|
2203
|
-
function
|
|
2204
|
-
|
|
2259
|
+
function Ji() {
|
|
2260
|
+
Pi &&= (clearTimeout(Pi), null), Fi &&= (clearTimeout(Fi), null), Ii = !1;
|
|
2205
2261
|
}
|
|
2206
|
-
function
|
|
2207
|
-
typeof BroadcastChannel > "u" || (
|
|
2262
|
+
function Yi(e) {
|
|
2263
|
+
typeof BroadcastChannel > "u" || (Ri = new BroadcastChannel("fde-custom-apps"), Ri.onmessage = (t) => {
|
|
2208
2264
|
let n = t.data;
|
|
2209
2265
|
n._fromBroadcast = !0, e(n);
|
|
2210
2266
|
});
|
|
2211
2267
|
}
|
|
2212
|
-
function
|
|
2213
|
-
|
|
2268
|
+
function Xi(e) {
|
|
2269
|
+
Ri?.postMessage(e);
|
|
2214
2270
|
}
|
|
2215
|
-
async function
|
|
2271
|
+
async function Zi() {
|
|
2216
2272
|
P.getState().isFsReady || await new Promise((e) => {
|
|
2217
2273
|
let t = P.subscribe((n) => {
|
|
2218
2274
|
n.isFsReady && (t(), e());
|
|
2219
2275
|
});
|
|
2220
2276
|
});
|
|
2221
2277
|
try {
|
|
2222
|
-
let e = F.getState().registeredApps, { added: t, removed: n } = await
|
|
2278
|
+
let e = F.getState().registeredApps, { added: t, removed: n } = await Ye(e);
|
|
2223
2279
|
for (let e of t) F.getState().registerApp(e), P.getState().handleCustomAppRegistered?.(e);
|
|
2224
2280
|
for (let e of n) F.getState().unregisterApp(e), P.getState().handleCustomAppUnregistered?.(e);
|
|
2225
2281
|
} catch (e) {
|
|
2226
2282
|
console.warn("[HMR] Failed to sync apps on connect:", e);
|
|
2227
2283
|
}
|
|
2228
2284
|
}
|
|
2229
|
-
function
|
|
2230
|
-
if (
|
|
2231
|
-
let r =
|
|
2232
|
-
return
|
|
2233
|
-
$ && $.readyState !== WebSocket.OPEN && i ===
|
|
2234
|
-
|
|
2235
|
-
},
|
|
2236
|
-
},
|
|
2237
|
-
if (i !==
|
|
2285
|
+
function Qi(e, t, n) {
|
|
2286
|
+
if (Ii || $ && $.readyState === WebSocket.OPEN) return $;
|
|
2287
|
+
let r = Ki(), i = ++Li;
|
|
2288
|
+
return Ii = !0, $ = new WebSocket(r), Fi = setTimeout(() => {
|
|
2289
|
+
$ && $.readyState !== WebSocket.OPEN && i === Li && (console.warn("[HMR] Initial connection timeout"), Gi++, Gi >= Wi ? (console.warn("[HMR] Max initial retries reached, marking server as offline"), t()) : ($?.close(), Pi = setTimeout(() => {
|
|
2290
|
+
Qi(e, t, n);
|
|
2291
|
+
}, Ui)));
|
|
2292
|
+
}, Hi), $.onopen = () => {
|
|
2293
|
+
if (i !== Li) {
|
|
2238
2294
|
$?.close();
|
|
2239
2295
|
return;
|
|
2240
2296
|
}
|
|
2241
|
-
console.log("[HMR] Connected to server"),
|
|
2297
|
+
console.log("[HMR] Connected to server"), Gi = 0, Ii = !1, F.getState().resetHmrRetry(), F.getState().setHmrConnected(!0), F.getState().setHmrError(null), F.getState().devServerOffline && n(), F.getState().setDevServerOffline(!1), Ji(), Zi().catch((e) => {
|
|
2242
2298
|
console.warn("[HMR] Failed to sync apps:", e);
|
|
2243
2299
|
});
|
|
2244
2300
|
}, $.onmessage = (t) => {
|
|
@@ -2249,18 +2305,18 @@ function na(e, t, n) {
|
|
|
2249
2305
|
console.error("[HMR] Failed to parse message:", e);
|
|
2250
2306
|
}
|
|
2251
2307
|
}, $.onclose = (r) => {
|
|
2252
|
-
i ===
|
|
2253
|
-
|
|
2254
|
-
},
|
|
2308
|
+
i === Li && (console.log(`[HMR] Disconnected from server (code: ${r.code})`), $ = null, Ii = !1, F.getState().setHmrConnected(!1), Ji(), Pi = setTimeout(() => {
|
|
2309
|
+
Qi(e, t, n);
|
|
2310
|
+
}, Ui));
|
|
2255
2311
|
}, $.onerror = (e) => {
|
|
2256
|
-
i ===
|
|
2312
|
+
i === Li && (console.error("[HMR] WebSocket error:", e), F.getState().setHmrError("Connection failed"));
|
|
2257
2313
|
}, $;
|
|
2258
2314
|
}
|
|
2259
|
-
function
|
|
2260
|
-
|
|
2315
|
+
function $i() {
|
|
2316
|
+
Ji(), $ &&= ($.close(), null), Ri &&= (Ri.close(), null);
|
|
2261
2317
|
}
|
|
2262
|
-
function
|
|
2263
|
-
let t = H(e), { notify: n } =
|
|
2318
|
+
function ea(e) {
|
|
2319
|
+
let t = H(e), { notify: n } = gn();
|
|
2264
2320
|
B(() => {
|
|
2265
2321
|
t.current = e;
|
|
2266
2322
|
}, [e]);
|
|
@@ -2274,7 +2330,7 @@ function ia(e) {
|
|
|
2274
2330
|
console.warn(`[HMR] Error unmounting ${t}:`, e);
|
|
2275
2331
|
}
|
|
2276
2332
|
let r = document.getElementById(`app-container-${t}`);
|
|
2277
|
-
r && (r.innerHTML = ""), F.getState().setAppLoading(t),
|
|
2333
|
+
r && (r.innerHTML = ""), F.getState().setAppLoading(t), Ni.forEach((e) => {
|
|
2278
2334
|
try {
|
|
2279
2335
|
e.onReload(t);
|
|
2280
2336
|
} catch (e) {
|
|
@@ -2287,12 +2343,12 @@ function ia(e) {
|
|
|
2287
2343
|
if (e.manifest) {
|
|
2288
2344
|
console.log(`[HMR] App registered: ${e.manifest.id}`);
|
|
2289
2345
|
let t = !!F.getState().registeredApps[e.manifest.id];
|
|
2290
|
-
|
|
2346
|
+
Qe(), tt(e.manifest), F.getState().registerApp(e.manifest), P.getState().handleCustomAppRegistered?.(e.manifest), t || n("New App Available", `${e.manifest.name} is now available`, { fcIcon: "FcApproval" }), e._fromBroadcast || Xi(e);
|
|
2291
2347
|
}
|
|
2292
2348
|
break;
|
|
2293
2349
|
case "app-unregistered": {
|
|
2294
2350
|
let t = e.appId;
|
|
2295
|
-
console.log(`[HMR] App unregistered: ${t}`),
|
|
2351
|
+
console.log(`[HMR] App unregistered: ${t}`), Qe(), Ke(t), F.getState().unregisterApp(t), P.getState().handleCustomAppUnregistered?.(t), e._fromBroadcast || Xi(e);
|
|
2296
2352
|
break;
|
|
2297
2353
|
}
|
|
2298
2354
|
case "app-error":
|
|
@@ -2305,22 +2361,22 @@ function ia(e) {
|
|
|
2305
2361
|
n("HMR Reconnected", "Hot module replacement is now active", { fcIcon: "FcApproval" });
|
|
2306
2362
|
}, [n]);
|
|
2307
2363
|
B(() => {
|
|
2308
|
-
if (
|
|
2364
|
+
if (Ge() === "browser") {
|
|
2309
2365
|
console.log("[HMR] Skipping: not running in Docker");
|
|
2310
2366
|
return;
|
|
2311
2367
|
}
|
|
2312
|
-
if (!
|
|
2368
|
+
if (!We() || !ot()) return;
|
|
2313
2369
|
let e = !1;
|
|
2314
|
-
return
|
|
2315
|
-
if (
|
|
2370
|
+
return Ni.add(t.current), !Bi && !zi && (zi = !0, qi().then((t) => {
|
|
2371
|
+
if (zi = !1, e || !t) {
|
|
2316
2372
|
t || console.warn("[HMR] HMR endpoint not available, skipping WebSocket connection");
|
|
2317
2373
|
return;
|
|
2318
2374
|
}
|
|
2319
|
-
|
|
2375
|
+
Bi = !0, Yi(r), Qi(r, i, a);
|
|
2320
2376
|
}).catch(() => {
|
|
2321
|
-
|
|
2377
|
+
zi = !1;
|
|
2322
2378
|
})), () => {
|
|
2323
|
-
e = !0,
|
|
2379
|
+
e = !0, Ni.delete(t.current), Ni.size === 0 && (Bi = !1, $i());
|
|
2324
2380
|
};
|
|
2325
2381
|
}, [
|
|
2326
2382
|
r,
|
|
@@ -2328,9 +2384,9 @@ function ia(e) {
|
|
|
2328
2384
|
a
|
|
2329
2385
|
]);
|
|
2330
2386
|
}
|
|
2331
|
-
function
|
|
2332
|
-
let { notify: e } =
|
|
2333
|
-
|
|
2387
|
+
function ta() {
|
|
2388
|
+
let { notify: e } = gn();
|
|
2389
|
+
ea({
|
|
2334
2390
|
onReload: () => {},
|
|
2335
2391
|
onRegistered: z((t) => {
|
|
2336
2392
|
P.getState().handleCustomAppRegistered?.(t), e("New App Available", `${t.name} is now available`, { fcIcon: "FcApproval" });
|
|
@@ -2342,7 +2398,7 @@ function aa() {
|
|
|
2342
2398
|
}
|
|
2343
2399
|
//#endregion
|
|
2344
2400
|
//#region src/utils/waitForContainer.ts
|
|
2345
|
-
function
|
|
2401
|
+
function na(e, t = 5e3) {
|
|
2346
2402
|
return new Promise((n, r) => {
|
|
2347
2403
|
let i = Date.now(), a = null, o = null, s = () => {
|
|
2348
2404
|
o &&= (clearInterval(o), null), a &&= (clearTimeout(a), null);
|
|
@@ -2364,15 +2420,15 @@ function oa(e, t = 5e3) {
|
|
|
2364
2420
|
}
|
|
2365
2421
|
//#endregion
|
|
2366
2422
|
//#region src/components/Shared/CustomAppLoader/CustomAppLoader.tsx
|
|
2367
|
-
var
|
|
2423
|
+
var ra = {
|
|
2368
2424
|
state: "idle",
|
|
2369
2425
|
progress: 0,
|
|
2370
2426
|
appName: ""
|
|
2371
|
-
},
|
|
2427
|
+
}, ia = 1e4, aa = ({ appId: e, windowIcon: t, notifyReady: n }) => {
|
|
2372
2428
|
let [r, i] = U({
|
|
2373
|
-
...
|
|
2429
|
+
...ra,
|
|
2374
2430
|
appName: e
|
|
2375
|
-
}), [a, o] = U(!1), [s, c] = U(null), [l, u] = U(!1), [d, f] = U(0), p = H(null), m = H(!0), h = H(!1), g = H(null), _ = H(null), v = F((e) => e.devServerOffline), y = F((t) => t.mountedApps[e]), b = F((e) => e.setAppLoading), x = F((e) => e.setAppLoaded), S = F((e) => e.setAppError), C = F((e) => e.clearApp), { notify: w } =
|
|
2431
|
+
}), [a, o] = U(!1), [s, c] = U(null), [l, u] = U(!1), [d, f] = U(0), p = H(null), m = H(!0), h = H(!1), g = H(null), _ = H(null), v = F((e) => e.devServerOffline), y = F((t) => t.mountedApps[e]), b = F((e) => e.setAppLoading), x = F((e) => e.setAppLoaded), S = F((e) => e.setAppError), C = F((e) => e.clearApp), { notify: w } = gn(), T = We(), E = z(() => {
|
|
2376
2432
|
_.current &&= (clearTimeout(_.current), null);
|
|
2377
2433
|
}, []), D = z(() => {
|
|
2378
2434
|
g.current &&= (clearInterval(g.current), null);
|
|
@@ -2389,8 +2445,8 @@ var sa = {
|
|
|
2389
2445
|
...e,
|
|
2390
2446
|
state: "fetching",
|
|
2391
2447
|
progress: 10
|
|
2392
|
-
})), b(e), c(null),
|
|
2393
|
-
let t = await
|
|
2448
|
+
})), b(e), c(null), Qe();
|
|
2449
|
+
let t = await Re(!0);
|
|
2394
2450
|
if (!t) throw Error("Apps manifest not found. Make sure apps are built.");
|
|
2395
2451
|
let r = t.apps.find((t) => t.id === e);
|
|
2396
2452
|
if (!r) throw Error(`App '${e}' not found in manifest. Available apps: ${t.apps.map((e) => e.id).join(", ")}`);
|
|
@@ -2410,7 +2466,7 @@ var sa = {
|
|
|
2410
2466
|
}));
|
|
2411
2467
|
}, 100);
|
|
2412
2468
|
try {
|
|
2413
|
-
await
|
|
2469
|
+
await na(`app-container-${e}`, 5e3);
|
|
2414
2470
|
} catch {
|
|
2415
2471
|
throw Error(`Container #app-container-${e} not found`);
|
|
2416
2472
|
}
|
|
@@ -2431,8 +2487,8 @@ var sa = {
|
|
|
2431
2487
|
return;
|
|
2432
2488
|
}
|
|
2433
2489
|
_.current = setTimeout(() => {
|
|
2434
|
-
console.warn(`[${e}] App did not call appReady() within ${
|
|
2435
|
-
},
|
|
2490
|
+
console.warn(`[${e}] App did not call appReady() within ${ia}ms`), w("Warning", `App ${e} took too long to initialize`, { fcIcon: "FcInfo" }), u(!0), F.getState().setAppReady(e), t();
|
|
2491
|
+
}, ia), n();
|
|
2436
2492
|
}), i((e) => ({
|
|
2437
2493
|
...e,
|
|
2438
2494
|
state: "ready",
|
|
@@ -2462,9 +2518,9 @@ var sa = {
|
|
|
2462
2518
|
D,
|
|
2463
2519
|
w
|
|
2464
2520
|
]);
|
|
2465
|
-
if (
|
|
2521
|
+
if (ea({ onReload: z((t) => {
|
|
2466
2522
|
t === e && (h.current = !1, ee(), C(e), o(!1), i({
|
|
2467
|
-
...
|
|
2523
|
+
...ra,
|
|
2468
2524
|
appName: e
|
|
2469
2525
|
}), c(null), f((e) => e + 1));
|
|
2470
2526
|
}, [
|
|
@@ -2480,17 +2536,17 @@ var sa = {
|
|
|
2480
2536
|
d,
|
|
2481
2537
|
D,
|
|
2482
2538
|
E
|
|
2483
|
-
]), !T) return /* @__PURE__ */ G(
|
|
2484
|
-
if (v && !y?.isLoaded && !s) return /* @__PURE__ */ G(
|
|
2539
|
+
]), !T) return /* @__PURE__ */ G(Mi, { appId: e });
|
|
2540
|
+
if (v && !y?.isLoaded && !s) return /* @__PURE__ */ G(ji, { appId: e });
|
|
2485
2541
|
let k = r.state === "error", te = a && y?.isReady && !l, A = r.state === "ready" && a && l, j = A && !y?.instance;
|
|
2486
|
-
return j ? /* @__PURE__ */ G(
|
|
2542
|
+
return j ? /* @__PURE__ */ G(Ai, {
|
|
2487
2543
|
progress: {
|
|
2488
2544
|
...r,
|
|
2489
2545
|
state: "error",
|
|
2490
2546
|
error: `App '${e}' loaded but did not mount. Check the browser console for errors.`
|
|
2491
2547
|
},
|
|
2492
2548
|
windowIcon: t
|
|
2493
|
-
}) : /* @__PURE__ */ K(W, { children: [(k || j || !(te || A)) && /* @__PURE__ */ G(
|
|
2549
|
+
}) : /* @__PURE__ */ K(W, { children: [(k || j || !(te || A)) && /* @__PURE__ */ G(Ai, {
|
|
2494
2550
|
progress: r,
|
|
2495
2551
|
windowIcon: t
|
|
2496
2552
|
}), /* @__PURE__ */ G("div", {
|
|
@@ -2508,66 +2564,66 @@ var sa = {
|
|
|
2508
2564
|
fontFamily: "sans-serif"
|
|
2509
2565
|
}
|
|
2510
2566
|
})] });
|
|
2511
|
-
},
|
|
2567
|
+
}, oa = Fn({
|
|
2512
2568
|
notifyReady: () => {},
|
|
2513
2569
|
getContentData: () => void 0
|
|
2514
|
-
}),
|
|
2570
|
+
}), sa = () => Rn(oa), ca = ({ children: e }) => {
|
|
2515
2571
|
let t = H(void 0), n = z((e) => {
|
|
2516
2572
|
e !== void 0 && (t.current = e);
|
|
2517
2573
|
}, []), r = z(() => t.current, []);
|
|
2518
|
-
return /* @__PURE__ */ G(
|
|
2574
|
+
return /* @__PURE__ */ G(oa.Provider, {
|
|
2519
2575
|
value: {
|
|
2520
2576
|
notifyReady: n,
|
|
2521
2577
|
getContentData: r
|
|
2522
2578
|
},
|
|
2523
2579
|
children: e
|
|
2524
2580
|
});
|
|
2525
|
-
},
|
|
2581
|
+
}, la = {
|
|
2526
2582
|
root: "_root_1vtes_1",
|
|
2527
2583
|
titleBar: "_titleBar_1vtes_12",
|
|
2528
2584
|
windowButtons: "_windowButtons_1vtes_31",
|
|
2529
2585
|
title: "_title_1vtes_12",
|
|
2530
2586
|
content: "_content_1vtes_41",
|
|
2531
2587
|
focusOverlay: "_focusOverlay_1vtes_48"
|
|
2532
|
-
},
|
|
2533
|
-
let { notifyReady: r, getContentData: i } =
|
|
2588
|
+
}, ua = ({ win: e, isFocused: t, focusWindow: n }) => {
|
|
2589
|
+
let { notifyReady: r, getContentData: i } = sa(), a = F((t) => e.content in t.registeredApps), o = V(() => Pe(e.content), [e.content]), s = V(() => O(e.content), [e.content]), c = V(() => Ne(e.content), [e.content]), l = V(() => k(e.content), [e.content]), u = V(() => ce(e.content), [e.content]), d = P((e) => e.closeWindow), f = i() ?? e.contentData, p = {
|
|
2534
2590
|
...e,
|
|
2535
2591
|
contentData: f
|
|
2536
2592
|
}, m = s ? s(p) : void 0;
|
|
2537
|
-
if (a) return /* @__PURE__ */ G(
|
|
2593
|
+
if (a) return /* @__PURE__ */ G(aa, {
|
|
2538
2594
|
appId: e.content,
|
|
2539
2595
|
windowIcon: e.icon,
|
|
2540
2596
|
notifyReady: r
|
|
2541
2597
|
});
|
|
2542
|
-
let h = l ? /* @__PURE__ */ G(
|
|
2543
|
-
fallback: /* @__PURE__ */ G(
|
|
2544
|
-
children:
|
|
2598
|
+
let h = l ? /* @__PURE__ */ G(Pn, {
|
|
2599
|
+
fallback: /* @__PURE__ */ G(ki, { message: u ? `Loading ${u}...` : void 0 }),
|
|
2600
|
+
children: In(o, {
|
|
2545
2601
|
window: e,
|
|
2546
2602
|
notifyReady: r
|
|
2547
2603
|
})
|
|
2548
|
-
}) :
|
|
2604
|
+
}) : In(o, {
|
|
2549
2605
|
window: e,
|
|
2550
2606
|
notifyReady: r
|
|
2551
2607
|
});
|
|
2552
|
-
return /* @__PURE__ */ K(W, { children: [c ? /* @__PURE__ */ G(
|
|
2608
|
+
return /* @__PURE__ */ K(W, { children: [c ? /* @__PURE__ */ G(Pn, {
|
|
2553
2609
|
fallback: null,
|
|
2554
|
-
children:
|
|
2610
|
+
children: In(c, {
|
|
2555
2611
|
windowId: e.id,
|
|
2556
2612
|
contentData: f,
|
|
2557
2613
|
onExit: () => d(e.id)
|
|
2558
2614
|
})
|
|
2559
|
-
}) : m && m.length > 0 ? /* @__PURE__ */ G(
|
|
2560
|
-
className:
|
|
2615
|
+
}) : m && m.length > 0 ? /* @__PURE__ */ G(hn, { elements: m }) : null, /* @__PURE__ */ K("div", {
|
|
2616
|
+
className: la.content,
|
|
2561
2617
|
children: [!t && /* @__PURE__ */ G("div", {
|
|
2562
2618
|
"data-testid": "focus-overlay",
|
|
2563
|
-
className:
|
|
2619
|
+
className: la.focusOverlay,
|
|
2564
2620
|
onMouseDown: (t) => {
|
|
2565
2621
|
t.stopPropagation(), n(e.id);
|
|
2566
2622
|
}
|
|
2567
2623
|
}), h]
|
|
2568
2624
|
})] });
|
|
2569
|
-
},
|
|
2570
|
-
let { t } = Z("window"),
|
|
2625
|
+
}, da = ({ window: t }) => {
|
|
2626
|
+
let { t: n } = Z("window"), r = P((e) => e.windows.find((e) => e.id === t.id)) ?? t, i = Ur(r.content), { focusWindow: a, closeWindow: o, minimizeWindow: s, maximizeWindow: c, restoreWindow: l, moveWindow: u, resizeWindow: d } = P(dr((e) => ({
|
|
2571
2627
|
focusWindow: e.focusWindow,
|
|
2572
2628
|
closeWindow: e.closeWindow,
|
|
2573
2629
|
minimizeWindow: e.minimizeWindow,
|
|
@@ -2575,20 +2631,20 @@ var sa = {
|
|
|
2575
2631
|
restoreWindow: e.restoreWindow,
|
|
2576
2632
|
moveWindow: e.moveWindow,
|
|
2577
2633
|
resizeWindow: e.resizeWindow
|
|
2578
|
-
}))), f =
|
|
2579
|
-
let t = e.windows.find((e) => e.id ===
|
|
2634
|
+
}))), f = e((e) => e.theme.colors.window), p = ln((e) => e.isOpen), m = ln((e) => e.windowId), h = ln((e) => e.onSave), g = ln((e) => e.onDiscard), _ = ln((e) => e.closeModal), { windowVariants: v, easeIn: y } = Br(), b = P((e) => {
|
|
2635
|
+
let t = e.windows.find((e) => e.id === r.id);
|
|
2580
2636
|
if (!t) return !0;
|
|
2581
|
-
let
|
|
2637
|
+
let n = t.alwaysOnTop ?? !1, i = e.windows.filter((e) => e.isOpen && e.state !== "minimized" && (e.alwaysOnTop ?? !1) === n);
|
|
2582
2638
|
return i.length === 0 ? !0 : Math.max(...i.map((e) => e.zIndex)) === t.zIndex;
|
|
2583
|
-
}), { getRect: x } =
|
|
2639
|
+
}), { getRect: x } = Mr(), S = or(), C = H(r.state);
|
|
2584
2640
|
B(() => {
|
|
2585
2641
|
S.start("visible");
|
|
2586
2642
|
}, [S]), B(() => {
|
|
2587
|
-
if (C.current === "minimized" &&
|
|
2588
|
-
let e = x(
|
|
2643
|
+
if (C.current === "minimized" && r.state !== "minimized") {
|
|
2644
|
+
let e = x(r.id);
|
|
2589
2645
|
if (e) {
|
|
2590
|
-
let t =
|
|
2591
|
-
S.start(
|
|
2646
|
+
let t = r.x + r.width / 2, n = r.y + r.height / 2, i = e.left + e.width / 2, a = e.top + e.height / 2;
|
|
2647
|
+
S.start(Me(i - t, a - n));
|
|
2592
2648
|
} else S.set({
|
|
2593
2649
|
x: 0,
|
|
2594
2650
|
y: 0,
|
|
@@ -2596,170 +2652,170 @@ var sa = {
|
|
|
2596
2652
|
opacity: 1
|
|
2597
2653
|
}), S.start("visible");
|
|
2598
2654
|
}
|
|
2599
|
-
C.current =
|
|
2655
|
+
C.current = r.state;
|
|
2600
2656
|
}, [
|
|
2601
|
-
|
|
2657
|
+
r.state,
|
|
2602
2658
|
S,
|
|
2603
2659
|
x,
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2660
|
+
r.id,
|
|
2661
|
+
r.x,
|
|
2662
|
+
r.y,
|
|
2663
|
+
r.width,
|
|
2664
|
+
r.height
|
|
2609
2665
|
]);
|
|
2610
2666
|
let w = z((e) => {
|
|
2611
|
-
e.preventDefault(),
|
|
2612
|
-
}, [
|
|
2613
|
-
if (!
|
|
2614
|
-
let T =
|
|
2615
|
-
let e = x(
|
|
2667
|
+
e.preventDefault(), ht.find((e) => e.id === r.content)?.hasContextMenu || e.stopPropagation();
|
|
2668
|
+
}, [r.content]);
|
|
2669
|
+
if (!r.isOpen) return null;
|
|
2670
|
+
let T = r.state === "minimized", E = r.state === "maximized", D = r.canMaximize !== !1, ee = p && m === r.id, O = async () => {
|
|
2671
|
+
let e = x(r.id);
|
|
2616
2672
|
if (e) {
|
|
2617
|
-
let t =
|
|
2618
|
-
await S.start(
|
|
2673
|
+
let t = r.x + r.width / 2, n = r.y + r.height / 2, i = e.left + e.width / 2, a = e.top + e.height / 2;
|
|
2674
|
+
await S.start(we(i - t, a - n));
|
|
2619
2675
|
} else await S.start({
|
|
2620
2676
|
...v.exit,
|
|
2621
2677
|
transition: y
|
|
2622
2678
|
});
|
|
2623
|
-
s(
|
|
2679
|
+
s(r.id);
|
|
2624
2680
|
}, k = async () => {
|
|
2625
|
-
let e =
|
|
2681
|
+
let e = pn(r.id);
|
|
2626
2682
|
e && !e() || (await S.start({
|
|
2627
2683
|
...v.exit,
|
|
2628
2684
|
transition: y
|
|
2629
|
-
}), o(
|
|
2685
|
+
}), o(r.id));
|
|
2630
2686
|
}, te = () => {
|
|
2631
2687
|
h?.(), _();
|
|
2632
2688
|
}, A = () => {
|
|
2633
2689
|
g?.(), _();
|
|
2634
|
-
let e =
|
|
2690
|
+
let e = r.id;
|
|
2635
2691
|
e && o(e);
|
|
2636
2692
|
}, j = () => {
|
|
2637
2693
|
_();
|
|
2638
2694
|
};
|
|
2639
|
-
return /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(
|
|
2695
|
+
return /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(ur, {
|
|
2640
2696
|
position: E ? {
|
|
2641
2697
|
x: 0,
|
|
2642
2698
|
y: 0
|
|
2643
2699
|
} : {
|
|
2644
|
-
x:
|
|
2645
|
-
y:
|
|
2700
|
+
x: r.x,
|
|
2701
|
+
y: r.y
|
|
2646
2702
|
},
|
|
2647
2703
|
size: E ? {
|
|
2648
2704
|
width: "100vw",
|
|
2649
2705
|
height: "100vh"
|
|
2650
2706
|
} : {
|
|
2651
|
-
width:
|
|
2652
|
-
height:
|
|
2707
|
+
width: r.width,
|
|
2708
|
+
height: r.height
|
|
2653
2709
|
},
|
|
2654
|
-
minWidth:
|
|
2655
|
-
minHeight:
|
|
2710
|
+
minWidth: r.minWidth ?? 0,
|
|
2711
|
+
minHeight: r.minHeight ?? 0,
|
|
2656
2712
|
style: {
|
|
2657
|
-
zIndex:
|
|
2713
|
+
zIndex: r.zIndex,
|
|
2658
2714
|
visibility: T ? "hidden" : "visible",
|
|
2659
2715
|
pointerEvents: T ? "none" : "auto"
|
|
2660
2716
|
},
|
|
2661
|
-
dragHandleClassName:
|
|
2717
|
+
dragHandleClassName: la.titleBar,
|
|
2662
2718
|
disableDragging: E || T,
|
|
2663
2719
|
enableResizing: !E && !T,
|
|
2664
|
-
onMouseDown: () =>
|
|
2665
|
-
onDragStop: (e, t) => u(
|
|
2666
|
-
onResizeStop: (e, t,
|
|
2667
|
-
d(
|
|
2720
|
+
onMouseDown: () => a(r.id),
|
|
2721
|
+
onDragStop: (e, t) => u(r.id, t.x, t.y),
|
|
2722
|
+
onResizeStop: (e, t, n, i, a) => {
|
|
2723
|
+
d(r.id, n.offsetWidth, n.offsetHeight), u(r.id, a.x, a.y);
|
|
2668
2724
|
},
|
|
2669
|
-
children: /* @__PURE__ */ K(
|
|
2670
|
-
className:
|
|
2671
|
-
"data-testid": `window-${
|
|
2725
|
+
children: /* @__PURE__ */ K(ar.div, {
|
|
2726
|
+
className: la.root,
|
|
2727
|
+
"data-testid": `window-${r.content}`,
|
|
2672
2728
|
style: { background: f },
|
|
2673
2729
|
variants: v,
|
|
2674
2730
|
initial: "hidden",
|
|
2675
2731
|
animate: S,
|
|
2676
2732
|
exit: "exit",
|
|
2677
2733
|
layout: !0,
|
|
2678
|
-
transition:
|
|
2734
|
+
transition: De,
|
|
2679
2735
|
onContextMenu: w,
|
|
2680
2736
|
children: [/* @__PURE__ */ K("div", {
|
|
2681
|
-
className:
|
|
2737
|
+
className: la.titleBar,
|
|
2682
2738
|
children: [
|
|
2683
2739
|
/* @__PURE__ */ G(L, {
|
|
2684
|
-
fcIcon:
|
|
2685
|
-
iconUrl:
|
|
2686
|
-
fallback:
|
|
2740
|
+
fcIcon: r.fcIcon,
|
|
2741
|
+
iconUrl: r.iconUrl,
|
|
2742
|
+
fallback: r.icon,
|
|
2687
2743
|
size: 14,
|
|
2688
|
-
color:
|
|
2744
|
+
color: r.iconColor
|
|
2689
2745
|
}),
|
|
2690
2746
|
/* @__PURE__ */ G(X, {
|
|
2691
2747
|
size: "sm",
|
|
2692
2748
|
fw: 500,
|
|
2693
2749
|
truncate: !0,
|
|
2694
|
-
className:
|
|
2695
|
-
children:
|
|
2750
|
+
className: la.title,
|
|
2751
|
+
children: i
|
|
2696
2752
|
}),
|
|
2697
|
-
/* @__PURE__ */ K(
|
|
2753
|
+
/* @__PURE__ */ K(Un, {
|
|
2698
2754
|
gap: 2,
|
|
2699
2755
|
wrap: "nowrap",
|
|
2700
|
-
className:
|
|
2756
|
+
className: la.windowButtons,
|
|
2701
2757
|
children: [
|
|
2702
|
-
/* @__PURE__ */ G(
|
|
2758
|
+
/* @__PURE__ */ G(Bn, {
|
|
2703
2759
|
size: "lg",
|
|
2704
2760
|
variant: "subtle",
|
|
2705
|
-
"aria-label":
|
|
2761
|
+
"aria-label": n("window.ariaLabels.minimize"),
|
|
2706
2762
|
onClick: O,
|
|
2707
2763
|
children: /* @__PURE__ */ G(R, { name: "VscChromeMinimize" })
|
|
2708
2764
|
}),
|
|
2709
|
-
D && /* @__PURE__ */ G(
|
|
2765
|
+
D && /* @__PURE__ */ G(Bn, {
|
|
2710
2766
|
size: "lg",
|
|
2711
2767
|
variant: "subtle",
|
|
2712
|
-
"aria-label":
|
|
2713
|
-
onClick: () => E ? l(
|
|
2768
|
+
"aria-label": n(E ? "window.ariaLabels.restore" : "window.ariaLabels.maximize"),
|
|
2769
|
+
onClick: () => E ? l(r.id) : c(r.id),
|
|
2714
2770
|
children: E ? /* @__PURE__ */ G(R, { name: "VscChromeRestore" }) : /* @__PURE__ */ G(R, { name: "VscChromeMaximize" })
|
|
2715
2771
|
}),
|
|
2716
|
-
/* @__PURE__ */ G(
|
|
2772
|
+
/* @__PURE__ */ G(Bn, {
|
|
2717
2773
|
size: "lg",
|
|
2718
2774
|
variant: "subtle",
|
|
2719
2775
|
color: "red",
|
|
2720
|
-
"aria-label":
|
|
2776
|
+
"aria-label": n("window.ariaLabels.close"),
|
|
2721
2777
|
onClick: k,
|
|
2722
2778
|
children: /* @__PURE__ */ G(R, { name: "VscChromeClose" })
|
|
2723
2779
|
})
|
|
2724
2780
|
]
|
|
2725
2781
|
})
|
|
2726
2782
|
]
|
|
2727
|
-
}), /* @__PURE__ */ G(
|
|
2728
|
-
win:
|
|
2783
|
+
}), /* @__PURE__ */ G(ca, { children: /* @__PURE__ */ G(ua, {
|
|
2784
|
+
win: r,
|
|
2729
2785
|
isFocused: b,
|
|
2730
|
-
focusWindow:
|
|
2786
|
+
focusWindow: a
|
|
2731
2787
|
}) })]
|
|
2732
2788
|
})
|
|
2733
|
-
}), /* @__PURE__ */ K(
|
|
2789
|
+
}), /* @__PURE__ */ K(Kn, {
|
|
2734
2790
|
opened: ee,
|
|
2735
2791
|
onClose: j,
|
|
2736
|
-
title:
|
|
2792
|
+
title: n("unsavedModal.title"),
|
|
2737
2793
|
centered: !0,
|
|
2738
2794
|
withinPortal: !0,
|
|
2739
2795
|
children: [
|
|
2740
2796
|
/* @__PURE__ */ G(X, {
|
|
2741
2797
|
size: "sm",
|
|
2742
2798
|
mb: "lg",
|
|
2743
|
-
children:
|
|
2799
|
+
children: n("unsavedModal.message")
|
|
2744
2800
|
}),
|
|
2745
2801
|
/* @__PURE__ */ G(q, {
|
|
2746
2802
|
variant: "default",
|
|
2747
2803
|
onClick: A,
|
|
2748
|
-
children:
|
|
2804
|
+
children: n("unsavedModal.dontSave")
|
|
2749
2805
|
}),
|
|
2750
2806
|
/* @__PURE__ */ G(q, {
|
|
2751
2807
|
onClick: te,
|
|
2752
2808
|
ml: "sm",
|
|
2753
|
-
children:
|
|
2809
|
+
children: n("unsavedModal.save")
|
|
2754
2810
|
})
|
|
2755
2811
|
]
|
|
2756
2812
|
})] });
|
|
2757
|
-
},
|
|
2813
|
+
}, fa = {
|
|
2758
2814
|
root: "_root_1f7p3_1",
|
|
2759
2815
|
iconImage: "_iconImage_1f7p3_21",
|
|
2760
2816
|
label: "_label_1f7p3_26"
|
|
2761
|
-
},
|
|
2762
|
-
let r =
|
|
2817
|
+
}, pa = ({ icon: e, onDoubleClick: t, onContextMenu: n }) => {
|
|
2818
|
+
let r = ht.find((t) => t.id === e.appId), i = e.iconName !== void 0, a = e.nodeId !== void 0, o = e.icon === "📁", s = e.appId === "pdf", c = H(0), l = Ur(e.appId), u = e.appId && !a && r ? l : e.name, d = z((t) => {
|
|
2763
2819
|
if (t.preventDefault(), e.nodeId) {
|
|
2764
2820
|
t.stopPropagation(), n?.(t, e.nodeId);
|
|
2765
2821
|
return;
|
|
@@ -2770,7 +2826,7 @@ var sa = {
|
|
|
2770
2826
|
e.appId,
|
|
2771
2827
|
r?.hasContextMenu,
|
|
2772
2828
|
n
|
|
2773
|
-
]), f = () => i ? /* @__PURE__ */ G(
|
|
2829
|
+
]), f = () => i ? /* @__PURE__ */ G(_n, {
|
|
2774
2830
|
type: "folder",
|
|
2775
2831
|
name: e.name,
|
|
2776
2832
|
folderNode: {
|
|
@@ -2785,11 +2841,11 @@ var sa = {
|
|
|
2785
2841
|
updatedAt: /* @__PURE__ */ new Date()
|
|
2786
2842
|
},
|
|
2787
2843
|
size: 32
|
|
2788
|
-
}) : o && a ? /* @__PURE__ */ G(
|
|
2844
|
+
}) : o && a ? /* @__PURE__ */ G(_n, {
|
|
2789
2845
|
type: "folder",
|
|
2790
2846
|
name: e.name,
|
|
2791
2847
|
size: 32
|
|
2792
|
-
}) : a || s ? /* @__PURE__ */ G(
|
|
2848
|
+
}) : a || s ? /* @__PURE__ */ G(_n, {
|
|
2793
2849
|
type: "file",
|
|
2794
2850
|
name: e.name,
|
|
2795
2851
|
size: 32
|
|
@@ -2801,7 +2857,7 @@ var sa = {
|
|
|
2801
2857
|
color: r?.iconColor
|
|
2802
2858
|
});
|
|
2803
2859
|
return /* @__PURE__ */ K("div", {
|
|
2804
|
-
className:
|
|
2860
|
+
className: fa.root,
|
|
2805
2861
|
style: {
|
|
2806
2862
|
left: e.x,
|
|
2807
2863
|
top: e.y
|
|
@@ -2818,17 +2874,17 @@ var sa = {
|
|
|
2818
2874
|
tabIndex: 0,
|
|
2819
2875
|
onKeyDown: (n) => n.key === "Enter" && t(e.appId ?? "", e.nodeId),
|
|
2820
2876
|
children: [/* @__PURE__ */ G("span", {
|
|
2821
|
-
className:
|
|
2877
|
+
className: fa.iconImage,
|
|
2822
2878
|
"aria-hidden": "true",
|
|
2823
2879
|
children: f()
|
|
2824
2880
|
}), /* @__PURE__ */ G(X, {
|
|
2825
2881
|
size: "xs",
|
|
2826
|
-
className:
|
|
2882
|
+
className: fa.label,
|
|
2827
2883
|
truncate: !0,
|
|
2828
2884
|
children: u
|
|
2829
2885
|
})]
|
|
2830
2886
|
});
|
|
2831
|
-
},
|
|
2887
|
+
}, ma = ({ x: e, y: t }) => /* @__PURE__ */ G(J.Target, { children: /* @__PURE__ */ G("div", {
|
|
2832
2888
|
"aria-hidden": "true",
|
|
2833
2889
|
style: {
|
|
2834
2890
|
position: "fixed",
|
|
@@ -2838,7 +2894,7 @@ var sa = {
|
|
|
2838
2894
|
height: 0,
|
|
2839
2895
|
pointerEvents: "none"
|
|
2840
2896
|
}
|
|
2841
|
-
}) }),
|
|
2897
|
+
}) }), ha = ({ owner: e, parentId: t, currentPath: n }) => {
|
|
2842
2898
|
let { t: r } = Z("contextMenu"), i = P((e) => e.contextMenu), a = P((e) => e.closeContextMenu), o = P((e) => e.copyToClipboard), s = P((e) => e.cutToClipboard), c = P((e) => e.clipboard), l = P((e) => e.clearClipboard), u = P((e) => e.fsNodes), d = P((e) => e.addNotification), f = P((e) => e.openWindow), p = P((e) => e.desktopSortMode), m = P((e) => e.filesSortMode), h = P((e) => e.setDesktopSortMode), g = P((e) => e.setFilesSortMode), _ = P((e) => e.setFsNodes), v = P((e) => e.syncIcons), y = e === "files" ? m : p, b = e === "files" ? g : h, [x, S] = U({
|
|
2843
2899
|
opened: !1,
|
|
2844
2900
|
pending: null
|
|
@@ -2848,7 +2904,7 @@ var sa = {
|
|
|
2848
2904
|
nodeName: ""
|
|
2849
2905
|
}), T = i.owner === e, E = i.targetNodeId, D = E ? u.find((e) => e.id === E) : void 0, ee = (e) => {
|
|
2850
2906
|
a();
|
|
2851
|
-
let { x: i, y: o } =
|
|
2907
|
+
let { x: i, y: o } = fe();
|
|
2852
2908
|
f({
|
|
2853
2909
|
title: r(e === "folder" ? "createItem.folderTitle" : "createItem.fileTitle"),
|
|
2854
2910
|
content: "createItem",
|
|
@@ -2894,10 +2950,10 @@ var sa = {
|
|
|
2894
2950
|
D && s([D]), a();
|
|
2895
2951
|
}, A = () => {
|
|
2896
2952
|
D && o([D]), a();
|
|
2897
|
-
}, j = (e, t) => u.find((n) => n.name === e && n.parentId === t),
|
|
2953
|
+
}, j = (e, t) => u.find((n) => n.name === e && n.parentId === t), ne = async (e, t) => {
|
|
2898
2954
|
let n = await N.createFolder(e.name, t, e.iconName, e.iconColor), r = N.getChildren(e.id);
|
|
2899
|
-
for (let e of r) e.type === "folder" ? await
|
|
2900
|
-
},
|
|
2955
|
+
for (let e of r) e.type === "folder" ? await ne(e, n.id) : await N.createFile(e.name, e.content || "", n.id);
|
|
2956
|
+
}, re = async (e, n) => {
|
|
2901
2957
|
if (t) {
|
|
2902
2958
|
if (c.action === "cut") try {
|
|
2903
2959
|
await N.move(e.id, t), _(N.getAllNodes()), v();
|
|
@@ -2913,7 +2969,7 @@ var sa = {
|
|
|
2913
2969
|
else if (c.action === "copy") {
|
|
2914
2970
|
if (e.type === "folder") {
|
|
2915
2971
|
let r = j(e.name, t);
|
|
2916
|
-
r && n && await N.delete(r.id), (!r || n) && (await
|
|
2972
|
+
r && n && await N.delete(r.id), (!r || n) && (await ne(e, t), _(N.getAllNodes()), v());
|
|
2917
2973
|
} else if (e.type === "file") {
|
|
2918
2974
|
let r = j(e.name, t);
|
|
2919
2975
|
if (r && n && await N.delete(r.id), !r || n) try {
|
|
@@ -2930,7 +2986,7 @@ var sa = {
|
|
|
2930
2986
|
}
|
|
2931
2987
|
c.action === "cut" && l();
|
|
2932
2988
|
}
|
|
2933
|
-
},
|
|
2989
|
+
}, ie = async () => {
|
|
2934
2990
|
if (c.content.length === 0 || !t) return;
|
|
2935
2991
|
let e = c.content[0];
|
|
2936
2992
|
j(e.name, t) ? S({
|
|
@@ -2939,15 +2995,15 @@ var sa = {
|
|
|
2939
2995
|
node: e,
|
|
2940
2996
|
originalName: e.name
|
|
2941
2997
|
}
|
|
2942
|
-
}) : (await
|
|
2943
|
-
},
|
|
2944
|
-
x.pending &&
|
|
2998
|
+
}) : (await re(e, !1), a());
|
|
2999
|
+
}, M = (e) => {
|
|
3000
|
+
x.pending && re(x.pending.node, e), S({
|
|
2945
3001
|
opened: !1,
|
|
2946
3002
|
pending: null
|
|
2947
3003
|
}), a();
|
|
2948
|
-
},
|
|
3004
|
+
}, ae = c.content.length > 0 && t !== null, oe = c.content.length > 1 ? r("actions.pasteItems", { count: c.content.length }) : r("actions.paste"), se = (e) => {
|
|
2949
3005
|
b(e), a();
|
|
2950
|
-
},
|
|
3006
|
+
}, ce = [
|
|
2951
3007
|
{
|
|
2952
3008
|
mode: "default",
|
|
2953
3009
|
icon: "FcDatabase",
|
|
@@ -2978,7 +3034,7 @@ var sa = {
|
|
|
2978
3034
|
closeOnItemClick: !0,
|
|
2979
3035
|
withinPortal: !0,
|
|
2980
3036
|
position: "bottom-start",
|
|
2981
|
-
children: [/* @__PURE__ */ G(
|
|
3037
|
+
children: [/* @__PURE__ */ G(ma, {
|
|
2982
3038
|
x: i.x,
|
|
2983
3039
|
y: i.y
|
|
2984
3040
|
}), /* @__PURE__ */ G(J.Dropdown, { children: D ? /* @__PURE__ */ K(W, { children: [
|
|
@@ -2999,13 +3055,13 @@ var sa = {
|
|
|
2999
3055
|
onClick: A,
|
|
3000
3056
|
children: r("actions.copy")
|
|
3001
3057
|
}),
|
|
3002
|
-
|
|
3058
|
+
ae && /* @__PURE__ */ G(J.Item, {
|
|
3003
3059
|
leftSection: /* @__PURE__ */ G(R, {
|
|
3004
3060
|
name: "VscCopy",
|
|
3005
3061
|
size: 14
|
|
3006
3062
|
}),
|
|
3007
|
-
onClick:
|
|
3008
|
-
children:
|
|
3063
|
+
onClick: ie,
|
|
3064
|
+
children: oe
|
|
3009
3065
|
}),
|
|
3010
3066
|
/* @__PURE__ */ G(J.Divider, {}),
|
|
3011
3067
|
/* @__PURE__ */ G(J.Item, {
|
|
@@ -3034,23 +3090,23 @@ var sa = {
|
|
|
3034
3090
|
onClick: () => ee("file"),
|
|
3035
3091
|
children: r("actions.createFile")
|
|
3036
3092
|
}),
|
|
3037
|
-
|
|
3093
|
+
ae && /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(J.Divider, {}), /* @__PURE__ */ G(J.Item, {
|
|
3038
3094
|
leftSection: /* @__PURE__ */ G(R, {
|
|
3039
3095
|
name: "VscCopy",
|
|
3040
3096
|
size: 14
|
|
3041
3097
|
}),
|
|
3042
|
-
onClick:
|
|
3043
|
-
children:
|
|
3098
|
+
onClick: ie,
|
|
3099
|
+
children: oe
|
|
3044
3100
|
})] }),
|
|
3045
3101
|
e === "desktop" || e === "files" ? /* @__PURE__ */ K(W, { children: [
|
|
3046
3102
|
/* @__PURE__ */ G(J.Divider, {}),
|
|
3047
3103
|
/* @__PURE__ */ G(J.Label, { children: r("sort.title") }),
|
|
3048
|
-
|
|
3104
|
+
ce.map((e) => /* @__PURE__ */ G(J.Item, {
|
|
3049
3105
|
leftSection: /* @__PURE__ */ G(L, {
|
|
3050
3106
|
fcIcon: e.icon,
|
|
3051
3107
|
size: 14
|
|
3052
3108
|
}),
|
|
3053
|
-
onClick: () =>
|
|
3109
|
+
onClick: () => se(e.mode),
|
|
3054
3110
|
style: y === e.mode ? { fontWeight: 600 } : void 0,
|
|
3055
3111
|
"data-testid": y === e.mode ? "sort-option-selected" : void 0,
|
|
3056
3112
|
children: e.label
|
|
@@ -3058,9 +3114,9 @@ var sa = {
|
|
|
3058
3114
|
] }) : null
|
|
3059
3115
|
] }) })]
|
|
3060
3116
|
}),
|
|
3061
|
-
/* @__PURE__ */ K(
|
|
3117
|
+
/* @__PURE__ */ K(Kn, {
|
|
3062
3118
|
opened: x.opened,
|
|
3063
|
-
onClose: () =>
|
|
3119
|
+
onClose: () => M(!1),
|
|
3064
3120
|
title: /* @__PURE__ */ G(X, {
|
|
3065
3121
|
fw: 600,
|
|
3066
3122
|
children: r("common:messages.replaceFile")
|
|
@@ -3071,12 +3127,12 @@ var sa = {
|
|
|
3071
3127
|
size: "sm",
|
|
3072
3128
|
mb: "md",
|
|
3073
3129
|
children: r("common:messages.replaceFileMessage", { name: x.pending?.originalName })
|
|
3074
|
-
}), /* @__PURE__ */ K(
|
|
3130
|
+
}), /* @__PURE__ */ K(Un, {
|
|
3075
3131
|
justify: "flex-end",
|
|
3076
3132
|
children: [/* @__PURE__ */ G(q, {
|
|
3077
3133
|
variant: "default",
|
|
3078
3134
|
size: "sm",
|
|
3079
|
-
onClick: () =>
|
|
3135
|
+
onClick: () => M(!1),
|
|
3080
3136
|
leftSection: /* @__PURE__ */ G(R, {
|
|
3081
3137
|
name: "VscClose",
|
|
3082
3138
|
size: 14
|
|
@@ -3084,7 +3140,7 @@ var sa = {
|
|
|
3084
3140
|
children: r("common:buttons.no")
|
|
3085
3141
|
}), /* @__PURE__ */ G(q, {
|
|
3086
3142
|
size: "sm",
|
|
3087
|
-
onClick: () =>
|
|
3143
|
+
onClick: () => M(!0),
|
|
3088
3144
|
leftSection: /* @__PURE__ */ G(R, {
|
|
3089
3145
|
name: "VscCheck",
|
|
3090
3146
|
size: 14
|
|
@@ -3093,7 +3149,7 @@ var sa = {
|
|
|
3093
3149
|
})]
|
|
3094
3150
|
})]
|
|
3095
3151
|
}),
|
|
3096
|
-
/* @__PURE__ */ K(
|
|
3152
|
+
/* @__PURE__ */ K(Kn, {
|
|
3097
3153
|
opened: C.opened,
|
|
3098
3154
|
onClose: () => k(!1),
|
|
3099
3155
|
title: /* @__PURE__ */ G(X, {
|
|
@@ -3106,7 +3162,7 @@ var sa = {
|
|
|
3106
3162
|
size: "sm",
|
|
3107
3163
|
mb: "md",
|
|
3108
3164
|
children: r("deleteConfirm.message", { name: C.nodeName })
|
|
3109
|
-
}), /* @__PURE__ */ K(
|
|
3165
|
+
}), /* @__PURE__ */ K(Un, {
|
|
3110
3166
|
justify: "flex-end",
|
|
3111
3167
|
children: [/* @__PURE__ */ G(q, {
|
|
3112
3168
|
variant: "default",
|
|
@@ -3130,7 +3186,7 @@ var sa = {
|
|
|
3130
3186
|
})]
|
|
3131
3187
|
})
|
|
3132
3188
|
] });
|
|
3133
|
-
},
|
|
3189
|
+
}, ga = {
|
|
3134
3190
|
overlay: "_overlay_34o9z_1",
|
|
3135
3191
|
content: "_content_34o9z_12",
|
|
3136
3192
|
phoneIcon: "_phoneIcon_34o9z_22",
|
|
@@ -3138,15 +3194,15 @@ var sa = {
|
|
|
3138
3194
|
title: "_title_34o9z_50",
|
|
3139
3195
|
message: "_message_34o9z_54",
|
|
3140
3196
|
button: "_button_34o9z_58"
|
|
3141
|
-
},
|
|
3142
|
-
let { isPortrait: t, shouldShowWarning: n } =
|
|
3197
|
+
}, _a = ({ onDismiss: e }) => {
|
|
3198
|
+
let { isPortrait: t, shouldShowWarning: n } = bn();
|
|
3143
3199
|
return !n || !t ? null : /* @__PURE__ */ G("div", {
|
|
3144
|
-
className:
|
|
3200
|
+
className: ga.overlay,
|
|
3145
3201
|
children: /* @__PURE__ */ K("div", {
|
|
3146
|
-
className:
|
|
3202
|
+
className: ga.content,
|
|
3147
3203
|
children: [
|
|
3148
3204
|
/* @__PURE__ */ G("div", {
|
|
3149
|
-
className:
|
|
3205
|
+
className: ga.phoneIcon,
|
|
3150
3206
|
children: /* @__PURE__ */ K("svg", {
|
|
3151
3207
|
width: "64",
|
|
3152
3208
|
height: "64",
|
|
@@ -3173,35 +3229,35 @@ var sa = {
|
|
|
3173
3229
|
/* @__PURE__ */ G(X, {
|
|
3174
3230
|
size: "lg",
|
|
3175
3231
|
fw: 500,
|
|
3176
|
-
className:
|
|
3232
|
+
className: ga.title,
|
|
3177
3233
|
children: "Turn your device"
|
|
3178
3234
|
}),
|
|
3179
3235
|
/* @__PURE__ */ G(X, {
|
|
3180
3236
|
size: "sm",
|
|
3181
3237
|
c: "dimmed",
|
|
3182
|
-
className:
|
|
3238
|
+
className: ga.message,
|
|
3183
3239
|
children: "For a better experience use this app desktop OR horizontal mode"
|
|
3184
3240
|
}),
|
|
3185
3241
|
/* @__PURE__ */ G(q, {
|
|
3186
3242
|
variant: "subtle",
|
|
3187
3243
|
onClick: e,
|
|
3188
|
-
className:
|
|
3244
|
+
className: ga.button,
|
|
3189
3245
|
children: "Continue vertically?"
|
|
3190
3246
|
})
|
|
3191
3247
|
]
|
|
3192
3248
|
})
|
|
3193
3249
|
});
|
|
3194
|
-
},
|
|
3195
|
-
let
|
|
3250
|
+
}, va = () => typeof window < "u" && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light", ya = () => {
|
|
3251
|
+
let t = e((e) => e.applySystemTheme), n = e((e) => e.themeSetManually);
|
|
3196
3252
|
B(() => {
|
|
3197
3253
|
if (typeof window > "u") return;
|
|
3198
|
-
|
|
3199
|
-
let
|
|
3200
|
-
|
|
3254
|
+
n || t(va());
|
|
3255
|
+
let r = window.matchMedia("(prefers-color-scheme: dark)"), i = (n) => {
|
|
3256
|
+
e.getState().themeSetManually || t(n.matches ? "dark" : "light");
|
|
3201
3257
|
};
|
|
3202
|
-
return
|
|
3203
|
-
}, [
|
|
3204
|
-
},
|
|
3258
|
+
return r.addEventListener("change", i), () => r.removeEventListener("change", i);
|
|
3259
|
+
}, [t, n]);
|
|
3260
|
+
}, ba = (e, t) => {
|
|
3205
3261
|
let n = (e) => e.replace(/^v/, "").split(".").map(Number), r = n(e), i = n(t), a = Math.max(r.length, i.length);
|
|
3206
3262
|
for (let e = 0; e < a; e++) {
|
|
3207
3263
|
let t = r[e] ?? 0, n = i[e] ?? 0;
|
|
@@ -3209,14 +3265,14 @@ var sa = {
|
|
|
3209
3265
|
if (t < n) return !1;
|
|
3210
3266
|
}
|
|
3211
3267
|
return !1;
|
|
3212
|
-
},
|
|
3213
|
-
let e = await fetch(
|
|
3268
|
+
}, xa = "frannunpal/frannunpal.github.io", Sa = `https://api.github.com/repos/${xa}/releases/latest`, Ca = async () => {
|
|
3269
|
+
let e = await fetch(Sa);
|
|
3214
3270
|
if (!e.ok) throw Error(`GitHub API error: ${e.status}`);
|
|
3215
3271
|
return e.json();
|
|
3216
|
-
}, Oa = "fde-desktop:version", ka = !1, Aa = () => {
|
|
3217
|
-
let e = P((e) => e.mergeSeed), t = P((e) => e.mergeDesktopApps), n = P((e) => e.reorderDesktopApps), { notify: r } =
|
|
3272
|
+
}, wa = typeof __APP_VERSION__ == "string" ? __APP_VERSION__ : "0.4.0", Ta = () => `${wa}-${typeof __PROD__ == "boolean" && __PROD__ ? "prod" : "dev"}-${typeof window < "u" && window.__FDE_IN_DOCKER__ ? "docker" : "web"}`, Ea = () => typeof __PROD__ == "boolean" && __PROD__ ? "prod" : "dev", Da = () => typeof window > "u" ? "web" : window.__FDE_IN_DOCKER__ ? "docker" : /Electron/i.test(navigator.userAgent) ? "electron" : "web", Oa = "fde-desktop:version", ka = !1, Aa = () => {
|
|
3273
|
+
let e = P((e) => e.mergeSeed), t = P((e) => e.mergeDesktopApps), n = P((e) => e.reorderDesktopApps), { notify: r } = gn();
|
|
3218
3274
|
B(() => {
|
|
3219
|
-
typeof window > "u" || ka || (ka = !0,
|
|
3275
|
+
typeof window > "u" || ka || (ka = !0, Je() ? ja(r) : Ma(e, t, n, r));
|
|
3220
3276
|
}, [
|
|
3221
3277
|
e,
|
|
3222
3278
|
t,
|
|
@@ -3225,8 +3281,8 @@ var sa = {
|
|
|
3225
3281
|
]);
|
|
3226
3282
|
}, ja = async (e) => {
|
|
3227
3283
|
try {
|
|
3228
|
-
let t = await
|
|
3229
|
-
if (!
|
|
3284
|
+
let t = await Ca(), n = t.tag_name;
|
|
3285
|
+
if (!ba(n, wa)) return;
|
|
3230
3286
|
e(`Update ${n} available!`, "Click close to open the download page.", {
|
|
3231
3287
|
fcIcon: "FcEngineering",
|
|
3232
3288
|
onClose: () => window.open(t.html_url, "_blank")
|
|
@@ -3236,11 +3292,11 @@ var sa = {
|
|
|
3236
3292
|
}
|
|
3237
3293
|
}, Ma = async (e, t, n, r) => {
|
|
3238
3294
|
try {
|
|
3239
|
-
let i = localStorage.getItem(Oa), a = i ? JSON.parse(i) : null, o = await fetch(
|
|
3295
|
+
let i = localStorage.getItem(Oa), a = i ? JSON.parse(i) : null, o = await fetch(xt("version.json")).then((e) => e.json());
|
|
3240
3296
|
if (a?.sha === o.sha) return;
|
|
3241
|
-
let s = await
|
|
3297
|
+
let s = await Vt();
|
|
3242
3298
|
if (!s) return;
|
|
3243
|
-
e(s), t(
|
|
3299
|
+
e(s), t(kt), n(kt), localStorage.setItem(Oa, JSON.stringify(o)), r("New version available!", "Close this notification to install it.", {
|
|
3244
3300
|
fcIcon: "FcEngineering",
|
|
3245
3301
|
onClose: () => window.location.reload()
|
|
3246
3302
|
});
|
|
@@ -3248,37 +3304,37 @@ var sa = {
|
|
|
3248
3304
|
ka = !1;
|
|
3249
3305
|
}
|
|
3250
3306
|
}, Na = (e) => `https://fonts.googleapis.com/css2?family=${e.replace(/\s+/g, "+")}&display=swap`, Pa = (e) => {
|
|
3251
|
-
let t =
|
|
3307
|
+
let t = r[e];
|
|
3252
3308
|
if (!t || document.head.querySelector(`link[data-font="${e}"]`)) return;
|
|
3253
3309
|
let n = document.createElement("link");
|
|
3254
3310
|
n.rel = "stylesheet", n.href = t, n.setAttribute("data-font", e), document.head.appendChild(n);
|
|
3255
3311
|
}, Fa = () => {
|
|
3256
|
-
let
|
|
3312
|
+
let t = e((e) => e.font), i = e((e) => e.fontSize), a = e((e) => e.downloadedFonts);
|
|
3257
3313
|
B(() => {
|
|
3258
|
-
|
|
3259
|
-
|
|
3314
|
+
a.forEach((e) => {
|
|
3315
|
+
r[e] || (r[e] = Na(e)), Pa(e);
|
|
3260
3316
|
});
|
|
3261
|
-
}, [
|
|
3262
|
-
let
|
|
3263
|
-
!
|
|
3317
|
+
}, [a]), B(() => {
|
|
3318
|
+
let e = p.map((e) => e.value).includes(t);
|
|
3319
|
+
!e && a.includes(t) && (r[t] || (r[t] = Na(t)), Pa(t));
|
|
3264
3320
|
let o;
|
|
3265
|
-
o =
|
|
3321
|
+
o = e ? n[t] ?? n["system-ui"] : a.includes(t) ? `"${t}", sans-serif` : n["system-ui"], document.documentElement.style.setProperty("font-family", o), document.documentElement.style.setProperty("--mantine-font-family", o), document.documentElement.style.setProperty("font-size", `${i}px`);
|
|
3266
3322
|
}, [
|
|
3267
|
-
e,
|
|
3268
3323
|
t,
|
|
3269
|
-
|
|
3324
|
+
i,
|
|
3325
|
+
a
|
|
3270
3326
|
]);
|
|
3271
3327
|
};
|
|
3272
3328
|
//#endregion
|
|
3273
3329
|
//#region src/hooks/useLanguageSync.ts
|
|
3274
3330
|
function Ia() {
|
|
3275
|
-
let { i18n:
|
|
3331
|
+
let { i18n: t } = Z(), n = e((e) => e.language);
|
|
3276
3332
|
B(() => {
|
|
3277
|
-
|
|
3278
|
-
}, [
|
|
3333
|
+
n && t.language !== n && (t.changeLanguage(n), localStorage.setItem("fde-desktop:language", n));
|
|
3334
|
+
}, [n, t]), B(() => {
|
|
3279
3335
|
let e = localStorage.getItem("fde-desktop:language");
|
|
3280
|
-
|
|
3281
|
-
}, [
|
|
3336
|
+
n && !e && localStorage.setItem("fde-desktop:language", n);
|
|
3337
|
+
}, [n]);
|
|
3282
3338
|
}
|
|
3283
3339
|
//#endregion
|
|
3284
3340
|
//#region src/infrastructure/Migration/migrateStorage.ts
|
|
@@ -3437,7 +3493,7 @@ function io() {
|
|
|
3437
3493
|
}
|
|
3438
3494
|
Qa = {
|
|
3439
3495
|
openApp: (e, t) => {
|
|
3440
|
-
let n = P.getState().openWindow, r =
|
|
3496
|
+
let n = P.getState().openWindow, r = ht.find((t) => t.id === e);
|
|
3441
3497
|
n({
|
|
3442
3498
|
content: e,
|
|
3443
3499
|
title: t?.title ?? r?.name ?? e,
|
|
@@ -3498,13 +3554,13 @@ function io() {
|
|
|
3498
3554
|
openFileDialog: async () => (console.warn("[FdeApi] openFileDialog not yet implemented"), null),
|
|
3499
3555
|
saveFile: async () => (console.warn("[FdeApi] saveFile not yet implemented"), !1),
|
|
3500
3556
|
saveFileDialog: async () => (console.warn("[FdeApi] saveFileDialog not yet implemented"), null),
|
|
3501
|
-
getTheme: () =>
|
|
3502
|
-
setTheme: (
|
|
3503
|
-
let
|
|
3504
|
-
|
|
3557
|
+
getTheme: () => e.getState().theme,
|
|
3558
|
+
setTheme: (t) => {
|
|
3559
|
+
let n = t;
|
|
3560
|
+
n.taskbar && n.window && n.accent && (e.getState().setCustomThemeColors(n), to("theme-changed", { theme: JSON.stringify(t) }));
|
|
3505
3561
|
},
|
|
3506
3562
|
showNotification: (e) => {
|
|
3507
|
-
let t =
|
|
3563
|
+
let t = Nt();
|
|
3508
3564
|
return P.getState().addNotification({
|
|
3509
3565
|
id: t,
|
|
3510
3566
|
title: e.title,
|
|
@@ -3545,82 +3601,83 @@ function oo() {
|
|
|
3545
3601
|
}
|
|
3546
3602
|
//#endregion
|
|
3547
3603
|
//#region src/components/FdeDesktop/FdeDesktop.tsx
|
|
3548
|
-
var so = new
|
|
3604
|
+
var so = new tr({ defaultOptions: { queries: {
|
|
3549
3605
|
staleTime: Infinity,
|
|
3550
3606
|
gcTime: Infinity
|
|
3551
3607
|
} } }), co = !1;
|
|
3552
|
-
function lo({ defaultWallpaper:
|
|
3553
|
-
let
|
|
3554
|
-
|
|
3608
|
+
function lo({ defaultWallpaper: t, initialApp: n, prefetchLoaders: r }) {
|
|
3609
|
+
let i = e((e) => e.wallpaper), a = e((e) => e.wallpaperModule), o = T(i ?? void 0), s = a === "gradient" ? i ?? void 0 : o ?? t ?? C, c = P((e) => e.windows), l = P((e) => e.icons), u = P((e) => e.initFs), d = P((e) => e.isFsReady), f = P((e) => e.fsNodes), p = P((e) => e.openContextMenu), m = P((e) => e.filesCurrentFolderId), h = P((e) => e.desktopFolderId), g = Ae(), { shouldShowWarning: _ } = bn(), { notify: v } = gn(), [y, b] = U(!1);
|
|
3610
|
+
ya(), Aa(), Fa(), Ia(), ta(), B(() => {
|
|
3555
3611
|
oo() || io();
|
|
3556
3612
|
}, []), B(() => {
|
|
3557
|
-
if (!
|
|
3613
|
+
if (!d) return;
|
|
3558
3614
|
let e = document.getElementById("initial-loader");
|
|
3559
3615
|
e && (e.classList.add("hidden"), setTimeout(() => e.remove(), 200));
|
|
3560
|
-
}, [
|
|
3561
|
-
if (!
|
|
3616
|
+
}, [d]), B(() => {
|
|
3617
|
+
if (!r?.length) return;
|
|
3562
3618
|
let e = setTimeout(() => {
|
|
3563
|
-
Za(
|
|
3619
|
+
Za(r);
|
|
3564
3620
|
}, 3e3);
|
|
3565
3621
|
return () => clearTimeout(e);
|
|
3566
|
-
}, [
|
|
3622
|
+
}, [r]), B(() => {
|
|
3567
3623
|
co || (co = !0, Ga().finally(() => {
|
|
3568
|
-
|
|
3624
|
+
u(), n && g(n);
|
|
3569
3625
|
}));
|
|
3570
3626
|
}, [
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3627
|
+
u,
|
|
3628
|
+
g,
|
|
3629
|
+
n
|
|
3574
3630
|
]);
|
|
3575
|
-
let
|
|
3576
|
-
e.preventDefault(),
|
|
3577
|
-
}, [
|
|
3578
|
-
e.preventDefault(), e.stopPropagation(),
|
|
3579
|
-
}, [
|
|
3631
|
+
let x = z((e) => {
|
|
3632
|
+
e.preventDefault(), p(e.clientX, e.clientY, "desktop");
|
|
3633
|
+
}, [p]), S = z((e, t) => {
|
|
3634
|
+
e.preventDefault(), e.stopPropagation(), p(e.clientX, e.clientY, "desktop", t);
|
|
3635
|
+
}, [p]), w = z((e, t) => {
|
|
3580
3636
|
let n;
|
|
3581
3637
|
if (t) {
|
|
3582
|
-
let r =
|
|
3638
|
+
let r = f.find((e) => e.id === t);
|
|
3583
3639
|
if (r?.type === "folder") n = { initialFolderId: t };
|
|
3584
3640
|
else if (r?.type === "file") {
|
|
3585
|
-
let t =
|
|
3641
|
+
let t = Kt(r);
|
|
3586
3642
|
if (!t) {
|
|
3587
|
-
|
|
3643
|
+
v("Unsupported file type", "The type of file you are trying to open is not supported currently", { fcIcon: "FcDeleteRow" });
|
|
3588
3644
|
return;
|
|
3589
3645
|
}
|
|
3590
|
-
t.appId !== e &&
|
|
3646
|
+
t.appId !== e && v("File type mismatch", `Opening "${r.name}" as ${t.appId} instead of ${e}`, { fcIcon: "FcDeleteRow" }), g(t.appId, { contentData: t.contentData });
|
|
3591
3647
|
return;
|
|
3592
3648
|
}
|
|
3593
3649
|
}
|
|
3594
|
-
|
|
3650
|
+
g(e, { contentData: n });
|
|
3595
3651
|
}, [
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3652
|
+
g,
|
|
3653
|
+
f,
|
|
3654
|
+
v
|
|
3599
3655
|
]);
|
|
3600
|
-
return
|
|
3601
|
-
|
|
3602
|
-
/* @__PURE__ */ K(
|
|
3603
|
-
wallpaper:
|
|
3604
|
-
|
|
3605
|
-
|
|
3656
|
+
return d ? /* @__PURE__ */ K(W, { children: [
|
|
3657
|
+
_ && !y && /* @__PURE__ */ G(_a, { onDismiss: () => b(!0) }),
|
|
3658
|
+
/* @__PURE__ */ K(Pr, {
|
|
3659
|
+
wallpaper: s,
|
|
3660
|
+
wallpaperModule: a,
|
|
3661
|
+
onContextMenu: x,
|
|
3662
|
+
children: [l.map((e) => /* @__PURE__ */ G(pa, {
|
|
3606
3663
|
icon: e,
|
|
3607
|
-
onDoubleClick:
|
|
3608
|
-
onContextMenu:
|
|
3609
|
-
}, e.id)), /* @__PURE__ */ G(
|
|
3664
|
+
onDoubleClick: w,
|
|
3665
|
+
onContextMenu: S
|
|
3666
|
+
}, e.id)), /* @__PURE__ */ G(ir, { children: c.map((e) => /* @__PURE__ */ G(da, { window: e }, e.id)) })]
|
|
3610
3667
|
}),
|
|
3611
|
-
/* @__PURE__ */ G(
|
|
3612
|
-
/* @__PURE__ */ G(
|
|
3668
|
+
/* @__PURE__ */ G(Oi, {}),
|
|
3669
|
+
/* @__PURE__ */ G(ha, {
|
|
3613
3670
|
owner: "desktop",
|
|
3614
|
-
parentId:
|
|
3671
|
+
parentId: h,
|
|
3615
3672
|
currentPath: "/home"
|
|
3616
3673
|
}),
|
|
3617
|
-
/* @__PURE__ */ G(
|
|
3674
|
+
/* @__PURE__ */ G(ha, {
|
|
3618
3675
|
owner: "files",
|
|
3619
|
-
parentId:
|
|
3676
|
+
parentId: m,
|
|
3620
3677
|
currentPath: (() => {
|
|
3621
|
-
let e = ["/home"], t =
|
|
3678
|
+
let e = ["/home"], t = m, n = [];
|
|
3622
3679
|
for (; t !== null;) {
|
|
3623
|
-
let e =
|
|
3680
|
+
let e = f.find((e) => e.id === t);
|
|
3624
3681
|
if (!e) break;
|
|
3625
3682
|
n.unshift(e.name), t = e.parentId;
|
|
3626
3683
|
}
|
|
@@ -3629,40 +3686,40 @@ function lo({ defaultWallpaper: e, initialApp: t, prefetchLoaders: n }) {
|
|
|
3629
3686
|
})
|
|
3630
3687
|
] }) : null;
|
|
3631
3688
|
}
|
|
3632
|
-
function uo({ children:
|
|
3633
|
-
let s =
|
|
3689
|
+
function uo({ children: t, isReady: n, error: r, defaultWallpaper: i, initialApp: a, prefetchLoaders: o }) {
|
|
3690
|
+
let s = Sr(), c = e((e) => e.setThemeMode), l = e((e) => e.toggleTheme), u = V(() => ({
|
|
3634
3691
|
fs: null,
|
|
3635
|
-
isReady:
|
|
3636
|
-
error:
|
|
3692
|
+
isReady: n,
|
|
3693
|
+
error: r,
|
|
3637
3694
|
theme: s,
|
|
3638
3695
|
setThemeMode: c,
|
|
3639
3696
|
toggleTheme: l
|
|
3640
3697
|
}), [
|
|
3641
|
-
t,
|
|
3642
3698
|
n,
|
|
3699
|
+
r,
|
|
3643
3700
|
s,
|
|
3644
3701
|
c,
|
|
3645
3702
|
l
|
|
3646
3703
|
]);
|
|
3647
|
-
return
|
|
3704
|
+
return t ? /* @__PURE__ */ G(jr, { children: /* @__PURE__ */ G(Tr.Provider, {
|
|
3648
3705
|
value: u,
|
|
3649
|
-
children:
|
|
3650
|
-
}) }) : /* @__PURE__ */ G(
|
|
3706
|
+
children: t
|
|
3707
|
+
}) }) : /* @__PURE__ */ G(jr, { children: /* @__PURE__ */ G(Tr.Provider, {
|
|
3651
3708
|
value: u,
|
|
3652
3709
|
children: /* @__PURE__ */ G(lo, {
|
|
3653
|
-
defaultWallpaper:
|
|
3654
|
-
initialApp:
|
|
3710
|
+
defaultWallpaper: i,
|
|
3711
|
+
initialApp: a,
|
|
3655
3712
|
prefetchLoaders: o
|
|
3656
3713
|
})
|
|
3657
3714
|
}) });
|
|
3658
3715
|
}
|
|
3659
|
-
function fo({ children:
|
|
3660
|
-
let [m, h] = U(!1), [g, _] = U(null), v =
|
|
3716
|
+
function fo({ children: t, fallback: n = null, theme: r, mantineTheme: i, fileSystem: a, initialMode: o, customApps: s, appEntries: c, onError: l, defaultWallpaper: u, initialApp: d, prefetchLoaders: f, queryClient: p = so }) {
|
|
3717
|
+
let [m, h] = U(!1), [g, _] = U(null), v = e((e) => e.theme.mode), [y] = U(o), b = y ?? v;
|
|
3661
3718
|
B(() => {
|
|
3662
3719
|
let e = !0;
|
|
3663
3720
|
return (async () => {
|
|
3664
3721
|
try {
|
|
3665
|
-
if (
|
|
3722
|
+
if (le(), c && Wt(c), s) {
|
|
3666
3723
|
let e = { ...s };
|
|
3667
3724
|
if (c) for (let t of c) {
|
|
3668
3725
|
let n = e[t.id];
|
|
@@ -3682,17 +3739,17 @@ function fo({ children: e, fallback: t = null, theme: n, mantineTheme: r, fileSy
|
|
|
3682
3739
|
iconColor: n.iconColor ?? t.iconColor
|
|
3683
3740
|
});
|
|
3684
3741
|
}
|
|
3685
|
-
|
|
3742
|
+
ae(e);
|
|
3686
3743
|
}
|
|
3687
3744
|
} catch (e) {
|
|
3688
3745
|
console.error("[FdeDesktop] Failed to initialize core registry:", e);
|
|
3689
3746
|
}
|
|
3690
|
-
if (!
|
|
3747
|
+
if (!a) {
|
|
3691
3748
|
e && h(!0);
|
|
3692
3749
|
return;
|
|
3693
3750
|
}
|
|
3694
3751
|
try {
|
|
3695
|
-
await
|
|
3752
|
+
await a.initialize(), e && h(!0);
|
|
3696
3753
|
} catch (t) {
|
|
3697
3754
|
let n = t instanceof Error ? t : Error(String(t));
|
|
3698
3755
|
e && (_(n), l?.(n));
|
|
@@ -3701,30 +3758,30 @@ function fo({ children: e, fallback: t = null, theme: n, mantineTheme: r, fileSy
|
|
|
3701
3758
|
e = !1;
|
|
3702
3759
|
};
|
|
3703
3760
|
}, [
|
|
3704
|
-
|
|
3761
|
+
a,
|
|
3705
3762
|
c,
|
|
3706
3763
|
s,
|
|
3707
3764
|
l
|
|
3708
3765
|
]);
|
|
3709
|
-
let x = V(() =>
|
|
3710
|
-
...
|
|
3711
|
-
...
|
|
3712
|
-
}), [
|
|
3713
|
-
return g || !m ? /* @__PURE__ */ G(W, { children:
|
|
3766
|
+
let x = V(() => Qn({
|
|
3767
|
+
...wr,
|
|
3768
|
+
...i
|
|
3769
|
+
}), [i]);
|
|
3770
|
+
return g || !m ? /* @__PURE__ */ G(W, { children: n }) : /* @__PURE__ */ G(nr, {
|
|
3714
3771
|
client: p,
|
|
3715
|
-
children: /* @__PURE__ */ G(
|
|
3772
|
+
children: /* @__PURE__ */ G(Gn, {
|
|
3716
3773
|
theme: x,
|
|
3717
3774
|
forceColorScheme: b,
|
|
3718
|
-
children: /* @__PURE__ */ G(
|
|
3775
|
+
children: /* @__PURE__ */ G(xr, {
|
|
3719
3776
|
mode: b,
|
|
3720
|
-
theme:
|
|
3777
|
+
theme: r,
|
|
3721
3778
|
children: /* @__PURE__ */ G(uo, {
|
|
3722
3779
|
isReady: m,
|
|
3723
3780
|
error: g,
|
|
3724
3781
|
defaultWallpaper: u,
|
|
3725
3782
|
initialApp: d,
|
|
3726
3783
|
prefetchLoaders: f,
|
|
3727
|
-
children:
|
|
3784
|
+
children: t
|
|
3728
3785
|
})
|
|
3729
3786
|
})
|
|
3730
3787
|
})
|
|
@@ -3736,14 +3793,14 @@ var po = ({ component: e, windowId: t, contentData: n, onExit: r }) => e ? /* @_
|
|
|
3736
3793
|
windowId: t,
|
|
3737
3794
|
contentData: n,
|
|
3738
3795
|
onExit: r
|
|
3739
|
-
}) : null, mo =
|
|
3796
|
+
}) : null, mo = ht.filter((e) => e.id !== "settings"), ho = ({ opened: e, position: t, onClose: n, onOpenApp: r, onToggleTheme: i }) => /* @__PURE__ */ K(J, {
|
|
3740
3797
|
opened: e,
|
|
3741
3798
|
onClose: n,
|
|
3742
3799
|
closeOnClickOutside: !0,
|
|
3743
3800
|
closeOnEscape: !0,
|
|
3744
3801
|
closeOnItemClick: !0,
|
|
3745
3802
|
withinPortal: !0,
|
|
3746
|
-
children: [/* @__PURE__ */ G(
|
|
3803
|
+
children: [/* @__PURE__ */ G(ma, {
|
|
3747
3804
|
x: t.x,
|
|
3748
3805
|
y: t.y
|
|
3749
3806
|
}), /* @__PURE__ */ K(J.Dropdown, { children: [
|
|
@@ -3765,7 +3822,7 @@ var po = ({ component: e, windowId: t, contentData: n, onExit: r }) => e ? /* @_
|
|
|
3765
3822
|
}), yo = {
|
|
3766
3823
|
scrollback: 5e3,
|
|
3767
3824
|
shell: "/bin/zsh"
|
|
3768
|
-
}, bo =
|
|
3825
|
+
}, bo = rr((e, t) => ({
|
|
3769
3826
|
states: {},
|
|
3770
3827
|
getScrollback: (e) => t().states[e]?.scrollback ?? yo.scrollback,
|
|
3771
3828
|
getShell: (e) => t().states[e]?.shell ?? yo.shell,
|
|
@@ -3866,7 +3923,7 @@ var po = ({ component: e, windowId: t, contentData: n, onExit: r }) => e ? /* @_
|
|
|
3866
3923
|
}, [x]);
|
|
3867
3924
|
B(() => {
|
|
3868
3925
|
if (m.current || (m.current = !0, u.current = !0, !i.current)) return;
|
|
3869
|
-
let e = new
|
|
3926
|
+
let e = new mr({
|
|
3870
3927
|
fontFamily: "'Operator Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace",
|
|
3871
3928
|
fontSize: 14,
|
|
3872
3929
|
theme: {
|
|
@@ -3878,7 +3935,7 @@ var po = ({ component: e, windowId: t, contentData: n, onExit: r }) => e ? /* @_
|
|
|
3878
3935
|
cursorStyle: "underline",
|
|
3879
3936
|
cursorBlink: !0,
|
|
3880
3937
|
scrollback: t
|
|
3881
|
-
}), n = new
|
|
3938
|
+
}), n = new hr(), r = new gr();
|
|
3882
3939
|
return e.loadAddon(n), e.loadAddon(r), e.open(i.current), n.fit(), a.current = e, o.current = n, s.current = r, e.onData((e) => {
|
|
3883
3940
|
c.current?.readyState === WebSocket.OPEN && c.current.send(JSON.stringify({
|
|
3884
3941
|
type: "input",
|
|
@@ -3999,13 +4056,13 @@ function Do(e) {
|
|
|
3999
4056
|
//#region src/components/Apps/TerminalApp/TerminalNotSupported.tsx
|
|
4000
4057
|
var Oo = () => {
|
|
4001
4058
|
let { t: e } = Z("apps");
|
|
4002
|
-
return /* @__PURE__ */ G(
|
|
4059
|
+
return /* @__PURE__ */ G(Hn, {
|
|
4003
4060
|
"data-testid": "terminal-not-supported",
|
|
4004
4061
|
style: {
|
|
4005
4062
|
width: "100%",
|
|
4006
4063
|
height: "100%"
|
|
4007
4064
|
},
|
|
4008
|
-
children: /* @__PURE__ */ K(
|
|
4065
|
+
children: /* @__PURE__ */ K(Yn, {
|
|
4009
4066
|
align: "center",
|
|
4010
4067
|
gap: "lg",
|
|
4011
4068
|
p: "xl",
|
|
@@ -4013,7 +4070,7 @@ var Oo = () => {
|
|
|
4013
4070
|
children: [
|
|
4014
4071
|
/* @__PURE__ */ G(X, {
|
|
4015
4072
|
size: "3rem",
|
|
4016
|
-
children: /* @__PURE__ */ G(
|
|
4073
|
+
children: /* @__PURE__ */ G(pr, {})
|
|
4017
4074
|
}),
|
|
4018
4075
|
/* @__PURE__ */ G(X, {
|
|
4019
4076
|
size: "lg",
|
|
@@ -4037,7 +4094,7 @@ var Oo = () => {
|
|
|
4037
4094
|
})
|
|
4038
4095
|
});
|
|
4039
4096
|
}, ko = ({ window: e, notifyReady: t }) => {
|
|
4040
|
-
let n = e, r = n?.id ?? "", i =
|
|
4097
|
+
let n = e, r = n?.id ?? "", i = Ge(), a = xo(r), o = So(r), { setScrollback: s, setShell: c, reset: l } = bo(), u = H(null), d = H(!1), f = H(!1), [p, m] = U("idle"), [h, g] = U(null);
|
|
4041
4098
|
B(() => {
|
|
4042
4099
|
i !== "docker" || f.current || (f.current = !0, (async () => {
|
|
4043
4100
|
try {
|
|
@@ -4099,13 +4156,13 @@ var Oo = () => {
|
|
|
4099
4156
|
}) : /* @__PURE__ */ G(Oo, {});
|
|
4100
4157
|
}, Ao = () => {
|
|
4101
4158
|
let { t: e } = Z("apps");
|
|
4102
|
-
return /* @__PURE__ */ G(
|
|
4159
|
+
return /* @__PURE__ */ G(Hn, {
|
|
4103
4160
|
"data-testid": "code-server-not-supported",
|
|
4104
4161
|
style: {
|
|
4105
4162
|
width: "100%",
|
|
4106
4163
|
height: "100%"
|
|
4107
4164
|
},
|
|
4108
|
-
children: /* @__PURE__ */ K(
|
|
4165
|
+
children: /* @__PURE__ */ K(Yn, {
|
|
4109
4166
|
align: "center",
|
|
4110
4167
|
gap: "lg",
|
|
4111
4168
|
p: "xl",
|
|
@@ -4113,7 +4170,7 @@ var Oo = () => {
|
|
|
4113
4170
|
children: [
|
|
4114
4171
|
/* @__PURE__ */ G(X, {
|
|
4115
4172
|
size: "3rem",
|
|
4116
|
-
children: /* @__PURE__ */ G(
|
|
4173
|
+
children: /* @__PURE__ */ G(pr, {})
|
|
4117
4174
|
}),
|
|
4118
4175
|
/* @__PURE__ */ G(X, {
|
|
4119
4176
|
size: "lg",
|
|
@@ -4235,7 +4292,7 @@ var Oo = () => {
|
|
|
4235
4292
|
allow: "clipboard-read; clipboard-write"
|
|
4236
4293
|
})
|
|
4237
4294
|
});
|
|
4238
|
-
}, No = (e) =>
|
|
4295
|
+
}, No = (e) => We() ? /* @__PURE__ */ G(Mo, { ...e }) : /* @__PURE__ */ G(Ao, {}), Po = [{
|
|
4239
4296
|
value: "/bin/sh",
|
|
4240
4297
|
label: "sh"
|
|
4241
4298
|
}, {
|
|
@@ -4328,7 +4385,7 @@ function Fo(e) {
|
|
|
4328
4385
|
}
|
|
4329
4386
|
//#endregion
|
|
4330
4387
|
//#region src/components/Apps/TerminalApp/TerminalMenuBar.tsx
|
|
4331
|
-
var Io =
|
|
4388
|
+
var Io = Ln(({ windowId: e, contentData: t, onExit: n }) => /* @__PURE__ */ G(hn, { elements: Fo({
|
|
4332
4389
|
windowId: e,
|
|
4333
4390
|
onExit: n,
|
|
4334
4391
|
clear: t?.clear,
|
|
@@ -4355,16 +4412,16 @@ var Lo = { container: "_container_1br66_1" }, Ro = ({ notifyReady: e, window: t,
|
|
|
4355
4412
|
]);
|
|
4356
4413
|
let a = () => {
|
|
4357
4414
|
globalThis.window.open(n.url, "_blank", "noopener,noreferrer");
|
|
4358
|
-
}, o =
|
|
4415
|
+
}, o = Qt(n.icon, {
|
|
4359
4416
|
size: 48,
|
|
4360
4417
|
color: n.iconColor
|
|
4361
|
-
}), s =
|
|
4418
|
+
}), s = Qt(n.icon, {
|
|
4362
4419
|
size: 16,
|
|
4363
4420
|
color: n.iconColor
|
|
4364
4421
|
});
|
|
4365
|
-
return /* @__PURE__ */ G(
|
|
4422
|
+
return /* @__PURE__ */ G(Hn, {
|
|
4366
4423
|
className: Lo.container,
|
|
4367
|
-
children: /* @__PURE__ */ K(
|
|
4424
|
+
children: /* @__PURE__ */ K(Yn, {
|
|
4368
4425
|
align: "center",
|
|
4369
4426
|
gap: "md",
|
|
4370
4427
|
children: [
|
|
@@ -4403,7 +4460,7 @@ var Lo = { container: "_container_1br66_1" }, Ro = ({ notifyReady: e, window: t,
|
|
|
4403
4460
|
opened: n,
|
|
4404
4461
|
position: i,
|
|
4405
4462
|
open: z((n, i) => {
|
|
4406
|
-
if (n.preventDefault(), t && !
|
|
4463
|
+
if (n.preventDefault(), t && !ht.find((e) => e.id === t)?.hasContextMenu) {
|
|
4407
4464
|
n.stopPropagation();
|
|
4408
4465
|
return;
|
|
4409
4466
|
}
|
|
@@ -4424,7 +4481,7 @@ function Bo({ snapshotRef: e, getCurrentState: t, initialSnapshot: n, onChange:
|
|
|
4424
4481
|
}, [r]), B(() => {
|
|
4425
4482
|
if (e.current === null) {
|
|
4426
4483
|
if (i) {
|
|
4427
|
-
let t =
|
|
4484
|
+
let t = jn.getState().getSnapshot(i);
|
|
4428
4485
|
if (t !== null) {
|
|
4429
4486
|
e.current = t;
|
|
4430
4487
|
return;
|
|
@@ -4445,7 +4502,7 @@ function Bo({ snapshotRef: e, getCurrentState: t, initialSnapshot: n, onChange:
|
|
|
4445
4502
|
isDirty: a,
|
|
4446
4503
|
takeSnapshot: z(() => {
|
|
4447
4504
|
let n = t();
|
|
4448
|
-
e.current = n, o(!1), i &&
|
|
4505
|
+
e.current = n, o(!1), i && jn.getState().setSnapshot(i, n), s.current && s.current(!1);
|
|
4449
4506
|
}, [
|
|
4450
4507
|
e,
|
|
4451
4508
|
t,
|
|
@@ -4549,7 +4606,7 @@ var Ho = {
|
|
|
4549
4606
|
window: "#25262b",
|
|
4550
4607
|
accent: "#4dabf7"
|
|
4551
4608
|
}
|
|
4552
|
-
}, Go =
|
|
4609
|
+
}, Go = (e) => ({
|
|
4553
4610
|
primaryColor: "blue",
|
|
4554
4611
|
other: {
|
|
4555
4612
|
desktop: e.desktop,
|
|
@@ -4559,4 +4616,4 @@ var Ho = {
|
|
|
4559
4616
|
}
|
|
4560
4617
|
});
|
|
4561
4618
|
//#endregion
|
|
4562
|
-
export {
|
|
4619
|
+
export { Te as ANIMATION_DURATION, ht as APPS, Q as APP_IDS, Vr as APP_ID_TO_TRANSLATION_KEY, wa as APP_VERSION, p as AVAILABLE_FONTS, Sn as AppEmptyState, L as AppIcon, ki as AppLoading, hn as AppMenuBar, ca as AppReadyProvider, Pt as BREAKPOINTS, bt as CORE_APPS, Ft as CORE_APP_IDS, me as CORE_REGISTRY, Jt as CUSTOM_APPS_FOLDER_ID, jt as CalendarApp, Se as CalendarAppLazy, No as CodeServerApp, qr as CollapsibleSection, wn as ColorPicker, ho as ContextMenu, $r as ContextMenuAnchor, D as CreateItemAppLazy, ha as CreateItemContextMenu, aa as CustomAppLoader, Ai as CustomAppLoadingScreen, Mi as CustomAppNotSupported, ji as CustomAppOffline, br as DEFAULT_FDE_THEME, x as DEFAULT_GRADIENT_CSS, f as DEFAULT_LANGUAGE, ze as DEFAULT_LAUNCHER_FOLDERS, Wo as DEFAULT_THEME_COLORS, zt as DEFAULT_VIEWPORT_HEIGHT, mt as DEFAULT_VIEWPORT_WIDTH, C as DEFAULT_WALLPAPER_URL, Ct as DEFAULT_WINDOW_DIMENSIONS, Hr as DESKTOP_APPS, kt as DESKTOP_APPS_ORDER, m as DefaultThemeProvider, Pr as Desktop, pa as DesktopIcon, xe as DeviceInfoAppLazy, mn as DirtyIndicator, It as DockerFileSystemAdapter, Tn as DownloadProgress, on as DragDropProvider, po as DynamicMenuBarRenderer, Oe as EASE_IN, be as EASE_OUT, Ro as ExternalLinkApp, n as FONT_STACKS, fo as FdeDesktop, Or as FdeProvider, _n as FileIcon, On as FilePickerApp, Dn as FilePickerModal, ie as FilesAppLazy, En as FolderPicker, Sa as GITHUB_LATEST_RELEASE_URL, xa as GITHUB_RELEASES_REPO, r as GOOGLE_FONTS_HREF, y as GRADIENT_PRESETS, Ot as ICON_COLUMN_WIDTH, Ut as ICON_MARGIN, gt as ICON_ROW_HEIGHT, qt as IMAGE_MIME_TYPES, An as IconColorPicker, M as ImageViewerAppLazy, oe as ImageViewerMenuBarLazy, ct as IndexedDBFileSystem, l as LanguageFlag, Ei as LanguageSelector, Qr as Launcher, A as MenuEditAppLazy, ne as MenuEditMenuBarLazy, re as NotesAppLazy, se as NotesMenuBarLazy, at as PREDEFINED_LAUNCHER_FOLDERS, Cn as PRESET_COLORS, kn as PRESET_ICONS, u as PROFILE, Ie as PdfAppLazy, ee as PdfMenuBarLazy, er as QueryClient, a as SETTINGS_SECTIONS, h as SUNSET_CONFIG, s as SUPPORTED_LANGUAGES, de as SettingsAppLazy, j as SettingsMenuBarLazy, d as SettingsSectionComponent, Be as SortOptions, vo as StorybookApp, yt as TASKBAR_HEIGHT, pt as TEXT_MIME_TYPES, Oi as Taskbar, ri as TaskbarContextMenu, ko as TerminalApp, Io as TerminalMenuBar, xr as ThemeProvider, ue as UploaderAppLazy, R as VscIcon, da as Window, jr as WindowButtonRegistryProvider, et as WindowManagerAdapter, Mn as appendDirtyIndicator, yn as buildBreadcrumbs, g as buildGradientCSS, pe as centerWindowPosition, qi as checkHMREndpointExists, i as clearBrowserData, Qe as clearManifestCache, Dt as convertToAppEntry, Tt as createDesktopIcon, Ee as createEaseIn, ke as createEaseOut, Le as createFile, vt as createFolder, Ht as createLauncherFolder, he as createMaximizeTransition, Ce as createMinimizeVariant, S as createNoiseDataUrl, je as createPanelVariants, Mt as createPredefinedLauncherFolder, ge as createRestoreVariant, ft as createWindow, _e as createWindowVariants, Re as fetchAppManifest, N as fileSystem, Nn as formatBytes, Nt as generateUUID, Pe as getAppComponent, Kt as getAppIdForMime, ce as getAppName, At as getBaseUrl, Et as getCachedManifest, pn as getCloseInterceptor, Xe as getCustomAppById, Ze as getCustomApps, Ea as getEnvironment, ao as getFdeApi, vn as getFileExtension, xn as getFourRandomColors, O as getMenuBarBuilder, Ne as getMenuBarComponent, lt as getMimeTypeFromExtension, o as getPersistedThemeMode, w as getPresets, Da as getReleaseType, Ge as getRuntime, Ta as getVersionString, b as getWallpaperBackgroundStyle, st as hashBlob, Ci as i18n, te as initRegistry, io as initializeFdeApi, c as injectFontLink, it as isBrowser, E as isCSSGradient, $e as isCustomApp, ot as isDev, We as isDocker, Je as isElectron, oo as isFdeApiInitialized, k as isLazyApp, ba as isNewerVersion, De as maximizeTransition, Ue as mergeAppsWithCustomApps, Ga as migrateStorage, we as minimizeVariant, ye as openVariants, ve as panelVariants, _ as parseGradientCSS, Za as prefetchApps, fe as randomWindowPosition, nt as registerAppFileHandler, dn as registerCloseInterceptor, ae as registerComponents, Wt as registerCustomApps, _t as registerDesktopApps, Ke as removeFromManifestCache, St as resetBaseUrlCache, Lt as resetFileSystem, Vi as resetHMRState, wt as resetWindowManager, dt as resolveFileUrl, xt as resolveUrl, Me as restoreVariant, qe as setApiBaseUrl, ut as setTestBaseUrl, Gt as sortDesktopIcons, rt as sortDesktopIconsByMode, He as sortNodes, Ve as sortNodesByMode, Ye as syncWithServer, Go as toMantineTheme, fn as unregisterCloseInterceptor, Rt as updateLauncherFolder, tt as updateManifestCache, nn as useAdaptiveDimensions, Br as useAnimationDuration, Ur as useAppName, sa as useAppReady, jn as useAppTempMemoryStore, Aa as useAppUpdate, Fa as useApplyFont, Ir as useClock, un as useCloseInterceptor, ln as useCloseModalStore, Gr as useCollapsible, zo as useContextMenu, ea as useCustomAppHMR, ta as useCustomAppLifecycle, F as useCustomAppStore, P as useDesktopStore, bn as useDeviceDetection, Uo as useDownload, sn as useDragDropState, rn as useDraggableItem, an as useDroppableArea, tn as useDynamicIcon, Zt as useDynamicIconElement, $t as useFcIcon, I as useFcIconElement, Vo as useFdeApi, kr as useFdeContext, Yt as useFiIcon, Qt as useFiIconElement, cn as useFolderName, t as useFontDownload, Bo as useIsDirty, Ia as useLanguageSync, gn as useNotifications, Ae as useOpenApp, T as useResolvedUrl, Wr as useSearchFilter, e as useSettingsStore, ya as useSystemTheme, zr as useTaskbarContextMenu, ei as useTaskbarHeight, Sr as useTheme, Cr as useThemeContext, en as useVscIcon, Xt as useVscIconElement, Mr as useWindowButtonRegistry, Bt as uuidv4, v as validateGradientConfig, na as waitForContainer, Fe as windowVariants };
|