@fctc/interface-logic 4.2.7 → 4.2.9
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/environment.d.mts +1 -0
- package/dist/environment.d.ts +1 -0
- package/dist/hooks.d.mts +4 -1
- package/dist/hooks.d.ts +4 -1
- package/dist/hooks.js +385 -5
- package/dist/hooks.mjs +383 -5
- package/dist/import-snapshot-Ds0gqFFm.d.mts +3 -0
- package/dist/import-snapshot-Ds0gqFFm.d.ts +3 -0
- package/dist/provider.d.mts +4 -1
- package/dist/provider.d.ts +4 -1
- package/dist/provider.js +387 -7
- package/dist/provider.mjs +386 -7
- package/dist/services.d.mts +8 -1
- package/dist/services.d.ts +8 -1
- package/dist/services.js +378 -5
- package/dist/services.mjs +376 -5
- package/dist/store.js +2 -1
- package/dist/store.mjs +2 -1
- package/package.json +91 -90
package/dist/provider.js
CHANGED
|
@@ -106,7 +106,8 @@ var initialState2 = {
|
|
|
106
106
|
allowed_company_ids: [],
|
|
107
107
|
lang: "vi_VN",
|
|
108
108
|
tz: "Asia/Saigon"
|
|
109
|
-
}
|
|
109
|
+
},
|
|
110
|
+
isLocalMode: false
|
|
110
111
|
};
|
|
111
112
|
var envSlice = (0, import_toolkit2.createSlice)({
|
|
112
113
|
name: "env",
|
|
@@ -2315,9 +2316,9 @@ function applyBinaryOp(ast, context) {
|
|
|
2315
2316
|
var DICT = {
|
|
2316
2317
|
get(...args) {
|
|
2317
2318
|
const { key, defValue } = parseArgs(args, ["key", "defValue"]);
|
|
2318
|
-
const
|
|
2319
|
-
if (key in
|
|
2320
|
-
return
|
|
2319
|
+
const self2 = this;
|
|
2320
|
+
if (key in self2) {
|
|
2321
|
+
return self2[key];
|
|
2321
2322
|
} else if (defValue !== void 0) {
|
|
2322
2323
|
return defValue;
|
|
2323
2324
|
}
|
|
@@ -5926,7 +5927,227 @@ var handleClosingSessionService = (env) => {
|
|
|
5926
5927
|
|
|
5927
5928
|
// src/services/pos-service/load-data-pos-session.ts
|
|
5928
5929
|
var import_react33 = require("react");
|
|
5930
|
+
|
|
5931
|
+
// src/services/filesystem-service/file-service.ts
|
|
5932
|
+
var import_filesystem = require("@capacitor/filesystem");
|
|
5933
|
+
var fileService = {
|
|
5934
|
+
async read(path) {
|
|
5935
|
+
try {
|
|
5936
|
+
const res = await import_filesystem.Filesystem.readFile({
|
|
5937
|
+
path,
|
|
5938
|
+
directory: import_filesystem.Directory.Data,
|
|
5939
|
+
encoding: import_filesystem.Encoding.UTF8
|
|
5940
|
+
});
|
|
5941
|
+
if (typeof res.data === "string") return res.data;
|
|
5942
|
+
if (res.data instanceof Blob) return await res.data.text();
|
|
5943
|
+
return null;
|
|
5944
|
+
} catch {
|
|
5945
|
+
return null;
|
|
5946
|
+
}
|
|
5947
|
+
},
|
|
5948
|
+
async write(path, data) {
|
|
5949
|
+
await import_filesystem.Filesystem.writeFile({
|
|
5950
|
+
path,
|
|
5951
|
+
data,
|
|
5952
|
+
directory: import_filesystem.Directory.Data,
|
|
5953
|
+
encoding: import_filesystem.Encoding.UTF8,
|
|
5954
|
+
recursive: true
|
|
5955
|
+
});
|
|
5956
|
+
},
|
|
5957
|
+
async writeAtomic(path, data) {
|
|
5958
|
+
const tempPath = path + ".tmp";
|
|
5959
|
+
await import_filesystem.Filesystem.writeFile({
|
|
5960
|
+
path: tempPath,
|
|
5961
|
+
data,
|
|
5962
|
+
directory: import_filesystem.Directory.Data,
|
|
5963
|
+
encoding: import_filesystem.Encoding.UTF8,
|
|
5964
|
+
recursive: true
|
|
5965
|
+
});
|
|
5966
|
+
try {
|
|
5967
|
+
await import_filesystem.Filesystem.deleteFile({
|
|
5968
|
+
path,
|
|
5969
|
+
directory: import_filesystem.Directory.Data
|
|
5970
|
+
});
|
|
5971
|
+
} catch {
|
|
5972
|
+
}
|
|
5973
|
+
await import_filesystem.Filesystem.rename({
|
|
5974
|
+
from: tempPath,
|
|
5975
|
+
to: path,
|
|
5976
|
+
directory: import_filesystem.Directory.Data
|
|
5977
|
+
});
|
|
5978
|
+
},
|
|
5979
|
+
async delete(path) {
|
|
5980
|
+
try {
|
|
5981
|
+
await import_filesystem.Filesystem.deleteFile({
|
|
5982
|
+
path,
|
|
5983
|
+
directory: import_filesystem.Directory.Data
|
|
5984
|
+
});
|
|
5985
|
+
} catch {
|
|
5986
|
+
}
|
|
5987
|
+
},
|
|
5988
|
+
async exists(path) {
|
|
5989
|
+
try {
|
|
5990
|
+
await import_filesystem.Filesystem.stat({
|
|
5991
|
+
path,
|
|
5992
|
+
directory: import_filesystem.Directory.Data
|
|
5993
|
+
});
|
|
5994
|
+
return true;
|
|
5995
|
+
} catch {
|
|
5996
|
+
return false;
|
|
5997
|
+
}
|
|
5998
|
+
},
|
|
5999
|
+
async mkdir(path) {
|
|
6000
|
+
try {
|
|
6001
|
+
await import_filesystem.Filesystem.mkdir({
|
|
6002
|
+
path,
|
|
6003
|
+
directory: import_filesystem.Directory.Data,
|
|
6004
|
+
recursive: true
|
|
6005
|
+
});
|
|
6006
|
+
} catch (e) {
|
|
6007
|
+
if (!String(e?.message).includes("Exists")) {
|
|
6008
|
+
throw e;
|
|
6009
|
+
}
|
|
6010
|
+
}
|
|
6011
|
+
},
|
|
6012
|
+
async list(path) {
|
|
6013
|
+
return import_filesystem.Filesystem.readdir({
|
|
6014
|
+
path,
|
|
6015
|
+
directory: import_filesystem.Directory.Data
|
|
6016
|
+
});
|
|
6017
|
+
},
|
|
6018
|
+
async getUri(path) {
|
|
6019
|
+
return import_filesystem.Filesystem.getUri({
|
|
6020
|
+
path,
|
|
6021
|
+
directory: import_filesystem.Directory.Data
|
|
6022
|
+
});
|
|
6023
|
+
}
|
|
6024
|
+
};
|
|
6025
|
+
|
|
6026
|
+
// src/services/filesystem-service/json-worker.ts
|
|
6027
|
+
var import_meta = {};
|
|
6028
|
+
self.addEventListener("message", async (ev) => {
|
|
6029
|
+
const { id, cmd, payload } = ev.data;
|
|
6030
|
+
try {
|
|
6031
|
+
if (cmd === "parse") {
|
|
6032
|
+
const parsed = JSON.parse(payload);
|
|
6033
|
+
self.postMessage({ id, ok: true, result: parsed });
|
|
6034
|
+
} else if (cmd === "stringify") {
|
|
6035
|
+
const str = JSON.stringify(payload);
|
|
6036
|
+
self.postMessage({ id, ok: true, result: str });
|
|
6037
|
+
}
|
|
6038
|
+
} catch (err) {
|
|
6039
|
+
self.postMessage({ id, ok: false, error: err?.message || String(err) });
|
|
6040
|
+
}
|
|
6041
|
+
});
|
|
6042
|
+
function spawnParseWorker(raw) {
|
|
6043
|
+
return new Promise((resolve, reject) => {
|
|
6044
|
+
const worker = new Worker(new URL("./json-worker.ts", import_meta.url), {
|
|
6045
|
+
type: "module"
|
|
6046
|
+
});
|
|
6047
|
+
const id = Math.random().toString(36).slice(2);
|
|
6048
|
+
worker.onmessage = (ev) => {
|
|
6049
|
+
const { ok, result, error } = ev.data;
|
|
6050
|
+
if (ok) {
|
|
6051
|
+
resolve(result);
|
|
6052
|
+
} else {
|
|
6053
|
+
reject(new Error(error));
|
|
6054
|
+
}
|
|
6055
|
+
worker.terminate();
|
|
6056
|
+
};
|
|
6057
|
+
worker.postMessage({ id, cmd: "parse", payload: raw });
|
|
6058
|
+
});
|
|
6059
|
+
}
|
|
6060
|
+
function spawnStringifyWorker(obj) {
|
|
6061
|
+
return new Promise((resolve, reject) => {
|
|
6062
|
+
const worker = new Worker(new URL("./json-worker.ts", import_meta.url), {
|
|
6063
|
+
type: "module"
|
|
6064
|
+
});
|
|
6065
|
+
worker.onmessage = (ev) => {
|
|
6066
|
+
const { ok, result, error } = ev.data;
|
|
6067
|
+
if (ok) resolve(result);
|
|
6068
|
+
else reject(new Error(error));
|
|
6069
|
+
worker.terminate();
|
|
6070
|
+
};
|
|
6071
|
+
worker.postMessage({ cmd: "stringify", payload: obj });
|
|
6072
|
+
});
|
|
6073
|
+
}
|
|
6074
|
+
|
|
6075
|
+
// src/services/filesystem-service/memory-cache.ts
|
|
6076
|
+
var MemoryCache = class {
|
|
6077
|
+
map = /* @__PURE__ */ new Map();
|
|
6078
|
+
get(k) {
|
|
6079
|
+
const e = this.map.get(k);
|
|
6080
|
+
if (!e) return null;
|
|
6081
|
+
if (e.ttl && Date.now() - e.t > e.ttl) {
|
|
6082
|
+
this.map.delete(k);
|
|
6083
|
+
return null;
|
|
6084
|
+
}
|
|
6085
|
+
return e.value;
|
|
6086
|
+
}
|
|
6087
|
+
set(k, v, ttl = 5 * 60 * 1e3) {
|
|
6088
|
+
this.map.set(k, { value: v, t: Date.now(), ttl });
|
|
6089
|
+
}
|
|
6090
|
+
del(k) {
|
|
6091
|
+
this.map.delete(k);
|
|
6092
|
+
}
|
|
6093
|
+
clear() {
|
|
6094
|
+
this.map.clear();
|
|
6095
|
+
}
|
|
6096
|
+
};
|
|
6097
|
+
var memoryCache = new MemoryCache();
|
|
6098
|
+
|
|
6099
|
+
// src/services/filesystem-service/model-loader.ts
|
|
6100
|
+
var MODELS_DIR = "pos/models";
|
|
6101
|
+
var MODELS_META_DIR = "pos/models_meta";
|
|
6102
|
+
async function loadData(includeMeta = true) {
|
|
6103
|
+
const exists = await fileService.exists(MODELS_DIR);
|
|
6104
|
+
if (!exists) {
|
|
6105
|
+
console.warn("[loadData] MODELS_DIR not exists:", MODELS_DIR);
|
|
6106
|
+
return {};
|
|
6107
|
+
}
|
|
6108
|
+
let listResult;
|
|
6109
|
+
try {
|
|
6110
|
+
listResult = await fileService.list(MODELS_DIR);
|
|
6111
|
+
} catch (e) {
|
|
6112
|
+
console.error("[loadData] list failed:", e);
|
|
6113
|
+
return {};
|
|
6114
|
+
}
|
|
6115
|
+
if (!listResult || !Array.isArray(listResult.files)) {
|
|
6116
|
+
return {};
|
|
6117
|
+
}
|
|
6118
|
+
const result = {};
|
|
6119
|
+
for (const file of listResult.files) {
|
|
6120
|
+
if (file.type !== "file") continue;
|
|
6121
|
+
if (!file.name.endsWith(".json")) continue;
|
|
6122
|
+
const modelName = file.name.replace(/\.json$/, "");
|
|
6123
|
+
const dataPath = `${MODELS_DIR}/${file.name}`;
|
|
6124
|
+
const metaPath = `${MODELS_META_DIR}/${encodeURIComponent(
|
|
6125
|
+
modelName
|
|
6126
|
+
)}.meta.json`;
|
|
6127
|
+
const rawData = await fileService.read(dataPath);
|
|
6128
|
+
if (!rawData) continue;
|
|
6129
|
+
const parsedData = await spawnParseWorker(rawData);
|
|
6130
|
+
const data = Array.isArray(parsedData) ? parsedData : [];
|
|
6131
|
+
if (!includeMeta) {
|
|
6132
|
+
result[modelName] = { data };
|
|
6133
|
+
continue;
|
|
6134
|
+
}
|
|
6135
|
+
const rawMeta = await fileService.read(metaPath);
|
|
6136
|
+
let fields = [];
|
|
6137
|
+
let relations = {};
|
|
6138
|
+
if (rawMeta) {
|
|
6139
|
+
const parsedMeta = await spawnParseWorker(rawMeta);
|
|
6140
|
+
fields = parsedMeta?.fields ?? [];
|
|
6141
|
+
relations = parsedMeta?.relations ?? {};
|
|
6142
|
+
}
|
|
6143
|
+
result[modelName] = { data, fields, relations };
|
|
6144
|
+
}
|
|
6145
|
+
return result;
|
|
6146
|
+
}
|
|
6147
|
+
|
|
6148
|
+
// src/services/pos-service/load-data-pos-session.ts
|
|
5929
6149
|
var loadDataPosSessionService = (env) => {
|
|
6150
|
+
const isLocalMode = env?.isLocalMode;
|
|
5930
6151
|
const loadDataPosSession = (0, import_react33.useCallback)(
|
|
5931
6152
|
({
|
|
5932
6153
|
model,
|
|
@@ -5937,6 +6158,14 @@ var loadDataPosSessionService = (env) => {
|
|
|
5937
6158
|
modelsToLoad = [],
|
|
5938
6159
|
searchParams
|
|
5939
6160
|
}) => {
|
|
6161
|
+
console.log("isLocalMode", isLocalMode);
|
|
6162
|
+
if (isLocalMode) {
|
|
6163
|
+
return loadData().then((localDb) => ({
|
|
6164
|
+
data: {
|
|
6165
|
+
data: localDb
|
|
6166
|
+
}
|
|
6167
|
+
}));
|
|
6168
|
+
}
|
|
5940
6169
|
const jsonData = {
|
|
5941
6170
|
model,
|
|
5942
6171
|
method: "load_data" /* LOAD_DATA */,
|
|
@@ -5963,7 +6192,7 @@ var loadDataPosSessionService = (env) => {
|
|
|
5963
6192
|
service
|
|
5964
6193
|
);
|
|
5965
6194
|
},
|
|
5966
|
-
[env]
|
|
6195
|
+
[env, isLocalMode]
|
|
5967
6196
|
);
|
|
5968
6197
|
return {
|
|
5969
6198
|
loadDataPosSession
|
|
@@ -6296,6 +6525,145 @@ var usePosService = () => {
|
|
|
6296
6525
|
return service;
|
|
6297
6526
|
};
|
|
6298
6527
|
|
|
6528
|
+
// src/services/filesystem-service/manifest.ts
|
|
6529
|
+
var MANIFEST_PATH = "pos/manifest.json";
|
|
6530
|
+
var MANIFEST_BAK_PATH = "pos/manifest.bak.json";
|
|
6531
|
+
async function writeManifest(manifest) {
|
|
6532
|
+
const oldRaw = await fileService.read(MANIFEST_PATH);
|
|
6533
|
+
if (oldRaw !== null) {
|
|
6534
|
+
await fileService.writeAtomic(MANIFEST_BAK_PATH, oldRaw);
|
|
6535
|
+
}
|
|
6536
|
+
await fileService.writeAtomic(MANIFEST_PATH, JSON.stringify(manifest));
|
|
6537
|
+
try {
|
|
6538
|
+
await fileService.delete(MANIFEST_BAK_PATH);
|
|
6539
|
+
} catch {
|
|
6540
|
+
}
|
|
6541
|
+
}
|
|
6542
|
+
|
|
6543
|
+
// src/services/filesystem-service/import-snapshot.ts
|
|
6544
|
+
var DATA_DIR = "pos";
|
|
6545
|
+
var MODELS_DIR2 = `${DATA_DIR}/models`;
|
|
6546
|
+
var MODELS_META_DIR2 = `${DATA_DIR}/models_meta`;
|
|
6547
|
+
var importSnapshot = async ({ data, onProgress }) => {
|
|
6548
|
+
onProgress?.(1, "Parsing snapshot");
|
|
6549
|
+
const parsed = await spawnParseWorker(data);
|
|
6550
|
+
const modelNames = Object.keys(parsed);
|
|
6551
|
+
const total = modelNames.length;
|
|
6552
|
+
const manifest = { version: (/* @__PURE__ */ new Date()).toISOString(), models: {} };
|
|
6553
|
+
const TMP_PREFIX = `pos/data/tmp_import_${Date.now()}`;
|
|
6554
|
+
await fileService.writeAtomic(`${TMP_PREFIX}/.marker`, "1");
|
|
6555
|
+
let i = 0;
|
|
6556
|
+
for (const model of modelNames) {
|
|
6557
|
+
i++;
|
|
6558
|
+
onProgress?.(
|
|
6559
|
+
Math.round(i / total * 100),
|
|
6560
|
+
`Processing ${model} (${i}/${total})`
|
|
6561
|
+
);
|
|
6562
|
+
const block = parsed[model];
|
|
6563
|
+
const dataPart = block?.data ?? block ?? [];
|
|
6564
|
+
const fields = block?.fields ?? [];
|
|
6565
|
+
const relations = block?.relations ?? {};
|
|
6566
|
+
const serialized = await spawnStringifyWorker(dataPart);
|
|
6567
|
+
const tmpModelPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.json`;
|
|
6568
|
+
await fileService.writeAtomic(tmpModelPath, serialized);
|
|
6569
|
+
const meta = {
|
|
6570
|
+
fields,
|
|
6571
|
+
relations,
|
|
6572
|
+
count: Array.isArray(dataPart) ? dataPart.length : 0,
|
|
6573
|
+
writtenAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
6574
|
+
};
|
|
6575
|
+
const tmpMetaPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`;
|
|
6576
|
+
await fileService.writeAtomic(tmpMetaPath, JSON.stringify(meta));
|
|
6577
|
+
manifest.models[model] = {
|
|
6578
|
+
file: `${MODELS_DIR2}/${encodeURIComponent(model)}.json`,
|
|
6579
|
+
metaFile: `${MODELS_META_DIR2}/${encodeURIComponent(model)}.meta.json`,
|
|
6580
|
+
count: meta.count,
|
|
6581
|
+
updatedAt: meta.writtenAt
|
|
6582
|
+
};
|
|
6583
|
+
}
|
|
6584
|
+
onProgress?.(95, "Committing import (moving files)");
|
|
6585
|
+
for (const model of modelNames) {
|
|
6586
|
+
const tmpModelPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.json`;
|
|
6587
|
+
const finalModelPath = `${MODELS_DIR2}/${encodeURIComponent(model)}.json`;
|
|
6588
|
+
const tmpMetaPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`;
|
|
6589
|
+
const finalMetaPath = `${MODELS_META_DIR2}/${encodeURIComponent(
|
|
6590
|
+
model
|
|
6591
|
+
)}.meta.json`;
|
|
6592
|
+
const tmpRaw = await fileService.read(tmpModelPath);
|
|
6593
|
+
if (tmpRaw !== null) await fileService.writeAtomic(finalModelPath, tmpRaw);
|
|
6594
|
+
const tmpMetaRaw = await fileService.read(tmpMetaPath);
|
|
6595
|
+
if (tmpMetaRaw !== null)
|
|
6596
|
+
await fileService.writeAtomic(finalMetaPath, tmpMetaRaw);
|
|
6597
|
+
onProgress?.(
|
|
6598
|
+
95 + Math.round(
|
|
6599
|
+
(Object.keys(manifest.models).indexOf(model) + 1) / modelNames.length * 5
|
|
6600
|
+
),
|
|
6601
|
+
`Committed ${model}`
|
|
6602
|
+
);
|
|
6603
|
+
}
|
|
6604
|
+
await writeManifest(manifest);
|
|
6605
|
+
try {
|
|
6606
|
+
for (const model of modelNames) {
|
|
6607
|
+
await fileService.delete(
|
|
6608
|
+
`${TMP_PREFIX}/${encodeURIComponent(model)}.json`
|
|
6609
|
+
);
|
|
6610
|
+
await fileService.delete(
|
|
6611
|
+
`${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`
|
|
6612
|
+
);
|
|
6613
|
+
}
|
|
6614
|
+
await fileService.delete(`${TMP_PREFIX}/.marker`);
|
|
6615
|
+
} catch (e) {
|
|
6616
|
+
console.log("Failed to cleanup tmp import files:", e);
|
|
6617
|
+
}
|
|
6618
|
+
onProgress?.(100, "Import complete");
|
|
6619
|
+
return manifest;
|
|
6620
|
+
};
|
|
6621
|
+
var import_snapshot_default = importSnapshot;
|
|
6622
|
+
|
|
6623
|
+
// src/services/filesystem-service/init-snapshot.ts
|
|
6624
|
+
var isSnapshotReady = async () => {
|
|
6625
|
+
try {
|
|
6626
|
+
const raw = await fileService.read("pos/manifest.json");
|
|
6627
|
+
if (!raw) return false;
|
|
6628
|
+
const manifest = JSON.parse(raw);
|
|
6629
|
+
if (!manifest.models || typeof manifest.models !== "object") {
|
|
6630
|
+
return false;
|
|
6631
|
+
}
|
|
6632
|
+
const modelEntries = Object.values(manifest.models);
|
|
6633
|
+
if (modelEntries.length === 0) return false;
|
|
6634
|
+
const firstModel = modelEntries[0];
|
|
6635
|
+
if (!firstModel.file) return false;
|
|
6636
|
+
const modelExists = await fileService.exists(firstModel.file);
|
|
6637
|
+
return modelExists;
|
|
6638
|
+
} catch {
|
|
6639
|
+
return false;
|
|
6640
|
+
}
|
|
6641
|
+
};
|
|
6642
|
+
async function initSnapshot(onProgress) {
|
|
6643
|
+
const ready = await isSnapshotReady();
|
|
6644
|
+
if (ready) {
|
|
6645
|
+
console.log("skip initialization.");
|
|
6646
|
+
return;
|
|
6647
|
+
}
|
|
6648
|
+
console.log("initializing from data.json...");
|
|
6649
|
+
const jsonData = await fetch("/data.json").then((r) => r.text());
|
|
6650
|
+
if (!jsonData) {
|
|
6651
|
+
console.error("cannot load data.json");
|
|
6652
|
+
return;
|
|
6653
|
+
}
|
|
6654
|
+
await import_snapshot_default({
|
|
6655
|
+
data: jsonData,
|
|
6656
|
+
onProgress
|
|
6657
|
+
});
|
|
6658
|
+
}
|
|
6659
|
+
|
|
6660
|
+
// src/services/filesystem-service/index.ts
|
|
6661
|
+
var useFileSystemService = () => {
|
|
6662
|
+
return {
|
|
6663
|
+
initSnapshot
|
|
6664
|
+
};
|
|
6665
|
+
};
|
|
6666
|
+
|
|
6299
6667
|
// src/provider/version-gate-provider.tsx
|
|
6300
6668
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
6301
6669
|
var VersionGate = ({ children }) => {
|
|
@@ -6683,7 +7051,8 @@ var initialEnvState = {
|
|
|
6683
7051
|
lang: "vi_VN",
|
|
6684
7052
|
tz: "Asia/Saigon"
|
|
6685
7053
|
},
|
|
6686
|
-
excludeLanguages: []
|
|
7054
|
+
excludeLanguages: [],
|
|
7055
|
+
isLocalMode: false
|
|
6687
7056
|
};
|
|
6688
7057
|
var EnvContext = (0, import_react43.createContext)(null);
|
|
6689
7058
|
function EnvProvider({
|
|
@@ -8766,6 +9135,16 @@ var useUpdateOrderStatus = () => {
|
|
|
8766
9135
|
};
|
|
8767
9136
|
var use_update_order_status_default = useUpdateOrderStatus;
|
|
8768
9137
|
|
|
9138
|
+
// src/hooks/pos/use-init-snapshot.ts
|
|
9139
|
+
var import_react_query113 = require("@tanstack/react-query");
|
|
9140
|
+
var useInitSnapshot = () => {
|
|
9141
|
+
const fileSystem = useFileSystemService();
|
|
9142
|
+
return (0, import_react_query113.useMutation)({
|
|
9143
|
+
mutationFn: fileSystem.initSnapshot
|
|
9144
|
+
});
|
|
9145
|
+
};
|
|
9146
|
+
var use_init_snapshot_default = useInitSnapshot;
|
|
9147
|
+
|
|
8769
9148
|
// src/provider/service-provider.tsx
|
|
8770
9149
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
8771
9150
|
var ServiceContext = (0, import_react45.createContext)(null);
|
|
@@ -8884,7 +9263,8 @@ var ServiceProvider = ({
|
|
|
8884
9263
|
useGetCity: use_get_city_default,
|
|
8885
9264
|
useGetWard: use_get_ward_default,
|
|
8886
9265
|
useGetCountry: use_get_country_default,
|
|
8887
|
-
useGetPartnerTitle: use_get_partner_title_default
|
|
9266
|
+
useGetPartnerTitle: use_get_partner_title_default,
|
|
9267
|
+
useInitSnapshot: use_init_snapshot_default
|
|
8888
9268
|
};
|
|
8889
9269
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ServiceContext.Provider, { value: services, children });
|
|
8890
9270
|
};
|