@fde-desktop/fde-core 0.4.10 → 0.4.11
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 +49 -0
- package/dist/AppEmptyState-CLc00OOG.cjs +1 -0
- package/dist/AppIcon-C8vHUVcb.cjs +1 -0
- package/dist/AppIcon-mtEoyzOb.js +22 -0
- package/dist/AppMenuBar-CAlkNHjj.cjs +1 -0
- package/dist/AppMenuBar-DmSfQRXU.js +197 -0
- package/dist/CalendarApp-DOmjWbpl.js +10 -0
- package/dist/CalendarApp-Z0bCCYsK.cjs +1 -0
- package/dist/ColorPicker-CQRRwY-y.cjs +1 -0
- package/dist/ColorPicker-WCeD3Wjf.js +35 -0
- package/dist/CreateItemApp-BkFFFdX1.cjs +1 -0
- package/dist/CreateItemApp-DR8Y4bwo.js +202 -0
- package/dist/DeviceInfoApp-BXQ9uOwF.cjs +1 -0
- package/dist/DeviceInfoApp-I63mJRWy.js +195 -0
- package/dist/DownloadProgress-CkTGTf0z.cjs +1 -0
- package/dist/DownloadProgress-DnVASsv5.js +39 -0
- package/dist/FilePickerApp-By6-vbag.cjs +1 -0
- package/dist/FilePickerApp-ClHuhm6Z.js +390 -0
- package/dist/FilesApp-BC4UPNuw.cjs +1 -0
- package/dist/FilesApp-D8MqvC5X.js +210 -0
- package/dist/ImageViewerApp-B1niWF75.cjs +1 -0
- package/dist/{ImageViewerApp-CWiP6zx-.js → ImageViewerApp-iojtyFEf.js} +18 -17
- package/dist/{ImageViewerMenuBar-BULkh_Ku.js → ImageViewerMenuBar-BIsUokxV.js} +15 -14
- package/dist/ImageViewerMenuBar-BgzgSF3v.cjs +1 -0
- package/dist/MenuEditApp-BHptoJbz.cjs +1 -0
- package/dist/MenuEditApp-CJUbJaqh.js +492 -0
- package/dist/MenuEditMenuBar-CCOSPAUe.cjs +1 -0
- package/dist/{MenuEditMenuBar-B94z4Umw.js → MenuEditMenuBar-DnCL-kaZ.js} +13 -12
- package/dist/NotesApp-BmQIBtJ2.cjs +1 -0
- package/dist/NotesApp-DJ2dGt4-.js +364 -0
- package/dist/NotesMenuBar-BzojwMtH.cjs +1 -0
- package/dist/{NotesMenuBar-BB4NkKGf.js → NotesMenuBar-DILZTjnT.js} +10 -9
- package/dist/PdfApp-IjY_GtnW.js +39 -0
- package/dist/PdfApp-krW8UI97.cjs +1 -0
- package/dist/PdfMenuBar-Bd5MTZcZ.js +39 -0
- package/dist/PdfMenuBar-DWD0Qa3F.cjs +1 -0
- package/dist/SettingsApp-BE22l5UP.cjs +1 -0
- package/dist/SettingsApp-BTFtTFY_.js +1228 -0
- package/dist/SettingsMenuBar-CZE2evG2.cjs +1 -0
- package/dist/SettingsMenuBar-ktC0viTd.js +42 -0
- package/dist/UploaderApp-CbypD538.js +263 -0
- package/dist/UploaderApp-D_qD3O70.cjs +1 -0
- package/dist/{VscIcon-DueRJVTe.js → VscIcon-AEENjKOE.js} +1 -1
- package/dist/VscIcon-BYb_Soyy.cjs +1 -0
- package/dist/buildBreadcrumbs-Ccd8i11b.cjs +1 -0
- package/dist/buildBreadcrumbs-noWhu8os.js +45 -0
- package/dist/{desktopStore-B0R1-BeA.js → desktopStore-8cSZlj7s.js} +342 -549
- package/dist/desktopStore-C1jR6Fdb.cjs +1 -0
- package/dist/{imageViewerStore-CJMRXaQh.js → imageViewerStore-COrD02Zu.js} +1 -1
- package/dist/imageViewerStore-Dfylg59V.cjs +1 -0
- package/dist/index.cjs +1 -53
- package/dist/index.css +1 -1
- package/dist/index.d.ts +16 -6
- package/dist/index.js +3024 -7513
- package/dist/menuEditStore-CYwtfD6H.cjs +1 -0
- package/dist/{menuEditStore-C8S_EedM.js → menuEditStore-CxsgLiQu.js} +1 -1
- package/dist/notesStore-CrWTO6oB.cjs +1 -0
- package/dist/{notesStore-DKRgTTFn.js → notesStore-Dgah46U5.js} +1 -1
- package/dist/rolldown-runtime-CAFD8bLK.js +11 -0
- package/dist/{settingsAppStore-KOeWRO6h.js → settingsAppStore-DHZhi6Rl.js} +1 -1
- package/dist/settingsAppStore-DuYZNeFf.cjs +1 -0
- package/dist/useAdaptiveDimensions-3Lz4X0Tc.cjs +1 -0
- package/dist/{useAdaptiveDimensions-CunsU0mn.js → useAdaptiveDimensions-DxNLJ7R5.js} +1 -1
- package/dist/{useCloseInterceptor-CuKAAFnj.js → useCloseInterceptor-CIxhOZx1.js} +12 -12
- package/dist/useCloseInterceptor-CdX-09Ib.cjs +1 -0
- package/dist/useDynamicIcon-CK6SjEv5.cjs +1 -0
- package/dist/{useDynamicIcon-GJg3vWsJ.js → useDynamicIcon-_wGeWu-b.js} +1 -1
- package/dist/useOpenApp-D-FOY88T.cjs +1 -0
- package/dist/{useOpenApp-BVpSfNrG.js → useOpenApp-DkZLFFCH.js} +51 -67
- package/dist/{useResolvedUrl-DFKXq598.js → useResolvedUrl-B6x4xy0x.js} +1 -2
- package/dist/useResolvedUrl-Bb39DpVy.cjs +1 -0
- package/package.json +3 -4
- package/dist/AccordionChevron-CJXAq5o5.js +0 -26
- package/dist/AccordionChevron-DBXp38Lm.cjs +0 -1
- package/dist/ActionIcon-C_SfdBfx.cjs +0 -1
- package/dist/ActionIcon-CtVbYlGY.js +0 -145
- package/dist/AppEmptyState-BTujnL_b.js +0 -4962
- package/dist/AppEmptyState-Dc4GaDfu.cjs +0 -1
- package/dist/AppIcon--qzR4sgf.cjs +0 -1
- package/dist/AppIcon-DCDuaU-t.js +0 -80
- package/dist/AppMenuBar-BiHbNg9V.cjs +0 -9
- package/dist/AppMenuBar-CHJy8OF0.js +0 -2639
- package/dist/Box-DRm8EabO.js +0 -1593
- package/dist/Box-D_64wv6n.cjs +0 -1
- package/dist/Button-D0FXpkur.cjs +0 -1
- package/dist/Button-k7SxX1Xl.js +0 -178
- package/dist/CalendarApp-C1HvuJoa.cjs +0 -1
- package/dist/CalendarApp-DBEQqsS_.js +0 -1721
- package/dist/Center-CyryG5zn.js +0 -25
- package/dist/Center-T4No_FAa.cjs +0 -1
- package/dist/CheckIcon-C3WjIR2i.js +0 -25
- package/dist/CheckIcon-CBMLR6Gc.cjs +0 -1
- package/dist/CodeServerApp-B3l5QPuG.cjs +0 -1
- package/dist/CodeServerApp-BpeALSaX.js +0 -2
- package/dist/CodeServerApp-CRjCngFv.cjs +0 -1
- package/dist/CodeServerApp-DY94cy1a.js +0 -149
- package/dist/ColorPicker-BL4UbKCV.cjs +0 -1
- package/dist/ColorPicker-DvRR-wlQ.js +0 -997
- package/dist/CreateItemApp-BU9wmjKM.cjs +0 -1
- package/dist/CreateItemApp-CtdH1K1g.js +0 -400
- package/dist/CreateItemApp-t9F-a6wD.cjs +0 -1
- package/dist/DeviceInfoApp-C306YvtZ.js +0 -223
- package/dist/DeviceInfoApp-Cdju_LIB.cjs +0 -1
- package/dist/DeviceInfoApp-CyB01v4D.cjs +0 -1
- package/dist/DownloadProgress-IRw1dzLX.cjs +0 -1
- package/dist/DownloadProgress-hdupSUBT.js +0 -174
- package/dist/FileIcon-BCpGMI5U.js +0 -88
- package/dist/FileIcon-BCrsxmtt.cjs +0 -1
- package/dist/FilePickerApp-DMGuvahM.js +0 -409
- package/dist/FilePickerApp-Eu0cr2Cm.cjs +0 -1
- package/dist/FilesApp-BQFVHkEn.js +0 -225
- package/dist/FilesApp-BZ_dzZnF.cjs +0 -1
- package/dist/FilesApp-SIWXFPXt.cjs +0 -1
- package/dist/Group-BzwlMeob.js +0 -48
- package/dist/Group-DhwePB84.cjs +0 -1
- package/dist/ImageViewerApp-BOz59TGc.cjs +0 -1
- package/dist/ImageViewerApp-BeqY6voE.cjs +0 -1
- package/dist/ImageViewerApp-DBAfJPSo.js +0 -2
- package/dist/ImageViewerMenuBar-Cb0Nr5-M.js +0 -2
- package/dist/ImageViewerMenuBar-CoEp0RxK.cjs +0 -1
- package/dist/ImageViewerMenuBar-zOkJtqKo.cjs +0 -1
- package/dist/MenuEditApp-BoKtj2GH.js +0 -2
- package/dist/MenuEditApp-D21sEp86.js +0 -2615
- package/dist/MenuEditApp-k3cPfTG9.cjs +0 -1
- package/dist/MenuEditApp-sz9GlLVH.cjs +0 -5
- package/dist/MenuEditMenuBar-6QxlIDpl.cjs +0 -1
- package/dist/MenuEditMenuBar-Bv6R42lf.js +0 -2
- package/dist/MenuEditMenuBar-CBsmH_-T.cjs +0 -1
- package/dist/NotesApp-BtR55Hva.cjs +0 -207
- package/dist/NotesApp-C59exz_9.js +0 -16154
- package/dist/NotesApp-D47I5LS_.js +0 -2
- package/dist/NotesApp-lOwsi2sg.cjs +0 -1
- package/dist/NotesMenuBar-BZITC74y.cjs +0 -1
- package/dist/NotesMenuBar-Bp0sPqyR.cjs +0 -1
- package/dist/NotesMenuBar-xlfODmMA.js +0 -2
- package/dist/Paper-DtUYKmYn.js +0 -30
- package/dist/Paper-DwCpwWwH.cjs +0 -1
- package/dist/PdfApp-1XbFGfoY.cjs +0 -1
- package/dist/PdfApp-BhIoJWeK.cjs +0 -1
- package/dist/PdfApp-C5Rt1Zaw.js +0 -2
- package/dist/PdfApp-C8Hwxxqh.js +0 -38
- package/dist/PdfMenuBar-BA9rKuMP.cjs +0 -1
- package/dist/PdfMenuBar-JXHqwxhZ.cjs +0 -1
- package/dist/PdfMenuBar-R0fu7oYF.js +0 -2
- package/dist/PdfMenuBar-sd-9Vk3h.js +0 -38
- package/dist/SettingsApp-7EhpjzUE.cjs +0 -1
- package/dist/SettingsApp-ByiPAj1I.cjs +0 -1
- package/dist/SettingsApp-d6fmBHxR.js +0 -1829
- package/dist/SettingsApp-qKJmC0lj.js +0 -2
- package/dist/SettingsMenuBar-BPwv8JQK.js +0 -41
- package/dist/SettingsMenuBar-D8R7hOik.js +0 -2
- package/dist/SettingsMenuBar-DDrjZLmg.cjs +0 -1
- package/dist/SettingsMenuBar-DQjUa8g1.cjs +0 -1
- package/dist/Slider-BNO-vDFn.js +0 -1175
- package/dist/Slider-Bg_EIBg6.cjs +0 -1
- package/dist/Stack-BOaJgV3N.cjs +0 -1
- package/dist/Stack-CuDEaP7e.js +0 -34
- package/dist/StorybookApp-Bkr-7mXp.cjs +0 -1
- package/dist/StorybookApp-WYninkJo.js +0 -10
- package/dist/TerminalApp-8XbsKAWa.js +0 -10041
- package/dist/TerminalApp-Bq2e7QQu.cjs +0 -1
- package/dist/TerminalApp-CVu3Axc9.js +0 -2
- package/dist/TerminalApp-b7_d0jRO.cjs +0 -36
- package/dist/TerminalMenuBar-Cb8x9laS.js +0 -2
- package/dist/TerminalMenuBar-De-FH5AE.cjs +0 -1
- package/dist/TerminalMenuBar-iKLydNda.js +0 -112
- package/dist/TerminalMenuBar-yOaWd-hn.cjs +0 -1
- package/dist/TextInput-C3qfxxWI.js +0 -980
- package/dist/TextInput-DcYns3hz.cjs +0 -1
- package/dist/Tooltip-CAOO-qdx.js +0 -3185
- package/dist/Tooltip-DDh_x-CB.cjs +0 -1
- package/dist/UnstyledButton-CI3kyRck.js +0 -25
- package/dist/UnstyledButton-Cl5RuIid.cjs +0 -1
- package/dist/UploaderApp-C76ydsd8.js +0 -487
- package/dist/UploaderApp-CHACW8Yr.js +0 -2
- package/dist/UploaderApp-Q_a3mBik.cjs +0 -1
- package/dist/UploaderApp-htj59ppo.cjs +0 -1
- package/dist/VscIcon-CxEmqD80.cjs +0 -1
- package/dist/chunk-BQCxAhux.js +0 -23
- package/dist/chunk-CiTBaPhY.cjs +0 -1
- package/dist/create-safe-context-95P-Bfg3.cjs +0 -1
- package/dist/create-safe-context-XT2cxc14.js +0 -12
- package/dist/desktopStore-Cox-Og1z.cjs +0 -1
- package/dist/fc-DejOsQyD.cjs +0 -1
- package/dist/fc-kd8WzIER.js +0 -20536
- package/dist/fc-xJ_v2ayq.cjs +0 -184
- package/dist/fi-BahYsbim.js +0 -9993
- package/dist/fi-BkhyTcZo.cjs +0 -1
- package/dist/getRuntime-BLXyQZBB.cjs +0 -1
- package/dist/getRuntime-CCRXVzJH.js +0 -63
- package/dist/iconBase-B4UCuSvv.cjs +0 -1
- package/dist/iconBase-D7iPes7B.js +0 -108
- package/dist/imageViewerStore-CH1qW6md.cjs +0 -1
- package/dist/is-element-BocgicRg.cjs +0 -1
- package/dist/is-element-Bu_JY8Qy.js +0 -7
- package/dist/menuEditStore-CU7IAg3L.cjs +0 -1
- package/dist/notesStore-zKmChTfF.cjs +0 -1
- package/dist/react-DYmzHD0X.js +0 -27
- package/dist/react-Dldg32sN.cjs +0 -1
- package/dist/settingsAppStore-BrlImdAH.cjs +0 -1
- package/dist/terminalStore-LWWjCvCe.js +0 -30
- package/dist/terminalStore-fZe5t7Ty.cjs +0 -1
- package/dist/use-merged-ref-BI9n1hUK.cjs +0 -1
- package/dist/use-merged-ref-BT8_u6vW.js +0 -25
- package/dist/use-resolved-styles-api-AVDygMKo.cjs +0 -1
- package/dist/use-resolved-styles-api-pEOi2wiK.js +0 -21
- package/dist/use-uncontrolled-A4hm9ATM.js +0 -23
- package/dist/use-uncontrolled-BPrfGv0W.cjs +0 -1
- package/dist/useAdaptiveDimensions-Btp0m5Pm.cjs +0 -1
- package/dist/useCloseInterceptor-a_6Lcuqj.cjs +0 -1
- package/dist/useDynamicIcon-SytdL1Tu.cjs +0 -1
- package/dist/useOpenApp-Br0jo4-y.cjs +0 -1
- package/dist/useResolvedUrl-Be5ZlCX7.cjs +0 -1
- package/dist/useTranslation-DMRGdqZi.js +0 -279
- package/dist/useTranslation-D_O7S4RJ.cjs +0 -1
- package/dist/vsc-Ciibqbxo.cjs +0 -1
- package/dist/vsc-DGKSpOAR.js +0 -9574
- /package/dist/{Colors-BxX4G8kX.cjs → Colors-CNJbU7oq.cjs} +0 -0
- /package/dist/{Colors-hca6raEG.js → Colors-CuABn2W4.js} +0 -0
- /package/dist/{useMenuBarUtils-ChmpZjwu.js → useMenuBarUtils-ChAfI7OA.js} +0 -0
- /package/dist/{useMenuBarUtils-Bp5PiztD.cjs → useMenuBarUtils-DAap0ukp.cjs} +0 -0
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
|
|
2
|
+
import { a as t, b as n, o as r } from "./desktopStore-8cSZlj7s.js";
|
|
3
|
+
import { i } from "./useCloseInterceptor-CIxhOZx1.js";
|
|
4
|
+
import { t as a } from "./VscIcon-AEENjKOE.js";
|
|
5
|
+
import { n as o, r as s } from "./FilePickerApp-ClHuhm6Z.js";
|
|
6
|
+
import { n as c } from "./notesStore-Dgah46U5.js";
|
|
7
|
+
import { useCallback as l, useEffect as u, useRef as d, useState as f } from "react";
|
|
8
|
+
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
9
|
+
import { create as h } from "zustand";
|
|
10
|
+
import { createJSONStorage as g, persist as _ } from "zustand/middleware";
|
|
11
|
+
import { useTranslation as v } from "react-i18next";
|
|
12
|
+
import { EditorContent as y, useEditor as b, useEditorState as x } from "@tiptap/react";
|
|
13
|
+
import S from "@tiptap/starter-kit";
|
|
14
|
+
import { Markdown as C } from "@tiptap/markdown";
|
|
15
|
+
import { Extension as w } from "@tiptap/core";
|
|
16
|
+
//#region src/stores/AppTempMemory.ts
|
|
17
|
+
var T = h()(_((e, t) => ({
|
|
18
|
+
snapshots: {},
|
|
19
|
+
setSnapshot: (t, n) => e((e) => ({ snapshots: {
|
|
20
|
+
...e.snapshots,
|
|
21
|
+
[t]: n
|
|
22
|
+
} })),
|
|
23
|
+
getSnapshot: (e) => {
|
|
24
|
+
let { snapshots: n } = t();
|
|
25
|
+
return n[e] ?? null;
|
|
26
|
+
},
|
|
27
|
+
clearSnapshot: (t) => e((e) => {
|
|
28
|
+
let n = { ...e.snapshots };
|
|
29
|
+
return delete n[t], { snapshots: n };
|
|
30
|
+
})
|
|
31
|
+
}), {
|
|
32
|
+
name: "fde-desktop:appTempMemory",
|
|
33
|
+
storage: g(() => localStorage)
|
|
34
|
+
})), E = {
|
|
35
|
+
container: "_container_3xue5_1",
|
|
36
|
+
toolbar: "_toolbar_3xue5_11",
|
|
37
|
+
toolbarBtn: "_toolbarBtn_3xue5_22",
|
|
38
|
+
active: "_active_3xue5_57",
|
|
39
|
+
separator: "_separator_3xue5_63",
|
|
40
|
+
editorContent: "_editorContent_3xue5_71"
|
|
41
|
+
}, D = /* @__PURE__ */ e({ default: () => A }), ee = [...n], O = w.create({
|
|
42
|
+
name: "clearMarksOnEnter",
|
|
43
|
+
addKeyboardShortcuts() {
|
|
44
|
+
return { Enter: ({ editor: e }) => {
|
|
45
|
+
let { state: t, dispatch: n } = e.view, { selection: r, schema: i } = t, { $from: a, empty: o } = r;
|
|
46
|
+
return !o || a.parent.type !== i.nodes.paragraph ? !1 : (n(t.tr.split(a.pos).setStoredMarks([])), !0);
|
|
47
|
+
} };
|
|
48
|
+
}
|
|
49
|
+
}), k = "Desktop/NotesAppWelcome.md", A = ({ window: e, notifyReady: n }) => {
|
|
50
|
+
let { t: h } = v("notes"), g = e, _ = g?.id, w = _ ? `notesApp-${_}` : "notesApp", D = g?.contentData, [A, j] = f(D?.initialName ?? h("untitled")), [M, N] = f(!1), P = d("save"), [F, I] = f(D?.fileId ?? null), L = d(D?.initialContent ?? ""), [R, z] = f(!1), B = c((e) => e.states[_ ?? ""]?.contentLoaded ?? !1), V = c((e) => e.setContentLoaded);
|
|
51
|
+
u(() => {
|
|
52
|
+
_ && c.getState().reset(_);
|
|
53
|
+
}, [_]), u(() => {
|
|
54
|
+
_ && c.getState().setIsDirty(_, R);
|
|
55
|
+
}, [_, R]);
|
|
56
|
+
let H = r((e) => e.createFile), U = r((e) => e.updateFile), W = r((e) => e.fsNodes), G = b({
|
|
57
|
+
extensions: [
|
|
58
|
+
S,
|
|
59
|
+
C,
|
|
60
|
+
O
|
|
61
|
+
],
|
|
62
|
+
content: D?.initialContent ?? "",
|
|
63
|
+
contentType: "markdown",
|
|
64
|
+
shouldRerenderOnTransaction: !1,
|
|
65
|
+
onCreate: () => {
|
|
66
|
+
let e = G?.getMarkdown() ?? "";
|
|
67
|
+
L.current = e, w && T.getState().setSnapshot(w, e);
|
|
68
|
+
},
|
|
69
|
+
onUpdate: () => {
|
|
70
|
+
let e = G?.getMarkdown() ?? "", t = e !== (L.current ?? "");
|
|
71
|
+
z(t), !t && w && T.getState().setSnapshot(w, e);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
u(() => {
|
|
75
|
+
if (!F || !G || B) return;
|
|
76
|
+
let e = W.find((e) => e.id === F);
|
|
77
|
+
if (!e || e.type !== "file") return;
|
|
78
|
+
let t = e;
|
|
79
|
+
t.content && t.content !== (L.current ?? "") && (L.current = t.content, w && T.getState().setSnapshot(w, t.content), G.commands.setContent(t.content, {
|
|
80
|
+
emitUpdate: !1,
|
|
81
|
+
contentType: "markdown"
|
|
82
|
+
}), V(_, !0));
|
|
83
|
+
}, [
|
|
84
|
+
F,
|
|
85
|
+
G,
|
|
86
|
+
w,
|
|
87
|
+
W,
|
|
88
|
+
B,
|
|
89
|
+
_,
|
|
90
|
+
V
|
|
91
|
+
]), u(() => {
|
|
92
|
+
if (!G || !_ || B) return;
|
|
93
|
+
let e = !1, n = new AbortController();
|
|
94
|
+
return (async () => {
|
|
95
|
+
try {
|
|
96
|
+
if (D?.initialContent) {
|
|
97
|
+
e || (G.commands.setContent(D.initialContent, {
|
|
98
|
+
emitUpdate: !1,
|
|
99
|
+
contentType: "markdown"
|
|
100
|
+
}), V(_, !0));
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (D?.url) {
|
|
104
|
+
let r = await t(D.url, n.signal);
|
|
105
|
+
!e && r && (G.commands.setContent(r, {
|
|
106
|
+
emitUpdate: !1,
|
|
107
|
+
contentType: "markdown"
|
|
108
|
+
}), V(_, !0));
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (D?.fileId) return;
|
|
112
|
+
let r = await fetch(`/${k}`, { signal: n.signal });
|
|
113
|
+
if (!e && r.ok) {
|
|
114
|
+
let e = await r.text();
|
|
115
|
+
G.commands.setContent(e, {
|
|
116
|
+
emitUpdate: !1,
|
|
117
|
+
contentType: "markdown"
|
|
118
|
+
}), V(_, !0);
|
|
119
|
+
}
|
|
120
|
+
} catch (t) {
|
|
121
|
+
!e && t instanceof Error && t.name !== "AbortError" && console.warn("Failed to load content:", t);
|
|
122
|
+
}
|
|
123
|
+
})(), () => {
|
|
124
|
+
e = !0, n.abort();
|
|
125
|
+
};
|
|
126
|
+
}, [
|
|
127
|
+
G,
|
|
128
|
+
D,
|
|
129
|
+
_,
|
|
130
|
+
B,
|
|
131
|
+
V
|
|
132
|
+
]);
|
|
133
|
+
let K = l(() => G ? G.getMarkdown() : "", [G]), q = l(() => {
|
|
134
|
+
G?.commands.setContent("", {
|
|
135
|
+
emitUpdate: !1,
|
|
136
|
+
contentType: "markdown"
|
|
137
|
+
}), I(null), j("untitled.md"), L.current = "", z(!1), _ && V(_, !0);
|
|
138
|
+
}, [
|
|
139
|
+
G,
|
|
140
|
+
_,
|
|
141
|
+
V
|
|
142
|
+
]), J = l(() => {
|
|
143
|
+
G && (F ? (U(F, K()), L.current = K(), z(!1)) : (P.current = "save", N(!0)));
|
|
144
|
+
}, [
|
|
145
|
+
G,
|
|
146
|
+
K,
|
|
147
|
+
U,
|
|
148
|
+
F
|
|
149
|
+
]), Y = l(() => {
|
|
150
|
+
G && (P.current = "saveAs", N(!0));
|
|
151
|
+
}, [G]), X = l(async ({ parentId: e, name: t }) => {
|
|
152
|
+
if (!G) return;
|
|
153
|
+
let n = K();
|
|
154
|
+
if (P.current === "saveAs" || !F) {
|
|
155
|
+
let r = await H(t, n, e);
|
|
156
|
+
I(r.id), j(r.name);
|
|
157
|
+
} else await U(F, n);
|
|
158
|
+
L.current = n, z(!1), N(!1);
|
|
159
|
+
}, [
|
|
160
|
+
G,
|
|
161
|
+
K,
|
|
162
|
+
H,
|
|
163
|
+
U,
|
|
164
|
+
F
|
|
165
|
+
]), [te, Z] = f(!1), ne = l((e) => {
|
|
166
|
+
I(e.id), j(e.name), L.current = e.content ?? "", z(!1), Z(!1);
|
|
167
|
+
let n = e.url;
|
|
168
|
+
n ? t(n).then((e) => {
|
|
169
|
+
e && (G?.commands.setContent(e, {
|
|
170
|
+
emitUpdate: !1,
|
|
171
|
+
contentType: "markdown"
|
|
172
|
+
}), _ && V(_, !0));
|
|
173
|
+
}) : e.content && (G?.commands.setContent(e.content, {
|
|
174
|
+
emitUpdate: !1,
|
|
175
|
+
contentType: "markdown"
|
|
176
|
+
}), _ && V(_, !0));
|
|
177
|
+
}, [
|
|
178
|
+
G,
|
|
179
|
+
_,
|
|
180
|
+
V
|
|
181
|
+
]), Q = l(() => Z(!0), []);
|
|
182
|
+
u(() => {
|
|
183
|
+
let e = {
|
|
184
|
+
new: q,
|
|
185
|
+
save: J,
|
|
186
|
+
saveAs: Y
|
|
187
|
+
};
|
|
188
|
+
n?.({
|
|
189
|
+
...g?.contentData ?? {},
|
|
190
|
+
actions: e,
|
|
191
|
+
setPickerOpen: Q,
|
|
192
|
+
isDirty: R
|
|
193
|
+
});
|
|
194
|
+
}, [
|
|
195
|
+
q,
|
|
196
|
+
J,
|
|
197
|
+
Y,
|
|
198
|
+
g,
|
|
199
|
+
n,
|
|
200
|
+
Q,
|
|
201
|
+
R
|
|
202
|
+
]), i({
|
|
203
|
+
isDirtyGetter: l(() => (G?.getMarkdown() ?? "") !== (L.current ?? ""), [G]),
|
|
204
|
+
windowId: _,
|
|
205
|
+
onDiscard: () => {
|
|
206
|
+
if (!G) return;
|
|
207
|
+
let e = L.current ?? "";
|
|
208
|
+
G.commands.setContent(e, {
|
|
209
|
+
emitUpdate: !1,
|
|
210
|
+
contentType: "markdown"
|
|
211
|
+
}), z(!1);
|
|
212
|
+
},
|
|
213
|
+
onSave: J
|
|
214
|
+
});
|
|
215
|
+
let $ = x({
|
|
216
|
+
editor: G,
|
|
217
|
+
selector: (e) => ({
|
|
218
|
+
canUndo: e.editor?.can().undo() ?? !1,
|
|
219
|
+
canRedo: e.editor?.can().redo() ?? !1,
|
|
220
|
+
isBold: e.editor?.isActive("bold") ?? !1,
|
|
221
|
+
isItalic: e.editor?.isActive("italic") ?? !1,
|
|
222
|
+
isStrike: e.editor?.isActive("strike") ?? !1,
|
|
223
|
+
isCode: e.editor?.isActive("code") ?? !1,
|
|
224
|
+
isH1: e.editor?.isActive("heading", { level: 1 }) ?? !1,
|
|
225
|
+
isH2: e.editor?.isActive("heading", { level: 2 }) ?? !1,
|
|
226
|
+
isBulletList: e.editor?.isActive("bulletList") ?? !1,
|
|
227
|
+
isOrderedList: e.editor?.isActive("orderedList") ?? !1,
|
|
228
|
+
isBlockquote: e.editor?.isActive("blockquote") ?? !1,
|
|
229
|
+
isCodeBlock: e.editor?.isActive("codeBlock") ?? !1
|
|
230
|
+
})
|
|
231
|
+
});
|
|
232
|
+
return /* @__PURE__ */ m("div", {
|
|
233
|
+
className: E.container,
|
|
234
|
+
"data-windowid": g?.id,
|
|
235
|
+
children: [
|
|
236
|
+
/* @__PURE__ */ m("div", {
|
|
237
|
+
className: E.toolbar,
|
|
238
|
+
role: "toolbar",
|
|
239
|
+
"aria-label": h("toolbar.formatting"),
|
|
240
|
+
children: [
|
|
241
|
+
/* @__PURE__ */ p("button", {
|
|
242
|
+
className: `${E.toolbarBtn} ${$?.isBold ? E.active : ""}`,
|
|
243
|
+
onClick: () => G?.chain().focus().toggleBold().run(),
|
|
244
|
+
disabled: !G?.can().chain().focus().toggleBold().run(),
|
|
245
|
+
title: h("toolbar.bold"),
|
|
246
|
+
"aria-label": h("toolbar.bold"),
|
|
247
|
+
children: /* @__PURE__ */ p(a, { name: "VscBold" })
|
|
248
|
+
}),
|
|
249
|
+
/* @__PURE__ */ p("button", {
|
|
250
|
+
className: `${E.toolbarBtn} ${$?.isItalic ? E.active : ""}`,
|
|
251
|
+
onClick: () => G?.chain().focus().toggleItalic().run(),
|
|
252
|
+
disabled: !G?.can().chain().focus().toggleItalic().run(),
|
|
253
|
+
title: h("toolbar.italic"),
|
|
254
|
+
"aria-label": h("toolbar.italic"),
|
|
255
|
+
children: /* @__PURE__ */ p(a, { name: "VscItalic" })
|
|
256
|
+
}),
|
|
257
|
+
/* @__PURE__ */ p("button", {
|
|
258
|
+
className: `${E.toolbarBtn} ${$?.isStrike ? E.active : ""}`,
|
|
259
|
+
onClick: () => G?.chain().focus().toggleStrike().run(),
|
|
260
|
+
disabled: !G?.can().chain().focus().toggleStrike().run(),
|
|
261
|
+
title: h("toolbar.strikethrough"),
|
|
262
|
+
"aria-label": h("toolbar.strikethrough"),
|
|
263
|
+
children: /* @__PURE__ */ p("s", { children: "S" })
|
|
264
|
+
}),
|
|
265
|
+
/* @__PURE__ */ p("button", {
|
|
266
|
+
className: `${E.toolbarBtn} ${$?.isCode ? E.active : ""}`,
|
|
267
|
+
onClick: () => G?.chain().focus().toggleCode().run(),
|
|
268
|
+
disabled: !G?.can().chain().focus().toggleCode().run(),
|
|
269
|
+
title: h("toolbar.inlineCode"),
|
|
270
|
+
"aria-label": h("toolbar.inlineCode"),
|
|
271
|
+
children: /* @__PURE__ */ p(a, { name: "VscCode" })
|
|
272
|
+
}),
|
|
273
|
+
/* @__PURE__ */ p("span", { className: E.separator }),
|
|
274
|
+
/* @__PURE__ */ p("button", {
|
|
275
|
+
className: `${E.toolbarBtn} ${$?.isH1 ? E.active : ""}`,
|
|
276
|
+
onClick: () => G?.chain().focus().toggleHeading({ level: 1 }).run(),
|
|
277
|
+
title: h("toolbar.heading1"),
|
|
278
|
+
"aria-label": h("toolbar.heading1"),
|
|
279
|
+
children: /* @__PURE__ */ p("strong", { children: "H1" })
|
|
280
|
+
}),
|
|
281
|
+
/* @__PURE__ */ p("button", {
|
|
282
|
+
className: `${E.toolbarBtn} ${$?.isH2 ? E.active : ""}`,
|
|
283
|
+
onClick: () => G?.chain().focus().toggleHeading({ level: 2 }).run(),
|
|
284
|
+
title: h("toolbar.heading2"),
|
|
285
|
+
"aria-label": h("toolbar.heading2"),
|
|
286
|
+
children: /* @__PURE__ */ p("strong", { children: "H2" })
|
|
287
|
+
}),
|
|
288
|
+
/* @__PURE__ */ p("span", { className: E.separator }),
|
|
289
|
+
/* @__PURE__ */ p("button", {
|
|
290
|
+
className: `${E.toolbarBtn} ${$?.isBulletList ? E.active : ""}`,
|
|
291
|
+
onClick: () => G?.chain().focus().toggleBulletList().run(),
|
|
292
|
+
title: h("toolbar.bulletList"),
|
|
293
|
+
"aria-label": h("toolbar.bulletList"),
|
|
294
|
+
children: /* @__PURE__ */ p(a, { name: "VscListUnordered" })
|
|
295
|
+
}),
|
|
296
|
+
/* @__PURE__ */ p("button", {
|
|
297
|
+
className: `${E.toolbarBtn} ${$?.isOrderedList ? E.active : ""}`,
|
|
298
|
+
onClick: () => G?.chain().focus().toggleOrderedList().run(),
|
|
299
|
+
title: h("toolbar.orderedList"),
|
|
300
|
+
"aria-label": h("toolbar.orderedList"),
|
|
301
|
+
children: /* @__PURE__ */ p(a, { name: "VscListOrdered" })
|
|
302
|
+
}),
|
|
303
|
+
/* @__PURE__ */ p("span", { className: E.separator }),
|
|
304
|
+
/* @__PURE__ */ p("button", {
|
|
305
|
+
className: `${E.toolbarBtn} ${$?.isBlockquote ? E.active : ""}`,
|
|
306
|
+
onClick: () => G?.chain().focus().toggleBlockquote().run(),
|
|
307
|
+
title: h("toolbar.blockquote"),
|
|
308
|
+
"aria-label": h("toolbar.blockquote"),
|
|
309
|
+
children: /* @__PURE__ */ p(a, { name: "VscQuote" })
|
|
310
|
+
}),
|
|
311
|
+
/* @__PURE__ */ p("button", {
|
|
312
|
+
className: `${E.toolbarBtn} ${$?.isCodeBlock ? E.active : ""}`,
|
|
313
|
+
onClick: () => G?.chain().focus().toggleCodeBlock().run(),
|
|
314
|
+
title: h("toolbar.codeBlock"),
|
|
315
|
+
"aria-label": h("toolbar.codeBlock"),
|
|
316
|
+
children: /* @__PURE__ */ p(a, { name: "VscTerminal" })
|
|
317
|
+
}),
|
|
318
|
+
/* @__PURE__ */ p("button", {
|
|
319
|
+
className: E.toolbarBtn,
|
|
320
|
+
onClick: () => G?.chain().focus().setHorizontalRule().run(),
|
|
321
|
+
title: h("toolbar.horizontalRule"),
|
|
322
|
+
"aria-label": h("toolbar.horizontalRule"),
|
|
323
|
+
children: /* @__PURE__ */ p(a, { name: "VscHorizontalRule" })
|
|
324
|
+
}),
|
|
325
|
+
/* @__PURE__ */ p("span", { className: E.separator }),
|
|
326
|
+
/* @__PURE__ */ p("button", {
|
|
327
|
+
className: E.toolbarBtn,
|
|
328
|
+
onClick: () => G?.chain().focus().undo().run(),
|
|
329
|
+
disabled: !$?.canUndo,
|
|
330
|
+
title: h("common:actions.undo"),
|
|
331
|
+
"aria-label": h("common:actions.undo"),
|
|
332
|
+
children: /* @__PURE__ */ p(a, { name: "VscDiscard" })
|
|
333
|
+
}),
|
|
334
|
+
/* @__PURE__ */ p("button", {
|
|
335
|
+
className: E.toolbarBtn,
|
|
336
|
+
onClick: () => G?.chain().focus().redo().run(),
|
|
337
|
+
disabled: !$?.canRedo,
|
|
338
|
+
title: h("common:actions.redo"),
|
|
339
|
+
"aria-label": h("common:actions.redo"),
|
|
340
|
+
children: /* @__PURE__ */ p(a, { name: "VscRedo" })
|
|
341
|
+
})
|
|
342
|
+
]
|
|
343
|
+
}),
|
|
344
|
+
/* @__PURE__ */ p(y, {
|
|
345
|
+
editor: G,
|
|
346
|
+
className: E.editorContent
|
|
347
|
+
}),
|
|
348
|
+
/* @__PURE__ */ p(o, {
|
|
349
|
+
opened: te,
|
|
350
|
+
acceptedMimeTypes: ee,
|
|
351
|
+
onConfirm: ne,
|
|
352
|
+
onCancel: () => Z(!1)
|
|
353
|
+
}),
|
|
354
|
+
/* @__PURE__ */ p(s, {
|
|
355
|
+
opened: M,
|
|
356
|
+
initialName: A,
|
|
357
|
+
onConfirm: X,
|
|
358
|
+
onCancel: () => N(!1)
|
|
359
|
+
})
|
|
360
|
+
]
|
|
361
|
+
});
|
|
362
|
+
};
|
|
363
|
+
//#endregion
|
|
364
|
+
export { D as n, T as r, A as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./NotesApp-BmQIBtJ2.cjs`),t=require(`./AppMenuBar-CAlkNHjj.cjs`),n=require(`./notesStore-CrWTO6oB.cjs`),r=require(`./useMenuBarUtils-DAap0ukp.cjs`);let i=require(`react`),a=require(`react/jsx-runtime`),o=require(`react-i18next`);var s=e=>{let{windowId:t,contentData:a,onExit:s}=e,{t:c}=(0,o.useTranslation)(`common`),l=n.t(t),u=a?.actions,d=a?.setPickerOpen;return(0,i.useMemo)(()=>r.t([{type:`menu`,label:c(`menu.file`),items:[{type:`item`,label:c(`actions.new`),icon:`FcEditImage`,onClick:()=>u?.new?.()},{type:`item`,label:c(`actions.open`),icon:`FcOpenedFolder`,onClick:()=>d?.()},{type:`divider`},{type:`item`,label:c(`actions.save`),icon:`FcInspection`,onClick:()=>u?.save?.(),disabled:!l},{type:`item`,label:c(`actions.saveAs`),icon:`FcDeployment`,onClick:()=>u?.saveAs?.()},{type:`divider`},{type:`item`,label:c(`actions.exit`),icon:`FcLeft`,onClick:s}]}],l),[c,u,d,l,s])},c=e.i({NotesMenuBar:()=>l}),l=({windowId:e,contentData:n,onExit:r})=>(0,a.jsx)(t.t,{elements:s({windowId:e,contentData:n,onExit:r})});Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { t as e } from "./
|
|
2
|
-
import { t } from "./
|
|
3
|
-
import { t as n } from "./notesStore-
|
|
4
|
-
import { t as r } from "./useMenuBarUtils-
|
|
1
|
+
import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
|
|
2
|
+
import { t } from "./AppMenuBar-DmSfQRXU.js";
|
|
3
|
+
import { t as n } from "./notesStore-Dgah46U5.js";
|
|
4
|
+
import { t as r } from "./useMenuBarUtils-ChAfI7OA.js";
|
|
5
5
|
import { useMemo as i } from "react";
|
|
6
6
|
import { jsx as a } from "react/jsx-runtime";
|
|
7
|
+
import { useTranslation as o } from "react-i18next";
|
|
7
8
|
//#region src/components/Apps/NotesApp/useNotesMenuBar.ts
|
|
8
|
-
var
|
|
9
|
-
let { windowId:
|
|
9
|
+
var s = (e) => {
|
|
10
|
+
let { windowId: t, contentData: a, onExit: s } = e, { t: c } = o("common"), l = n(t), u = a?.actions, d = a?.setPickerOpen;
|
|
10
11
|
return i(() => r([{
|
|
11
12
|
type: "menu",
|
|
12
13
|
label: c("menu.file"),
|
|
@@ -52,10 +53,10 @@ var o = (e) => {
|
|
|
52
53
|
l,
|
|
53
54
|
s
|
|
54
55
|
]);
|
|
55
|
-
},
|
|
56
|
-
windowId:
|
|
56
|
+
}, c = /* @__PURE__ */ e({ NotesMenuBar: () => l }), l = ({ windowId: e, contentData: n, onExit: r }) => /* @__PURE__ */ a(t, { elements: s({
|
|
57
|
+
windowId: e,
|
|
57
58
|
contentData: n,
|
|
58
59
|
onExit: r
|
|
59
60
|
}) });
|
|
60
61
|
//#endregion
|
|
61
|
-
export {
|
|
62
|
+
export { c as n, l as t };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
|
|
2
|
+
import { t } from "./useResolvedUrl-B6x4xy0x.js";
|
|
3
|
+
import { n } from "./FilePickerApp-ClHuhm6Z.js";
|
|
4
|
+
import { t as r } from "./AppEmptyState-Boej96TB.js";
|
|
5
|
+
import { useCallback as i, useEffect as a, useState as o } from "react";
|
|
6
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
|
+
import { useTranslation as l } from "react-i18next";
|
|
8
|
+
var u = {
|
|
9
|
+
container: "_container_1hj4w_1",
|
|
10
|
+
frame: "_frame_1hj4w_7"
|
|
11
|
+
}, d = /* @__PURE__ */ e({ default: () => f }), f = ({ window: e, notifyReady: d }) => {
|
|
12
|
+
let { t: f } = l("apps"), p = e, m = p?.contentData?.src, [h, g] = o(m ?? void 0), [_, v] = o(!1), y = t(h);
|
|
13
|
+
a(() => {
|
|
14
|
+
d?.({
|
|
15
|
+
...p?.contentData ?? {},
|
|
16
|
+
setPickerOpen: () => v(!0)
|
|
17
|
+
});
|
|
18
|
+
}, [p, d]);
|
|
19
|
+
let b = i((e) => {
|
|
20
|
+
g(e.url ?? e.name), v(!1);
|
|
21
|
+
}, []);
|
|
22
|
+
return /* @__PURE__ */ c("div", {
|
|
23
|
+
className: u.container,
|
|
24
|
+
"data-windowid": p?.id,
|
|
25
|
+
children: [y || h ? /* @__PURE__ */ s("iframe", {
|
|
26
|
+
src: y ?? h,
|
|
27
|
+
className: u.frame,
|
|
28
|
+
title: f("pdf.viewer"),
|
|
29
|
+
"aria-label": f("pdf.viewer")
|
|
30
|
+
}) : /* @__PURE__ */ s(r, { label: f("pdf.noFile", { defaultValue: "No PDF loaded" }) }), /* @__PURE__ */ s(n, {
|
|
31
|
+
opened: _,
|
|
32
|
+
acceptedMimeTypes: ["application/pdf"],
|
|
33
|
+
onConfirm: b,
|
|
34
|
+
onCancel: () => v(!1)
|
|
35
|
+
})]
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
export { d as n, f as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./NotesApp-BmQIBtJ2.cjs`),t=require(`./useResolvedUrl-Bb39DpVy.cjs`),n=require(`./FilePickerApp-By6-vbag.cjs`),r=require(`./AppEmptyState-CLc00OOG.cjs`);let i=require(`react`),a=require(`react/jsx-runtime`),o=require(`react-i18next`);var s={container:`_container_1hj4w_1`,frame:`_frame_1hj4w_7`},c=e.i({default:()=>l}),l=({window:e,notifyReady:c})=>{let{t:l}=(0,o.useTranslation)(`apps`),u=e,d=u?.contentData?.src,[f,p]=(0,i.useState)(d??void 0),[m,h]=(0,i.useState)(!1),g=t.t(f);(0,i.useEffect)(()=>{c?.({...u?.contentData??{},setPickerOpen:()=>h(!0)})},[u,c]);let _=(0,i.useCallback)(e=>{p(e.url??e.name),h(!1)},[]);return(0,a.jsxs)(`div`,{className:s.container,"data-windowid":u?.id,children:[g||f?(0,a.jsx)(`iframe`,{src:g??f,className:s.frame,title:l(`pdf.viewer`),"aria-label":l(`pdf.viewer`)}):(0,a.jsx)(r.t,{label:l(`pdf.noFile`,{defaultValue:`No PDF loaded`})}),(0,a.jsx)(n.n,{opened:m,acceptedMimeTypes:[`application/pdf`],onConfirm:_,onCancel:()=>h(!1)})]})};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
|
|
2
|
+
import { t } from "./AppMenuBar-DmSfQRXU.js";
|
|
3
|
+
import { memo as n, useMemo as r } from "react";
|
|
4
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
5
|
+
import { useTranslation as a } from "react-i18next";
|
|
6
|
+
//#region src/components/Apps/PdfApp/usePdfMenuBar.ts
|
|
7
|
+
var o = (e) => {
|
|
8
|
+
let { contentData: t, onExit: n } = e, { t: i } = a("common"), o = t?.setPickerOpen;
|
|
9
|
+
return r(() => [{
|
|
10
|
+
type: "menu",
|
|
11
|
+
label: i("menu.file"),
|
|
12
|
+
items: [
|
|
13
|
+
{
|
|
14
|
+
type: "item",
|
|
15
|
+
label: i("actions.open"),
|
|
16
|
+
icon: "FcOpenedFolder",
|
|
17
|
+
onClick: () => o?.()
|
|
18
|
+
},
|
|
19
|
+
{ type: "divider" },
|
|
20
|
+
{
|
|
21
|
+
type: "item",
|
|
22
|
+
label: i("actions.exit"),
|
|
23
|
+
icon: "FcLeft",
|
|
24
|
+
onClick: n
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}], [
|
|
28
|
+
i,
|
|
29
|
+
o,
|
|
30
|
+
n
|
|
31
|
+
]);
|
|
32
|
+
}, s = /* @__PURE__ */ e({ PdfMenuBar: () => c }), c = n(({ windowId: e, contentData: n, onExit: r }) => /* @__PURE__ */ i(t, { elements: o({
|
|
33
|
+
windowId: e,
|
|
34
|
+
contentData: n,
|
|
35
|
+
onExit: r
|
|
36
|
+
}) }));
|
|
37
|
+
c.displayName = "PdfMenuBar";
|
|
38
|
+
//#endregion
|
|
39
|
+
export { s as n, c as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./NotesApp-BmQIBtJ2.cjs`),t=require(`./AppMenuBar-CAlkNHjj.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`),i=require(`react-i18next`);var a=e=>{let{contentData:t,onExit:r}=e,{t:a}=(0,i.useTranslation)(`common`),o=t?.setPickerOpen;return(0,n.useMemo)(()=>[{type:`menu`,label:a(`menu.file`),items:[{type:`item`,label:a(`actions.open`),icon:`FcOpenedFolder`,onClick:()=>o?.()},{type:`divider`},{type:`item`,label:a(`actions.exit`),icon:`FcLeft`,onClick:r}]}],[a,o,r])},o=e.i({PdfMenuBar:()=>s}),s=(0,n.memo)(({windowId:e,contentData:n,onExit:i})=>(0,r.jsx)(t.t,{elements:a({windowId:e,contentData:n,onExit:i})}));s.displayName=`PdfMenuBar`,Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./NotesApp-BmQIBtJ2.cjs`),t=require(`./desktopStore-C1jR6Fdb.cjs`),n=require(`./AppIcon-C8vHUVcb.cjs`),r=require(`./useCloseInterceptor-CdX-09Ib.cjs`),i=require(`./useResolvedUrl-Bb39DpVy.cjs`),a=require(`./FilePickerApp-By6-vbag.cjs`),o=require(`./Colors-CNJbU7oq.cjs`),s=require(`./DownloadProgress-CkTGTf0z.cjs`),c=require(`./ColorPicker-CQRRwY-y.cjs`),l=require(`./settingsAppStore-DuYZNeFf.cjs`);let u=require(`react`),d=require(`react/jsx-runtime`),f=require(`@mantine/core`),p=require(`@tanstack/react-query`),m=require(`zustand`),h=require(`zustand/middleware`),g=require(`react-i18next`);var _={mode:`light`,colors:{desktop:`#f0f4f8`,taskbar:`rgba(255, 255, 255, 0.9)`,window:`#ffffff`,accent:`#339af0`},window:{borderRadius:`8px`,headerHeight:40,minWidth:400,minHeight:300,defaultWidth:800,defaultHeight:600,shadow:`0 8px 32px rgba(0, 0, 0, 0.2)`},taskbar:{height:48,position:`bottom`,background:`rgba(0, 0, 0, 0.8)`,blur:!0},desktop:{background:`linear-gradient(135deg, #667eea 0%, #764ba2 100%)`,iconSize:64,iconSpacing:16}},v={mode:`dark`,colors:{desktop:`#1a1b1e`,taskbar:`rgba(26, 27, 30, 0.9)`,window:`#25262b`,accent:`#4dabf7`},window:{borderRadius:`8px`,headerHeight:40,minWidth:400,minHeight:300,defaultWidth:800,defaultHeight:600,shadow:`0 8px 32px rgba(0, 0, 0, 0.2)`},taskbar:{height:48,position:`bottom`,background:`rgba(0, 0, 0, 0.8)`,blur:!0},desktop:{background:`linear-gradient(135deg, #1a1b1e 0%, #2d1f3d 100%)`,iconSize:64,iconSpacing:16}},y=class{mode;customColors=null;constructor(e=`light`){this.mode=e}getTheme(){let e=this.mode===`light`?_:v;return this.customColors?{...e,colors:{...e.colors,taskbar:this.customColors.taskbar,window:this.customColors.window,accent:this.customColors.accent}}:e}setMode(e){this.mode=e}setCustomColors(e){this.customColors=e}toggle(){this.mode=this.mode===`light`?`dark`:`light`}},b=[`en`,`es`],x=`en`,S=()=>{try{let e=localStorage.getItem(`fde-desktop:settings`),t=localStorage.getItem(`fran-desktop:settings`);return JSON.parse(e??t??`{}`)?.state?.theme?.mode??null}catch{return null}},C=S(),w=()=>{if(typeof navigator>`u`||!navigator.language)return x;let e=navigator.language.split(`-`)[0];return b.includes(e)?e:x},T=(()=>{try{let e=localStorage.getItem(`fde-desktop:settings`),t=localStorage.getItem(`fran-desktop:settings`),n=JSON.parse(e??t??`{}`)?.state?.language;return n&&b.includes(n)?n:w()}catch{return w()}})(),E=typeof window<`u`&&window.matchMedia?.(`(prefers-color-scheme: dark)`).matches?`dark`:`light`,D=new y(C??E),O=(0,m.create)()((0,h.persist)(e=>({wallpaper:null,wallpaperModule:`default`,launcherIcon:`FcElectronics`,font:`system-ui`,downloadedFonts:[],fontSize:14,animationDuration:.3,theme:D.getTheme(),themeSetManually:C!==null,customThemeColors:null,language:T,setWallpaper:t=>e({wallpaper:t}),setWallpaperModule:t=>e({wallpaperModule:t}),setLauncherIcon:t=>e({launcherIcon:t}),setFont:t=>e({font:t}),markFontDownloaded:t=>e(e=>({downloadedFonts:e.downloadedFonts.includes(t)?e.downloadedFonts:[...e.downloadedFonts,t]})),setFontSize:t=>e({fontSize:t}),setAnimationDuration:t=>e({animationDuration:t}),setThemeMode:t=>{D.setMode(t),e({theme:D.getTheme(),themeSetManually:!0})},toggleTheme:()=>{D.toggle(),e({theme:D.getTheme(),themeSetManually:!0})},setThemeAutomatic:()=>e({themeSetManually:!1}),applySystemTheme:t=>{D.setMode(t),e({theme:D.getTheme()})},setCustomThemeColors:t=>{e({customThemeColors:t})},setLanguage:t=>e({language:t})}),{name:`fde-desktop:settings`,storage:(0,h.createJSONStorage)(()=>localStorage)})),k={container:`_container_a0fjd_1`,flag:`_flag_a0fjd_8`},A={en:(0,d.jsxs)(`svg`,{viewBox:`0 0 60 40`,className:k.flag,children:[(0,d.jsx)(`rect`,{fill:`#012169`,width:`60`,height:`40`}),(0,d.jsx)(`path`,{d:`M0,0 L60,40 M60,0 L0,40`,stroke:`#fff`,strokeWidth:`6`}),(0,d.jsx)(`path`,{d:`M0,0 L60,40 M60,0 L0,40`,stroke:`#C8102E`,strokeWidth:`4`}),(0,d.jsx)(`path`,{d:`M30,0 V40 M0,20 H60`,stroke:`#fff`,strokeWidth:`10`}),(0,d.jsx)(`path`,{d:`M30,0 V40 M0,20 H60`,stroke:`#C8102E`,strokeWidth:`6`})]}),es:(0,d.jsxs)(`svg`,{viewBox:`0 0 60 40`,className:k.flag,children:[(0,d.jsx)(`rect`,{fill:`#C60B1E`,width:`60`,height:`40`}),(0,d.jsx)(`rect`,{fill:`#FFC400`,y:`10`,width:`60`,height:`20`})]})},j=({lang:e,size:t=20})=>(0,d.jsx)(`div`,{style:{width:t*1.5,height:t},className:k.container,"aria-label":e===`en`?`English`:`Español`,"data-testid":`flag-${e}`,children:A[e]}),M=[{value:`system-ui`,label:`System Default`,stack:`system-ui, Avenir, Helvetica, Arial, sans-serif`},{value:`Courier New`,label:`Courier New`,stack:`"Courier New", monospace`},{value:`Source Code Pro`,label:`Source Code Pro`,stack:`"Source Code Pro", monospace`},{value:`Open Sans`,label:`Open Sans`,stack:`"Open Sans", monospace`}],N=Object.fromEntries(M.map(e=>[e.value,e.stack])),P={"Source Code Pro":`https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap`,"Open Sans":`https://fonts.googleapis.com/css2?family=Open+Sans&display=swap`},F=[{id:`wallpaper`,label:`Wallpaper`,fcIcon:`FcPicture`,description:`Change the desktop background image.`},{id:`appearance`,label:`Appearance`,fcIcon:`FcBinoculars`,description:`Switch between light and dark mode.`},{id:`launcher`,label:`Launcher`,fcIcon:`FcElectronics`,description:`Choose the launcher button icon.`},{id:`font`,label:`Font`,fcIcon:`FcEditImage`,description:`Select the system font family.`},{id:`language`,label:`Language`,fcIcon:`FcGlobe`,description:`Choose your preferred language.`},{id:`reset`,label:`Reset to Default`,fcIcon:`FcDisclaimer`,description:`Reset all settings and data to defaults.`}],I=({title:e,description:t,children:n})=>(0,d.jsxs)(f.Stack,{gap:`md`,p:`md`,children:[(0,d.jsx)(f.Text,{fw:600,size:`lg`,children:e}),t&&(0,d.jsx)(f.Text,{size:`sm`,c:`dimmed`,children:t}),n]}),L=`/Images/wallpaper.jpg`,R=()=>{let{t:e}=(0,g.useTranslation)(`settings`),t=O(e=>e.wallpaper),n=O(e=>e.wallpaperModule),r=O(e=>e.setWallpaper),o=O(e=>e.setWallpaperModule),[s,c]=(0,u.useState)(``),[l,p]=(0,u.useState)(!1),m=(0,u.useRef)(null),h=i.t(t??void 0)??L,_=(0,u.useCallback)(e=>{let t=e.target.files?.[0];if(!t)return;let n=new FileReader;n.onload=e=>{let t=e.target?.result;typeof t==`string`&&r(t)},n.readAsDataURL(t)},[r]),v=(0,u.useCallback)(()=>{let e=s.trim();e&&r(e)},[s,r]),y=(0,u.useCallback)(()=>{r(null),c(``)},[r]),b=(0,u.useCallback)(e=>{let t=e.url?e.url.startsWith(`idb://`)?e.url:`/${e.url}`:null;t&&r(t),p(!1)},[r]);return(0,d.jsxs)(I,{title:e(`wallpaper.title`),children:[(0,d.jsx)(`div`,{children:(0,d.jsx)(f.SegmentedControl,{value:n,onChange:o,data:[{value:`default`,label:e(`wallpaper.staticImage`)}],fullWidth:!0})}),(0,d.jsx)(`img`,{src:h,alt:e(`wallpaper.wallpaperPreview`),style:{width:`100%`,height:180,objectFit:`cover`,borderRadius:8}}),(0,d.jsxs)(f.Group,{children:[(0,d.jsx)(`input`,{ref:m,type:`file`,accept:`image/*`,style:{display:`none`},onChange:_,"aria-label":e(`wallpaper.uploadAria`,{defaultValue:`Upload wallpaper file`})}),(0,d.jsx)(f.Button,{variant:`light`,onClick:()=>p(!0),children:e(`wallpaper.chooseFromImages`)}),(0,d.jsx)(f.Button,{variant:`light`,onClick:()=>m.current?.click(),children:e(`wallpaper.uploadFromDisk`)}),(0,d.jsx)(f.Button,{variant:`subtle`,color:`red`,onClick:y,children:e(`wallpaper.resetToDefault`)})]}),(0,d.jsxs)(f.Group,{align:`flex-end`,children:[(0,d.jsx)(f.TextInput,{label:e(`wallpaper.orEnterUrl`),placeholder:`https://example.com/image.jpg`,value:s,onChange:e=>c(e.currentTarget.value),style:{flex:1}}),(0,d.jsx)(f.Button,{onClick:v,disabled:!s.trim(),children:e(`common:actions.apply`)})]}),(0,d.jsx)(a.n,{opened:l,acceptedMimeTypes:[`image/*`],onConfirm:b,onCancel:()=>p(!1)})]})},z=()=>{let{t:e}=(0,g.useTranslation)(`settings`),t=O(e=>e.theme.mode),n=O(e=>e.themeSetManually),r=O(e=>e.customThemeColors),i=O(e=>e.animationDuration),a=O(e=>e.setThemeMode),o=O(e=>e.setThemeAutomatic),s=O(e=>e.setCustomThemeColors),l=O(e=>e.setAnimationDuration),p=r?`custom`:n?t:`system`,m=(0,u.useCallback)(e=>{e===`system`?(o(),s(null)):e===`custom`?s({taskbar:`#339af0`,window:`#ffffff`,accent:`#339af0`}):(a(e),s(null))},[a,o,s]),h=(0,u.useCallback)(e=>t=>{r&&s({...r,[e]:t})},[r,s]),_=(0,u.useCallback)(e=>{l(e)},[l]),v=p===`custom`;return(0,d.jsxs)(f.Stack,{gap:`md`,p:`md`,children:[(0,d.jsx)(f.Text,{fw:600,size:`lg`,children:e(`appearance.title`)}),(0,d.jsx)(f.Text,{size:`sm`,c:`dimmed`,children:e(`appearance.description`)}),(0,d.jsx)(f.SegmentedControl,{value:p,onChange:m,data:[{label:e(`common:theme.light`),value:`light`},{label:e(`common:theme.dark`),value:`dark`},{label:e(`common:theme.system`),value:`system`},{label:e(`common:theme.custom`),value:`custom`}],"aria-label":e(`appearance.themeMode`,{defaultValue:`Theme mode`})}),(0,d.jsxs)(f.Stack,{gap:`sm`,mt:`md`,children:[(0,d.jsxs)(f.Box,{children:[(0,d.jsx)(f.Text,{size:`sm`,fw:500,mb:`xs`,c:v?`dark`:void 0,children:e(`appearance.taskbar`)}),(0,d.jsx)(c.t,{value:r?.taskbar??`#339af0`,onChange:h(`taskbar`),disabled:!v})]}),(0,d.jsxs)(f.Box,{children:[(0,d.jsx)(f.Text,{size:`sm`,fw:500,mb:`xs`,c:v?`dark`:void 0,children:e(`appearance.window`)}),(0,d.jsx)(c.t,{value:r?.window??`#ffffff`,onChange:h(`window`),disabled:!v})]}),(0,d.jsxs)(f.Box,{children:[(0,d.jsx)(f.Text,{size:`sm`,fw:500,mb:`xs`,c:v?`dark`:void 0,children:e(`appearance.accent`)}),(0,d.jsx)(c.t,{value:r?.accent??`#339af0`,onChange:h(`accent`),disabled:!v})]})]}),(0,d.jsxs)(f.Box,{mt:`md`,children:[(0,d.jsx)(f.Text,{size:`sm`,fw:500,mb:`xs`,children:e(`appearance.animationDuration`)}),(0,d.jsx)(f.Text,{size:`xs`,c:`dimmed`,mb:`sm`,children:e(`appearance.animationDescription`)}),(0,d.jsxs)(f.Group,{align:`center`,gap:`md`,children:[(0,d.jsx)(f.Slider,{value:i,onChange:_,min:.1,max:1,step:.1,style:{flex:1},marks:[{value:.1,label:`0.1s`},{value:.5,label:`0.5s`},{value:1,label:`1.0s`}],"aria-label":e(`appearance.animationDuration`)}),(0,d.jsxs)(f.Text,{size:`sm`,fw:500,style:{minWidth:40},children:[i.toFixed(1),`s`]})]})]})]})},B=()=>{let e=O(e=>e.launcherIcon),t=O(e=>e.setLauncherIcon),[r,i]=(0,u.useState)([]),[a,o]=(0,u.useState)(``),s=(0,u.useDeferredValue)(a);(0,u.useEffect)(()=>{import(`react-icons/fc`).then(e=>{i(Object.keys(e).filter(e=>e.startsWith(`Fc`)).sort())})},[]);let c=s?r.filter(e=>e.toLowerCase().includes(s.toLowerCase())):r,l=(0,u.useCallback)(e=>{t(e)},[t]);return(0,d.jsxs)(I,{title:`Launcher Icon`,description:`Selected: ${e}`,children:[(0,d.jsx)(f.TextInput,{placeholder:`Search icons...`,value:a,onChange:e=>o(e.currentTarget.value),"aria-label":`Search icons`}),(0,d.jsx)(f.ScrollArea,{style:{flex:1,height:300},children:(0,d.jsx)(f.SimpleGrid,{cols:8,spacing:4,children:c.map(t=>(0,d.jsx)(f.Tooltip,{label:t,withArrow:!0,openDelay:400,children:(0,d.jsx)(f.UnstyledButton,{onClick:()=>l(t),"aria-label":t,"aria-pressed":t===e,style:{padding:6,borderRadius:6,background:t===e?`var(--mantine-primary-color-light)`:`transparent`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,d.jsx)(n.t,{fcIcon:t,size:24})})},t))})})]})},V=e=>{let t=P[e];if(!t||document.head.querySelector(`link[data-font="${e}"]`))return;let n=document.createElement(`link`);n.rel=`stylesheet`,n.href=t,n.setAttribute(`data-font`,e),document.head.appendChild(n)},H=async e=>{let t=P[e];if(!t)throw Error(`Font "${e}" not found in Google Fonts`);let n=await fetch(t);if(!n.ok)throw Error(`Failed to download font: HTTP ${n.status}`);return await n.text(),V(e),{font:e,success:!0}},U=e=>{let t=(0,p.useQueryClient)(),n=O(e=>e.markFontDownloaded),r=O(e=>e.downloadedFonts),i=e?r.includes(e):!1,a=e&&!i&&P[e],o=(0,p.useQuery)({queryKey:[`font`,e??``],queryFn:async({queryKey:e})=>{let[,t]=e;if(!t||!P[t])throw Error(`Font "${t}" not available`);let r=await H(t);return r.success&&n(t),r},enabled:!!a,staleTime:1/0,gcTime:1/0,retry:!1}),s=o.isFetching?{status:`downloading`,loaded:0,total:null,percent:null,error:null}:o.isError?{status:`error`,loaded:0,total:null,percent:null,error:o.error?.message??`Unknown error`}:o.isSuccess?{status:`done`,loaded:0,total:0,percent:100,error:null}:{status:`idle`,loaded:0,total:null,percent:null,error:null},c=()=>{e&&t.removeQueries({queryKey:[`font`,e]})};return{...o,progress:s,isDownloaded:i,reset:c}},W=o.t[1],G=({status:e,error:t,onDownload:n})=>{let{t:r}=(0,g.useTranslation)(`settings`);return t?(0,d.jsx)(f.Badge,{color:W,variant:`filled`,size:`sm`,"aria-label":`Download error: ${t}`,children:r(`common:status.error`)}):(0,d.jsx)(f.Button,{size:`xs`,variant:`light`,onClick:n,loading:e===`downloading`,"aria-label":r(`font.download`),children:r(`font.download`)})},K=()=>{let{t:e}=(0,g.useTranslation)(`settings`),t=O(e=>e.font),n=O(e=>e.setFont),r=O(e=>e.fontSize),i=O(e=>e.setFontSize),a=O(e=>e.downloadedFonts),o=O(e=>e.markFontDownloaded),[c,l]=(0,u.useState)(null),p=U(c);(0,u.useEffect)(()=>{p.isSuccess&&p.data?.success&&c&&(a.includes(c)||o(c))},[p.isSuccess,p.data,c,a,o]);let m=(0,u.useCallback)(e=>{l(e)},[]),h=e=>a.includes(e)?`done`:c===e?p.progress.status:`idle`,_=e=>c===e?p.progress.error:null,v=(0,u.useCallback)(e=>{let t=e.trim();t&&(P[t]=`https://fonts.googleapis.com/css2?family=${t.replace(/\s+/g,`+`)}&display=swap`,l(t))},[]),y=M.map(e=>e.value),b=a.filter(e=>!y.includes(e));return(0,d.jsxs)(f.Stack,{gap:`md`,p:`md`,children:[(0,d.jsx)(f.Text,{fw:600,size:`lg`,children:e(`font.title`)}),(0,d.jsx)(f.Text,{size:`sm`,c:`dimmed`,children:e(`font.description`)}),(0,d.jsx)(f.Radio.Group,{value:t,onChange:n,"aria-label":e(`font.selectionAria`,{defaultValue:`Font selection`}),children:(0,d.jsxs)(f.Stack,{gap:`xs`,children:[M.map(e=>{let t=!!P[e.value],n=a.includes(e.value),r=h(e.value),i=_(e.value),o=!t||n||r===`done`;return(0,d.jsx)(f.Paper,{p:`sm`,withBorder:!0,radius:`md`,children:(0,d.jsxs)(f.Stack,{gap:`xs`,children:[(0,d.jsxs)(f.Group,{justify:`space-between`,children:[(0,d.jsx)(f.Radio,{value:e.value,label:e.label,"aria-label":e.label,disabled:!o}),(0,d.jsxs)(f.Group,{gap:`xs`,align:`center`,children:[o&&(0,d.jsx)(f.Text,{size:`sm`,c:`dimmed`,style:{fontFamily:e.stack},children:`AaBbCcDd`}),t&&(0,d.jsx)(G,{fontLabel:e.label,status:r,error:i,onDownload:()=>m(e.value),isDownloaded:n})]})]}),t&&r===`downloading`&&(0,d.jsx)(s.t,{state:p.progress})]})},e.value)}),b.map(e=>(0,d.jsx)(f.Paper,{p:`sm`,withBorder:!0,radius:`md`,children:(0,d.jsxs)(f.Group,{justify:`space-between`,children:[(0,d.jsx)(f.Radio,{value:e,label:e,"aria-label":e}),(0,d.jsx)(f.Text,{size:`sm`,c:`dimmed`,style:{fontFamily:`"${e}"`},children:`AaBbCcDd`})]})},e))]})}),(0,d.jsx)(f.Paper,{p:`sm`,withBorder:!0,radius:`md`,children:(0,d.jsxs)(f.Stack,{gap:`xs`,children:[(0,d.jsxs)(f.Group,{justify:`space-between`,children:[(0,d.jsx)(f.Text,{size:`sm`,fw:500,children:e(`font.fontSize`)}),(0,d.jsxs)(f.Text,{size:`sm`,c:`dimmed`,children:[r,`px`]})]}),(0,d.jsx)(f.Slider,{value:r,onChange:i,min:10,max:24,step:1,marks:[{value:10},{value:14},{value:18},{value:20},{value:24}],"aria-label":e(`font.fontSizeAria`,{defaultValue:`Font size`})})]})}),(0,d.jsx)(ee,{onDownload:v,activeDownload:c,fontDownload:p})]})},ee=({onDownload:e,activeDownload:t,fontDownload:n})=>{let{t:r}=(0,g.useTranslation)(`settings`),[i,a]=(0,u.useState)(``),o=t===i.trim(),c=o?n.progress.status:`idle`,l=o&&n.progress.status===`error`,p=(0,u.useCallback)(e=>{a(e),l&&n.reset?.()},[l,n]),m=(0,u.useCallback)(()=>{e(i)},[i,e]),h=o&&c===`done`;return(0,d.jsx)(f.Paper,{p:`sm`,withBorder:!0,radius:`md`,children:(0,d.jsxs)(f.Stack,{gap:`xs`,children:[(0,d.jsxs)(f.Text,{size:`sm`,fw:500,children:[r(`font.downloadByName`),` `,(0,d.jsx)(`a`,{href:`https://fonts.google.com/`,target:`_blank`,rel:`noreferrer`,children:r(`font.fromGoogleFonts`)})]}),(0,d.jsxs)(f.Group,{gap:`xs`,align:`flex-start`,children:[(0,d.jsx)(f.TextInput,{placeholder:r(`font.namePlaceholder`,{defaultValue:`e.g. Open Sans`}),value:i,onChange:e=>p(e.currentTarget.value),style:{flex:1},"aria-label":r(`font.customNameAria`,{defaultValue:`Custom font name`}),error:l?r(`font.downloadError`):void 0}),(0,d.jsx)(f.Button,{onClick:m,disabled:!i.trim()||c===`downloading`,loading:c===`downloading`,"aria-label":r(`font.downloadCustomAria`,{defaultValue:`Download custom font`}),style:{marginTop:l?0:void 0},children:r(`font.download`)})]}),c===`downloading`&&(0,d.jsx)(s.t,{state:n.progress}),h&&(0,d.jsx)(f.Text,{size:`xs`,c:`dimmed`,children:r(`font.downloadSuccess`)})]})})},q=[`en`,`es`],te=`en`,J={en:`English`,es:`Español`},ne=()=>{let{t:e}=(0,g.useTranslation)(`settings`),t=O(e=>e.language),n=O(e=>e.setLanguage),r=(0,u.useCallback)(e=>{n(e)},[n]);return(0,d.jsx)(I,{title:e(`language.title`),description:e(`language.description`),children:(0,d.jsx)(f.Stack,{gap:`xs`,children:q.map(e=>(0,d.jsx)(f.UnstyledButton,{onClick:()=>r(e),"aria-label":J[e],"aria-pressed":e===t,style:{padding:`12px 16px`,borderRadius:8,width:`100%`,background:e===t?`var(--mantine-primary-color-light)`:`transparent`,border:e===t?`1px solid var(--mantine-primary-color-filled)`:`1px solid transparent`,transition:`all 0.15s ease`,cursor:`pointer`},children:(0,d.jsxs)(f.Group,{gap:`sm`,children:[(0,d.jsx)(j,{lang:e,size:24}),(0,d.jsx)(f.Text,{fw:e===t?600:400,children:J[e]})]})},e))})})};async function Y(e){let t=typeof globalThis<`u`?globalThis:typeof window<`u`?window:void 0;if(t){if(!e?.keepServiceWorker&&`serviceWorker`in t.navigator){let e=await t.navigator.serviceWorker.getRegistrations();for(let t of e)await t.unregister()}if(`caches`in t){let e=await t.caches.keys();for(let n of e)await t.caches.delete(n)}if(!e?.keepIndexedDB&&`indexedDB`in t){let e=await t.indexedDB.databases();for(let n of e)n.name&&t.indexedDB.deleteDatabase(n.name)}!e?.keepLocalStorage&&`localStorage`in t&&t.localStorage.clear(),!e?.keepSessionStorage&&`sessionStorage`in t&&t.sessionStorage.clear()}}async function X(){t.G()&&(await fetch(`/api/fs/reset`,{method:`POST`}),await fetch(`/api/fs/seed`,{method:`POST`}))}var re=()=>{let{t:e}=(0,g.useTranslation)(`settings`),[t,n]=(0,u.useState)(!1),r=(0,u.useCallback)(()=>{n(!0)},[]),i=(0,u.useCallback)(()=>{n(!1)},[]),a=(0,u.useCallback)(async()=>{await X(),await Y(),window.location.reload()},[]),o=(0,u.useCallback)(async()=>{await X(),await Y({keepIndexedDB:!0}),window.location.reload()},[]);return(0,d.jsxs)(I,{title:e(`reset.title`),description:e(`reset.description`),children:[(0,d.jsx)(f.Button,{color:`red`,onClick:r,style:{alignSelf:`flex-start`},children:e(`reset.resetButton`)}),t&&(0,d.jsx)(f.Box,{style:{position:`fixed`,top:0,left:0,right:0,bottom:0,background:`rgba(0,0,0,0.5)`,display:`flex`,alignItems:`center`,justifyContent:`center`,zIndex:1e3},role:`dialog`,"aria-label":`Confirm reset`,children:(0,d.jsx)(f.Box,{style:{background:`var(--mantine-color-default)`,borderRadius:8,padding:24,maxWidth:400,width:`100%`},children:(0,d.jsxs)(f.Stack,{gap:`md`,children:[(0,d.jsx)(f.Text,{fw:600,size:`lg`,ta:`center`,children:e(`reset.modalTitle`)}),(0,d.jsx)(f.Text,{size:`sm`,c:`dimmed`,ta:`center`,children:e(`reset.modalDescription`)}),(0,d.jsxs)(f.Group,{justify:`center`,gap:`xs`,mt:`md`,children:[(0,d.jsx)(f.Button,{variant:`default`,onClick:i,children:e(`reset.goBack`)}),(0,d.jsx)(f.Button,{color:`blue`,onClick:o,children:e(`reset.keepFiles`)}),(0,d.jsx)(f.Button,{color:`red`,onClick:a,children:e(`reset.burnEverything`)})]})]})})})]})},Z={root:`_root_77epl_1`,sidebar:`_sidebar_77epl_8`,navItem:`_navItem_77epl_16`,content:`_content_77epl_41`,overviewPadding:`_overviewPadding_77epl_47`,sectionCard:`_sectionCard_77epl_51`,toolbar:`_toolbar_77epl_60`,dirtyIndicator:`_dirtyIndicator_77epl_70`,versionFooter:`_versionFooter_77epl_77`},Q={name:`Francisco Núñez Palomares`,title:`Fullstack Developer & DevOps`,email:`frannunpal@gmail.com`,phone:`+34 600 275 210`,location:`Spain`,linkedin:`https://www.linkedin.com/in/francisco-núñez-palomares-74a484171/`,github:`https://github.com/frannunpal`,cvUrls:{en:`Desktop/CV_2026_English.pdf`,es:`Desktop/CV 2026.pdf`}},ie=e.i({default:()=>$}),ae=`0.4.0`,oe=()=>ae,se={wallpaper:R,appearance:z,launcher:B,font:K,language:ne,reset:re},$=({window:e,notifyReady:i})=>{let{t:a}=(0,g.useTranslation)(`settings`),[o,s]=(0,u.useState)(null),[c,p]=(0,u.useState)(!1),m=t.o(e=>e.windows),h=e?.id??m.find(e=>e.content===`settings`)?.id,_=O(e=>e.wallpaper),v=O(e=>e.wallpaperModule),y=O(e=>e.theme),b=O(e=>e.font),x=O(e=>e.fontSize),S=O(e=>e.launcherIcon),C=O(e=>e.customThemeColors),w=O(e=>e.animationDuration),T=O(e=>e.setWallpaper),E=O(e=>e.setWallpaperModule),D=O(e=>e.setFont),k=O(e=>e.setFontSize),A=O(e=>e.setLauncherIcon),j=O(e=>e.setThemeMode),M=O(e=>e.setCustomThemeColors),N=O(e=>e.setThemeAutomatic),P=O(e=>e.setAnimationDuration),I=(0,u.useRef)(null);(0,u.useEffect)(()=>{I.current===null&&(I.current={wallpaper:_,wallpaperModule:v,themeMode:y.mode,font:b,fontSize:x,launcherIcon:S,customThemeColors:C,animationDuration:w})},[_,v,y.mode,b,x,S,C,w]),(0,u.useEffect)(()=>{if(!I.current)return;let e={wallpaper:_,wallpaperModule:v,themeMode:y.mode,font:b,fontSize:x,launcherIcon:S,customThemeColors:C,animationDuration:w};p(JSON.stringify(e)!==JSON.stringify(I.current))},[_,v,y.mode,b,x,S,C,w]);let L=(0,u.useCallback)(()=>{let e=I.current;e&&(T(e.wallpaper),E(e.wallpaperModule),D(e.font),k(e.fontSize),A(e.launcherIcon),P(e.animationDuration),e.customThemeColors?M(e.customThemeColors):(M(null),N()),j(e.themeMode),p(!1))},[T,E,D,k,A,P,j,M,N]);(0,u.useEffect)(()=>{h&&l.n.getState().reset(h)},[h]),(0,u.useEffect)(()=>{h&&l.n.getState().setIsDirty(h,c)},[h,c]),(0,u.useEffect)(()=>{i?.({...e?.contentData??{},discard:L})},[e,i,L]),r.i({isDirtyGetter:(0,u.useCallback)(()=>{if(!I.current)return!1;let e={wallpaper:O.getState().wallpaper,wallpaperModule:O.getState().wallpaperModule,themeMode:O.getState().theme.mode,font:O.getState().font,fontSize:O.getState().fontSize,launcherIcon:O.getState().launcherIcon,customThemeColors:O.getState().customThemeColors,animationDuration:O.getState().animationDuration};return JSON.stringify(e)!==JSON.stringify(I.current)},[]),windowId:h,onDiscard:L,onSave:()=>{}});let R=(0,u.useCallback)(e=>{s(e)},[]),z=(0,u.useCallback)(()=>{s(null)},[]),B=(0,u.useCallback)(()=>{globalThis.location.href=`mailto:${Q.email}`},[]),V=o?se[o]:null;return(0,d.jsxs)(`div`,{className:Z.root,children:[(0,d.jsx)(`aside`,{className:Z.sidebar,children:(0,d.jsxs)(`nav`,{"aria-label":`Settings sections`,children:[(0,d.jsxs)(`button`,{className:Z.navItem,"data-active":o===null||void 0,onClick:z,"aria-label":`All Settings`,"aria-current":o===null?`page`:void 0,children:[(0,d.jsx)(n.t,{fcIcon:`FcList`,size:16}),(0,d.jsx)(f.Text,{size:`xs`,ml:6,truncate:!0,children:a(`all`)})]}),F.map(e=>(0,d.jsxs)(`button`,{className:Z.navItem,"data-active":o===e.id||void 0,onClick:()=>R(e.id),"aria-label":e.label,"aria-current":o===e.id?`page`:void 0,children:[(0,d.jsx)(n.t,{fcIcon:e.fcIcon,size:16}),(0,d.jsx)(f.Text,{size:`xs`,ml:6,truncate:!0,children:a(`sections.${e.id}.label`)})]},e.id))]})}),(0,d.jsx)(`main`,{className:Z.content,children:V?(0,d.jsx)(V,{}):(0,d.jsxs)(f.Stack,{className:Z.overviewPadding,h:`100%`,justify:`space-between`,gap:0,children:[(0,d.jsxs)(`div`,{children:[(0,d.jsx)(f.Text,{fw:500,mb:`md`,size:`sm`,c:`dimmed`,children:a(`all`)}),(0,d.jsx)(f.SimpleGrid,{cols:2,spacing:`sm`,children:F.map(e=>(0,d.jsx)(f.Card,{withBorder:!0,padding:`md`,radius:`md`,className:Z.sectionCard,onClick:()=>R(e.id),role:`button`,"aria-label":`Open ${e.label} settings`,children:(0,d.jsxs)(f.Stack,{gap:6,align:`flex-start`,children:[(0,d.jsx)(n.t,{fcIcon:e.fcIcon,size:28}),(0,d.jsx)(f.Text,{size:`sm`,fw:500,children:a(`sections.${e.id}.label`)}),(0,d.jsx)(f.Text,{size:`xs`,c:`dimmed`,children:a(`sections.${e.id}.description`)})]})},e.id))})]}),(0,d.jsx)(f.Button,{gradient:{from:`blue`,to:`cyan`,deg:90},onClick:B,children:`FDE: Fran Desktop Environment`}),(0,d.jsx)(f.Text,{size:`xs`,c:`dimmed`,ta:`center`,className:Z.versionFooter,children:oe()})]})})]})};Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return F}});
|