@plutonhq/core-frontend 0.1.15 → 0.1.18
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-lib/components/App/Footer/Footer.d.ts +2 -1
- package/dist-lib/components/App/Footer/Footer.d.ts.map +1 -1
- package/dist-lib/components/App/Footer/Footer.js +29 -18
- package/dist-lib/components/App/Footer/Footer.js.map +1 -1
- package/dist-lib/components/Storage/AddStorage/AddStorage.d.ts.map +1 -1
- package/dist-lib/components/Storage/AddStorage/AddStorage.js +17 -17
- package/dist-lib/components/Storage/AddStorage/AddStorage.js.map +1 -1
- package/dist-lib/components/Storage/StorageAuthSettings/StorageAuthSettings.d.ts.map +1 -1
- package/dist-lib/components/Storage/StorageAuthSettings/StorageAuthSettings.js +37 -33
- package/dist-lib/components/Storage/StorageAuthSettings/StorageAuthSettings.js.map +1 -1
- package/dist-lib/node_modules/.pnpm/@tanstack_query-core@5.96.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js +68 -0
- package/dist-lib/node_modules/.pnpm/@tanstack_query-core@5.96.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js.map +1 -0
- package/dist-lib/node_modules/.pnpm/@tanstack_query-core@5.96.0/node_modules/@tanstack/query-core/build/modern/timeoutManager.js +7 -0
- package/dist-lib/node_modules/.pnpm/@tanstack_query-core@5.96.0/node_modules/@tanstack/query-core/build/modern/timeoutManager.js.map +1 -0
- package/dist-lib/node_modules/.pnpm/@tanstack_query-core@5.96.0/node_modules/@tanstack/query-core/build/modern/utils.js +55 -0
- package/dist-lib/node_modules/.pnpm/@tanstack_query-core@5.96.0/node_modules/@tanstack/query-core/build/modern/utils.js.map +1 -0
- package/dist-lib/node_modules/.pnpm/@tanstack_query-persist-client-core@5.96.0/node_modules/@tanstack/query-persist-client-core/build/modern/createPersister.js +190 -0
- package/dist-lib/node_modules/.pnpm/@tanstack_query-persist-client-core@5.96.0/node_modules/@tanstack/query-persist-client-core/build/modern/createPersister.js.map +1 -0
- package/dist-lib/router.d.ts.map +1 -1
- package/dist-lib/router.js +42 -39
- package/dist-lib/router.js.map +1 -1
- package/dist-lib/services/settings.d.ts +2 -0
- package/dist-lib/services/settings.d.ts.map +1 -1
- package/dist-lib/services/settings.js +100 -69
- package/dist-lib/services/settings.js.map +1 -1
- package/dist-lib/services/users.d.ts +1 -1
- package/dist-lib/services/users.d.ts.map +1 -1
- package/dist-lib/services/users.js.map +1 -1
- package/dist-lib/services.js +61 -59
- package/dist-lib/utils/helpers.d.ts +1 -0
- package/dist-lib/utils/helpers.d.ts.map +1 -1
- package/dist-lib/utils/helpers.js +74 -70
- package/dist-lib/utils/helpers.js.map +1 -1
- package/dist-lib/utils/index.d.ts +0 -1
- package/dist-lib/utils/index.d.ts.map +1 -1
- package/dist-lib/utils.js +30 -31
- package/dist-lib/utils.js.map +1 -1
- package/package.json +5 -4
- package/src/components/App/Footer/Footer.tsx +17 -2
- package/src/components/Storage/AddStorage/AddStorage.tsx +1 -0
- package/src/components/Storage/StorageAuthSettings/StorageAuthSettings.tsx +3 -0
- package/src/router.tsx +6 -1
- package/src/services/settings.ts +36 -0
- package/src/services/users.ts +1 -1
- package/src/utils/helpers.ts +26 -0
- package/src/utils/index.ts +0 -1
- package/dist-lib/utils/storageProviders.d.ts +0 -416
- package/dist-lib/utils/storageProviders.d.ts.map +0 -1
- package/dist-lib/utils/storageProviders.js +0 -412
- package/dist-lib/utils/storageProviders.js.map +0 -1
- package/src/utils/storageProviders.ts +0 -409
- /package/dist-lib/providers/{1fichier.png → fichier.png} +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
function h(e, t) {
|
|
2
|
+
const {
|
|
3
|
+
type: r = "all",
|
|
4
|
+
exact: n,
|
|
5
|
+
fetchStatus: f,
|
|
6
|
+
predicate: s,
|
|
7
|
+
queryKey: i,
|
|
8
|
+
stale: c
|
|
9
|
+
} = e;
|
|
10
|
+
if (i) {
|
|
11
|
+
if (n) {
|
|
12
|
+
if (t.queryHash !== y(i, t.options))
|
|
13
|
+
return !1;
|
|
14
|
+
} else if (!a(t.queryKey, i))
|
|
15
|
+
return !1;
|
|
16
|
+
}
|
|
17
|
+
if (r !== "all") {
|
|
18
|
+
const o = t.isActive();
|
|
19
|
+
if (r === "active" && !o || r === "inactive" && o)
|
|
20
|
+
return !1;
|
|
21
|
+
}
|
|
22
|
+
return !(typeof c == "boolean" && t.isStale() !== c || f && f !== t.state.fetchStatus || s && !s(t));
|
|
23
|
+
}
|
|
24
|
+
function y(e, t) {
|
|
25
|
+
return ((t == null ? void 0 : t.queryKeyHashFn) || l)(e);
|
|
26
|
+
}
|
|
27
|
+
function l(e) {
|
|
28
|
+
return JSON.stringify(
|
|
29
|
+
e,
|
|
30
|
+
(t, r) => p(r) ? Object.keys(r).sort().reduce((n, f) => (n[f] = r[f], n), {}) : r
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
function a(e, t) {
|
|
34
|
+
return e === t ? !0 : typeof e != typeof t ? !1 : e && t && typeof e == "object" && typeof t == "object" ? Object.keys(t).every((r) => a(e[r], t[r])) : !1;
|
|
35
|
+
}
|
|
36
|
+
function p(e) {
|
|
37
|
+
if (!u(e))
|
|
38
|
+
return !1;
|
|
39
|
+
const t = e.constructor;
|
|
40
|
+
if (t === void 0)
|
|
41
|
+
return !0;
|
|
42
|
+
const r = t.prototype;
|
|
43
|
+
return !(!u(r) || !r.hasOwnProperty("isPrototypeOf") || Object.getPrototypeOf(e) !== Object.prototype);
|
|
44
|
+
}
|
|
45
|
+
function u(e) {
|
|
46
|
+
return Object.prototype.toString.call(e) === "[object Object]";
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
l as hashKey,
|
|
50
|
+
y as hashQueryKeyByOptions,
|
|
51
|
+
p as isPlainObject,
|
|
52
|
+
h as matchQuery,
|
|
53
|
+
a as partialMatchKey
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../../../../../node_modules/.pnpm/@tanstack+query-core@5.96.0/node_modules/@tanstack/query-core/build/modern/utils.js"],"sourcesContent":["// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveEnabled(enabled, query) {\n return typeof enabled === \"function\" ? enabled(query) : enabled;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b, depth = 0) {\n if (a === b) {\n return a;\n }\n if (depth > 500) return b;\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = /* @__PURE__ */ Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nfunction addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n}\nexport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map"],"names":["matchQuery","filters","query","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","options","hashKey","_","val","isPlainObject","result","key","a","b","o","hasObjectPrototype","ctor","prot"],"mappings":"AAoBA,SAASA,EAAWC,GAASC,GAAO;AAClC,QAAM;AAAA,IACJ,MAAAC,IAAO;AAAA,IACP,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,EACJ,IAAMP;AACJ,MAAIM;AACF,QAAIH;AACF,UAAIF,EAAM,cAAcO,EAAsBF,GAAUL,EAAM,OAAO;AACnE,eAAO;AAAA,eAEA,CAACQ,EAAgBR,EAAM,UAAUK,CAAQ;AAClD,aAAO;AAAA;AAGX,MAAIJ,MAAS,OAAO;AAClB,UAAMQ,IAAWT,EAAM,SAAQ;AAI/B,QAHIC,MAAS,YAAY,CAACQ,KAGtBR,MAAS,cAAcQ;AACzB,aAAO;AAAA,EAEX;AAOA,SANI,SAAOH,KAAU,aAAaN,EAAM,QAAO,MAAOM,KAGlDH,KAAeA,MAAgBH,EAAM,MAAM,eAG3CI,KAAa,CAACA,EAAUJ,CAAK;AAInC;AAuBA,SAASO,EAAsBF,GAAUK,GAAS;AAEhD,WADeA,KAAA,gBAAAA,EAAS,mBAAkBC,GAC5BN,CAAQ;AACxB;AACA,SAASM,EAAQN,GAAU;AACzB,SAAO,KAAK;AAAA,IACVA;AAAA,IACA,CAACO,GAAGC,MAAQC,EAAcD,CAAG,IAAI,OAAO,KAAKA,CAAG,EAAE,KAAI,EAAG,OAAO,CAACE,GAAQC,OACvED,EAAOC,CAAG,IAAIH,EAAIG,CAAG,GACdD,IACN,CAAA,CAAE,IAAIF;AAAA,EACb;AACA;AACA,SAASL,EAAgBS,GAAGC,GAAG;AAC7B,SAAID,MAAMC,IACD,KAEL,OAAOD,KAAM,OAAOC,IACf,KAELD,KAAKC,KAAK,OAAOD,KAAM,YAAY,OAAOC,KAAM,WAC3C,OAAO,KAAKA,CAAC,EAAE,MAAM,CAACF,MAAQR,EAAgBS,EAAED,CAAG,GAAGE,EAAEF,CAAG,CAAC,CAAC,IAE/D;AACT;AAgDA,SAASF,EAAcK,GAAG;AACxB,MAAI,CAACC,EAAmBD,CAAC;AACvB,WAAO;AAET,QAAME,IAAOF,EAAE;AACf,MAAIE,MAAS;AACX,WAAO;AAET,QAAMC,IAAOD,EAAK;AAOlB,SANI,GAACD,EAAmBE,CAAI,KAGxB,CAACA,EAAK,eAAe,eAAe,KAGpC,OAAO,eAAeH,CAAC,MAAM,OAAO;AAI1C;AACA,SAASC,EAAmBD,GAAG;AAC7B,SAAO,OAAO,UAAU,SAAS,KAAKA,CAAC,MAAM;AAC/C;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { notifyManager as h } from "../../../../../../@tanstack_query-core@5.96.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js";
|
|
2
|
+
import { hashKey as E, partialMatchKey as K, matchQuery as D } from "../../../../../../@tanstack_query-core@5.96.0/node_modules/@tanstack/query-core/build/modern/utils.js";
|
|
3
|
+
var O = "tanstack-query";
|
|
4
|
+
function U({
|
|
5
|
+
storage: e,
|
|
6
|
+
buster: m = "",
|
|
7
|
+
maxAge: I = 1e3 * 60 * 60 * 24,
|
|
8
|
+
serialize: N = JSON.stringify,
|
|
9
|
+
deserialize: f = JSON.parse,
|
|
10
|
+
prefix: u = O,
|
|
11
|
+
refetchOnRestore: v = !0,
|
|
12
|
+
filters: p
|
|
13
|
+
}) {
|
|
14
|
+
function y(i) {
|
|
15
|
+
if (i.state.dataUpdatedAt) {
|
|
16
|
+
const t = Date.now() - i.state.dataUpdatedAt > I, n = i.buster !== m;
|
|
17
|
+
return !!(t || n);
|
|
18
|
+
}
|
|
19
|
+
return !0;
|
|
20
|
+
}
|
|
21
|
+
async function w(i, r) {
|
|
22
|
+
if (e != null) {
|
|
23
|
+
const t = `${u}-${i}`;
|
|
24
|
+
try {
|
|
25
|
+
const n = await e.getItem(t);
|
|
26
|
+
if (n) {
|
|
27
|
+
let a;
|
|
28
|
+
try {
|
|
29
|
+
a = await f(n);
|
|
30
|
+
} catch {
|
|
31
|
+
await e.removeItem(t);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (y(a))
|
|
35
|
+
await e.removeItem(t);
|
|
36
|
+
else
|
|
37
|
+
return r && h.schedule(
|
|
38
|
+
() => r(a)
|
|
39
|
+
), a.state.data;
|
|
40
|
+
}
|
|
41
|
+
} catch (n) {
|
|
42
|
+
process.env.NODE_ENV === "development" && (console.error(n), console.warn(
|
|
43
|
+
"Encountered an error attempting to restore query cache from persisted location."
|
|
44
|
+
)), await e.removeItem(t);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async function P(i, r) {
|
|
49
|
+
if (e != null) {
|
|
50
|
+
const t = r.getQueryCache().find({ queryKey: i });
|
|
51
|
+
t ? await l(t) : process.env.NODE_ENV === "development" && console.warn(
|
|
52
|
+
"Could not find query to be persisted. QueryKey:",
|
|
53
|
+
JSON.stringify(i)
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async function l(i) {
|
|
58
|
+
if (e != null) {
|
|
59
|
+
const r = `${u}-${i.queryHash}`;
|
|
60
|
+
e.setItem(
|
|
61
|
+
r,
|
|
62
|
+
await N({
|
|
63
|
+
state: i.state,
|
|
64
|
+
queryKey: i.queryKey,
|
|
65
|
+
queryHash: i.queryHash,
|
|
66
|
+
buster: m
|
|
67
|
+
})
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async function Q(i, r, t) {
|
|
72
|
+
const n = p ? D(p, t) : !0;
|
|
73
|
+
if (n && t.state.data === void 0 && e != null) {
|
|
74
|
+
const o = await w(
|
|
75
|
+
t.queryHash,
|
|
76
|
+
(s) => {
|
|
77
|
+
t.setState({
|
|
78
|
+
dataUpdatedAt: s.state.dataUpdatedAt,
|
|
79
|
+
errorUpdatedAt: s.state.errorUpdatedAt
|
|
80
|
+
}), (v === "always" || v === !0 && t.isStale()) && t.fetch();
|
|
81
|
+
}
|
|
82
|
+
);
|
|
83
|
+
if (o !== void 0)
|
|
84
|
+
return Promise.resolve(o);
|
|
85
|
+
}
|
|
86
|
+
const a = await i(r);
|
|
87
|
+
return n && e != null && h.schedule(() => {
|
|
88
|
+
l(t);
|
|
89
|
+
}), Promise.resolve(a);
|
|
90
|
+
}
|
|
91
|
+
async function q() {
|
|
92
|
+
if (e != null && e.entries) {
|
|
93
|
+
const i = `${u}-`, r = await e.entries();
|
|
94
|
+
for (const [t, n] of r)
|
|
95
|
+
if (t.startsWith(i)) {
|
|
96
|
+
let a;
|
|
97
|
+
try {
|
|
98
|
+
a = await f(n);
|
|
99
|
+
} catch {
|
|
100
|
+
await e.removeItem(t);
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
y(a) && await e.removeItem(t);
|
|
104
|
+
}
|
|
105
|
+
} else if (process.env.NODE_ENV === "development")
|
|
106
|
+
throw new Error(
|
|
107
|
+
"Provided storage does not implement `entries` method. Garbage collection is not possible without ability to iterate over storage items."
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
async function A(i, r = {}) {
|
|
111
|
+
const { exact: t, queryKey: n } = r;
|
|
112
|
+
if (e != null && e.entries) {
|
|
113
|
+
const a = `${u}-`, o = await e.entries();
|
|
114
|
+
for (const [s, d] of o)
|
|
115
|
+
if (s.startsWith(a)) {
|
|
116
|
+
let c;
|
|
117
|
+
try {
|
|
118
|
+
c = await f(d);
|
|
119
|
+
} catch {
|
|
120
|
+
await e.removeItem(s);
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
if (y(c)) {
|
|
124
|
+
await e.removeItem(s);
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
if (n) {
|
|
128
|
+
if (t) {
|
|
129
|
+
if (c.queryHash !== E(n))
|
|
130
|
+
continue;
|
|
131
|
+
} else if (!K(c.queryKey, n))
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
i.setQueryData(
|
|
135
|
+
c.queryKey,
|
|
136
|
+
c.state.data,
|
|
137
|
+
{
|
|
138
|
+
updatedAt: c.state.dataUpdatedAt
|
|
139
|
+
}
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
} else if (process.env.NODE_ENV === "development")
|
|
143
|
+
throw new Error(
|
|
144
|
+
"Provided storage does not implement `entries` method. Restoration of all stored entries is not possible without ability to iterate over storage items."
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
async function b(i = {}) {
|
|
148
|
+
const { exact: r, queryKey: t } = i;
|
|
149
|
+
if (e != null && e.entries) {
|
|
150
|
+
const n = await e.entries(), a = `${u}-`;
|
|
151
|
+
for (const [o, s] of n)
|
|
152
|
+
if (o.startsWith(a)) {
|
|
153
|
+
if (!t) {
|
|
154
|
+
await e.removeItem(o);
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
let d;
|
|
158
|
+
try {
|
|
159
|
+
d = await f(s);
|
|
160
|
+
} catch {
|
|
161
|
+
await e.removeItem(o);
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
if (r) {
|
|
165
|
+
if (d.queryHash !== E(t))
|
|
166
|
+
continue;
|
|
167
|
+
} else if (!K(d.queryKey, t))
|
|
168
|
+
continue;
|
|
169
|
+
await e.removeItem(o);
|
|
170
|
+
}
|
|
171
|
+
} else if (process.env.NODE_ENV === "development")
|
|
172
|
+
throw new Error(
|
|
173
|
+
"Provided storage does not implement `entries` method. Removal of stored entries is not possible without ability to iterate over storage items."
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
return {
|
|
177
|
+
persisterFn: Q,
|
|
178
|
+
persistQuery: l,
|
|
179
|
+
persistQueryByKey: P,
|
|
180
|
+
retrieveQuery: w,
|
|
181
|
+
persisterGc: q,
|
|
182
|
+
restoreQueries: A,
|
|
183
|
+
removeQueries: b
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
export {
|
|
187
|
+
O as PERSISTER_KEY_PREFIX,
|
|
188
|
+
U as experimental_createQueryPersister
|
|
189
|
+
};
|
|
190
|
+
//# sourceMappingURL=createPersister.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPersister.js","sources":["../../../../../../../../../../node_modules/.pnpm/@tanstack+query-persist-client-core@5.96.0/node_modules/@tanstack/query-persist-client-core/build/modern/createPersister.js"],"sourcesContent":["// src/createPersister.ts\nimport {\n hashKey,\n matchQuery,\n notifyManager,\n partialMatchKey\n} from \"@tanstack/query-core\";\nvar PERSISTER_KEY_PREFIX = \"tanstack-query\";\nfunction experimental_createQueryPersister({\n storage,\n buster = \"\",\n maxAge = 1e3 * 60 * 60 * 24,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n prefix = PERSISTER_KEY_PREFIX,\n refetchOnRestore = true,\n filters\n}) {\n function isExpiredOrBusted(persistedQuery) {\n if (persistedQuery.state.dataUpdatedAt) {\n const queryAge = Date.now() - persistedQuery.state.dataUpdatedAt;\n const expired = queryAge > maxAge;\n const busted = persistedQuery.buster !== buster;\n if (expired || busted) {\n return true;\n }\n return false;\n }\n return true;\n }\n async function retrieveQuery(queryHash, afterRestoreMacroTask) {\n if (storage != null) {\n const storageKey = `${prefix}-${queryHash}`;\n try {\n const storedData = await storage.getItem(storageKey);\n if (storedData) {\n let persistedQuery;\n try {\n persistedQuery = await deserialize(storedData);\n } catch {\n await storage.removeItem(storageKey);\n return;\n }\n if (isExpiredOrBusted(persistedQuery)) {\n await storage.removeItem(storageKey);\n } else {\n if (afterRestoreMacroTask) {\n notifyManager.schedule(\n () => afterRestoreMacroTask(persistedQuery)\n );\n }\n return persistedQuery.state.data;\n }\n }\n } catch (err) {\n if (process.env.NODE_ENV === \"development\") {\n console.error(err);\n console.warn(\n \"Encountered an error attempting to restore query cache from persisted location.\"\n );\n }\n await storage.removeItem(storageKey);\n }\n }\n return;\n }\n async function persistQueryByKey(queryKey, queryClient) {\n if (storage != null) {\n const query = queryClient.getQueryCache().find({ queryKey });\n if (query) {\n await persistQuery(query);\n } else {\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\n \"Could not find query to be persisted. QueryKey:\",\n JSON.stringify(queryKey)\n );\n }\n }\n }\n }\n async function persistQuery(query) {\n if (storage != null) {\n const storageKey = `${prefix}-${query.queryHash}`;\n storage.setItem(\n storageKey,\n await serialize({\n state: query.state,\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n buster\n })\n );\n }\n }\n async function persisterFn(queryFn, ctx, query) {\n const matchesFilter = filters ? matchQuery(filters, query) : true;\n if (matchesFilter && query.state.data === void 0 && storage != null) {\n const restoredData = await retrieveQuery(\n query.queryHash,\n (persistedQuery) => {\n query.setState({\n dataUpdatedAt: persistedQuery.state.dataUpdatedAt,\n errorUpdatedAt: persistedQuery.state.errorUpdatedAt\n });\n if (refetchOnRestore === \"always\" || refetchOnRestore === true && query.isStale()) {\n query.fetch();\n }\n }\n );\n if (restoredData !== void 0) {\n return Promise.resolve(restoredData);\n }\n }\n const queryFnResult = await queryFn(ctx);\n if (matchesFilter && storage != null) {\n notifyManager.schedule(() => {\n persistQuery(query);\n });\n }\n return Promise.resolve(queryFnResult);\n }\n async function persisterGc() {\n if (storage?.entries) {\n const storageKeyPrefix = `${prefix}-`;\n const entries = await storage.entries();\n for (const [key, value] of entries) {\n if (key.startsWith(storageKeyPrefix)) {\n let persistedQuery;\n try {\n persistedQuery = await deserialize(value);\n } catch {\n await storage.removeItem(key);\n continue;\n }\n if (isExpiredOrBusted(persistedQuery)) {\n await storage.removeItem(key);\n }\n }\n }\n } else if (process.env.NODE_ENV === \"development\") {\n throw new Error(\n \"Provided storage does not implement `entries` method. Garbage collection is not possible without ability to iterate over storage items.\"\n );\n }\n }\n async function restoreQueries(queryClient, filters2 = {}) {\n const { exact, queryKey } = filters2;\n if (storage?.entries) {\n const storageKeyPrefix = `${prefix}-`;\n const entries = await storage.entries();\n for (const [key, value] of entries) {\n if (key.startsWith(storageKeyPrefix)) {\n let persistedQuery;\n try {\n persistedQuery = await deserialize(value);\n } catch {\n await storage.removeItem(key);\n continue;\n }\n if (isExpiredOrBusted(persistedQuery)) {\n await storage.removeItem(key);\n continue;\n }\n if (queryKey) {\n if (exact) {\n if (persistedQuery.queryHash !== hashKey(queryKey)) {\n continue;\n }\n } else if (!partialMatchKey(persistedQuery.queryKey, queryKey)) {\n continue;\n }\n }\n queryClient.setQueryData(\n persistedQuery.queryKey,\n persistedQuery.state.data,\n {\n updatedAt: persistedQuery.state.dataUpdatedAt\n }\n );\n }\n }\n } else if (process.env.NODE_ENV === \"development\") {\n throw new Error(\n \"Provided storage does not implement `entries` method. Restoration of all stored entries is not possible without ability to iterate over storage items.\"\n );\n }\n }\n async function removeQueries(filters2 = {}) {\n const { exact, queryKey } = filters2;\n if (storage?.entries) {\n const entries = await storage.entries();\n const storageKeyPrefix = `${prefix}-`;\n for (const [key, value] of entries) {\n if (key.startsWith(storageKeyPrefix)) {\n if (!queryKey) {\n await storage.removeItem(key);\n continue;\n }\n let persistedQuery;\n try {\n persistedQuery = await deserialize(value);\n } catch {\n await storage.removeItem(key);\n continue;\n }\n if (exact) {\n if (persistedQuery.queryHash !== hashKey(queryKey)) {\n continue;\n }\n } else if (!partialMatchKey(persistedQuery.queryKey, queryKey)) {\n continue;\n }\n await storage.removeItem(key);\n }\n }\n } else if (process.env.NODE_ENV === \"development\") {\n throw new Error(\n \"Provided storage does not implement `entries` method. Removal of stored entries is not possible without ability to iterate over storage items.\"\n );\n }\n }\n return {\n persisterFn,\n persistQuery,\n persistQueryByKey,\n retrieveQuery,\n persisterGc,\n restoreQueries,\n removeQueries\n };\n}\nexport {\n PERSISTER_KEY_PREFIX,\n experimental_createQueryPersister\n};\n//# sourceMappingURL=createPersister.js.map"],"names":["PERSISTER_KEY_PREFIX","experimental_createQueryPersister","storage","buster","maxAge","serialize","deserialize","prefix","refetchOnRestore","filters","isExpiredOrBusted","persistedQuery","expired","busted","retrieveQuery","queryHash","afterRestoreMacroTask","storageKey","storedData","notifyManager","err","persistQueryByKey","queryKey","queryClient","query","persistQuery","persisterFn","queryFn","ctx","matchesFilter","matchQuery","restoredData","queryFnResult","persisterGc","storageKeyPrefix","entries","key","value","restoreQueries","filters2","exact","hashKey","partialMatchKey","removeQueries"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist-lib/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.tsx"],"names":[],"mappings":"AAuEA,wBAAgB,SAAS,4CAuBxB"}
|
package/dist-lib/router.js
CHANGED
|
@@ -1,54 +1,57 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { Routes as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { useAuth as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
import { jsxs as s, jsx as e, Fragment as u } from "react/jsx-runtime";
|
|
2
|
+
import { Routes as v, Route as t, Navigate as p } from "react-router";
|
|
3
|
+
import S from "./routes/Plans/Plans.js";
|
|
4
|
+
import V from "./routes/Login/Login.js";
|
|
5
|
+
import w from "./routes/Setup/Setup.js";
|
|
6
|
+
import { useAuth as c } from "./services/users.js";
|
|
7
|
+
import L from "./components/App/App/App.js";
|
|
8
|
+
import y from "./routes/Settings/Settings.js";
|
|
9
|
+
import P from "./routes/Storages/Storages.js";
|
|
10
|
+
import N from "./routes/Sources/Sources.js";
|
|
11
|
+
import R from "./routes/PlanSingle/PlanSingle.js";
|
|
12
|
+
import x from "./routes/DeviceSingle/DeviceSingle.js";
|
|
13
|
+
import A from "./components/App/Footer/Footer.js";
|
|
14
|
+
import F from "./routes/NotFoundRoute/NotFoundRoute.js";
|
|
15
|
+
import d from "./components/common/Icon/Icon.js";
|
|
16
|
+
import { useCheckLatestVersion as b } from "./services/settings.js";
|
|
17
|
+
import { compareVersions as j } from "./utils/helpers.js";
|
|
18
|
+
function k({ children: r }) {
|
|
19
|
+
const { data: n, isLoading: i } = c();
|
|
20
|
+
return i ? /* @__PURE__ */ e("div", { className: "loadingScreen", children: /* @__PURE__ */ e(d, { size: 60, type: "loading" }) }) : n ? /* @__PURE__ */ e(p, { to: "/", replace: !0 }) : /* @__PURE__ */ e(u, { children: r });
|
|
19
21
|
}
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/* @__PURE__ */ e(
|
|
22
|
+
function z() {
|
|
23
|
+
var m, a;
|
|
24
|
+
const { data: r, isError: n, isLoading: i } = c(), { data: o } = b(), l = window.plutonVersion || "unknown", f = ((m = o == null ? void 0 : o.result) == null ? void 0 : m.latestVersion) && l !== "dev" && j(l, o.result.latestVersion);
|
|
25
|
+
if (i)
|
|
26
|
+
return /* @__PURE__ */ e("div", { className: "loadingScreen", children: /* @__PURE__ */ e(d, { size: 60, type: "loading" }) });
|
|
27
|
+
const g = window.plutonInstallType, h = window.plutonSetupPending;
|
|
28
|
+
return g === "binary" && h ? /* @__PURE__ */ e(p, { to: "/setup", replace: !0 }) : n ? /* @__PURE__ */ e(p, { to: "/login", replace: !0 }) : (console.log("User data :", r), /* @__PURE__ */ s(u, { children: [
|
|
29
|
+
/* @__PURE__ */ e(L, {}),
|
|
30
|
+
/* @__PURE__ */ e(A, { version: (r == null ? void 0 : r.appVersion) || "", latestVersion: f ? (a = o == null ? void 0 : o.result) == null ? void 0 : a.latestVersion : void 0 })
|
|
28
31
|
] }));
|
|
29
32
|
}
|
|
30
|
-
function
|
|
31
|
-
return /* @__PURE__ */
|
|
32
|
-
/* @__PURE__ */
|
|
33
|
-
/* @__PURE__ */ e(t, { index: !0, element: /* @__PURE__ */ e(
|
|
34
|
-
/* @__PURE__ */ e(t, { path: "settings", element: /* @__PURE__ */ e(
|
|
35
|
-
/* @__PURE__ */ e(t, { path: "storages", element: /* @__PURE__ */ e(
|
|
36
|
-
/* @__PURE__ */ e(t, { path: "sources", element: /* @__PURE__ */ e(
|
|
37
|
-
/* @__PURE__ */ e(t, { path: "device/:id", element: /* @__PURE__ */ e(
|
|
38
|
-
/* @__PURE__ */ e(t, { path: "plan/:id", element: /* @__PURE__ */ e(
|
|
39
|
-
/* @__PURE__ */ e(t, { path: "*", element: /* @__PURE__ */ e(
|
|
33
|
+
function Y() {
|
|
34
|
+
return /* @__PURE__ */ s(v, { children: [
|
|
35
|
+
/* @__PURE__ */ s(t, { path: "/", element: /* @__PURE__ */ e(z, {}), children: [
|
|
36
|
+
/* @__PURE__ */ e(t, { index: !0, element: /* @__PURE__ */ e(S, {}) }),
|
|
37
|
+
/* @__PURE__ */ e(t, { path: "settings", element: /* @__PURE__ */ e(y, {}) }),
|
|
38
|
+
/* @__PURE__ */ e(t, { path: "storages", element: /* @__PURE__ */ e(P, {}) }),
|
|
39
|
+
/* @__PURE__ */ e(t, { path: "sources", element: /* @__PURE__ */ e(N, {}) }),
|
|
40
|
+
/* @__PURE__ */ e(t, { path: "device/:id", element: /* @__PURE__ */ e(x, {}) }),
|
|
41
|
+
/* @__PURE__ */ e(t, { path: "plan/:id", element: /* @__PURE__ */ e(R, {}) }),
|
|
42
|
+
/* @__PURE__ */ e(t, { path: "*", element: /* @__PURE__ */ e(F, {}) })
|
|
40
43
|
] }),
|
|
41
44
|
/* @__PURE__ */ e(
|
|
42
45
|
t,
|
|
43
46
|
{
|
|
44
47
|
path: "login",
|
|
45
|
-
element: /* @__PURE__ */ e(
|
|
48
|
+
element: /* @__PURE__ */ e(k, { children: /* @__PURE__ */ e(V, {}) })
|
|
46
49
|
}
|
|
47
50
|
),
|
|
48
|
-
/* @__PURE__ */ e(t, { path: "setup", element: /* @__PURE__ */ e(
|
|
51
|
+
/* @__PURE__ */ e(t, { path: "setup", element: /* @__PURE__ */ e(w, {}) })
|
|
49
52
|
] });
|
|
50
53
|
}
|
|
51
54
|
export {
|
|
52
|
-
|
|
55
|
+
Y as AppRoutes
|
|
53
56
|
};
|
|
54
57
|
//# sourceMappingURL=router.js.map
|
package/dist-lib/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sources":["../src/router.tsx"],"sourcesContent":["import { Routes, Route, Navigate } from 'react-router';\r\nimport Plans from './routes/Plans/Plans';\r\nimport Login from './routes/Login/Login';\r\nimport Setup from './routes/Setup/Setup';\r\nimport { useAuth } from './services/users';\r\nimport App from './components/App/App/App';\r\nimport Settings from './routes/Settings/Settings';\r\nimport Storages from './routes/Storages/Storages';\r\nimport Sources from './routes/Sources/Sources';\r\nimport PlanSingle from './routes/PlanSingle/PlanSingle';\r\nimport DeviceSingle from './routes/DeviceSingle/DeviceSingle';\r\nimport Footer from './components/App/Footer/Footer';\r\nimport NotFoundRoute from './routes/NotFoundRoute/NotFoundRoute';\r\nimport Icon from './components/common/Icon/Icon';\r\n\r\nfunction PublicRoute({ children }: { children: React.ReactNode }) {\r\n const { data: authData, isLoading: authLoading } = useAuth();\r\n\r\n if (authLoading) {\r\n return (\r\n <div className=\"loadingScreen\">\r\n <Icon size={60} type=\"loading\" />\r\n </div>\r\n );\r\n }\r\n\r\n if (authData) {\r\n return <Navigate to=\"/\" replace />;\r\n }\r\n\r\n return <>{children}</>;\r\n}\r\n\r\nfunction ProtectedLayout() {\r\n const { data: authData, isError: authError, isLoading: authLoading } = useAuth();\r\n\r\n if (authLoading) {\r\n return (\r\n <div className=\"loadingScreen\">\r\n <Icon size={60} type=\"loading\" />\r\n </div>\r\n );\r\n }\r\n\r\n // Check setup-pending from auth response headers (set by versionMiddleware on all responses)\r\n const installType = (window as any).plutonInstallType;\r\n const setupPending = (window as any).plutonSetupPending;\r\n if (installType === 'binary' && setupPending) {\r\n return <Navigate to=\"/setup\" replace />;\r\n }\r\n\r\n // If auth failed, redirect to login\r\n if (authError) {\r\n return <Navigate to=\"/login\" replace />;\r\n }\r\n\r\n console.log('User data :', authData);\r\n\r\n return (\r\n <>\r\n <App />\r\n <Footer version={authData?.appVersion || ''} />\r\n </>\r\n );\r\n}\r\n\r\nexport function AppRoutes() {\r\n return (\r\n <Routes>\r\n <Route path=\"/\" element={<ProtectedLayout />}>\r\n <Route index element={<Plans />} />\r\n <Route path=\"settings\" element={<Settings />} />\r\n <Route path=\"storages\" element={<Storages />} />\r\n <Route path=\"sources\" element={<Sources />} />\r\n <Route path={'device/:id'} element={<DeviceSingle />} />\r\n <Route path={'plan/:id'} element={<PlanSingle />} />\r\n <Route path=\"*\" element={<NotFoundRoute />} />\r\n </Route>\r\n <Route\r\n path=\"login\"\r\n element={\r\n <PublicRoute>\r\n <Login />\r\n </PublicRoute>\r\n }\r\n />\r\n <Route path=\"setup\" element={<Setup />} />\r\n </Routes>\r\n );\r\n}\r\n"],"names":["PublicRoute","children","authData","authLoading","useAuth","jsx","Icon","Navigate","ProtectedLayout","authError","installType","setupPending","jsxs","Fragment","App","Footer","AppRoutes","Routes","Route","Plans","Settings","Storages","Sources","DeviceSingle","PlanSingle","NotFoundRoute","Login","Setup"],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.js","sources":["../src/router.tsx"],"sourcesContent":["import { Routes, Route, Navigate } from 'react-router';\r\nimport Plans from './routes/Plans/Plans';\r\nimport Login from './routes/Login/Login';\r\nimport Setup from './routes/Setup/Setup';\r\nimport { useAuth } from './services/users';\r\nimport App from './components/App/App/App';\r\nimport Settings from './routes/Settings/Settings';\r\nimport Storages from './routes/Storages/Storages';\r\nimport Sources from './routes/Sources/Sources';\r\nimport PlanSingle from './routes/PlanSingle/PlanSingle';\r\nimport DeviceSingle from './routes/DeviceSingle/DeviceSingle';\r\nimport Footer from './components/App/Footer/Footer';\r\nimport NotFoundRoute from './routes/NotFoundRoute/NotFoundRoute';\r\nimport Icon from './components/common/Icon/Icon';\r\nimport { useCheckLatestVersion } from './services';\r\nimport { compareVersions } from './utils';\r\n\r\nfunction PublicRoute({ children }: { children: React.ReactNode }) {\r\n const { data: authData, isLoading: authLoading } = useAuth();\r\n\r\n if (authLoading) {\r\n return (\r\n <div className=\"loadingScreen\">\r\n <Icon size={60} type=\"loading\" />\r\n </div>\r\n );\r\n }\r\n\r\n if (authData) {\r\n return <Navigate to=\"/\" replace />;\r\n }\r\n\r\n return <>{children}</>;\r\n}\r\n\r\nfunction ProtectedLayout() {\r\n const { data: authData, isError: authError, isLoading: authLoading } = useAuth();\r\n const { data } = useCheckLatestVersion();\r\n const version = (window as any).plutonVersion || 'unknown';\r\n const hasNewVersion = data?.result?.latestVersion && version !== 'dev' && compareVersions(version, data.result.latestVersion);\r\n\r\n if (authLoading) {\r\n return (\r\n <div className=\"loadingScreen\">\r\n <Icon size={60} type=\"loading\" />\r\n </div>\r\n );\r\n }\r\n\r\n // Check setup-pending from auth response headers (set by versionMiddleware on all responses)\r\n const installType = (window as any).plutonInstallType;\r\n const setupPending = (window as any).plutonSetupPending;\r\n if (installType === 'binary' && setupPending) {\r\n return <Navigate to=\"/setup\" replace />;\r\n }\r\n\r\n // If auth failed, redirect to login\r\n if (authError) {\r\n return <Navigate to=\"/login\" replace />;\r\n }\r\n\r\n console.log('User data :', authData);\r\n\r\n return (\r\n <>\r\n <App />\r\n <Footer version={authData?.appVersion || ''} latestVersion={hasNewVersion ? data?.result?.latestVersion : undefined} />\r\n </>\r\n );\r\n}\r\n\r\nexport function AppRoutes() {\r\n return (\r\n <Routes>\r\n <Route path=\"/\" element={<ProtectedLayout />}>\r\n <Route index element={<Plans />} />\r\n <Route path=\"settings\" element={<Settings />} />\r\n <Route path=\"storages\" element={<Storages />} />\r\n <Route path=\"sources\" element={<Sources />} />\r\n <Route path={'device/:id'} element={<DeviceSingle />} />\r\n <Route path={'plan/:id'} element={<PlanSingle />} />\r\n <Route path=\"*\" element={<NotFoundRoute />} />\r\n </Route>\r\n <Route\r\n path=\"login\"\r\n element={\r\n <PublicRoute>\r\n <Login />\r\n </PublicRoute>\r\n }\r\n />\r\n <Route path=\"setup\" element={<Setup />} />\r\n </Routes>\r\n );\r\n}\r\n"],"names":["PublicRoute","children","authData","authLoading","useAuth","jsx","Icon","Navigate","ProtectedLayout","authError","data","useCheckLatestVersion","version","hasNewVersion","_a","compareVersions","installType","setupPending","jsxs","Fragment","App","Footer","_b","AppRoutes","Routes","Route","Plans","Settings","Storages","Sources","DeviceSingle","PlanSingle","NotFoundRoute","Login","Setup"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,SAASA,EAAY,EAAE,UAAAC,KAA2C;AAC/D,QAAM,EAAE,MAAMC,GAAU,WAAWC,EAAA,IAAgBC,EAAA;AAEnD,SAAID,IAEE,gBAAAE,EAAC,OAAA,EAAI,WAAU,iBACZ,UAAA,gBAAAA,EAACC,KAAK,MAAM,IAAI,MAAK,UAAA,CAAU,EAAA,CAClC,IAIFJ,IACM,gBAAAG,EAACE,GAAA,EAAS,IAAG,KAAI,SAAO,IAAC,2BAGzB,UAAAN,GAAS;AACtB;AAEA,SAASO,IAAkB;;AACxB,QAAM,EAAE,MAAMN,GAAU,SAASO,GAAW,WAAWN,EAAA,IAAgBC,EAAA,GACjE,EAAE,MAAAM,EAAA,IAASC,EAAA,GACXC,IAAW,OAAe,iBAAiB,WAC3CC,MAAgBC,IAAAJ,KAAA,gBAAAA,EAAM,WAAN,gBAAAI,EAAc,kBAAiBF,MAAY,SAASG,EAAgBH,GAASF,EAAK,OAAO,aAAa;AAE5H,MAAIP;AACD,WACG,gBAAAE,EAAC,OAAA,EAAI,WAAU,iBACZ,UAAA,gBAAAA,EAACC,KAAK,MAAM,IAAI,MAAK,UAAA,CAAU,EAAA,CAClC;AAKN,QAAMU,IAAe,OAAe,mBAC9BC,IAAgB,OAAe;AACrC,SAAID,MAAgB,YAAYC,IACtB,gBAAAZ,EAACE,GAAA,EAAS,IAAG,UAAS,SAAO,IAAC,IAIpCE,IACM,gBAAAJ,EAACE,GAAA,EAAS,IAAG,UAAS,SAAO,IAAC,KAGxC,QAAQ,IAAI,eAAeL,CAAQ,GAGhC,gBAAAgB,EAAAC,GAAA,EACG,UAAA;AAAA,IAAA,gBAAAd,EAACe,GAAA,EAAI;AAAA,IACL,gBAAAf,EAACgB,GAAA,EAAO,UAASnB,KAAA,gBAAAA,EAAU,eAAc,IAAI,eAAeW,KAAgBS,IAAAZ,KAAA,gBAAAA,EAAM,WAAN,gBAAAY,EAAc,gBAAgB,OAAA,CAAW;AAAA,EAAA,GACxH;AAEN;AAEO,SAASC,IAAY;AACzB,2BACIC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAN,EAACO,KAAM,MAAK,KAAI,SAAS,gBAAApB,EAACG,KAAgB,GACvC,UAAA;AAAA,MAAA,gBAAAH,EAACoB,KAAM,OAAK,IAAC,SAAS,gBAAApB,EAACqB,KAAM,GAAI;AAAA,wBAChCD,GAAA,EAAM,MAAK,YAAW,SAAS,gBAAApB,EAACsB,KAAS,GAAI;AAAA,wBAC7CF,GAAA,EAAM,MAAK,YAAW,SAAS,gBAAApB,EAACuB,KAAS,GAAI;AAAA,wBAC7CH,GAAA,EAAM,MAAK,WAAU,SAAS,gBAAApB,EAACwB,KAAQ,GAAI;AAAA,wBAC3CJ,GAAA,EAAM,MAAM,cAAc,SAAS,gBAAApB,EAACyB,KAAa,GAAI;AAAA,wBACrDL,GAAA,EAAM,MAAM,YAAY,SAAS,gBAAApB,EAAC0B,KAAW,GAAI;AAAA,wBACjDN,GAAA,EAAM,MAAK,KAAI,SAAS,gBAAApB,EAAC2B,KAAc,EAAA,CAAI;AAAA,IAAA,GAC/C;AAAA,IACA,gBAAA3B;AAAA,MAACoB;AAAA,MAAA;AAAA,QACE,MAAK;AAAA,QACL,SACG,gBAAApB,EAACL,GAAA,EACE,UAAA,gBAAAK,EAAC4B,KAAM,EAAA,CACV;AAAA,MAAA;AAAA,IAAA;AAAA,sBAGLR,GAAA,EAAM,MAAK,SAAQ,SAAS,gBAAApB,EAAC6B,KAAM,EAAA,CAAI;AAAA,EAAA,GAC3C;AAEN;"}
|
|
@@ -69,4 +69,6 @@ export declare function verifyTwoFactorOTP({ code }: {
|
|
|
69
69
|
export declare function useVerifyTwoFactorOTP(): import("@tanstack/react-query").UseMutationResult<any, Error, {
|
|
70
70
|
code: string;
|
|
71
71
|
}, unknown>;
|
|
72
|
+
export declare function checkLatestVersion(): Promise<any>;
|
|
73
|
+
export declare function useCheckLatestVersion(): import("@tanstack/react-query").UseQueryResult<any, Error>;
|
|
72
74
|
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/services/settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/services/settings.ts"],"names":[],"mappings":"AAQA,wBAAsB,WAAW,iBAWhC;AAED,wBAAgB,cAAc,+DAQ7B;AAED,wBAAsB,cAAc,CAAC,aAAa,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAA;CAAE,gBActH;AAED,wBAAgB,iBAAiB;QAhByB,MAAM;cAAY,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;YA0BpH;AAGD,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,gBAYlD;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,8DAO/C;AAGD,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,iBAsCvD;AAED,wBAAgB,qBAAqB,oFAUpC;AAED,wBAAsB,mBAAmB,CAAC,aAAa,EAAE;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;CAClD,gBAeA;AAED,wBAAgB,sBAAsB;gBArBvB,MAAM;UACZ,MAAM;cACF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;UAC7C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;YA0BjD;AAID,MAAM,WAAW,WAAW;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACvB;AAGD,wBAAsB,cAAc,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CAMvF;AAED,wBAAgB,cAAc;aAR6B,OAAO;UAAQ,WAAW;UAcpF;AAGD,wBAAsB,aAAa,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOlI;AAED,wBAAgB,gBAAgB;aATuD,OAAO;cAAY,MAAM;YAAU,MAAM;qCAa/H;AAID,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,gBAclD;AAED,wBAAgB,qBAAqB,mFAUpC;AACD,wBAAsB,mBAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,gBAenF;AAED,wBAAgB,sBAAsB;UAjB0B,MAAM;QAAM,MAAM;YA2BjF;AAED,wBAAsB,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,gBAelE;AAED,wBAAgB,qBAAqB;UAjBsB,MAAM;YA6BhE;AAGD,wBAAsB,kBAAkB,iBAWvC;AASD,wBAAgB,qBAAqB,+DAYpC"}
|