@lv-x-software-house/x_view 1.2.6-dev.67 → 1.2.6-dev.69

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/index.js CHANGED
@@ -14928,6 +14928,18 @@ function MilestoneManager({
14928
14928
  // src/XViewScene.jsx
14929
14929
  var import_short_uuid2 = __toESM(require("short-uuid"));
14930
14930
  var secretKey = process.env.NEXT_PUBLIC_CRYPTO_KEY;
14931
+ var encryptData = (data) => {
14932
+ try {
14933
+ const encrypted = import_crypto_js.default.AES.encrypt(
14934
+ JSON.stringify(data),
14935
+ secretKey
14936
+ ).toString().replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
14937
+ return encrypted;
14938
+ } catch (error) {
14939
+ console.error("Falha ao encriptar os dados:", error);
14940
+ return null;
14941
+ }
14942
+ };
14931
14943
  var decryptData = (encryptedText) => {
14932
14944
  try {
14933
14945
  let base64Text = encryptedText.replace(/-/g, "+").replace(/_/g, "/");
@@ -15008,7 +15020,7 @@ function XViewScene({
15008
15020
  create_google_doc_action,
15009
15021
  open_google_picker_action
15010
15022
  }) {
15011
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
15023
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
15012
15024
  const { data: session, status } = (0, import_react33.useSession)();
15013
15025
  const router = (0, import_navigation.useRouter)();
15014
15026
  const searchParams = (0, import_navigation.useSearchParams)();
@@ -15258,7 +15270,14 @@ function XViewScene({
15258
15270
  const handleNavigateBack = (0, import_react32.useCallback)(() => {
15259
15271
  const type = viewParams == null ? void 0 : viewParams.type;
15260
15272
  const tab = type === "database" ? "datasets" : "views";
15261
- router.push(`/dashboard/xview?tab=${tab}`);
15273
+ const targetUrl = `/dashboard/xview?tab=${tab}`;
15274
+ console.log("X-View: Navegando para o Dashboard", { type, tab, targetUrl });
15275
+ try {
15276
+ router.push(targetUrl);
15277
+ } catch (e) {
15278
+ console.warn("X-View: router.push falhou, tentando window.location", e);
15279
+ window.location.href = targetUrl;
15280
+ }
15262
15281
  }, [router, viewParams]);
15263
15282
  const handleConfirmImport = (0, import_react32.useCallback)(
15264
15283
  async (importPayload) => {
@@ -15395,12 +15414,25 @@ function XViewScene({
15395
15414
  sceneDataRef.current = updatedData;
15396
15415
  try {
15397
15416
  await save_view_data(sceneSaveUrl, updatedData);
15417
+ if (viewParams) {
15418
+ const newDataToEncrypt = {
15419
+ ...viewParams,
15420
+ ...newConfig
15421
+ };
15422
+ const newEncrypted = encryptData(newDataToEncrypt);
15423
+ if (newEncrypted) {
15424
+ const currentUrl = window.location.pathname;
15425
+ const newUrl = currentUrl.replace(encryptedConfig, newEncrypted);
15426
+ window.history.replaceState(null, "", newUrl);
15427
+ console.log("X-View Config: URL atualizada para persist\xEAncia.");
15428
+ }
15429
+ }
15398
15430
  setSceneVersion((v) => v + 1);
15399
15431
  } catch (error) {
15400
15432
  console.error("Erro ao salvar configura\xE7\xE3o da View:", error);
15401
15433
  }
15402
15434
  },
15403
- [save_view_data, sceneSaveUrl]
15435
+ [save_view_data, sceneSaveUrl, viewParams, encryptedConfig]
15404
15436
  );
15405
15437
  const handleOpenImageViewer = (images, startIndex) => {
15406
15438
  setImageViewer({ visible: true, images, startIndex });
@@ -19707,10 +19739,11 @@ function XViewScene({
19707
19739
  viewName: viewParams == null ? void 0 : viewParams.name,
19708
19740
  milestones: (viewParams == null ? void 0 : viewParams.milestones) || [],
19709
19741
  onOpenMilestoneManager: () => setIsMilestoneManagerOpen(true),
19710
- view_google_folder_id: viewParams == null ? void 0 : viewParams.view_google_folder_id,
19711
- view_google_folder_name: viewParams == null ? void 0 : viewParams.view_google_folder_name,
19742
+ view_google_folder_id: (_c = sceneDataRef.current) == null ? void 0 : _c.view_google_folder_id,
19743
+ view_google_folder_name: (_d = sceneDataRef.current) == null ? void 0 : _d.view_google_folder_name,
19712
19744
  open_google_picker_action,
19713
19745
  onSaveConfig: handleSaveConfig,
19746
+ onNavigateBack: handleNavigateBack,
19714
19747
  isOpen: isSidebarOpen,
19715
19748
  onToggle: setIsSidebarOpen,
19716
19749
  userRole: userPermissionRole,
@@ -19738,8 +19771,8 @@ function XViewScene({
19738
19771
  },
19739
19772
  refEl: formRef,
19740
19773
  existingTypes: existingNodeTypes,
19741
- initialColor: (_c = creationMode.sourceNodeData) == null ? void 0 : _c.color,
19742
- sourceTypes: (_d = creationMode.sourceNodeData) == null ? void 0 : _d.type,
19774
+ initialColor: (_e = creationMode.sourceNodeData) == null ? void 0 : _e.color,
19775
+ sourceTypes: (_f = creationMode.sourceNodeData) == null ? void 0 : _f.type,
19743
19776
  onIntensityChange: handleGhostNodeIntensityChange,
19744
19777
  onUploadFile: upload_file_action,
19745
19778
  availableDatasets,
@@ -19748,7 +19781,7 @@ function XViewScene({
19748
19781
  availableNodes: allAvailableNodes,
19749
19782
  availableAncestries: allAvailableAncestries,
19750
19783
  create_google_doc_action,
19751
- view_google_folder_id: (_e = sceneDataRef.current) == null ? void 0 : _e.view_google_folder_id
19784
+ view_google_folder_id: (_g = sceneDataRef.current) == null ? void 0 : _g.view_google_folder_id
19752
19785
  }
19753
19786
  ),
19754
19787
  versionMode.isActive && /* @__PURE__ */ import_react32.default.createElement(
@@ -19770,8 +19803,8 @@ function XViewScene({
19770
19803
  transition: "opacity 200ms ease-out"
19771
19804
  },
19772
19805
  refEl: formRef,
19773
- fixedType: (_f = versionMode.sourceNodeData) == null ? void 0 : _f.type,
19774
- fixedColor: (_g = versionMode.sourceNodeData) == null ? void 0 : _g.color,
19806
+ fixedType: (_h = versionMode.sourceNodeData) == null ? void 0 : _h.type,
19807
+ fixedColor: (_i = versionMode.sourceNodeData) == null ? void 0 : _i.color,
19775
19808
  onUploadFile: upload_file_action,
19776
19809
  availableNodes: allAvailableNodes,
19777
19810
  availableAncestries: allAvailableAncestries
@@ -19799,12 +19832,12 @@ function XViewScene({
19799
19832
  availableNodes: allAvailableNodes,
19800
19833
  availableAncestries: allAvailableAncestries,
19801
19834
  viewName: viewParams == null ? void 0 : viewParams.name,
19802
- questCounter: ((_h = sceneDataRef.current) == null ? void 0 : _h.quest_counter) || 1,
19835
+ questCounter: ((_j = sceneDataRef.current) == null ? void 0 : _j.quest_counter) || 1,
19803
19836
  viewMembers,
19804
- milestones: ((_i = sceneDataRef.current) == null ? void 0 : _i.milestones) || [],
19837
+ milestones: ((_k = sceneDataRef.current) == null ? void 0 : _k.milestones) || [],
19805
19838
  onUpdateMilestones: handleUpdateMilestones,
19806
19839
  create_google_doc_action,
19807
- view_google_folder_id: (_j = sceneDataRef.current) == null ? void 0 : _j.view_google_folder_id
19840
+ view_google_folder_id: (_l = sceneDataRef.current) == null ? void 0 : _l.view_google_folder_id
19808
19841
  }
19809
19842
  ),
19810
19843
  readingMode.isActive && readingMode.ancestry && /* @__PURE__ */ import_react32.default.createElement(
@@ -19938,10 +19971,10 @@ function XViewScene({
19938
19971
  currentDatasetName: detailsNodeDatasetInfo == null ? void 0 : detailsNodeDatasetInfo.datasetName,
19939
19972
  viewMembers,
19940
19973
  currentUser: session == null ? void 0 : session.user,
19941
- milestones: ((_k = sceneDataRef.current) == null ? void 0 : _k.milestones) || [],
19974
+ milestones: ((_m = sceneDataRef.current) == null ? void 0 : _m.milestones) || [],
19942
19975
  onUpdateMilestones: handleUpdateMilestones,
19943
19976
  create_google_doc_action,
19944
- view_google_folder_id: (_l = sceneDataRef.current) == null ? void 0 : _l.view_google_folder_id
19977
+ view_google_folder_id: (_n = sceneDataRef.current) == null ? void 0 : _n.view_google_folder_id
19945
19978
  }
19946
19979
  ),
19947
19980
  detailsNode && !detailsNode.is_quest && /* @__PURE__ */ import_react32.default.createElement(
@@ -19975,7 +20008,7 @@ function XViewScene({
19975
20008
  userRole: userPermissionRole,
19976
20009
  currentDatasetName: detailsNodeDatasetInfo == null ? void 0 : detailsNodeDatasetInfo.datasetName,
19977
20010
  create_google_doc_action,
19978
- view_google_folder_id: (_m = sceneDataRef.current) == null ? void 0 : _m.view_google_folder_id
20011
+ view_google_folder_id: (_o = sceneDataRef.current) == null ? void 0 : _o.view_google_folder_id
19979
20012
  }
19980
20013
  ),
19981
20014
  detailsLink && /* @__PURE__ */ import_react32.default.createElement(
@@ -20133,7 +20166,7 @@ function XViewScene({
20133
20166
  {
20134
20167
  isOpen: isMilestoneManagerOpen,
20135
20168
  onClose: () => setIsMilestoneManagerOpen(false),
20136
- milestones: ((_n = sceneDataRef.current) == null ? void 0 : _n.milestones) || [],
20169
+ milestones: ((_p = sceneDataRef.current) == null ? void 0 : _p.milestones) || [],
20137
20170
  onUpdateMilestones: handleUpdateMilestones
20138
20171
  }
20139
20172
  ),
@@ -20144,7 +20177,7 @@ function XViewScene({
20144
20177
  onClose: () => setIsImportModalOpen(false),
20145
20178
  onConfirm: handleConfirmImport,
20146
20179
  session,
20147
- parentDbs: ((_o = sceneDataRef.current) == null ? void 0 : _o.parent_dbs) || [],
20180
+ parentDbs: ((_q = sceneDataRef.current) == null ? void 0 : _q.parent_dbs) || [],
20148
20181
  onFetchAvailableFiles: import_parent_file_modal_get,
20149
20182
  currentViewName: viewParams == null ? void 0 : viewParams.name,
20150
20183
  currentAncestries: ancestryDataRef.current || []
package/dist/index.mjs CHANGED
@@ -14985,6 +14985,18 @@ function MilestoneManager({
14985
14985
  // src/XViewScene.jsx
14986
14986
  import short2 from "short-uuid";
14987
14987
  var secretKey = process.env.NEXT_PUBLIC_CRYPTO_KEY;
14988
+ var encryptData = (data) => {
14989
+ try {
14990
+ const encrypted = CryptoJS.AES.encrypt(
14991
+ JSON.stringify(data),
14992
+ secretKey
14993
+ ).toString().replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
14994
+ return encrypted;
14995
+ } catch (error) {
14996
+ console.error("Falha ao encriptar os dados:", error);
14997
+ return null;
14998
+ }
14999
+ };
14988
15000
  var decryptData = (encryptedText) => {
14989
15001
  try {
14990
15002
  let base64Text = encryptedText.replace(/-/g, "+").replace(/_/g, "/");
@@ -15065,7 +15077,7 @@ function XViewScene({
15065
15077
  create_google_doc_action,
15066
15078
  open_google_picker_action
15067
15079
  }) {
15068
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
15080
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
15069
15081
  const { data: session, status } = useSession();
15070
15082
  const router = useRouter();
15071
15083
  const searchParams = useSearchParams();
@@ -15315,7 +15327,14 @@ function XViewScene({
15315
15327
  const handleNavigateBack = useCallback6(() => {
15316
15328
  const type = viewParams == null ? void 0 : viewParams.type;
15317
15329
  const tab = type === "database" ? "datasets" : "views";
15318
- router.push(`/dashboard/xview?tab=${tab}`);
15330
+ const targetUrl = `/dashboard/xview?tab=${tab}`;
15331
+ console.log("X-View: Navegando para o Dashboard", { type, tab, targetUrl });
15332
+ try {
15333
+ router.push(targetUrl);
15334
+ } catch (e) {
15335
+ console.warn("X-View: router.push falhou, tentando window.location", e);
15336
+ window.location.href = targetUrl;
15337
+ }
15319
15338
  }, [router, viewParams]);
15320
15339
  const handleConfirmImport = useCallback6(
15321
15340
  async (importPayload) => {
@@ -15452,12 +15471,25 @@ function XViewScene({
15452
15471
  sceneDataRef.current = updatedData;
15453
15472
  try {
15454
15473
  await save_view_data(sceneSaveUrl, updatedData);
15474
+ if (viewParams) {
15475
+ const newDataToEncrypt = {
15476
+ ...viewParams,
15477
+ ...newConfig
15478
+ };
15479
+ const newEncrypted = encryptData(newDataToEncrypt);
15480
+ if (newEncrypted) {
15481
+ const currentUrl = window.location.pathname;
15482
+ const newUrl = currentUrl.replace(encryptedConfig, newEncrypted);
15483
+ window.history.replaceState(null, "", newUrl);
15484
+ console.log("X-View Config: URL atualizada para persist\xEAncia.");
15485
+ }
15486
+ }
15455
15487
  setSceneVersion((v) => v + 1);
15456
15488
  } catch (error) {
15457
15489
  console.error("Erro ao salvar configura\xE7\xE3o da View:", error);
15458
15490
  }
15459
15491
  },
15460
- [save_view_data, sceneSaveUrl]
15492
+ [save_view_data, sceneSaveUrl, viewParams, encryptedConfig]
15461
15493
  );
15462
15494
  const handleOpenImageViewer = (images, startIndex) => {
15463
15495
  setImageViewer({ visible: true, images, startIndex });
@@ -19764,10 +19796,11 @@ function XViewScene({
19764
19796
  viewName: viewParams == null ? void 0 : viewParams.name,
19765
19797
  milestones: (viewParams == null ? void 0 : viewParams.milestones) || [],
19766
19798
  onOpenMilestoneManager: () => setIsMilestoneManagerOpen(true),
19767
- view_google_folder_id: viewParams == null ? void 0 : viewParams.view_google_folder_id,
19768
- view_google_folder_name: viewParams == null ? void 0 : viewParams.view_google_folder_name,
19799
+ view_google_folder_id: (_c = sceneDataRef.current) == null ? void 0 : _c.view_google_folder_id,
19800
+ view_google_folder_name: (_d = sceneDataRef.current) == null ? void 0 : _d.view_google_folder_name,
19769
19801
  open_google_picker_action,
19770
19802
  onSaveConfig: handleSaveConfig,
19803
+ onNavigateBack: handleNavigateBack,
19771
19804
  isOpen: isSidebarOpen,
19772
19805
  onToggle: setIsSidebarOpen,
19773
19806
  userRole: userPermissionRole,
@@ -19795,8 +19828,8 @@ function XViewScene({
19795
19828
  },
19796
19829
  refEl: formRef,
19797
19830
  existingTypes: existingNodeTypes,
19798
- initialColor: (_c = creationMode.sourceNodeData) == null ? void 0 : _c.color,
19799
- sourceTypes: (_d = creationMode.sourceNodeData) == null ? void 0 : _d.type,
19831
+ initialColor: (_e = creationMode.sourceNodeData) == null ? void 0 : _e.color,
19832
+ sourceTypes: (_f = creationMode.sourceNodeData) == null ? void 0 : _f.type,
19800
19833
  onIntensityChange: handleGhostNodeIntensityChange,
19801
19834
  onUploadFile: upload_file_action,
19802
19835
  availableDatasets,
@@ -19805,7 +19838,7 @@ function XViewScene({
19805
19838
  availableNodes: allAvailableNodes,
19806
19839
  availableAncestries: allAvailableAncestries,
19807
19840
  create_google_doc_action,
19808
- view_google_folder_id: (_e = sceneDataRef.current) == null ? void 0 : _e.view_google_folder_id
19841
+ view_google_folder_id: (_g = sceneDataRef.current) == null ? void 0 : _g.view_google_folder_id
19809
19842
  }
19810
19843
  ),
19811
19844
  versionMode.isActive && /* @__PURE__ */ React31.createElement(
@@ -19827,8 +19860,8 @@ function XViewScene({
19827
19860
  transition: "opacity 200ms ease-out"
19828
19861
  },
19829
19862
  refEl: formRef,
19830
- fixedType: (_f = versionMode.sourceNodeData) == null ? void 0 : _f.type,
19831
- fixedColor: (_g = versionMode.sourceNodeData) == null ? void 0 : _g.color,
19863
+ fixedType: (_h = versionMode.sourceNodeData) == null ? void 0 : _h.type,
19864
+ fixedColor: (_i = versionMode.sourceNodeData) == null ? void 0 : _i.color,
19832
19865
  onUploadFile: upload_file_action,
19833
19866
  availableNodes: allAvailableNodes,
19834
19867
  availableAncestries: allAvailableAncestries
@@ -19856,12 +19889,12 @@ function XViewScene({
19856
19889
  availableNodes: allAvailableNodes,
19857
19890
  availableAncestries: allAvailableAncestries,
19858
19891
  viewName: viewParams == null ? void 0 : viewParams.name,
19859
- questCounter: ((_h = sceneDataRef.current) == null ? void 0 : _h.quest_counter) || 1,
19892
+ questCounter: ((_j = sceneDataRef.current) == null ? void 0 : _j.quest_counter) || 1,
19860
19893
  viewMembers,
19861
- milestones: ((_i = sceneDataRef.current) == null ? void 0 : _i.milestones) || [],
19894
+ milestones: ((_k = sceneDataRef.current) == null ? void 0 : _k.milestones) || [],
19862
19895
  onUpdateMilestones: handleUpdateMilestones,
19863
19896
  create_google_doc_action,
19864
- view_google_folder_id: (_j = sceneDataRef.current) == null ? void 0 : _j.view_google_folder_id
19897
+ view_google_folder_id: (_l = sceneDataRef.current) == null ? void 0 : _l.view_google_folder_id
19865
19898
  }
19866
19899
  ),
19867
19900
  readingMode.isActive && readingMode.ancestry && /* @__PURE__ */ React31.createElement(
@@ -19995,10 +20028,10 @@ function XViewScene({
19995
20028
  currentDatasetName: detailsNodeDatasetInfo == null ? void 0 : detailsNodeDatasetInfo.datasetName,
19996
20029
  viewMembers,
19997
20030
  currentUser: session == null ? void 0 : session.user,
19998
- milestones: ((_k = sceneDataRef.current) == null ? void 0 : _k.milestones) || [],
20031
+ milestones: ((_m = sceneDataRef.current) == null ? void 0 : _m.milestones) || [],
19999
20032
  onUpdateMilestones: handleUpdateMilestones,
20000
20033
  create_google_doc_action,
20001
- view_google_folder_id: (_l = sceneDataRef.current) == null ? void 0 : _l.view_google_folder_id
20034
+ view_google_folder_id: (_n = sceneDataRef.current) == null ? void 0 : _n.view_google_folder_id
20002
20035
  }
20003
20036
  ),
20004
20037
  detailsNode && !detailsNode.is_quest && /* @__PURE__ */ React31.createElement(
@@ -20032,7 +20065,7 @@ function XViewScene({
20032
20065
  userRole: userPermissionRole,
20033
20066
  currentDatasetName: detailsNodeDatasetInfo == null ? void 0 : detailsNodeDatasetInfo.datasetName,
20034
20067
  create_google_doc_action,
20035
- view_google_folder_id: (_m = sceneDataRef.current) == null ? void 0 : _m.view_google_folder_id
20068
+ view_google_folder_id: (_o = sceneDataRef.current) == null ? void 0 : _o.view_google_folder_id
20036
20069
  }
20037
20070
  ),
20038
20071
  detailsLink && /* @__PURE__ */ React31.createElement(
@@ -20190,7 +20223,7 @@ function XViewScene({
20190
20223
  {
20191
20224
  isOpen: isMilestoneManagerOpen,
20192
20225
  onClose: () => setIsMilestoneManagerOpen(false),
20193
- milestones: ((_n = sceneDataRef.current) == null ? void 0 : _n.milestones) || [],
20226
+ milestones: ((_p = sceneDataRef.current) == null ? void 0 : _p.milestones) || [],
20194
20227
  onUpdateMilestones: handleUpdateMilestones
20195
20228
  }
20196
20229
  ),
@@ -20201,7 +20234,7 @@ function XViewScene({
20201
20234
  onClose: () => setIsImportModalOpen(false),
20202
20235
  onConfirm: handleConfirmImport,
20203
20236
  session,
20204
- parentDbs: ((_o = sceneDataRef.current) == null ? void 0 : _o.parent_dbs) || [],
20237
+ parentDbs: ((_q = sceneDataRef.current) == null ? void 0 : _q.parent_dbs) || [],
20205
20238
  onFetchAvailableFiles: import_parent_file_modal_get,
20206
20239
  currentViewName: viewParams == null ? void 0 : viewParams.name,
20207
20240
  currentAncestries: ancestryDataRef.current || []
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lv-x-software-house/x_view",
3
- "version": "1.2.6-dev.67",
3
+ "version": "1.2.6-dev.69",
4
4
  "description": "Pacote privado contendo os componentes e lógica de renderização 3D do X View.",
5
5
  "author": "iv.x - Engenharia de Software - ivxsoftwarehouse@gmail.com",
6
6
  "license": "UNLICENSED",