@fctc/interface-logic 4.4.0 → 4.4.2
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 -1
- package/dist/environment.d.ts +1 -1
- package/dist/hooks.d.mts +1 -4
- package/dist/hooks.d.ts +1 -4
- package/dist/hooks.js +301 -813
- package/dist/hooks.mjs +147 -658
- package/dist/provider.d.mts +13 -6
- package/dist/provider.d.ts +13 -6
- package/dist/provider.js +226 -711
- package/dist/provider.mjs +187 -674
- package/dist/services.d.mts +8 -8
- package/dist/services.d.ts +8 -8
- package/dist/services.js +262 -766
- package/dist/services.mjs +150 -653
- package/dist/store.js +1 -1
- package/dist/store.mjs +1 -1
- package/package.json +3 -2
- package/dist/import-snapshot-Ds0gqFFm.d.mts +0 -3
- package/dist/import-snapshot-Ds0gqFFm.d.ts +0 -3
package/dist/provider.js
CHANGED
|
@@ -35,9 +35,11 @@ __export(provider_exports, {
|
|
|
35
35
|
MetaProvider: () => MetaProvider,
|
|
36
36
|
ReactQueryProvider: () => ReactQueryProvider,
|
|
37
37
|
ServiceProvider: () => ServiceProvider,
|
|
38
|
+
SupabaseProvider: () => SupabaseProvider,
|
|
38
39
|
VersionGate: () => VersionGate,
|
|
39
40
|
useEnv: () => useEnv,
|
|
40
|
-
useService: () => useService
|
|
41
|
+
useService: () => useService,
|
|
42
|
+
useSupabase: () => useSupabase
|
|
41
43
|
});
|
|
42
44
|
module.exports = __toCommonJS(provider_exports);
|
|
43
45
|
|
|
@@ -107,7 +109,7 @@ var initialState2 = {
|
|
|
107
109
|
lang: "vi_VN",
|
|
108
110
|
tz: "Asia/Saigon"
|
|
109
111
|
},
|
|
110
|
-
|
|
112
|
+
isSupaMode: false
|
|
111
113
|
};
|
|
112
114
|
var envSlice = (0, import_toolkit2.createSlice)({
|
|
113
115
|
name: "env",
|
|
@@ -698,7 +700,7 @@ var MainProvider = ({ children }) => {
|
|
|
698
700
|
};
|
|
699
701
|
|
|
700
702
|
// src/provider/version-gate-provider.tsx
|
|
701
|
-
var
|
|
703
|
+
var import_react44 = require("react");
|
|
702
704
|
var import_react_query2 = require("@tanstack/react-query");
|
|
703
705
|
|
|
704
706
|
// src/services/action-service/index.ts
|
|
@@ -753,6 +755,58 @@ var UriConstants = /* @__PURE__ */ ((UriConstants2) => {
|
|
|
753
755
|
// src/utils/format.ts
|
|
754
756
|
var import_moment = __toESM(require("moment"));
|
|
755
757
|
|
|
758
|
+
// src/constants/model/model-constant.ts
|
|
759
|
+
var LoadDataModel = /* @__PURE__ */ ((LoadDataModel2) => {
|
|
760
|
+
LoadDataModel2["ACCOUNT_CASH_ROUNDING"] = "account.cash.rounding";
|
|
761
|
+
LoadDataModel2["ACCOUNT_FISCAL_POSITION"] = "account.fiscal.position";
|
|
762
|
+
LoadDataModel2["ACCOUNT_FISCAL_POSITION_TAX"] = "account.fiscal.position.tax";
|
|
763
|
+
LoadDataModel2["ACCOUNT_TAX"] = "account.tax";
|
|
764
|
+
LoadDataModel2["ACCOUNT_TAX_GROUP"] = "account.tax.group";
|
|
765
|
+
LoadDataModel2["DECIMAL_PRECISION"] = "decimal.precision";
|
|
766
|
+
LoadDataModel2["IR_MODULE_MODULE"] = "ir.module.module";
|
|
767
|
+
LoadDataModel2["IR_UI_VIEW"] = "ir.ui.view";
|
|
768
|
+
LoadDataModel2["POS_BILL"] = "pos.bill";
|
|
769
|
+
LoadDataModel2["POS_CATEGORY"] = "pos.category";
|
|
770
|
+
LoadDataModel2["POS_CONFIG"] = "pos.config";
|
|
771
|
+
LoadDataModel2["POS_NOTE"] = "pos.note";
|
|
772
|
+
LoadDataModel2["POS_ORDER"] = "pos.order";
|
|
773
|
+
LoadDataModel2["POS_ORDER_LINE"] = "pos.order.line";
|
|
774
|
+
LoadDataModel2["POS_PACK_OPERATION_LOT"] = "pos.pack.operation.lot";
|
|
775
|
+
LoadDataModel2["POS_PAYMENT"] = "pos.payment";
|
|
776
|
+
LoadDataModel2["POS_PAYMENT_METHOD"] = "pos.payment.method";
|
|
777
|
+
LoadDataModel2["POS_PRINTER"] = "pos.printer";
|
|
778
|
+
LoadDataModel2["POS_SESSION"] = "pos.session";
|
|
779
|
+
LoadDataModel2["POS_PREPARATION_DISPLAY_DISPLAY"] = "pos_preparation_display.display";
|
|
780
|
+
LoadDataModel2["PRODUCT_ATTRIBUTE"] = "product.attribute";
|
|
781
|
+
LoadDataModel2["PRODUCT_ATTRIBUTE_CUSTOM_VALUE"] = "product.attribute.custom.value";
|
|
782
|
+
LoadDataModel2["PRODUCT_CATEGORY"] = "product.category";
|
|
783
|
+
LoadDataModel2["PRODUCT_COMBO"] = "product.combo";
|
|
784
|
+
LoadDataModel2["PRODUCT_COMBO_ITEM"] = "product.combo.item";
|
|
785
|
+
LoadDataModel2["PRODUCT_PACKAGING"] = "product.packaging";
|
|
786
|
+
LoadDataModel2["PRODUCT_PRICELIST"] = "product.pricelist";
|
|
787
|
+
LoadDataModel2["PRODUCT_PRICELIST_ITEM"] = "product.pricelist.item";
|
|
788
|
+
LoadDataModel2["PRODUCT_PRODUCT"] = "product.product";
|
|
789
|
+
LoadDataModel2["PRODUCT_TAG"] = "product.tag";
|
|
790
|
+
LoadDataModel2["PRODUCT_TEMPLATE_ATTRIBUTE_LINE"] = "product.template.attribute.line";
|
|
791
|
+
LoadDataModel2["PRODUCT_TEMPLATE_ATTRIBUTE_VALUE"] = "product.template.attribute.value";
|
|
792
|
+
LoadDataModel2["RES_COMPANY"] = "res.company";
|
|
793
|
+
LoadDataModel2["RES_COUNTRY"] = "res.country";
|
|
794
|
+
LoadDataModel2["RES_COUNTRY_STATE"] = "res.country.state";
|
|
795
|
+
LoadDataModel2["RES_CURRENCY"] = "res.currency";
|
|
796
|
+
LoadDataModel2["RES_LANG"] = "res.lang";
|
|
797
|
+
LoadDataModel2["RES_PARTNER"] = "res.partner";
|
|
798
|
+
LoadDataModel2["RES_USERS"] = "res.users";
|
|
799
|
+
LoadDataModel2["STOCK_PICKING_TYPE"] = "stock.picking.type";
|
|
800
|
+
LoadDataModel2["UOM_CATEGORY"] = "uom.category";
|
|
801
|
+
LoadDataModel2["UOM_UOM"] = "uom.uom";
|
|
802
|
+
LoadDataModel2["LOYALTY_PROGRAM"] = "loyalty.program";
|
|
803
|
+
LoadDataModel2["LOYALTY_RULE"] = "loyalty.rule";
|
|
804
|
+
LoadDataModel2["RESTAURANT_TABLE"] = "restaurant.table";
|
|
805
|
+
LoadDataModel2["RESTAURANT_FLOOR"] = "restaurant.floor";
|
|
806
|
+
LoadDataModel2["POS_MAKE_PAYMENT"] = "pos.make.payment";
|
|
807
|
+
return LoadDataModel2;
|
|
808
|
+
})(LoadDataModel || {});
|
|
809
|
+
|
|
756
810
|
// src/constants/widget/widget-avatar-constant.ts
|
|
757
811
|
var WIDGETAVATAR = /* @__PURE__ */ ((WIDGETAVATAR2) => {
|
|
758
812
|
WIDGETAVATAR2["many2one_avatar_user"] = "many2one_avatar_user";
|
|
@@ -2922,13 +2976,6 @@ function cleanObject(obj) {
|
|
|
2922
2976
|
}
|
|
2923
2977
|
return result;
|
|
2924
2978
|
}
|
|
2925
|
-
var extractIdFromDomain = (domain) => {
|
|
2926
|
-
if (!domain || !Array.isArray(domain)) return null;
|
|
2927
|
-
const idCond = domain.find(
|
|
2928
|
-
([field, operator]) => field === "id" && operator === "="
|
|
2929
|
-
);
|
|
2930
|
-
return idCond ? Number(idCond[2]) : null;
|
|
2931
|
-
};
|
|
2932
2979
|
|
|
2933
2980
|
// src/utils/storage/local-storage.ts
|
|
2934
2981
|
var localStorageUtils = () => {
|
|
@@ -5211,544 +5258,7 @@ var getASessionService = (env) => {
|
|
|
5211
5258
|
|
|
5212
5259
|
// src/services/pos-service/add-entity.ts
|
|
5213
5260
|
var import_react14 = require("react");
|
|
5214
|
-
|
|
5215
|
-
// src/services/filesystem-service/file-service.ts
|
|
5216
|
-
var import_filesystem = require("@capacitor/filesystem");
|
|
5217
|
-
var fileService = {
|
|
5218
|
-
read: async (path) => {
|
|
5219
|
-
try {
|
|
5220
|
-
const res = await import_filesystem.Filesystem.readFile({
|
|
5221
|
-
path,
|
|
5222
|
-
directory: import_filesystem.Directory.Data,
|
|
5223
|
-
encoding: import_filesystem.Encoding.UTF8
|
|
5224
|
-
});
|
|
5225
|
-
if (typeof res.data === "string") return res.data;
|
|
5226
|
-
if (res.data instanceof Blob) return await res.data.text();
|
|
5227
|
-
return null;
|
|
5228
|
-
} catch {
|
|
5229
|
-
return null;
|
|
5230
|
-
}
|
|
5231
|
-
},
|
|
5232
|
-
write: async (path, data) => {
|
|
5233
|
-
await import_filesystem.Filesystem.writeFile({
|
|
5234
|
-
path,
|
|
5235
|
-
data,
|
|
5236
|
-
directory: import_filesystem.Directory.Data,
|
|
5237
|
-
encoding: import_filesystem.Encoding.UTF8,
|
|
5238
|
-
recursive: true
|
|
5239
|
-
});
|
|
5240
|
-
},
|
|
5241
|
-
writeAtomic: async (path, data) => {
|
|
5242
|
-
const tempPath = path + ".tmp";
|
|
5243
|
-
await import_filesystem.Filesystem.writeFile({
|
|
5244
|
-
path: tempPath,
|
|
5245
|
-
data,
|
|
5246
|
-
directory: import_filesystem.Directory.Data,
|
|
5247
|
-
encoding: import_filesystem.Encoding.UTF8,
|
|
5248
|
-
recursive: true
|
|
5249
|
-
});
|
|
5250
|
-
try {
|
|
5251
|
-
await import_filesystem.Filesystem.deleteFile({
|
|
5252
|
-
path,
|
|
5253
|
-
directory: import_filesystem.Directory.Data
|
|
5254
|
-
});
|
|
5255
|
-
} catch {
|
|
5256
|
-
}
|
|
5257
|
-
await import_filesystem.Filesystem.rename({
|
|
5258
|
-
from: tempPath,
|
|
5259
|
-
to: path,
|
|
5260
|
-
directory: import_filesystem.Directory.Data
|
|
5261
|
-
});
|
|
5262
|
-
},
|
|
5263
|
-
delete: async (path) => {
|
|
5264
|
-
try {
|
|
5265
|
-
await import_filesystem.Filesystem.deleteFile({
|
|
5266
|
-
path,
|
|
5267
|
-
directory: import_filesystem.Directory.Data
|
|
5268
|
-
});
|
|
5269
|
-
} catch {
|
|
5270
|
-
}
|
|
5271
|
-
},
|
|
5272
|
-
exists: async (path) => {
|
|
5273
|
-
try {
|
|
5274
|
-
await import_filesystem.Filesystem.stat({
|
|
5275
|
-
path,
|
|
5276
|
-
directory: import_filesystem.Directory.Data
|
|
5277
|
-
});
|
|
5278
|
-
return true;
|
|
5279
|
-
} catch {
|
|
5280
|
-
return false;
|
|
5281
|
-
}
|
|
5282
|
-
},
|
|
5283
|
-
mkdir: async (path) => {
|
|
5284
|
-
try {
|
|
5285
|
-
await import_filesystem.Filesystem.mkdir({
|
|
5286
|
-
path,
|
|
5287
|
-
directory: import_filesystem.Directory.Data,
|
|
5288
|
-
recursive: true
|
|
5289
|
-
});
|
|
5290
|
-
} catch (e) {
|
|
5291
|
-
if (!String(e?.message).includes("Exists")) {
|
|
5292
|
-
throw e;
|
|
5293
|
-
}
|
|
5294
|
-
}
|
|
5295
|
-
},
|
|
5296
|
-
list: async (path) => {
|
|
5297
|
-
return import_filesystem.Filesystem.readdir({
|
|
5298
|
-
path,
|
|
5299
|
-
directory: import_filesystem.Directory.Data
|
|
5300
|
-
});
|
|
5301
|
-
},
|
|
5302
|
-
getUri: async (path) => {
|
|
5303
|
-
return import_filesystem.Filesystem.getUri({
|
|
5304
|
-
path,
|
|
5305
|
-
directory: import_filesystem.Directory.Data
|
|
5306
|
-
});
|
|
5307
|
-
}
|
|
5308
|
-
};
|
|
5309
|
-
|
|
5310
|
-
// src/services/filesystem-service/json-worker.ts
|
|
5311
|
-
function createWorkerBlob() {
|
|
5312
|
-
const workerCode = `
|
|
5313
|
-
self.addEventListener("message", async (ev) => {
|
|
5314
|
-
const { id, cmd, payload } = ev.data;
|
|
5315
|
-
try {
|
|
5316
|
-
if (cmd === "parse") {
|
|
5317
|
-
const parsed = JSON.parse(payload);
|
|
5318
|
-
self.postMessage({ id, ok: true, result: parsed });
|
|
5319
|
-
} else if (cmd === "stringify") {
|
|
5320
|
-
const str = JSON.stringify(payload);
|
|
5321
|
-
self.postMessage({ id, ok: true, result: str });
|
|
5322
|
-
}
|
|
5323
|
-
} catch (err) {
|
|
5324
|
-
self.postMessage({ id, ok: false, error: err?.message || String(err) });
|
|
5325
|
-
}
|
|
5326
|
-
});
|
|
5327
|
-
`;
|
|
5328
|
-
const blob = new Blob([workerCode], { type: "application/javascript" });
|
|
5329
|
-
return URL.createObjectURL(blob);
|
|
5330
|
-
}
|
|
5331
|
-
function spawnParseWorker(raw) {
|
|
5332
|
-
return new Promise((resolve, reject) => {
|
|
5333
|
-
const workerUrl = createWorkerBlob();
|
|
5334
|
-
const worker = new Worker(workerUrl);
|
|
5335
|
-
const id = Math.random().toString(36).slice(2);
|
|
5336
|
-
worker.onmessage = (ev) => {
|
|
5337
|
-
const { ok, result, error } = ev.data;
|
|
5338
|
-
if (ok) {
|
|
5339
|
-
resolve(result);
|
|
5340
|
-
} else {
|
|
5341
|
-
reject(new Error(error));
|
|
5342
|
-
}
|
|
5343
|
-
URL.revokeObjectURL(workerUrl);
|
|
5344
|
-
worker.terminate();
|
|
5345
|
-
};
|
|
5346
|
-
worker.onerror = (err) => {
|
|
5347
|
-
reject(err);
|
|
5348
|
-
URL.revokeObjectURL(workerUrl);
|
|
5349
|
-
worker.terminate();
|
|
5350
|
-
};
|
|
5351
|
-
worker.postMessage({ id, cmd: "parse", payload: raw });
|
|
5352
|
-
});
|
|
5353
|
-
}
|
|
5354
|
-
function spawnStringifyWorker(obj) {
|
|
5355
|
-
return new Promise((resolve, reject) => {
|
|
5356
|
-
const workerUrl = createWorkerBlob();
|
|
5357
|
-
const worker = new Worker(workerUrl);
|
|
5358
|
-
worker.onmessage = (ev) => {
|
|
5359
|
-
const { ok, result, error } = ev.data;
|
|
5360
|
-
if (ok) resolve(result);
|
|
5361
|
-
else reject(new Error(error));
|
|
5362
|
-
URL.revokeObjectURL(workerUrl);
|
|
5363
|
-
worker.terminate();
|
|
5364
|
-
};
|
|
5365
|
-
worker.onerror = (err) => {
|
|
5366
|
-
reject(err);
|
|
5367
|
-
URL.revokeObjectURL(workerUrl);
|
|
5368
|
-
worker.terminate();
|
|
5369
|
-
};
|
|
5370
|
-
worker.postMessage({ cmd: "stringify", payload: obj });
|
|
5371
|
-
});
|
|
5372
|
-
}
|
|
5373
|
-
|
|
5374
|
-
// src/services/filesystem-service/manifest.ts
|
|
5375
|
-
var MANIFEST_PATH = "pos/manifest.json";
|
|
5376
|
-
var MANIFEST_BAK_PATH = "pos/manifest.bak.json";
|
|
5377
|
-
async function writeManifest(manifest) {
|
|
5378
|
-
const oldRaw = await fileService.read(MANIFEST_PATH);
|
|
5379
|
-
if (oldRaw !== null) {
|
|
5380
|
-
await fileService.writeAtomic(MANIFEST_BAK_PATH, oldRaw);
|
|
5381
|
-
}
|
|
5382
|
-
await fileService.writeAtomic(MANIFEST_PATH, JSON.stringify(manifest));
|
|
5383
|
-
try {
|
|
5384
|
-
await fileService.delete(MANIFEST_BAK_PATH);
|
|
5385
|
-
} catch {
|
|
5386
|
-
}
|
|
5387
|
-
}
|
|
5388
|
-
|
|
5389
|
-
// src/services/filesystem-service/import-snapshot.ts
|
|
5390
|
-
var DATA_DIR = "pos";
|
|
5391
|
-
var MODELS_DIR = `${DATA_DIR}/models`;
|
|
5392
|
-
var MODELS_META_DIR = `${DATA_DIR}/models_meta`;
|
|
5393
|
-
var importSnapshot = async ({ data, onProgress }) => {
|
|
5394
|
-
onProgress?.(1, "Parsing snapshot");
|
|
5395
|
-
const parsed = await spawnParseWorker(data);
|
|
5396
|
-
const modelNames = Object.keys(parsed);
|
|
5397
|
-
const total = modelNames.length;
|
|
5398
|
-
const manifest = { version: (/* @__PURE__ */ new Date()).toISOString(), models: {} };
|
|
5399
|
-
const TMP_PREFIX = `pos/data/tmp_import_${Date.now()}`;
|
|
5400
|
-
await fileService.writeAtomic(`${TMP_PREFIX}/.marker`, "1");
|
|
5401
|
-
let i = 0;
|
|
5402
|
-
for (const model of modelNames) {
|
|
5403
|
-
i++;
|
|
5404
|
-
onProgress?.(
|
|
5405
|
-
Math.round(i / total * 100),
|
|
5406
|
-
`Processing ${model} (${i}/${total})`
|
|
5407
|
-
);
|
|
5408
|
-
const block = parsed[model];
|
|
5409
|
-
const dataPart = block?.data ?? block ?? [];
|
|
5410
|
-
const fields = block?.fields ?? [];
|
|
5411
|
-
const relations = block?.relations ?? {};
|
|
5412
|
-
const serialized = await spawnStringifyWorker(dataPart);
|
|
5413
|
-
const tmpModelPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.json`;
|
|
5414
|
-
await fileService.writeAtomic(tmpModelPath, serialized);
|
|
5415
|
-
const meta = {
|
|
5416
|
-
fields,
|
|
5417
|
-
relations,
|
|
5418
|
-
count: Array.isArray(dataPart) ? dataPart.length : 0,
|
|
5419
|
-
writtenAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
5420
|
-
};
|
|
5421
|
-
const tmpMetaPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`;
|
|
5422
|
-
await fileService.writeAtomic(tmpMetaPath, JSON.stringify(meta));
|
|
5423
|
-
manifest.models[model] = {
|
|
5424
|
-
file: `${MODELS_DIR}/${encodeURIComponent(model)}.json`,
|
|
5425
|
-
metaFile: `${MODELS_META_DIR}/${encodeURIComponent(model)}.meta.json`,
|
|
5426
|
-
count: meta.count,
|
|
5427
|
-
updatedAt: meta.writtenAt
|
|
5428
|
-
};
|
|
5429
|
-
}
|
|
5430
|
-
onProgress?.(95, "Committing import (moving files)");
|
|
5431
|
-
for (const model of modelNames) {
|
|
5432
|
-
const tmpModelPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.json`;
|
|
5433
|
-
const finalModelPath = `${MODELS_DIR}/${encodeURIComponent(model)}.json`;
|
|
5434
|
-
const tmpMetaPath = `${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`;
|
|
5435
|
-
const finalMetaPath = `${MODELS_META_DIR}/${encodeURIComponent(
|
|
5436
|
-
model
|
|
5437
|
-
)}.meta.json`;
|
|
5438
|
-
const tmpRaw = await fileService.read(tmpModelPath);
|
|
5439
|
-
if (tmpRaw !== null) await fileService.writeAtomic(finalModelPath, tmpRaw);
|
|
5440
|
-
const tmpMetaRaw = await fileService.read(tmpMetaPath);
|
|
5441
|
-
if (tmpMetaRaw !== null)
|
|
5442
|
-
await fileService.writeAtomic(finalMetaPath, tmpMetaRaw);
|
|
5443
|
-
onProgress?.(
|
|
5444
|
-
95 + Math.round(
|
|
5445
|
-
(Object.keys(manifest.models).indexOf(model) + 1) / modelNames.length * 5
|
|
5446
|
-
),
|
|
5447
|
-
`Committed ${model}`
|
|
5448
|
-
);
|
|
5449
|
-
}
|
|
5450
|
-
await writeManifest(manifest);
|
|
5451
|
-
try {
|
|
5452
|
-
for (const model of modelNames) {
|
|
5453
|
-
await fileService.delete(
|
|
5454
|
-
`${TMP_PREFIX}/${encodeURIComponent(model)}.json`
|
|
5455
|
-
);
|
|
5456
|
-
await fileService.delete(
|
|
5457
|
-
`${TMP_PREFIX}/${encodeURIComponent(model)}.meta.json`
|
|
5458
|
-
);
|
|
5459
|
-
}
|
|
5460
|
-
await fileService.delete(`${TMP_PREFIX}/.marker`);
|
|
5461
|
-
} catch (e) {
|
|
5462
|
-
console.log("Failed to cleanup tmp import files:", e);
|
|
5463
|
-
}
|
|
5464
|
-
onProgress?.(100, "Import complete");
|
|
5465
|
-
return manifest;
|
|
5466
|
-
};
|
|
5467
|
-
var import_snapshot_default = importSnapshot;
|
|
5468
|
-
|
|
5469
|
-
// src/services/filesystem-service/memory-cache.ts
|
|
5470
|
-
var MemoryCache = class {
|
|
5471
|
-
map = /* @__PURE__ */ new Map();
|
|
5472
|
-
get(k) {
|
|
5473
|
-
const e = this.map.get(k);
|
|
5474
|
-
if (!e) return null;
|
|
5475
|
-
if (e.ttl && Date.now() - e.t > e.ttl) {
|
|
5476
|
-
this.map.delete(k);
|
|
5477
|
-
return null;
|
|
5478
|
-
}
|
|
5479
|
-
return e.value;
|
|
5480
|
-
}
|
|
5481
|
-
set(k, v, ttl = 5 * 60 * 1e3) {
|
|
5482
|
-
this.map.set(k, { value: v, t: Date.now(), ttl });
|
|
5483
|
-
}
|
|
5484
|
-
del(k) {
|
|
5485
|
-
this.map.delete(k);
|
|
5486
|
-
}
|
|
5487
|
-
clear() {
|
|
5488
|
-
this.map.clear();
|
|
5489
|
-
}
|
|
5490
|
-
};
|
|
5491
|
-
var memoryCache = new MemoryCache();
|
|
5492
|
-
|
|
5493
|
-
// src/services/filesystem-service/model-loader.ts
|
|
5494
|
-
var MODELS_DIR2 = "pos/models";
|
|
5495
|
-
var MODELS_META_DIR2 = "pos/models_meta";
|
|
5496
|
-
async function loadModelData(modelName, includeMeta = true) {
|
|
5497
|
-
const key = `model:${modelName}:meta:${includeMeta}`;
|
|
5498
|
-
const cached = memoryCache.get(key);
|
|
5499
|
-
if (cached) return cached;
|
|
5500
|
-
const dataPath = `${MODELS_DIR2}/${encodeURIComponent(modelName)}.json`;
|
|
5501
|
-
const metaPath = `${MODELS_META_DIR2}/${encodeURIComponent(
|
|
5502
|
-
modelName
|
|
5503
|
-
)}.meta.json`;
|
|
5504
|
-
const rawData = await fileService.read(dataPath);
|
|
5505
|
-
if (!rawData) return null;
|
|
5506
|
-
const parsedData = await spawnParseWorker(rawData);
|
|
5507
|
-
const data = Array.isArray(parsedData) ? parsedData : [];
|
|
5508
|
-
if (!includeMeta) {
|
|
5509
|
-
const result2 = { data };
|
|
5510
|
-
memoryCache.set(key, result2, 1e3 * 60 * 60);
|
|
5511
|
-
return result2;
|
|
5512
|
-
}
|
|
5513
|
-
const rawMeta = await fileService.read(metaPath);
|
|
5514
|
-
let fields = [];
|
|
5515
|
-
let relations = {};
|
|
5516
|
-
if (rawMeta) {
|
|
5517
|
-
const parsedMeta = await spawnParseWorker(rawMeta);
|
|
5518
|
-
fields = parsedMeta?.fields ?? [];
|
|
5519
|
-
relations = parsedMeta?.relations ?? {};
|
|
5520
|
-
}
|
|
5521
|
-
const result = {
|
|
5522
|
-
data,
|
|
5523
|
-
fields,
|
|
5524
|
-
relations
|
|
5525
|
-
};
|
|
5526
|
-
memoryCache.set(key, result, 1e3 * 60 * 60);
|
|
5527
|
-
return result;
|
|
5528
|
-
}
|
|
5529
|
-
async function loadData(includeMeta = true) {
|
|
5530
|
-
try {
|
|
5531
|
-
const listResult = await fileService.list(MODELS_DIR2);
|
|
5532
|
-
if (!listResult || !Array.isArray(listResult.files)) {
|
|
5533
|
-
console.log("No models found");
|
|
5534
|
-
return {};
|
|
5535
|
-
}
|
|
5536
|
-
const result = {};
|
|
5537
|
-
for (const file of listResult.files) {
|
|
5538
|
-
if (file.type !== "file") continue;
|
|
5539
|
-
if (!file.name.endsWith(".json")) continue;
|
|
5540
|
-
const fileName = file.name;
|
|
5541
|
-
const modelName = fileName.replace(/\.json$/, "");
|
|
5542
|
-
const dataPath = `${MODELS_DIR2}/${fileName}`;
|
|
5543
|
-
const rawData = await fileService.read(dataPath);
|
|
5544
|
-
if (!rawData) continue;
|
|
5545
|
-
const parsedData = await spawnParseWorker(rawData);
|
|
5546
|
-
const data = Array.isArray(parsedData) ? parsedData : [];
|
|
5547
|
-
if (!includeMeta) {
|
|
5548
|
-
result[modelName] = { data };
|
|
5549
|
-
continue;
|
|
5550
|
-
}
|
|
5551
|
-
const metaPath = `${MODELS_META_DIR2}/${encodeURIComponent(
|
|
5552
|
-
modelName
|
|
5553
|
-
)}.meta.json`;
|
|
5554
|
-
const rawMeta = await fileService.read(metaPath);
|
|
5555
|
-
let fields = [];
|
|
5556
|
-
let relations = {};
|
|
5557
|
-
if (rawMeta) {
|
|
5558
|
-
const parsedMeta = await spawnParseWorker(rawMeta);
|
|
5559
|
-
fields = parsedMeta?.fields ?? [];
|
|
5560
|
-
relations = parsedMeta?.relations ?? {};
|
|
5561
|
-
}
|
|
5562
|
-
result[modelName] = {
|
|
5563
|
-
data,
|
|
5564
|
-
fields,
|
|
5565
|
-
relations
|
|
5566
|
-
};
|
|
5567
|
-
}
|
|
5568
|
-
return result;
|
|
5569
|
-
} catch (error) {
|
|
5570
|
-
console.error("Error loading data:", error);
|
|
5571
|
-
throw error;
|
|
5572
|
-
}
|
|
5573
|
-
}
|
|
5574
|
-
|
|
5575
|
-
// src/services/filesystem-service/snapshot-helper.ts
|
|
5576
|
-
var createEmptySnapshot = () => {
|
|
5577
|
-
return {
|
|
5578
|
-
data: []
|
|
5579
|
-
};
|
|
5580
|
-
};
|
|
5581
|
-
var generateNextId = (existingIds, startFrom = 1) => {
|
|
5582
|
-
if (!existingIds || existingIds.length === 0) {
|
|
5583
|
-
return startFrom;
|
|
5584
|
-
}
|
|
5585
|
-
const maxId = Math.max(...existingIds, startFrom - 1);
|
|
5586
|
-
return maxId + 1;
|
|
5587
|
-
};
|
|
5588
|
-
var loadSnapshot = async ({
|
|
5589
|
-
modelName
|
|
5590
|
-
}) => {
|
|
5591
|
-
try {
|
|
5592
|
-
const snapshot = await loadModelData(modelName);
|
|
5593
|
-
if (!snapshot || typeof snapshot !== "object") {
|
|
5594
|
-
console.warn("invalid snapshot, creating new one");
|
|
5595
|
-
return createEmptySnapshot();
|
|
5596
|
-
}
|
|
5597
|
-
return {
|
|
5598
|
-
data: Array.isArray(snapshot.data) ? snapshot.data : []
|
|
5599
|
-
};
|
|
5600
|
-
} catch (error) {
|
|
5601
|
-
console.error("Failed to load snapshot:", error);
|
|
5602
|
-
return createEmptySnapshot();
|
|
5603
|
-
}
|
|
5604
|
-
};
|
|
5605
|
-
var getExistingIds = (snapshot) => {
|
|
5606
|
-
return snapshot.data.map((order) => order.id).filter((id) => typeof id === "number");
|
|
5607
|
-
};
|
|
5608
|
-
var saveSnapshot = async ({
|
|
5609
|
-
snapshot,
|
|
5610
|
-
modelName
|
|
5611
|
-
}) => {
|
|
5612
|
-
try {
|
|
5613
|
-
await import_snapshot_default({
|
|
5614
|
-
data: JSON.stringify({
|
|
5615
|
-
[modelName]: snapshot
|
|
5616
|
-
})
|
|
5617
|
-
});
|
|
5618
|
-
return true;
|
|
5619
|
-
} catch (error) {
|
|
5620
|
-
console.error("failed to save snapshot:", error);
|
|
5621
|
-
return false;
|
|
5622
|
-
}
|
|
5623
|
-
};
|
|
5624
|
-
var addRecordResponseHandler = ({
|
|
5625
|
-
modelName,
|
|
5626
|
-
id,
|
|
5627
|
-
data
|
|
5628
|
-
}) => {
|
|
5629
|
-
if (modelName === "restaurant.floor" /* RESTAURANT_FLOOR */ || modelName === "res.partner" /* RES_PARTNER */) {
|
|
5630
|
-
return [[id, ""]];
|
|
5631
|
-
}
|
|
5632
|
-
return data;
|
|
5633
|
-
};
|
|
5634
|
-
|
|
5635
|
-
// src/services/filesystem-service/model-repository.ts
|
|
5636
|
-
var ModelRepository = class {
|
|
5637
|
-
getAll = async ({ modelName }) => {
|
|
5638
|
-
try {
|
|
5639
|
-
const snapshot = await loadSnapshot({
|
|
5640
|
-
modelName
|
|
5641
|
-
});
|
|
5642
|
-
return snapshot.data;
|
|
5643
|
-
} catch (error) {
|
|
5644
|
-
console.error("failed to get all records:", error);
|
|
5645
|
-
return [];
|
|
5646
|
-
}
|
|
5647
|
-
};
|
|
5648
|
-
getRecord = async ({
|
|
5649
|
-
id,
|
|
5650
|
-
modelName
|
|
5651
|
-
}) => {
|
|
5652
|
-
try {
|
|
5653
|
-
const snapshot = await loadSnapshot({
|
|
5654
|
-
modelName
|
|
5655
|
-
});
|
|
5656
|
-
return snapshot.data.find((record) => record.id === id) || null;
|
|
5657
|
-
} catch (error) {
|
|
5658
|
-
console.error("failed to get record:", error);
|
|
5659
|
-
return null;
|
|
5660
|
-
}
|
|
5661
|
-
};
|
|
5662
|
-
addRecord = async ({
|
|
5663
|
-
newRecord,
|
|
5664
|
-
modelName
|
|
5665
|
-
}) => {
|
|
5666
|
-
try {
|
|
5667
|
-
const snapshot = await loadSnapshot({
|
|
5668
|
-
modelName
|
|
5669
|
-
});
|
|
5670
|
-
const existingIds = getExistingIds(snapshot);
|
|
5671
|
-
const newId = generateNextId(existingIds, snapshot.data.length);
|
|
5672
|
-
snapshot.data.push({
|
|
5673
|
-
...newRecord,
|
|
5674
|
-
id: newId
|
|
5675
|
-
});
|
|
5676
|
-
const saved = await saveSnapshot({
|
|
5677
|
-
snapshot,
|
|
5678
|
-
modelName
|
|
5679
|
-
});
|
|
5680
|
-
if (!saved) {
|
|
5681
|
-
console.error("failed to add new record");
|
|
5682
|
-
return [];
|
|
5683
|
-
}
|
|
5684
|
-
console.log("lib data:", snapshot.data);
|
|
5685
|
-
const response = addRecordResponseHandler({
|
|
5686
|
-
id: newId,
|
|
5687
|
-
modelName,
|
|
5688
|
-
data: snapshot.data
|
|
5689
|
-
});
|
|
5690
|
-
return response;
|
|
5691
|
-
} catch (error) {
|
|
5692
|
-
console.error("failed to add new record:", error);
|
|
5693
|
-
return [];
|
|
5694
|
-
}
|
|
5695
|
-
};
|
|
5696
|
-
updateRecord = async ({
|
|
5697
|
-
id,
|
|
5698
|
-
update,
|
|
5699
|
-
modelName
|
|
5700
|
-
}) => {
|
|
5701
|
-
try {
|
|
5702
|
-
const snapshot = await loadSnapshot({
|
|
5703
|
-
modelName
|
|
5704
|
-
});
|
|
5705
|
-
const index = snapshot.data.findIndex((record) => record.id === id);
|
|
5706
|
-
if (index === -1) {
|
|
5707
|
-
console.error(`record with id ${id} not found`);
|
|
5708
|
-
return false;
|
|
5709
|
-
}
|
|
5710
|
-
snapshot.data[index] = {
|
|
5711
|
-
...snapshot.data[index],
|
|
5712
|
-
...update
|
|
5713
|
-
};
|
|
5714
|
-
return await saveSnapshot({
|
|
5715
|
-
snapshot,
|
|
5716
|
-
modelName
|
|
5717
|
-
});
|
|
5718
|
-
} catch (error) {
|
|
5719
|
-
console.error("error updating record:", error);
|
|
5720
|
-
return false;
|
|
5721
|
-
}
|
|
5722
|
-
};
|
|
5723
|
-
deleteRecord = async ({
|
|
5724
|
-
id,
|
|
5725
|
-
modelName
|
|
5726
|
-
}) => {
|
|
5727
|
-
try {
|
|
5728
|
-
const snapshot = await loadSnapshot({
|
|
5729
|
-
modelName
|
|
5730
|
-
});
|
|
5731
|
-
const before = snapshot.data.length;
|
|
5732
|
-
snapshot.data = snapshot.data.filter((record) => record.id !== id);
|
|
5733
|
-
if (snapshot.data.length === before) {
|
|
5734
|
-
console.error(`record with id ${id} not found`);
|
|
5735
|
-
return false;
|
|
5736
|
-
}
|
|
5737
|
-
return await saveSnapshot({
|
|
5738
|
-
snapshot,
|
|
5739
|
-
modelName
|
|
5740
|
-
});
|
|
5741
|
-
} catch (error) {
|
|
5742
|
-
console.error("error deleting record:", error);
|
|
5743
|
-
return false;
|
|
5744
|
-
}
|
|
5745
|
-
};
|
|
5746
|
-
};
|
|
5747
|
-
|
|
5748
|
-
// src/services/pos-service/add-entity.ts
|
|
5749
5261
|
var addEntityService = (env) => {
|
|
5750
|
-
const isLocalMode = env?.isLocalMode;
|
|
5751
|
-
const repo = new ModelRepository();
|
|
5752
5262
|
const addEntity = (0, import_react14.useCallback)(
|
|
5753
5263
|
({
|
|
5754
5264
|
model,
|
|
@@ -5757,12 +5267,6 @@ var addEntityService = (env) => {
|
|
|
5757
5267
|
service,
|
|
5758
5268
|
isCreateEndpoint = false
|
|
5759
5269
|
}) => {
|
|
5760
|
-
if (isLocalMode) {
|
|
5761
|
-
return repo.addRecord({
|
|
5762
|
-
newRecord: values,
|
|
5763
|
-
modelName: model
|
|
5764
|
-
});
|
|
5765
|
-
}
|
|
5766
5270
|
const jsonData = {
|
|
5767
5271
|
model,
|
|
5768
5272
|
values
|
|
@@ -5779,7 +5283,7 @@ var addEntityService = (env) => {
|
|
|
5779
5283
|
service
|
|
5780
5284
|
);
|
|
5781
5285
|
},
|
|
5782
|
-
[env
|
|
5286
|
+
[env]
|
|
5783
5287
|
);
|
|
5784
5288
|
return {
|
|
5785
5289
|
addEntity
|
|
@@ -5901,8 +5405,6 @@ var createEInvoiceService = (env) => {
|
|
|
5901
5405
|
// src/services/pos-service/create-entity.ts
|
|
5902
5406
|
var import_react18 = require("react");
|
|
5903
5407
|
var createEntityService = (env) => {
|
|
5904
|
-
const isLocalMode = env?.isLocalMode;
|
|
5905
|
-
const repo = new ModelRepository();
|
|
5906
5408
|
const createEntity = (0, import_react18.useCallback)(
|
|
5907
5409
|
({
|
|
5908
5410
|
model,
|
|
@@ -5910,12 +5412,6 @@ var createEntityService = (env) => {
|
|
|
5910
5412
|
xNode,
|
|
5911
5413
|
service
|
|
5912
5414
|
}) => {
|
|
5913
|
-
if (isLocalMode) {
|
|
5914
|
-
return repo.addRecord({
|
|
5915
|
-
newRecord: args[0],
|
|
5916
|
-
modelName: model
|
|
5917
|
-
});
|
|
5918
|
-
}
|
|
5919
5415
|
const jsonData = {
|
|
5920
5416
|
model,
|
|
5921
5417
|
method: "create" /* CREATE */,
|
|
@@ -5933,7 +5429,7 @@ var createEntityService = (env) => {
|
|
|
5933
5429
|
service
|
|
5934
5430
|
);
|
|
5935
5431
|
},
|
|
5936
|
-
[env
|
|
5432
|
+
[env]
|
|
5937
5433
|
);
|
|
5938
5434
|
return {
|
|
5939
5435
|
createEntity
|
|
@@ -6018,8 +5514,6 @@ var createSessionService = (env) => {
|
|
|
6018
5514
|
// src/services/pos-service/delete-entity.ts
|
|
6019
5515
|
var import_react21 = require("react");
|
|
6020
5516
|
var deleteEntityService = (env) => {
|
|
6021
|
-
const isLocalMode = env?.isLocalMode;
|
|
6022
|
-
const repo = new ModelRepository();
|
|
6023
5517
|
const deleteEntity = (0, import_react21.useCallback)(
|
|
6024
5518
|
({
|
|
6025
5519
|
model,
|
|
@@ -6028,14 +5522,6 @@ var deleteEntityService = (env) => {
|
|
|
6028
5522
|
service,
|
|
6029
5523
|
method
|
|
6030
5524
|
}) => {
|
|
6031
|
-
if (isLocalMode) {
|
|
6032
|
-
const id = ids[0];
|
|
6033
|
-
if (!id) return;
|
|
6034
|
-
return repo.deleteRecord({
|
|
6035
|
-
modelName: model,
|
|
6036
|
-
id
|
|
6037
|
-
});
|
|
6038
|
-
}
|
|
6039
5525
|
const jsonData = {
|
|
6040
5526
|
model,
|
|
6041
5527
|
ids,
|
|
@@ -6053,7 +5539,7 @@ var deleteEntityService = (env) => {
|
|
|
6053
5539
|
service
|
|
6054
5540
|
);
|
|
6055
5541
|
},
|
|
6056
|
-
[env
|
|
5542
|
+
[env]
|
|
6057
5543
|
);
|
|
6058
5544
|
return {
|
|
6059
5545
|
deleteEntity
|
|
@@ -6130,8 +5616,6 @@ var getCurrentUserService = (env) => {
|
|
|
6130
5616
|
// src/services/pos-service/get-list.ts
|
|
6131
5617
|
var import_react24 = require("react");
|
|
6132
5618
|
var getListService = (env) => {
|
|
6133
|
-
const isLocalMode = env?.isLocalMode;
|
|
6134
|
-
const repo = new ModelRepository();
|
|
6135
5619
|
const getList = (0, import_react24.useCallback)(
|
|
6136
5620
|
async ({
|
|
6137
5621
|
model,
|
|
@@ -6142,12 +5626,6 @@ var getListService = (env) => {
|
|
|
6142
5626
|
offset,
|
|
6143
5627
|
limit
|
|
6144
5628
|
}) => {
|
|
6145
|
-
if (isLocalMode) {
|
|
6146
|
-
const data = await repo.getAll({
|
|
6147
|
-
modelName: model
|
|
6148
|
-
});
|
|
6149
|
-
return data;
|
|
6150
|
-
}
|
|
6151
5629
|
const jsonData = {
|
|
6152
5630
|
model,
|
|
6153
5631
|
method: "web_search_read" /* WEB_SEARCH_READ */,
|
|
@@ -6170,7 +5648,7 @@ var getListService = (env) => {
|
|
|
6170
5648
|
service
|
|
6171
5649
|
);
|
|
6172
5650
|
},
|
|
6173
|
-
[env
|
|
5651
|
+
[env]
|
|
6174
5652
|
);
|
|
6175
5653
|
return {
|
|
6176
5654
|
getList
|
|
@@ -6498,10 +5976,57 @@ var handleClosingSessionService = (env) => {
|
|
|
6498
5976
|
};
|
|
6499
5977
|
|
|
6500
5978
|
// src/services/pos-service/load-data-pos-session.ts
|
|
5979
|
+
var import_react34 = require("react");
|
|
5980
|
+
|
|
5981
|
+
// src/provider/supabase-provider.tsx
|
|
6501
5982
|
var import_react33 = require("react");
|
|
5983
|
+
var import_supabase_js = require("@supabase/supabase-js");
|
|
5984
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
5985
|
+
var SupabaseContext = (0, import_react33.createContext)(null);
|
|
5986
|
+
var SupabaseProvider = ({
|
|
5987
|
+
supabaseUrl,
|
|
5988
|
+
supabaseKey,
|
|
5989
|
+
children
|
|
5990
|
+
}) => {
|
|
5991
|
+
const supabase = (0, import_react33.useMemo)(() => {
|
|
5992
|
+
if (!supabaseUrl || !supabaseKey) return null;
|
|
5993
|
+
return (0, import_supabase_js.createClient)(supabaseUrl, supabaseKey);
|
|
5994
|
+
}, [supabaseUrl, supabaseKey]);
|
|
5995
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SupabaseContext.Provider, { value: supabase, children });
|
|
5996
|
+
};
|
|
5997
|
+
var useSupabase = () => {
|
|
5998
|
+
const context = (0, import_react33.useContext)(SupabaseContext);
|
|
5999
|
+
if (!context) {
|
|
6000
|
+
throw new Error(
|
|
6001
|
+
"useSupabase must be used within a SupabaseProvider or check your env config"
|
|
6002
|
+
);
|
|
6003
|
+
}
|
|
6004
|
+
return context;
|
|
6005
|
+
};
|
|
6006
|
+
var useSupabaseOptional = () => {
|
|
6007
|
+
return (0, import_react33.useContext)(SupabaseContext);
|
|
6008
|
+
};
|
|
6009
|
+
|
|
6010
|
+
// src/services/pos-service/load-data-pos-session.ts
|
|
6011
|
+
var MODEL_TO_TABLE = {
|
|
6012
|
+
["account.tax" /* ACCOUNT_TAX */]: "account_taxes",
|
|
6013
|
+
["res.company" /* RES_COMPANY */]: "companies",
|
|
6014
|
+
["res.partner" /* RES_PARTNER */]: "customers",
|
|
6015
|
+
["res.users" /* RES_USERS */]: "employees",
|
|
6016
|
+
["loyalty.program" /* LOYALTY_PROGRAM */]: "loyalty_programs",
|
|
6017
|
+
["loyalty.rule" /* LOYALTY_RULE */]: "loyalty_rules",
|
|
6018
|
+
["pos.order.line" /* POS_ORDER_LINE */]: "order_lines",
|
|
6019
|
+
["pos.order" /* POS_ORDER */]: "orders",
|
|
6020
|
+
["pos.payment.method" /* POS_PAYMENT_METHOD */]: "payment_methods",
|
|
6021
|
+
["pos.payment" /* POS_PAYMENT */]: "payments",
|
|
6022
|
+
["product.category" /* PRODUCT_CATEGORY */]: "product_categories",
|
|
6023
|
+
["product.product" /* PRODUCT_PRODUCT */]: "products",
|
|
6024
|
+
["restaurant.floor" /* RESTAURANT_FLOOR */]: "restaurant_floors",
|
|
6025
|
+
["restaurant.table" /* RESTAURANT_TABLE */]: "restaurant_tables"
|
|
6026
|
+
};
|
|
6502
6027
|
var loadDataPosSessionService = (env) => {
|
|
6503
|
-
const
|
|
6504
|
-
const loadDataPosSession = (0,
|
|
6028
|
+
const supabase = useSupabaseOptional();
|
|
6029
|
+
const loadDataPosSession = (0, import_react34.useCallback)(
|
|
6505
6030
|
async ({
|
|
6506
6031
|
model,
|
|
6507
6032
|
ids,
|
|
@@ -6511,10 +6036,6 @@ var loadDataPosSessionService = (env) => {
|
|
|
6511
6036
|
modelsToLoad = [],
|
|
6512
6037
|
searchParams
|
|
6513
6038
|
}) => {
|
|
6514
|
-
if (isLocalMode) {
|
|
6515
|
-
const data = await loadData();
|
|
6516
|
-
return data;
|
|
6517
|
-
}
|
|
6518
6039
|
const jsonData = {
|
|
6519
6040
|
model,
|
|
6520
6041
|
method: "load_data" /* LOAD_DATA */,
|
|
@@ -6541,17 +6062,74 @@ var loadDataPosSessionService = (env) => {
|
|
|
6541
6062
|
service
|
|
6542
6063
|
);
|
|
6543
6064
|
},
|
|
6544
|
-
[env
|
|
6065
|
+
[env]
|
|
6545
6066
|
);
|
|
6067
|
+
const loadDataPosSessionSupabase = (0, import_react34.useCallback)(async () => {
|
|
6068
|
+
try {
|
|
6069
|
+
const allModels = Object.values(LoadDataModel);
|
|
6070
|
+
const promises = allModels.map(async (modelName) => {
|
|
6071
|
+
const tableName = MODEL_TO_TABLE[modelName];
|
|
6072
|
+
if (!tableName) {
|
|
6073
|
+
return {
|
|
6074
|
+
modelName,
|
|
6075
|
+
data: [],
|
|
6076
|
+
fields: {},
|
|
6077
|
+
relations: {}
|
|
6078
|
+
};
|
|
6079
|
+
}
|
|
6080
|
+
if (!supabase) {
|
|
6081
|
+
return {
|
|
6082
|
+
modelName,
|
|
6083
|
+
data: [],
|
|
6084
|
+
fields: {},
|
|
6085
|
+
relations: {}
|
|
6086
|
+
};
|
|
6087
|
+
}
|
|
6088
|
+
const { data, error } = await supabase.from(tableName).select("*");
|
|
6089
|
+
if (error) {
|
|
6090
|
+
console.error(`Error loading ${modelName}:`, error);
|
|
6091
|
+
return {
|
|
6092
|
+
modelName,
|
|
6093
|
+
data: [],
|
|
6094
|
+
fields: {},
|
|
6095
|
+
relations: {}
|
|
6096
|
+
};
|
|
6097
|
+
}
|
|
6098
|
+
return {
|
|
6099
|
+
modelName,
|
|
6100
|
+
data: data || [],
|
|
6101
|
+
fields: {},
|
|
6102
|
+
relations: {}
|
|
6103
|
+
};
|
|
6104
|
+
});
|
|
6105
|
+
const results = await Promise.all(promises);
|
|
6106
|
+
const response = results.reduce(
|
|
6107
|
+
(acc, { modelName, data, fields, relations }) => {
|
|
6108
|
+
acc[modelName] = {
|
|
6109
|
+
data,
|
|
6110
|
+
fields,
|
|
6111
|
+
relations
|
|
6112
|
+
};
|
|
6113
|
+
return acc;
|
|
6114
|
+
},
|
|
6115
|
+
{}
|
|
6116
|
+
);
|
|
6117
|
+
return response;
|
|
6118
|
+
} catch (error) {
|
|
6119
|
+
console.error("Error loading data from Supabase:", error);
|
|
6120
|
+
return {};
|
|
6121
|
+
}
|
|
6122
|
+
}, [supabase]);
|
|
6546
6123
|
return {
|
|
6547
|
-
loadDataPosSession
|
|
6124
|
+
loadDataPosSession,
|
|
6125
|
+
loadDataPosSessionSupabase
|
|
6548
6126
|
};
|
|
6549
6127
|
};
|
|
6550
6128
|
|
|
6551
6129
|
// src/services/pos-service/manage-onchange.ts
|
|
6552
|
-
var
|
|
6130
|
+
var import_react35 = require("react");
|
|
6553
6131
|
var manageOnchangeService = (env) => {
|
|
6554
|
-
const manageOnChange = (0,
|
|
6132
|
+
const manageOnChange = (0, import_react35.useCallback)(
|
|
6555
6133
|
({
|
|
6556
6134
|
model,
|
|
6557
6135
|
ids,
|
|
@@ -6585,9 +6163,9 @@ var manageOnchangeService = (env) => {
|
|
|
6585
6163
|
};
|
|
6586
6164
|
|
|
6587
6165
|
// src/services/pos-service/manage-session.ts
|
|
6588
|
-
var
|
|
6166
|
+
var import_react36 = require("react");
|
|
6589
6167
|
var manageSessionService = (env) => {
|
|
6590
|
-
const manageSession = (0,
|
|
6168
|
+
const manageSession = (0, import_react36.useCallback)(
|
|
6591
6169
|
({
|
|
6592
6170
|
model,
|
|
6593
6171
|
method,
|
|
@@ -6624,9 +6202,9 @@ var manageSessionService = (env) => {
|
|
|
6624
6202
|
};
|
|
6625
6203
|
|
|
6626
6204
|
// src/services/pos-service/process-order.ts
|
|
6627
|
-
var
|
|
6205
|
+
var import_react37 = require("react");
|
|
6628
6206
|
var processOrderService = (env) => {
|
|
6629
|
-
const processOrder = (0,
|
|
6207
|
+
const processOrder = (0, import_react37.useCallback)(
|
|
6630
6208
|
({
|
|
6631
6209
|
orderId,
|
|
6632
6210
|
xNode,
|
|
@@ -6659,9 +6237,9 @@ var processOrderService = (env) => {
|
|
|
6659
6237
|
};
|
|
6660
6238
|
|
|
6661
6239
|
// src/services/pos-service/save-pin-code.ts
|
|
6662
|
-
var
|
|
6240
|
+
var import_react38 = require("react");
|
|
6663
6241
|
var savePinCodeService = (env) => {
|
|
6664
|
-
const savePinCode = (0,
|
|
6242
|
+
const savePinCode = (0, import_react38.useCallback)(
|
|
6665
6243
|
({
|
|
6666
6244
|
serialNumber,
|
|
6667
6245
|
pinCode,
|
|
@@ -6692,9 +6270,9 @@ var savePinCodeService = (env) => {
|
|
|
6692
6270
|
};
|
|
6693
6271
|
|
|
6694
6272
|
// src/services/pos-service/search-journal.ts
|
|
6695
|
-
var
|
|
6273
|
+
var import_react39 = require("react");
|
|
6696
6274
|
var searchJournalService = (env) => {
|
|
6697
|
-
const searchJournal = (0,
|
|
6275
|
+
const searchJournal = (0, import_react39.useCallback)(
|
|
6698
6276
|
({
|
|
6699
6277
|
model,
|
|
6700
6278
|
method,
|
|
@@ -6729,9 +6307,9 @@ var searchJournalService = (env) => {
|
|
|
6729
6307
|
};
|
|
6730
6308
|
|
|
6731
6309
|
// src/services/pos-service/update-closed-session.ts
|
|
6732
|
-
var
|
|
6310
|
+
var import_react40 = require("react");
|
|
6733
6311
|
var updateClosedSessionService = (env) => {
|
|
6734
|
-
const updateClosedSession = (0,
|
|
6312
|
+
const updateClosedSession = (0, import_react40.useCallback)(
|
|
6735
6313
|
({
|
|
6736
6314
|
model,
|
|
6737
6315
|
domain,
|
|
@@ -6764,11 +6342,9 @@ var updateClosedSessionService = (env) => {
|
|
|
6764
6342
|
};
|
|
6765
6343
|
|
|
6766
6344
|
// src/services/pos-service/update-entity.ts
|
|
6767
|
-
var
|
|
6345
|
+
var import_react41 = require("react");
|
|
6768
6346
|
var updateEntityService = (env) => {
|
|
6769
|
-
const
|
|
6770
|
-
const repo = new ModelRepository();
|
|
6771
|
-
const updateEntity = (0, import_react40.useCallback)(
|
|
6347
|
+
const updateEntity = (0, import_react41.useCallback)(
|
|
6772
6348
|
({
|
|
6773
6349
|
model,
|
|
6774
6350
|
domain,
|
|
@@ -6777,15 +6353,6 @@ var updateEntityService = (env) => {
|
|
|
6777
6353
|
xNode,
|
|
6778
6354
|
service
|
|
6779
6355
|
}) => {
|
|
6780
|
-
if (isLocalMode) {
|
|
6781
|
-
const id = extractIdFromDomain(domain);
|
|
6782
|
-
if (!id) return;
|
|
6783
|
-
return repo.updateRecord({
|
|
6784
|
-
update: values,
|
|
6785
|
-
modelName: model,
|
|
6786
|
-
id
|
|
6787
|
-
});
|
|
6788
|
-
}
|
|
6789
6356
|
const jsonData = {
|
|
6790
6357
|
model,
|
|
6791
6358
|
domain,
|
|
@@ -6803,7 +6370,7 @@ var updateEntityService = (env) => {
|
|
|
6803
6370
|
service
|
|
6804
6371
|
);
|
|
6805
6372
|
},
|
|
6806
|
-
[env
|
|
6373
|
+
[env]
|
|
6807
6374
|
);
|
|
6808
6375
|
return {
|
|
6809
6376
|
updateEntity
|
|
@@ -6811,9 +6378,9 @@ var updateEntityService = (env) => {
|
|
|
6811
6378
|
};
|
|
6812
6379
|
|
|
6813
6380
|
// src/services/pos-service/update-order-status.ts
|
|
6814
|
-
var
|
|
6381
|
+
var import_react42 = require("react");
|
|
6815
6382
|
var updateOrderStatusService = (env) => {
|
|
6816
|
-
const updateOrderStatus = (0,
|
|
6383
|
+
const updateOrderStatus = (0, import_react42.useCallback)(
|
|
6817
6384
|
({
|
|
6818
6385
|
orderId,
|
|
6819
6386
|
state,
|
|
@@ -6844,9 +6411,9 @@ var updateOrderStatusService = (env) => {
|
|
|
6844
6411
|
};
|
|
6845
6412
|
|
|
6846
6413
|
// src/services/pos-service/complete-current-stage.ts
|
|
6847
|
-
var
|
|
6414
|
+
var import_react43 = require("react");
|
|
6848
6415
|
var completeCurrentStageService = (env) => {
|
|
6849
|
-
const completeCurrentStage = (0,
|
|
6416
|
+
const completeCurrentStage = (0, import_react43.useCallback)(
|
|
6850
6417
|
({
|
|
6851
6418
|
ids,
|
|
6852
6419
|
withContext,
|
|
@@ -6929,57 +6496,13 @@ var usePosService = () => {
|
|
|
6929
6496
|
return service;
|
|
6930
6497
|
};
|
|
6931
6498
|
|
|
6932
|
-
// src/services/filesystem-service/init-snapshot.ts
|
|
6933
|
-
var isSnapshotReady = async () => {
|
|
6934
|
-
try {
|
|
6935
|
-
const raw = await fileService.read("pos/manifest.json");
|
|
6936
|
-
if (!raw) return false;
|
|
6937
|
-
const manifest = JSON.parse(raw);
|
|
6938
|
-
if (!manifest.models || typeof manifest.models !== "object") {
|
|
6939
|
-
return false;
|
|
6940
|
-
}
|
|
6941
|
-
const modelEntries = Object.values(manifest.models);
|
|
6942
|
-
if (modelEntries.length === 0) return false;
|
|
6943
|
-
const firstModel = modelEntries[0];
|
|
6944
|
-
if (!firstModel.file) return false;
|
|
6945
|
-
const modelExists = await fileService.exists(firstModel.file);
|
|
6946
|
-
return modelExists;
|
|
6947
|
-
} catch {
|
|
6948
|
-
return false;
|
|
6949
|
-
}
|
|
6950
|
-
};
|
|
6951
|
-
async function initSnapshot(onProgress) {
|
|
6952
|
-
const ready = await isSnapshotReady();
|
|
6953
|
-
if (ready) {
|
|
6954
|
-
console.log("skip initialization.");
|
|
6955
|
-
return;
|
|
6956
|
-
}
|
|
6957
|
-
console.log("initializing from data.json...");
|
|
6958
|
-
const jsonData = await fetch("/data.json").then((r) => r.text());
|
|
6959
|
-
if (!jsonData) {
|
|
6960
|
-
console.error("cannot load data.json");
|
|
6961
|
-
return;
|
|
6962
|
-
}
|
|
6963
|
-
await import_snapshot_default({
|
|
6964
|
-
data: jsonData,
|
|
6965
|
-
onProgress
|
|
6966
|
-
});
|
|
6967
|
-
}
|
|
6968
|
-
|
|
6969
|
-
// src/services/filesystem-service/index.ts
|
|
6970
|
-
var useFileSystemService = () => {
|
|
6971
|
-
return {
|
|
6972
|
-
initSnapshot
|
|
6973
|
-
};
|
|
6974
|
-
};
|
|
6975
|
-
|
|
6976
6499
|
// src/provider/version-gate-provider.tsx
|
|
6977
|
-
var
|
|
6500
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
6978
6501
|
var VersionGate = ({ children }) => {
|
|
6979
6502
|
const queryClient = (0, import_react_query2.useQueryClient)();
|
|
6980
|
-
const [ready, setReady] = (0,
|
|
6503
|
+
const [ready, setReady] = (0, import_react44.useState)(false);
|
|
6981
6504
|
const { getVersion } = useViewService();
|
|
6982
|
-
(0,
|
|
6505
|
+
(0, import_react44.useEffect)(() => {
|
|
6983
6506
|
const clearVersion = () => {
|
|
6984
6507
|
queryClient.clear();
|
|
6985
6508
|
localStorage.removeItem("__api_version__");
|
|
@@ -7006,11 +6529,11 @@ var VersionGate = ({ children }) => {
|
|
|
7006
6529
|
return () => window.removeEventListener("keydown", onKey);
|
|
7007
6530
|
}
|
|
7008
6531
|
}, [queryClient]);
|
|
7009
|
-
return ready ? /* @__PURE__ */ (0,
|
|
6532
|
+
return ready ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children }) : null;
|
|
7010
6533
|
};
|
|
7011
6534
|
|
|
7012
6535
|
// src/provider/env-provider.tsx
|
|
7013
|
-
var
|
|
6536
|
+
var import_react45 = require("react");
|
|
7014
6537
|
|
|
7015
6538
|
// src/configs/axios-client.ts
|
|
7016
6539
|
var import_axios = __toESM(require("axios"));
|
|
@@ -7339,7 +6862,7 @@ var axiosClient = {
|
|
|
7339
6862
|
};
|
|
7340
6863
|
|
|
7341
6864
|
// src/provider/env-provider.tsx
|
|
7342
|
-
var
|
|
6865
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
7343
6866
|
var initialEnvState = {
|
|
7344
6867
|
env: null,
|
|
7345
6868
|
baseUrl: "",
|
|
@@ -7361,20 +6884,20 @@ var initialEnvState = {
|
|
|
7361
6884
|
tz: "Asia/Saigon"
|
|
7362
6885
|
},
|
|
7363
6886
|
excludeLanguages: [],
|
|
7364
|
-
|
|
6887
|
+
isSupaMode: false
|
|
7365
6888
|
};
|
|
7366
|
-
var EnvContext = (0,
|
|
6889
|
+
var EnvContext = (0, import_react45.createContext)(null);
|
|
7367
6890
|
function EnvProvider({
|
|
7368
6891
|
children,
|
|
7369
6892
|
localStorageUtils: localStorageUtil = localStorageUtils(),
|
|
7370
6893
|
sessionStorageUtils: sessionStorageUtil = sessionStorageUtils
|
|
7371
6894
|
}) {
|
|
7372
|
-
const [env, setEnvState] = (0,
|
|
6895
|
+
const [env, setEnvState] = (0, import_react45.useState)({
|
|
7373
6896
|
...initialEnvState,
|
|
7374
6897
|
localStorageUtils: localStorageUtil,
|
|
7375
6898
|
sessionStorageUtils: sessionStorageUtil
|
|
7376
6899
|
});
|
|
7377
|
-
const setupEnv = (0,
|
|
6900
|
+
const setupEnv = (0, import_react45.useCallback)(
|
|
7378
6901
|
(envConfig) => {
|
|
7379
6902
|
const updatedEnv = {
|
|
7380
6903
|
...env,
|
|
@@ -7388,31 +6911,31 @@ function EnvProvider({
|
|
|
7388
6911
|
},
|
|
7389
6912
|
[env, localStorageUtil, sessionStorageUtil]
|
|
7390
6913
|
);
|
|
7391
|
-
const setUid2 = (0,
|
|
6914
|
+
const setUid2 = (0, import_react45.useCallback)((uid) => {
|
|
7392
6915
|
setEnvState((prev) => ({
|
|
7393
6916
|
...prev,
|
|
7394
6917
|
context: { ...prev.context, uid }
|
|
7395
6918
|
}));
|
|
7396
6919
|
}, []);
|
|
7397
|
-
const setLang2 = (0,
|
|
6920
|
+
const setLang2 = (0, import_react45.useCallback)((lang) => {
|
|
7398
6921
|
setEnvState((prev) => ({
|
|
7399
6922
|
...prev,
|
|
7400
6923
|
context: { ...prev.context, lang }
|
|
7401
6924
|
}));
|
|
7402
6925
|
}, []);
|
|
7403
|
-
const setAllowCompanies2 = (0,
|
|
6926
|
+
const setAllowCompanies2 = (0, import_react45.useCallback)((allowed_company_ids) => {
|
|
7404
6927
|
setEnvState((prev) => ({
|
|
7405
6928
|
...prev,
|
|
7406
6929
|
context: { ...prev.context, allowed_company_ids }
|
|
7407
6930
|
}));
|
|
7408
6931
|
}, []);
|
|
7409
|
-
const setCompanies2 = (0,
|
|
6932
|
+
const setCompanies2 = (0, import_react45.useCallback)((companies) => {
|
|
7410
6933
|
setEnvState((prev) => ({
|
|
7411
6934
|
...prev,
|
|
7412
6935
|
companies
|
|
7413
6936
|
}));
|
|
7414
6937
|
}, []);
|
|
7415
|
-
const setDefaultCompany2 = (0,
|
|
6938
|
+
const setDefaultCompany2 = (0, import_react45.useCallback)(
|
|
7416
6939
|
(defaultCompany) => {
|
|
7417
6940
|
setEnvState((prev) => ({
|
|
7418
6941
|
...prev,
|
|
@@ -7421,25 +6944,25 @@ function EnvProvider({
|
|
|
7421
6944
|
},
|
|
7422
6945
|
[]
|
|
7423
6946
|
);
|
|
7424
|
-
const setUserInfo = (0,
|
|
6947
|
+
const setUserInfo = (0, import_react45.useCallback)((user) => {
|
|
7425
6948
|
setEnvState((prev) => ({
|
|
7426
6949
|
...prev,
|
|
7427
6950
|
user
|
|
7428
6951
|
}));
|
|
7429
6952
|
}, []);
|
|
7430
|
-
const setConfig2 = (0,
|
|
6953
|
+
const setConfig2 = (0, import_react45.useCallback)((config) => {
|
|
7431
6954
|
setEnvState((prev) => ({
|
|
7432
6955
|
...prev,
|
|
7433
6956
|
config
|
|
7434
6957
|
}));
|
|
7435
6958
|
}, []);
|
|
7436
|
-
const setEnvFile2 = (0,
|
|
6959
|
+
const setEnvFile2 = (0, import_react45.useCallback)((envFile) => {
|
|
7437
6960
|
setEnvState((prev) => ({
|
|
7438
6961
|
...prev,
|
|
7439
6962
|
envFile
|
|
7440
6963
|
}));
|
|
7441
6964
|
}, []);
|
|
7442
|
-
return /* @__PURE__ */ (0,
|
|
6965
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
7443
6966
|
EnvContext.Provider,
|
|
7444
6967
|
{
|
|
7445
6968
|
value: {
|
|
@@ -7459,7 +6982,7 @@ function EnvProvider({
|
|
|
7459
6982
|
);
|
|
7460
6983
|
}
|
|
7461
6984
|
function useEnv() {
|
|
7462
|
-
const context = (0,
|
|
6985
|
+
const context = (0, import_react45.useContext)(EnvContext);
|
|
7463
6986
|
if (!context) {
|
|
7464
6987
|
throw new Error("useEnv must be used within an EnvProvider");
|
|
7465
6988
|
}
|
|
@@ -7467,7 +6990,7 @@ function useEnv() {
|
|
|
7467
6990
|
}
|
|
7468
6991
|
|
|
7469
6992
|
// src/provider/service-provider.tsx
|
|
7470
|
-
var
|
|
6993
|
+
var import_react47 = require("react");
|
|
7471
6994
|
|
|
7472
6995
|
// src/hooks/auth/use-forgot-password.ts
|
|
7473
6996
|
var import_react_query3 = require("@tanstack/react-query");
|
|
@@ -8339,9 +7862,9 @@ var BaseModel = class {
|
|
|
8339
7862
|
};
|
|
8340
7863
|
|
|
8341
7864
|
// src/hooks/model/use-model.ts
|
|
8342
|
-
var
|
|
7865
|
+
var import_react46 = require("react");
|
|
8343
7866
|
var useModel = () => {
|
|
8344
|
-
const initModel = (0,
|
|
7867
|
+
const initModel = (0, import_react46.useCallback)((modelData) => {
|
|
8345
7868
|
switch (modelData?.name) {
|
|
8346
7869
|
default:
|
|
8347
7870
|
return new BaseModel(modelData);
|
|
@@ -9358,8 +8881,9 @@ var use_handle_closing_session_default = useHandleClosingSession;
|
|
|
9358
8881
|
var import_react_query104 = require("@tanstack/react-query");
|
|
9359
8882
|
var useLoadDataPosSession = () => {
|
|
9360
8883
|
const pos = usePosService();
|
|
8884
|
+
const { env } = useEnv();
|
|
9361
8885
|
return (0, import_react_query104.useMutation)({
|
|
9362
|
-
mutationFn: pos.loadDataPosSession
|
|
8886
|
+
mutationFn: env.isSupaMode ? pos.loadDataPosSessionSupabase : pos.loadDataPosSession
|
|
9363
8887
|
});
|
|
9364
8888
|
};
|
|
9365
8889
|
var use_load_data_pos_session_default = useLoadDataPosSession;
|
|
@@ -9444,29 +8968,19 @@ var useUpdateOrderStatus = () => {
|
|
|
9444
8968
|
};
|
|
9445
8969
|
var use_update_order_status_default = useUpdateOrderStatus;
|
|
9446
8970
|
|
|
9447
|
-
// src/hooks/pos/use-init-snapshot.ts
|
|
9448
|
-
var import_react_query113 = require("@tanstack/react-query");
|
|
9449
|
-
var useInitSnapshot = () => {
|
|
9450
|
-
const fileSystem = useFileSystemService();
|
|
9451
|
-
return (0, import_react_query113.useMutation)({
|
|
9452
|
-
mutationFn: fileSystem.initSnapshot
|
|
9453
|
-
});
|
|
9454
|
-
};
|
|
9455
|
-
var use_init_snapshot_default = useInitSnapshot;
|
|
9456
|
-
|
|
9457
8971
|
// src/hooks/pos/use-complete-current-stage.ts
|
|
9458
|
-
var
|
|
8972
|
+
var import_react_query113 = require("@tanstack/react-query");
|
|
9459
8973
|
var useCompleteCurrentStage = () => {
|
|
9460
8974
|
const pos = usePosService();
|
|
9461
|
-
return (0,
|
|
8975
|
+
return (0, import_react_query113.useMutation)({
|
|
9462
8976
|
mutationFn: pos.completeCurrentStage
|
|
9463
8977
|
});
|
|
9464
8978
|
};
|
|
9465
8979
|
var use_complete_current_stage_default = useCompleteCurrentStage;
|
|
9466
8980
|
|
|
9467
8981
|
// src/provider/service-provider.tsx
|
|
9468
|
-
var
|
|
9469
|
-
var ServiceContext = (0,
|
|
8982
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
8983
|
+
var ServiceContext = (0, import_react47.createContext)(null);
|
|
9470
8984
|
var ServiceProvider = ({
|
|
9471
8985
|
children
|
|
9472
8986
|
}) => {
|
|
@@ -9583,13 +9097,12 @@ var ServiceProvider = ({
|
|
|
9583
9097
|
useGetWard: use_get_ward_default,
|
|
9584
9098
|
useGetCountry: use_get_country_default,
|
|
9585
9099
|
useGetPartnerTitle: use_get_partner_title_default,
|
|
9586
|
-
useInitSnapshot: use_init_snapshot_default,
|
|
9587
9100
|
useCompleteCurrentStage: use_complete_current_stage_default
|
|
9588
9101
|
};
|
|
9589
|
-
return /* @__PURE__ */ (0,
|
|
9102
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ServiceContext.Provider, { value: services, children });
|
|
9590
9103
|
};
|
|
9591
9104
|
var useService = () => {
|
|
9592
|
-
const context = (0,
|
|
9105
|
+
const context = (0, import_react47.useContext)(ServiceContext);
|
|
9593
9106
|
if (!context) {
|
|
9594
9107
|
throw new Error("useService must be used within a ServiceProvider");
|
|
9595
9108
|
}
|
|
@@ -9597,8 +9110,8 @@ var useService = () => {
|
|
|
9597
9110
|
};
|
|
9598
9111
|
|
|
9599
9112
|
// src/provider/meta-provider.tsx
|
|
9600
|
-
var
|
|
9601
|
-
var
|
|
9113
|
+
var import_react48 = require("react");
|
|
9114
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
9602
9115
|
var MetaProvider = ({ children }) => {
|
|
9603
9116
|
const { env } = useEnv();
|
|
9604
9117
|
function updateMetadata() {
|
|
@@ -9646,10 +9159,10 @@ var MetaProvider = ({ children }) => {
|
|
|
9646
9159
|
}
|
|
9647
9160
|
}
|
|
9648
9161
|
}
|
|
9649
|
-
(0,
|
|
9162
|
+
(0, import_react48.useEffect)(() => {
|
|
9650
9163
|
updateMetadata();
|
|
9651
9164
|
}, [env?.defaultCompany]);
|
|
9652
|
-
return /* @__PURE__ */ (0,
|
|
9165
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children });
|
|
9653
9166
|
};
|
|
9654
9167
|
// Annotate the CommonJS export names for ESM import in node:
|
|
9655
9168
|
0 && (module.exports = {
|
|
@@ -9658,7 +9171,9 @@ var MetaProvider = ({ children }) => {
|
|
|
9658
9171
|
MetaProvider,
|
|
9659
9172
|
ReactQueryProvider,
|
|
9660
9173
|
ServiceProvider,
|
|
9174
|
+
SupabaseProvider,
|
|
9661
9175
|
VersionGate,
|
|
9662
9176
|
useEnv,
|
|
9663
|
-
useService
|
|
9177
|
+
useService,
|
|
9178
|
+
useSupabase
|
|
9664
9179
|
});
|