@juv/codego-react-ui 3.5.1 → 3.5.3

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.cjs CHANGED
@@ -1599,7 +1599,7 @@ function decryptLaravelPayload(payload, secretKey) {
1599
1599
  throw new Error("Unsupported Laravel cipher (AEAD tag present). Expected AES-*-CBC payload.");
1600
1600
  }
1601
1601
  const key = parseLaravelKey(resolvedKey);
1602
- const expectedMac = import_crypto_js.default.HmacSHA256(parsed.iv + parsed.value, key).toString();
1602
+ const expectedMac = import_crypto_js.default.HmacSHA256(parsed.iv + parsed.value, key).toString(import_crypto_js.default.enc.Hex);
1603
1603
  if (expectedMac !== parsed.mac) {
1604
1604
  throw new Error("Invalid payload MAC (wrong key or tampered payload).");
1605
1605
  }
@@ -1668,25 +1668,34 @@ function useServerBulletin({
1668
1668
  setError(null);
1669
1669
  import_axios2.default.get(url, { params: { ...params, page: currentPage } }).then(({ data: res }) => {
1670
1670
  if (cancelled) return;
1671
- const payload = encrypt ? decryptLaravelPayload(res, key) : res;
1671
+ let payload;
1672
+ try {
1673
+ payload = encrypt ? decryptLaravelPayload(res, key) : res;
1674
+ } catch (decryptErr) {
1675
+ console.error("[useServerBulletin] decryption failed:", decryptErr?.message ?? decryptErr);
1676
+ if (!cancelled) setError(decryptErr?.message ?? "Decryption failed");
1677
+ return;
1678
+ }
1672
1679
  if (encrypt && decryptPayloadLog) console.log("[useServerBulletin] decrypted:", payload);
1673
- const rows = payload.data;
1680
+ const rows = Array.isArray(payload) ? payload : payload.data ?? [];
1674
1681
  setItems(transform ? rows.map(transform) : rows);
1675
- const rawTotal = payload.total;
1676
- const rawPerPage = payload.per_page;
1677
- const rawLastPage = payload.last_page;
1678
- const lastPage = rawLastPage ?? Math.ceil(rawTotal / rawPerPage);
1679
- const pg = payload.pagination ?? {
1680
- first_page_url: payload.first_page_url ?? `${url}?page=1`,
1681
- last_page_url: payload.last_page_url ?? `${url}?page=${lastPage}`,
1682
- last_page: lastPage,
1683
- next_page_url: payload.next_page_url !== void 0 ? payload.next_page_url : currentPage < lastPage ? `${url}?page=${currentPage + 1}` : null,
1684
- prev_page_url: payload.prev_page_url !== void 0 ? payload.prev_page_url : currentPage > 1 ? `${url}?page=${currentPage - 1}` : null,
1685
- per_page: rawPerPage,
1686
- total: rawTotal,
1687
- links: payload.links ?? []
1688
- };
1689
- setPagination(pg);
1682
+ if (!Array.isArray(payload)) {
1683
+ const rawTotal = payload.total;
1684
+ const rawPerPage = payload.per_page;
1685
+ const rawLastPage = payload.last_page;
1686
+ const lastPage = rawLastPage ?? Math.ceil(rawTotal / rawPerPage);
1687
+ const pg = payload.pagination ?? {
1688
+ first_page_url: payload.first_page_url ?? `${url}?page=1`,
1689
+ last_page_url: payload.last_page_url ?? `${url}?page=${lastPage}`,
1690
+ last_page: lastPage,
1691
+ next_page_url: payload.next_page_url !== void 0 ? payload.next_page_url : currentPage < lastPage ? `${url}?page=${currentPage + 1}` : null,
1692
+ prev_page_url: payload.prev_page_url !== void 0 ? payload.prev_page_url : currentPage > 1 ? `${url}?page=${currentPage - 1}` : null,
1693
+ per_page: rawPerPage,
1694
+ total: rawTotal,
1695
+ links: payload.links ?? []
1696
+ };
1697
+ setPagination(pg);
1698
+ }
1690
1699
  }).catch((err) => {
1691
1700
  if (cancelled) return;
1692
1701
  setError(err?.response?.data?.message ?? err.message ?? "Request failed");
@@ -64773,7 +64773,7 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
64773
64773
  throw new Error("Unsupported Laravel cipher (AEAD tag present). Expected AES-*-CBC payload.");
64774
64774
  }
64775
64775
  const key = parseLaravelKey(resolvedKey);
64776
- const expectedMac = import_crypto_js.default.HmacSHA256(parsed.iv + parsed.value, key).toString();
64776
+ const expectedMac = import_crypto_js.default.HmacSHA256(parsed.iv + parsed.value, key).toString(import_crypto_js.default.enc.Hex);
64777
64777
  if (expectedMac !== parsed.mac) {
64778
64778
  throw new Error("Invalid payload MAC (wrong key or tampered payload).");
64779
64779
  }
@@ -64842,25 +64842,34 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
64842
64842
  setError(null);
64843
64843
  axios_default.get(url2, { params: { ...params, page: currentPage } }).then(({ data: res }) => {
64844
64844
  if (cancelled) return;
64845
- const payload = encrypt ? decryptLaravelPayload(res, key) : res;
64845
+ let payload;
64846
+ try {
64847
+ payload = encrypt ? decryptLaravelPayload(res, key) : res;
64848
+ } catch (decryptErr) {
64849
+ console.error("[useServerBulletin] decryption failed:", decryptErr?.message ?? decryptErr);
64850
+ if (!cancelled) setError(decryptErr?.message ?? "Decryption failed");
64851
+ return;
64852
+ }
64846
64853
  if (encrypt && decryptPayloadLog) console.log("[useServerBulletin] decrypted:", payload);
64847
- const rows = payload.data;
64854
+ const rows = Array.isArray(payload) ? payload : payload.data ?? [];
64848
64855
  setItems(transform ? rows.map(transform) : rows);
64849
- const rawTotal = payload.total;
64850
- const rawPerPage = payload.per_page;
64851
- const rawLastPage = payload.last_page;
64852
- const lastPage = rawLastPage ?? Math.ceil(rawTotal / rawPerPage);
64853
- const pg = payload.pagination ?? {
64854
- first_page_url: payload.first_page_url ?? `${url2}?page=1`,
64855
- last_page_url: payload.last_page_url ?? `${url2}?page=${lastPage}`,
64856
- last_page: lastPage,
64857
- next_page_url: payload.next_page_url !== void 0 ? payload.next_page_url : currentPage < lastPage ? `${url2}?page=${currentPage + 1}` : null,
64858
- prev_page_url: payload.prev_page_url !== void 0 ? payload.prev_page_url : currentPage > 1 ? `${url2}?page=${currentPage - 1}` : null,
64859
- per_page: rawPerPage,
64860
- total: rawTotal,
64861
- links: payload.links ?? []
64862
- };
64863
- setPagination(pg);
64856
+ if (!Array.isArray(payload)) {
64857
+ const rawTotal = payload.total;
64858
+ const rawPerPage = payload.per_page;
64859
+ const rawLastPage = payload.last_page;
64860
+ const lastPage = rawLastPage ?? Math.ceil(rawTotal / rawPerPage);
64861
+ const pg = payload.pagination ?? {
64862
+ first_page_url: payload.first_page_url ?? `${url2}?page=1`,
64863
+ last_page_url: payload.last_page_url ?? `${url2}?page=${lastPage}`,
64864
+ last_page: lastPage,
64865
+ next_page_url: payload.next_page_url !== void 0 ? payload.next_page_url : currentPage < lastPage ? `${url2}?page=${currentPage + 1}` : null,
64866
+ prev_page_url: payload.prev_page_url !== void 0 ? payload.prev_page_url : currentPage > 1 ? `${url2}?page=${currentPage - 1}` : null,
64867
+ per_page: rawPerPage,
64868
+ total: rawTotal,
64869
+ links: payload.links ?? []
64870
+ };
64871
+ setPagination(pg);
64872
+ }
64864
64873
  }).catch((err) => {
64865
64874
  if (cancelled) return;
64866
64875
  setError(err?.response?.data?.message ?? err.message ?? "Request failed");
package/dist/index.js CHANGED
@@ -1478,7 +1478,7 @@ function decryptLaravelPayload(payload, secretKey) {
1478
1478
  throw new Error("Unsupported Laravel cipher (AEAD tag present). Expected AES-*-CBC payload.");
1479
1479
  }
1480
1480
  const key = parseLaravelKey(resolvedKey);
1481
- const expectedMac = CryptoJS.HmacSHA256(parsed.iv + parsed.value, key).toString();
1481
+ const expectedMac = CryptoJS.HmacSHA256(parsed.iv + parsed.value, key).toString(CryptoJS.enc.Hex);
1482
1482
  if (expectedMac !== parsed.mac) {
1483
1483
  throw new Error("Invalid payload MAC (wrong key or tampered payload).");
1484
1484
  }
@@ -1547,25 +1547,34 @@ function useServerBulletin({
1547
1547
  setError(null);
1548
1548
  axios2.get(url, { params: { ...params, page: currentPage } }).then(({ data: res }) => {
1549
1549
  if (cancelled) return;
1550
- const payload = encrypt ? decryptLaravelPayload(res, key) : res;
1550
+ let payload;
1551
+ try {
1552
+ payload = encrypt ? decryptLaravelPayload(res, key) : res;
1553
+ } catch (decryptErr) {
1554
+ console.error("[useServerBulletin] decryption failed:", decryptErr?.message ?? decryptErr);
1555
+ if (!cancelled) setError(decryptErr?.message ?? "Decryption failed");
1556
+ return;
1557
+ }
1551
1558
  if (encrypt && decryptPayloadLog) console.log("[useServerBulletin] decrypted:", payload);
1552
- const rows = payload.data;
1559
+ const rows = Array.isArray(payload) ? payload : payload.data ?? [];
1553
1560
  setItems(transform ? rows.map(transform) : rows);
1554
- const rawTotal = payload.total;
1555
- const rawPerPage = payload.per_page;
1556
- const rawLastPage = payload.last_page;
1557
- const lastPage = rawLastPage ?? Math.ceil(rawTotal / rawPerPage);
1558
- const pg = payload.pagination ?? {
1559
- first_page_url: payload.first_page_url ?? `${url}?page=1`,
1560
- last_page_url: payload.last_page_url ?? `${url}?page=${lastPage}`,
1561
- last_page: lastPage,
1562
- next_page_url: payload.next_page_url !== void 0 ? payload.next_page_url : currentPage < lastPage ? `${url}?page=${currentPage + 1}` : null,
1563
- prev_page_url: payload.prev_page_url !== void 0 ? payload.prev_page_url : currentPage > 1 ? `${url}?page=${currentPage - 1}` : null,
1564
- per_page: rawPerPage,
1565
- total: rawTotal,
1566
- links: payload.links ?? []
1567
- };
1568
- setPagination(pg);
1561
+ if (!Array.isArray(payload)) {
1562
+ const rawTotal = payload.total;
1563
+ const rawPerPage = payload.per_page;
1564
+ const rawLastPage = payload.last_page;
1565
+ const lastPage = rawLastPage ?? Math.ceil(rawTotal / rawPerPage);
1566
+ const pg = payload.pagination ?? {
1567
+ first_page_url: payload.first_page_url ?? `${url}?page=1`,
1568
+ last_page_url: payload.last_page_url ?? `${url}?page=${lastPage}`,
1569
+ last_page: lastPage,
1570
+ next_page_url: payload.next_page_url !== void 0 ? payload.next_page_url : currentPage < lastPage ? `${url}?page=${currentPage + 1}` : null,
1571
+ prev_page_url: payload.prev_page_url !== void 0 ? payload.prev_page_url : currentPage > 1 ? `${url}?page=${currentPage - 1}` : null,
1572
+ per_page: rawPerPage,
1573
+ total: rawTotal,
1574
+ links: payload.links ?? []
1575
+ };
1576
+ setPagination(pg);
1577
+ }
1569
1578
  }).catch((err) => {
1570
1579
  if (cancelled) return;
1571
1580
  setError(err?.response?.data?.message ?? err.message ?? "Request failed");
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "registry": "https://registry.npmjs.org/",
5
5
  "access": "public"
6
6
  },
7
- "version": "3.5.1",
7
+ "version": "3.5.3",
8
8
  "description": "Reusable React UI components",
9
9
  "license": "MIT",
10
10
  "main": "dist/index.js",