@powerhousedao/connect 6.2.2-dev.76 → 6.2.2-dev.77

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.
Files changed (84) hide show
  1. package/dist/{AddDriveModal-Bw0YuxZg.js → AddDriveModal-DIMewThf.js} +4 -4
  2. package/dist/{AddDriveModal-Bw0YuxZg.js.map → AddDriveModal-DIMewThf.js.map} +1 -1
  3. package/dist/{ClearStorageModal-tXyJ2dGV.js → ClearStorageModal-DKy2tPYb.js} +4 -4
  4. package/dist/{ClearStorageModal-tXyJ2dGV.js.map → ClearStorageModal-DKy2tPYb.js.map} +1 -1
  5. package/dist/{ConfirmDocumentUpgradeModal-9AaaQJTs.js → ConfirmDocumentUpgradeModal-CcpgpyOB.js} +4 -4
  6. package/dist/{ConfirmDocumentUpgradeModal-9AaaQJTs.js.map → ConfirmDocumentUpgradeModal-CcpgpyOB.js.map} +1 -1
  7. package/dist/{CookiesPolicyModal-CQ-zHJdw.js → CookiesPolicyModal-Bns4789o.js} +3 -3
  8. package/dist/{CookiesPolicyModal-CQ-zHJdw.js.map → CookiesPolicyModal-Bns4789o.js.map} +1 -1
  9. package/dist/{CreateDocumentModal-NNi4p6EI.js → CreateDocumentModal-MlA2YRaW.js} +3 -3
  10. package/dist/{CreateDocumentModal-NNi4p6EI.js.map → CreateDocumentModal-MlA2YRaW.js.map} +1 -1
  11. package/dist/{DebugSettingsModal-CE3uHISS.js → DebugSettingsModal-890WlVp4.js} +6 -6
  12. package/dist/{DebugSettingsModal-CE3uHISS.js.map → DebugSettingsModal-890WlVp4.js.map} +1 -1
  13. package/dist/{DeleteDriveModal-C7fnXMsR.js → DeleteDriveModal-gP7j8C0Y.js} +4 -4
  14. package/dist/{DeleteDriveModal-C7fnXMsR.js.map → DeleteDriveModal-gP7j8C0Y.js.map} +1 -1
  15. package/dist/{DeleteItemModal-BK_Y8Thj.js → DeleteItemModal-CMM-fPsz.js} +4 -4
  16. package/dist/{DeleteItemModal-BK_Y8Thj.js.map → DeleteItemModal-CMM-fPsz.js.map} +1 -1
  17. package/dist/{DisclaimerModal-DJPHCnFY.js → DisclaimerModal-meOyQCfU.js} +3 -3
  18. package/dist/{DisclaimerModal-DJPHCnFY.js.map → DisclaimerModal-meOyQCfU.js.map} +1 -1
  19. package/dist/{DocumentVersionUnsupportedModal-tBHLK6b1.js → DocumentVersionUnsupportedModal-TlDH1aP5.js} +3 -3
  20. package/dist/{DocumentVersionUnsupportedModal-tBHLK6b1.js.map → DocumentVersionUnsupportedModal-TlDH1aP5.js.map} +1 -1
  21. package/dist/{DownloadDocumentWithErrorsModal-sWu46HVB.js → DownloadDocumentWithErrorsModal-CCdbt2jJ.js} +3 -3
  22. package/dist/{DownloadDocumentWithErrorsModal-sWu46HVB.js.map → DownloadDocumentWithErrorsModal-CCdbt2jJ.js.map} +1 -1
  23. package/dist/{DriveAuthRequiredModal-D3IPAst0.js → DriveAuthRequiredModal-9GsPnOYi.js} +4 -4
  24. package/dist/{DriveAuthRequiredModal-D3IPAst0.js.map → DriveAuthRequiredModal-9GsPnOYi.js.map} +1 -1
  25. package/dist/{DriveSettingsModal-7OKx8foy.js → DriveSettingsModal-Bv0y1BEK.js} +3 -3
  26. package/dist/{DriveSettingsModal-7OKx8foy.js.map → DriveSettingsModal-Bv0y1BEK.js.map} +1 -1
  27. package/dist/{InspectorModal-BV9QR1MZ.js → InspectorModal-C3L5F4Ma.js} +6 -6
  28. package/dist/{InspectorModal-BV9QR1MZ.js.map → InspectorModal-C3L5F4Ma.js.map} +1 -1
  29. package/dist/{LoginModal-Cd2wGgG4.js → LoginModal-CxFHjxz8.js} +4 -4
  30. package/dist/{LoginModal-Cd2wGgG4.js.map → LoginModal-CxFHjxz8.js.map} +1 -1
  31. package/dist/{MissingPackageModal-DyP2-Ojb.js → MissingPackageModal-C6HO-a7E.js} +4 -4
  32. package/dist/{MissingPackageModal-DyP2-Ojb.js.map → MissingPackageModal-C6HO-a7E.js.map} +1 -1
  33. package/dist/{OpenFileDocumentsModal-DQ0Slw9y.js → OpenFileDocumentsModal-6MK7Ourm.js} +4 -4
  34. package/dist/{OpenFileDocumentsModal-DQ0Slw9y.js.map → OpenFileDocumentsModal-6MK7Ourm.js.map} +1 -1
  35. package/dist/{SettingsModal-Dk-Kp4kl.js → SettingsModal-DzW3OIrB.js} +149 -9
  36. package/dist/SettingsModal-DzW3OIrB.js.map +1 -0
  37. package/dist/{UpgradeDriveModal-wo5oO9mg.js → UpgradeDriveModal-077wPR2N.js} +3 -3
  38. package/dist/{UpgradeDriveModal-wo5oO9mg.js.map → UpgradeDriveModal-077wPR2N.js.map} +1 -1
  39. package/dist/app-loader-BLbUg8o4.js +4 -0
  40. package/dist/{app-loader-VDeDZD5T.js → app-loader-VArdOK2J.js} +77 -183
  41. package/dist/app-loader-VArdOK2J.js.map +1 -0
  42. package/dist/{build-info-B8kMAY35.js → build-info-1EmBSRGA.js} +5 -5
  43. package/dist/{build-info-B8kMAY35.js.map → build-info-1EmBSRGA.js.map} +1 -1
  44. package/dist/components-BmUSYnlz.js +5 -0
  45. package/dist/{connect.config-C-b_Yhd6.js → connect.config-XXdN7RFy.js} +4 -3
  46. package/dist/{connect.config-C-b_Yhd6.js.map → connect.config-XXdN7RFy.js.map} +1 -1
  47. package/dist/{connection-state-KCa1yljA.js → connection-state-DTSv8MDQ.js} +4 -4
  48. package/dist/{connection-state-KCa1yljA.js.map → connection-state-DTSv8MDQ.js.map} +1 -1
  49. package/dist/cookie-banner-BJrG_u38.js +70 -0
  50. package/dist/cookie-banner-BJrG_u38.js.map +1 -0
  51. package/dist/{reload-connect-toast-DDQEupCN.js → i18n-CWyz5j1Z.js} +5 -28
  52. package/dist/i18n-CWyz5j1Z.js.map +1 -0
  53. package/dist/{load-DUCtfMW3.js → load-RSUO_fUw.js} +10 -10
  54. package/dist/{load-DUCtfMW3.js.map → load-RSUO_fUw.js.map} +1 -1
  55. package/dist/main.js +1 -1
  56. package/dist/{package-ZLxXINym.js → package-C3Jxu89p.js} +5 -4
  57. package/dist/package-C3Jxu89p.js.map +1 -0
  58. package/dist/{pglite-seed-DRXPe7p-.js → pglite-seed-DQgqjlQu.js} +4 -4
  59. package/dist/{pglite-seed-DRXPe7p-.js.map → pglite-seed-DQgqjlQu.js.map} +1 -1
  60. package/dist/preferences-store-C-u8PIwU.js +104 -0
  61. package/dist/preferences-store-C-u8PIwU.js.map +1 -0
  62. package/dist/{reactor-Dn5J8dOX.js → reactor-C8E2rx64.js} +7 -7
  63. package/dist/{reactor-Dn5J8dOX.js.map → reactor-C8E2rx64.js.map} +1 -1
  64. package/dist/{registerServiceWorker-Bn1KWmk0.js → registerServiceWorker-D98IrUws.js} +4 -4
  65. package/dist/{registerServiceWorker-Bn1KWmk0.js.map → registerServiceWorker-D98IrUws.js.map} +1 -1
  66. package/dist/reload-connect-toast-BzHqUfbu.js +30 -0
  67. package/dist/reload-connect-toast-BzHqUfbu.js.map +1 -0
  68. package/dist/start-connect.js +1 -1
  69. package/dist/style.css +143 -0
  70. package/dist/{toast-CO6ChlzE.js → toast-DtfTKZND.js} +3 -3
  71. package/dist/{toast-CO6ChlzE.js.map → toast-DtfTKZND.js.map} +1 -1
  72. package/dist/{use-renown-login-BtGljnB4.js → use-renown-login-DtCtMWCo.js} +3 -3
  73. package/dist/{use-renown-login-BtGljnB4.js.map → use-renown-login-DtCtMWCo.js.map} +1 -1
  74. package/dist/{useRegistryPackages-DMhCvTWq.js → useRegistryPackages-dCWW6oNq.js} +3 -3
  75. package/dist/{useRegistryPackages-DMhCvTWq.js.map → useRegistryPackages-dCWW6oNq.js.map} +1 -1
  76. package/package.json +12 -11
  77. package/public/powerhouse.config.json +9 -1
  78. package/style.css +1 -0
  79. package/dist/SettingsModal-Dk-Kp4kl.js.map +0 -1
  80. package/dist/app-loader-BffxIMi7.js +0 -4
  81. package/dist/app-loader-VDeDZD5T.js.map +0 -1
  82. package/dist/components-jBXd290x.js +0 -5
  83. package/dist/package-ZLxXINym.js.map +0 -1
  84. package/dist/reload-connect-toast-DDQEupCN.js.map +0 -1
@@ -0,0 +1,70 @@
1
+
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="ad29b811-1f71-569e-a6f2-175d0d82610d")}catch(e){}}();
3
+ import { t as i18n } from "./i18n-CWyz5j1Z.js";
4
+ import { n as useCookieBanner, t as useAcceptedCookies } from "./preferences-store-C-u8PIwU.js";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { Trans, useTranslation } from "react-i18next";
7
+ import { showPHModal } from "@powerhousedao/reactor-browser";
8
+ import { CookieBanner as CookieBanner$1 } from "@powerhousedao/design-system/connect";
9
+ //#region src/components/cookie-banner.tsx
10
+ const isCookieAccepted = (cookies, id) => {
11
+ return cookies.some((cookie) => cookie.id === id && cookie.value);
12
+ };
13
+ const CookieBanner = () => {
14
+ const { t } = useTranslation(void 0, {
15
+ useSuspense: true,
16
+ i18n
17
+ });
18
+ const [showBanner, setShowBanner] = useCookieBanner();
19
+ const [, setAcceptedCookies] = useAcceptedCookies();
20
+ const cookiesInput = [{
21
+ id: "analytics-cookie",
22
+ label: t("cookieBanner.cookies.analytics"),
23
+ value: true
24
+ }];
25
+ const handleAccept = (cookies) => {
26
+ setShowBanner(false);
27
+ if (isCookieAccepted(cookies, "analytics-cookie")) setAcceptedCookies((acceptedCookies) => ({
28
+ ...acceptedCookies,
29
+ analytics: true
30
+ }));
31
+ };
32
+ const handleReject = () => {
33
+ setShowBanner(false);
34
+ setAcceptedCookies(() => ({
35
+ analytics: false,
36
+ functional: false,
37
+ marketing: false
38
+ }));
39
+ };
40
+ if (!showBanner) return null;
41
+ return /* @__PURE__ */ jsxs("div", {
42
+ className: "absolute inset-0 z-10000 backdrop-blur-sm",
43
+ children: [/* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-primary opacity-15" }), /* @__PURE__ */ jsx("div", {
44
+ className: "absolute inset-x-0 bottom-0 flex justify-center bg-background px-10 pt-10 pb-16 shadow-lg",
45
+ children: /* @__PURE__ */ jsx(CookieBanner$1, {
46
+ className: "max-w-[1024px]",
47
+ cookies: cookiesInput,
48
+ onSubmit: handleAccept,
49
+ onReject: handleReject,
50
+ submitLabel: t("cookieBanner.accept"),
51
+ rejectLabel: t("cookieBanner.reject"),
52
+ children: /* @__PURE__ */ jsx("p", {
53
+ className: "font-semibold text-muted-foreground",
54
+ children: /* @__PURE__ */ jsx(Trans, {
55
+ i18nKey: "cookieBanner.message",
56
+ components: { a: /* @__PURE__ */ jsx("a", {
57
+ onClick: () => showPHModal({ type: "cookiesPolicy" }),
58
+ className: "cursor-pointer text-foreground hover:underline"
59
+ }, "cookieBanner.message-link") }
60
+ }, "cookieBanner.message")
61
+ })
62
+ })
63
+ })]
64
+ });
65
+ };
66
+ //#endregion
67
+ export { CookieBanner };
68
+
69
+ //# sourceMappingURL=cookie-banner-BJrG_u38.js.map
70
+ //# debugId=ad29b811-1f71-569e-a6f2-175d0d82610d
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie-banner-BJrG_u38.js","sources":["../src/components/cookie-banner.tsx"],"sourcesContent":["import {\n useAcceptedCookies,\n useCookieBanner,\n} from \"../hooks/preferences-store.js\";\nimport type { CookieInput } from \"@powerhousedao/design-system/connect\";\nimport { CookieBanner as PHCookieBanner } from \"@powerhousedao/design-system/connect\";\nimport { showPHModal } from \"@powerhousedao/reactor-browser\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { i18n } from \"@powerhousedao/connect/i18n\";\n\nconst isCookieAccepted = (cookies: CookieInput[], id: string) => {\n return cookies.some((cookie) => cookie.id === id && cookie.value);\n};\n\nexport const CookieBanner = () => {\n const { t } = useTranslation(undefined, {\n useSuspense: true,\n i18n,\n });\n const [showBanner, setShowBanner] = useCookieBanner();\n const [, setAcceptedCookies] = useAcceptedCookies();\n\n const cookiesInput: CookieInput[] = [\n {\n id: \"analytics-cookie\",\n label: t(\"cookieBanner.cookies.analytics\"),\n value: true,\n },\n ];\n\n const handleAccept = (cookies: CookieInput[]) => {\n setShowBanner(false);\n\n if (isCookieAccepted(cookies, \"analytics-cookie\")) {\n setAcceptedCookies((acceptedCookies) => ({\n ...acceptedCookies,\n analytics: true,\n }));\n }\n };\n\n const handleReject = () => {\n setShowBanner(false);\n setAcceptedCookies(() => ({\n analytics: false,\n functional: false,\n marketing: false,\n }));\n };\n\n if (!showBanner) {\n return null;\n }\n\n return (\n <div className=\"absolute inset-0 z-10000 backdrop-blur-sm\">\n <div className=\"absolute inset-0 bg-primary opacity-15\" />\n <div className=\"absolute inset-x-0 bottom-0 flex justify-center bg-background px-10 pt-10 pb-16 shadow-lg\">\n <PHCookieBanner\n className=\"max-w-[1024px]\"\n cookies={cookiesInput}\n onSubmit={handleAccept}\n onReject={handleReject}\n submitLabel={t(\"cookieBanner.accept\")}\n rejectLabel={t(\"cookieBanner.reject\")}\n >\n <p className=\"font-semibold text-muted-foreground\">\n <Trans\n key={\"cookieBanner.message\"}\n i18nKey=\"cookieBanner.message\"\n components={{\n a: (\n <a\n onClick={() => showPHModal({ type: \"cookiesPolicy\" })}\n key={\"cookieBanner.message-link\"}\n className=\"cursor-pointer text-foreground hover:underline\"\n />\n ),\n }}\n />\n </p>\n </PHCookieBanner>\n </div>\n </div>\n );\n};\n"],"names":["PHCookieBanner"],"mappings":";;;;;;;;;AAUA,MAAM,oBAAoB,SAAwB,OAAe;AAC/D,QAAO,QAAQ,MAAM,WAAW,OAAO,OAAO,MAAM,OAAO,MAAM;;AAGnE,MAAa,qBAAqB;CAChC,MAAM,EAAE,MAAM,eAAe,KAAA,GAAW;EACtC,aAAa;EACb;EACD,CAAC;CACF,MAAM,CAAC,YAAY,iBAAiB,iBAAiB;CACrD,MAAM,GAAG,sBAAsB,oBAAoB;CAEnD,MAAM,eAA8B,CAClC;EACE,IAAI;EACJ,OAAO,EAAE,iCAAiC;EAC1C,OAAO;EACR,CACF;CAED,MAAM,gBAAgB,YAA2B;AAC/C,gBAAc,MAAM;AAEpB,MAAI,iBAAiB,SAAS,mBAAmB,CAC/C,qBAAoB,qBAAqB;GACvC,GAAG;GACH,WAAW;GACZ,EAAE;;CAIP,MAAM,qBAAqB;AACzB,gBAAc,MAAM;AACpB,4BAA0B;GACxB,WAAW;GACX,YAAY;GACZ,WAAW;GACZ,EAAE;;AAGL,KAAI,CAAC,WACH,QAAO;AAGT,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,oBAAC,OAAD,EAAK,WAAU,0CAA2C,CAAA,EAC1D,oBAAC,OAAD;GAAK,WAAU;aACb,oBAACA,gBAAD;IACE,WAAU;IACV,SAAS;IACT,UAAU;IACV,UAAU;IACV,aAAa,EAAE,sBAAsB;IACrC,aAAa,EAAE,sBAAsB;cAErC,oBAAC,KAAD;KAAG,WAAU;eACX,oBAAC,OAAD;MAEE,SAAQ;MACR,YAAY,EACV,GACE,oBAAC,KAAD;OACE,eAAe,YAAY,EAAE,MAAM,iBAAiB,CAAC;OAErD,WAAU;OACV,EAFK,4BAEL,EAEL;MACD,EAXK,uBAWL;KACA,CAAA;IACW,CAAA;GACb,CAAA,CACF","debug_id":"ad29b811-1f71-569e-a6f2-175d0d82610d"}
@@ -1,8 +1,7 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="0f632200-a36c-5667-a343-797df5644c5f")}catch(e){}}();
3
- import { jsx, jsxs } from "react/jsx-runtime";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8ef0aafd-e0f9-5f73-9211-342825aa6c30")}catch(e){}}();
4
3
  import i18n from "i18next";
5
- import { initReactI18next, useTranslation } from "react-i18next";
4
+ import { initReactI18next } from "react-i18next";
6
5
  i18n.use(initReactI18next).init({
7
6
  resources: { en: {
8
7
  code: "en",
@@ -141,29 +140,7 @@ i18n.use(initReactI18next).init({
141
140
  console.error(e);
142
141
  });
143
142
  //#endregion
144
- //#region src/services/sentry.ts
145
- let sentry;
146
- function setSentryModule(mod) {
147
- sentry = mod;
148
- }
149
- function setUser(...args) {
150
- sentry?.setUser(...args);
151
- }
152
- //#endregion
153
- //#region src/components/reload-connect-toast.tsx
154
- const ReloadConnectToast = () => {
155
- const { t } = useTranslation();
156
- return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
157
- className: "font-medium",
158
- children: t("notifications.reloadApp")
159
- }), /* @__PURE__ */ jsxs("button", {
160
- onClick: () => location.reload(),
161
- className: "underline decoration-solid underline-offset-2",
162
- children: [t("common.reloadConnect"), " 🔄"]
163
- })] });
164
- };
165
- //#endregion
166
- export { i18n as i, setSentryModule as n, setUser as r, ReloadConnectToast as t };
143
+ export { i18n as t };
167
144
 
168
- //# sourceMappingURL=reload-connect-toast-DDQEupCN.js.map
169
- //# debugId=0f632200-a36c-5667-a343-797df5644c5f
145
+ //# sourceMappingURL=i18n-CWyz5j1Z.js.map
146
+ //# debugId=8ef0aafd-e0f9-5f73-9211-342825aa6c30
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n-CWyz5j1Z.js","sources":["../src/i18n/locales/en.json","../src/i18n/index.ts"],"sourcesContent":["","import type { Resource } from \"i18next\";\nimport i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport translationEN from \"./locales/en.json\" with { type: \"json\" };\n\nconst resources: Resource = {\n en: {\n code: \"en\",\n name: \"English\",\n translation: translationEN,\n },\n};\n\ni18n\n .use(initReactI18next)\n .init({\n resources,\n fallbackLng: \"en\",\n debug: false,\n interpolation: {\n escapeValue: false,\n },\n })\n .catch((e: unknown) => {\n console.error(e);\n });\n\nexport { i18n };\nexport default i18n;\n"],"names":["translationEN"],"mappings":";;;;ACcA,KACG,IAAI,iBAAiB,CACrB,KAAK;CACJ,WAXwB,EAC1B,IAAI;EACF,MAAM;EACN,MAAM;EACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACD,EACF;CAMG,aAAa;CACb,OAAO;CACP,eAAe,EACb,aAAa,OACd;CACF,CAAC,CACD,OAAO,MAAe;AACrB,SAAQ,MAAM,EAAE;EAChB","debug_id":"8ef0aafd-e0f9-5f73-9211-342825aa6c30"}
@@ -1,13 +1,13 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="adf5eeae-79f4-5153-b9be-46282f6203d7")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="bea809ef-bd21-562d-b894-fcb7d634f3a2")}catch(e){}}();
3
3
  import { r as loadRuntimeConfig, t as applyConnectBranding } from "./runtime-config-DL3QjcfM.js";
4
- import { r as setUser, t as ReloadConnectToast } from "./reload-connect-toast-DDQEupCN.js";
5
- import { t as package_default } from "./package-ZLxXINym.js";
6
- import { r as connectConfig } from "./connect.config-C-b_Yhd6.js";
7
- import { n as createReactor } from "./reactor-Dn5J8dOX.js";
8
- import { a as detectReactorPgMajor, i as detectMigrationMajor } from "./connection-state-KCa1yljA.js";
9
- import { n as seedPendingPgVersion } from "./pglite-seed-DRXPe7p-.js";
10
- import { r as toast } from "./toast-CO6ChlzE.js";
4
+ import { t as package_default } from "./package-C3Jxu89p.js";
5
+ import { r as connectConfig } from "./connect.config-XXdN7RFy.js";
6
+ import { n as createReactor } from "./reactor-C8E2rx64.js";
7
+ import { a as detectReactorPgMajor, i as detectMigrationMajor } from "./connection-state-DTSv8MDQ.js";
8
+ import { n as seedPendingPgVersion } from "./pglite-seed-DQgqjlQu.js";
9
+ import { r as setUser, t as ReloadConnectToast } from "./reload-connect-toast-BzHqUfbu.js";
10
+ import { r as toast } from "./toast-DtfTKZND.js";
11
11
  import { createElement, useEffect } from "react";
12
12
  import { initTheme, useUser } from "@powerhousedao/reactor-browser";
13
13
  import { logger } from "document-model";
@@ -96,5 +96,5 @@ async function loadComponent(localPackage) {
96
96
  //#endregion
97
97
  export { loadComponent };
98
98
 
99
- //# sourceMappingURL=load-DUCtfMW3.js.map
100
- //# debugId=adf5eeae-79f4-5153-b9be-46282f6203d7
99
+ //# sourceMappingURL=load-RSUO_fUw.js.map
100
+ //# debugId=bea809ef-bd21-562d-b894-fcb7d634f3a2
@@ -1 +1 @@
1
- {"version":3,"file":"load-DUCtfMW3.js","sources":["../src/hooks/useCheckLatestVersion.ts","../src/hooks/utils.ts","../src/store/user.ts","../src/components/load.tsx"],"sourcesContent":["import { connectConfig } from \"@powerhousedao/connect/config\";\nimport { isLatestVersion } from \"@powerhousedao/connect/hooks\";\nimport { toast } from \"@powerhousedao/connect/services\";\nimport { logger } from \"document-model\";\nimport { createElement, useEffect } from \"react\";\nimport { ReloadConnectToast } from \"../components/reload-connect-toast.js\";\n\nexport const useCheckLatestVersion = () => {\n async function checkLatestVersion() {\n const result = await isLatestVersion();\n if (result === null) return;\n // ignore dev/staging versions\n if (result.isLatest || result.currentVersion.includes(\"-\")) {\n return true;\n }\n\n if (\n import.meta.env.MODE === \"development\" ||\n connectConfig.studioMode ||\n !connectConfig.warnOutdatedApp\n ) {\n logger.warn(\n \"Connect is outdated: \\nCurrent: @currentVersion\\nLatest: @latestVersion\",\n result.currentVersion,\n result.latestVersion,\n );\n } else {\n toast(createElement(ReloadConnectToast), {\n type: \"connect-warning\",\n toastId: \"outdated-app\",\n autoClose: false,\n });\n }\n }\n\n useEffect(() => {\n checkLatestVersion().catch(console.error);\n }, []);\n};\n","import { packageJson } from \"../utils/package-json.js\";\n\nexport const isMac = window.navigator.appVersion.includes(\"Mac\");\n\nconst urlBranchMap: Record<string, string> = {\n \"staging/makerdao\": \"deployments/staging/makerdao\",\n \"staging/arbitrum\": \"arb-ltip\",\n \"staging/powerhouse\": \"staging\",\n makerdao: \"deployments/makerdao\",\n arbitrum: \"deployments/arbitrum\",\n arbgrants: \"deployments/arbitrum\",\n localhost: \"develop\",\n};\n\nconst getGithubLinkFromUrl = () => {\n const githubLink = \"https://raw.githubusercontent.com/powerhouse-inc/connect\";\n const url = window.location.href;\n\n const env = Object.keys(urlBranchMap).find((env) => url.includes(env));\n const value = env ? urlBranchMap[env] : undefined;\n if (!value) {\n return undefined;\n } else {\n return `${githubLink}/${value}/package.json`;\n }\n};\n\nconst fetchLatestVersion = async () => {\n const link = getGithubLinkFromUrl();\n if (!link) {\n return undefined;\n }\n const result = await fetch(link);\n const data = (await result.json()) as { version: string };\n const { version } = data;\n return version;\n};\n\nexport const isLatestVersion = async () => {\n const currentVersion = packageJson.version;\n const deployed = await fetchLatestVersion();\n\n if (deployed) {\n return {\n isLatest: deployed === currentVersion,\n currentVersion,\n latestVersion: deployed,\n };\n }\n\n return null;\n};\n","import { useUser } from \"@powerhousedao/reactor-browser\";\nimport type { User as SentryUser } from \"@sentry/react\";\nimport { useEffect } from \"react\";\nimport { setUser as setSentryUser } from \"../services/sentry.js\";\n\nexport function useSetSentryUser() {\n const user = useUser();\n useEffect(() => {\n let sentryUser: SentryUser | null = null;\n if (user) {\n // saves the user info except the credential\n const { credential: _credential, ...rest } = user;\n sentryUser = { id: rest.did, username: rest.ens?.name, ...rest };\n }\n setSentryUser(sentryUser);\n }, [user]);\n}\n","import { useCheckLatestVersion } from \"@powerhousedao/connect/hooks\";\nimport \"@powerhousedao/connect/i18n\";\nimport { createReactor, useSetSentryUser } from \"@powerhousedao/connect/store\";\nimport {\n detectMigrationMajor,\n detectReactorPgMajor,\n seedPendingPgVersion,\n} from \"@powerhousedao/connect/utils\";\nimport { initTheme } from \"@powerhousedao/reactor-browser\";\nimport type { DocumentModelLib } from \"document-model\";\nimport { type ReactNode } from \"react\";\nimport { applyConnectBranding, loadRuntimeConfig } from \"../runtime-config.js\";\n\nexport async function loadComponent(localPackage?: DocumentModelLib) {\n await seedPendingPgVersion();\n await Promise.all([detectReactorPgMajor(), detectMigrationMajor()]);\n const runtimeConfig = await loadRuntimeConfig();\n applyConnectBranding(runtimeConfig);\n await createReactor(localPackage);\n return {\n default: ({ children }: { children?: ReactNode }) => {\n initTheme();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useSetSentryUser();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useCheckLatestVersion();\n return children;\n },\n };\n}\n"],"names":["packageJson"],"mappings":";;;;;;;;;;;;;;AAOA,MAAa,8BAA8B;CACzC,eAAe,qBAAqB;EAClC,MAAM,SAAS,MAAM,iBAAiB;AACtC,MAAI,WAAW,KAAM;AAErB,MAAI,OAAO,YAAY,OAAO,eAAe,SAAS,IAAI,CACxD,QAAO;AAGT,MACE,OAAO,KAAK,IAAI,SAAS,iBACzB,cAAc,cACd,CAAC,cAAc,gBAEf,QAAO,KACL,2EACA,OAAO,gBACP,OAAO,cACR;MAED,OAAM,cAAc,mBAAmB,EAAE;GACvC,MAAM;GACN,SAAS;GACT,WAAW;GACZ,CAAC;;AAIN,iBAAgB;AACd,sBAAoB,CAAC,MAAM,QAAQ,MAAM;IACxC,EAAE,CAAC;;ACnCa,OAAO,UAAU,WAAW,SAAS,MAAM;AAEhE,MAAM,eAAuC;CAC3C,oBAAoB;CACpB,oBAAoB;CACpB,sBAAsB;CACtB,UAAU;CACV,UAAU;CACV,WAAW;CACX,WAAW;CACZ;AAED,MAAM,6BAA6B;CACjC,MAAM,aAAa;CACnB,MAAM,MAAM,OAAO,SAAS;CAE5B,MAAM,MAAM,OAAO,KAAK,aAAa,CAAC,MAAM,QAAQ,IAAI,SAAS,IAAI,CAAC;CACtE,MAAM,QAAQ,MAAM,aAAa,OAAO,KAAA;AACxC,KAAI,CAAC,MACH;KAEA,QAAO,GAAG,WAAW,GAAG,MAAM;;AAIlC,MAAM,qBAAqB,YAAY;CACrC,MAAM,OAAO,sBAAsB;AACnC,KAAI,CAAC,KACH;CAIF,MAAM,EAAE,YADM,OADC,MAAM,MAAM,KAAK,EACL,MAAM;AAEjC,QAAO;;AAGT,MAAa,kBAAkB,YAAY;CACzC,MAAM,iBAAiBA,gBAAY;CACnC,MAAM,WAAW,MAAM,oBAAoB;AAE3C,KAAI,SACF,QAAO;EACL,UAAU,aAAa;EACvB;EACA,eAAe;EAChB;AAGH,QAAO;;;;AC7CT,SAAgB,mBAAmB;CACjC,MAAM,OAAO,SAAS;AACtB,iBAAgB;EACd,IAAI,aAAgC;AACpC,MAAI,MAAM;GAER,MAAM,EAAE,YAAY,aAAa,GAAG,SAAS;AAC7C,gBAAa;IAAE,IAAI,KAAK;IAAK,UAAU,KAAK,KAAK;IAAM,GAAG;IAAM;;AAElE,UAAc,WAAW;IACxB,CAAC,KAAK,CAAC;;;;ACFZ,eAAsB,cAAc,cAAiC;AACnE,OAAM,sBAAsB;AAC5B,OAAM,QAAQ,IAAI,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;AAEnE,sBADsB,MAAM,mBAAmB,CACZ;AACnC,OAAM,cAAc,aAAa;AACjC,QAAO,EACL,UAAU,EAAE,eAAyC;AACnD,aAAW;AAEX,oBAAkB;AAElB,yBAAuB;AACvB,SAAO;IAEV","debug_id":"adf5eeae-79f4-5153-b9be-46282f6203d7"}
1
+ {"version":3,"file":"load-RSUO_fUw.js","sources":["../src/hooks/useCheckLatestVersion.ts","../src/hooks/utils.ts","../src/store/user.ts","../src/components/load.tsx"],"sourcesContent":["import { connectConfig } from \"@powerhousedao/connect/config\";\nimport { isLatestVersion } from \"@powerhousedao/connect/hooks\";\nimport { toast } from \"@powerhousedao/connect/services\";\nimport { logger } from \"document-model\";\nimport { createElement, useEffect } from \"react\";\nimport { ReloadConnectToast } from \"../components/reload-connect-toast.js\";\n\nexport const useCheckLatestVersion = () => {\n async function checkLatestVersion() {\n const result = await isLatestVersion();\n if (result === null) return;\n // ignore dev/staging versions\n if (result.isLatest || result.currentVersion.includes(\"-\")) {\n return true;\n }\n\n if (\n import.meta.env.MODE === \"development\" ||\n connectConfig.studioMode ||\n !connectConfig.warnOutdatedApp\n ) {\n logger.warn(\n \"Connect is outdated: \\nCurrent: @currentVersion\\nLatest: @latestVersion\",\n result.currentVersion,\n result.latestVersion,\n );\n } else {\n toast(createElement(ReloadConnectToast), {\n type: \"connect-warning\",\n toastId: \"outdated-app\",\n autoClose: false,\n });\n }\n }\n\n useEffect(() => {\n checkLatestVersion().catch(console.error);\n }, []);\n};\n","import { packageJson } from \"../utils/package-json.js\";\n\nexport const isMac = window.navigator.appVersion.includes(\"Mac\");\n\nconst urlBranchMap: Record<string, string> = {\n \"staging/makerdao\": \"deployments/staging/makerdao\",\n \"staging/arbitrum\": \"arb-ltip\",\n \"staging/powerhouse\": \"staging\",\n makerdao: \"deployments/makerdao\",\n arbitrum: \"deployments/arbitrum\",\n arbgrants: \"deployments/arbitrum\",\n localhost: \"develop\",\n};\n\nconst getGithubLinkFromUrl = () => {\n const githubLink = \"https://raw.githubusercontent.com/powerhouse-inc/connect\";\n const url = window.location.href;\n\n const env = Object.keys(urlBranchMap).find((env) => url.includes(env));\n const value = env ? urlBranchMap[env] : undefined;\n if (!value) {\n return undefined;\n } else {\n return `${githubLink}/${value}/package.json`;\n }\n};\n\nconst fetchLatestVersion = async () => {\n const link = getGithubLinkFromUrl();\n if (!link) {\n return undefined;\n }\n const result = await fetch(link);\n const data = (await result.json()) as { version: string };\n const { version } = data;\n return version;\n};\n\nexport const isLatestVersion = async () => {\n const currentVersion = packageJson.version;\n const deployed = await fetchLatestVersion();\n\n if (deployed) {\n return {\n isLatest: deployed === currentVersion,\n currentVersion,\n latestVersion: deployed,\n };\n }\n\n return null;\n};\n","import { useUser } from \"@powerhousedao/reactor-browser\";\nimport type { User as SentryUser } from \"@sentry/react\";\nimport { useEffect } from \"react\";\nimport { setUser as setSentryUser } from \"../services/sentry.js\";\n\nexport function useSetSentryUser() {\n const user = useUser();\n useEffect(() => {\n let sentryUser: SentryUser | null = null;\n if (user) {\n // saves the user info except the credential\n const { credential: _credential, ...rest } = user;\n sentryUser = { id: rest.did, username: rest.ens?.name, ...rest };\n }\n setSentryUser(sentryUser);\n }, [user]);\n}\n","import { useCheckLatestVersion } from \"@powerhousedao/connect/hooks\";\nimport \"@powerhousedao/connect/i18n\";\nimport { createReactor, useSetSentryUser } from \"@powerhousedao/connect/store\";\nimport {\n detectMigrationMajor,\n detectReactorPgMajor,\n seedPendingPgVersion,\n} from \"@powerhousedao/connect/utils\";\nimport { initTheme } from \"@powerhousedao/reactor-browser\";\nimport type { DocumentModelLib } from \"document-model\";\nimport { type ReactNode } from \"react\";\nimport { applyConnectBranding, loadRuntimeConfig } from \"../runtime-config.js\";\n\nexport async function loadComponent(localPackage?: DocumentModelLib) {\n await seedPendingPgVersion();\n await Promise.all([detectReactorPgMajor(), detectMigrationMajor()]);\n const runtimeConfig = await loadRuntimeConfig();\n applyConnectBranding(runtimeConfig);\n await createReactor(localPackage);\n return {\n default: ({ children }: { children?: ReactNode }) => {\n initTheme();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useSetSentryUser();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useCheckLatestVersion();\n return children;\n },\n };\n}\n"],"names":["packageJson"],"mappings":";;;;;;;;;;;;;;AAOA,MAAa,8BAA8B;CACzC,eAAe,qBAAqB;EAClC,MAAM,SAAS,MAAM,iBAAiB;AACtC,MAAI,WAAW,KAAM;AAErB,MAAI,OAAO,YAAY,OAAO,eAAe,SAAS,IAAI,CACxD,QAAO;AAGT,MACE,OAAO,KAAK,IAAI,SAAS,iBACzB,cAAc,cACd,CAAC,cAAc,gBAEf,QAAO,KACL,2EACA,OAAO,gBACP,OAAO,cACR;MAED,OAAM,cAAc,mBAAmB,EAAE;GACvC,MAAM;GACN,SAAS;GACT,WAAW;GACZ,CAAC;;AAIN,iBAAgB;AACd,sBAAoB,CAAC,MAAM,QAAQ,MAAM;IACxC,EAAE,CAAC;;ACnCa,OAAO,UAAU,WAAW,SAAS,MAAM;AAEhE,MAAM,eAAuC;CAC3C,oBAAoB;CACpB,oBAAoB;CACpB,sBAAsB;CACtB,UAAU;CACV,UAAU;CACV,WAAW;CACX,WAAW;CACZ;AAED,MAAM,6BAA6B;CACjC,MAAM,aAAa;CACnB,MAAM,MAAM,OAAO,SAAS;CAE5B,MAAM,MAAM,OAAO,KAAK,aAAa,CAAC,MAAM,QAAQ,IAAI,SAAS,IAAI,CAAC;CACtE,MAAM,QAAQ,MAAM,aAAa,OAAO,KAAA;AACxC,KAAI,CAAC,MACH;KAEA,QAAO,GAAG,WAAW,GAAG,MAAM;;AAIlC,MAAM,qBAAqB,YAAY;CACrC,MAAM,OAAO,sBAAsB;AACnC,KAAI,CAAC,KACH;CAIF,MAAM,EAAE,YADM,OADC,MAAM,MAAM,KAAK,EACL,MAAM;AAEjC,QAAO;;AAGT,MAAa,kBAAkB,YAAY;CACzC,MAAM,iBAAiBA,gBAAY;CACnC,MAAM,WAAW,MAAM,oBAAoB;AAE3C,KAAI,SACF,QAAO;EACL,UAAU,aAAa;EACvB;EACA,eAAe;EAChB;AAGH,QAAO;;;;AC7CT,SAAgB,mBAAmB;CACjC,MAAM,OAAO,SAAS;AACtB,iBAAgB;EACd,IAAI,aAAgC;AACpC,MAAI,MAAM;GAER,MAAM,EAAE,YAAY,aAAa,GAAG,SAAS;AAC7C,gBAAa;IAAE,IAAI,KAAK;IAAK,UAAU,KAAK,KAAK;IAAM,GAAG;IAAM;;AAElE,UAAc,WAAW;IACxB,CAAC,KAAK,CAAC;;;;ACFZ,eAAsB,cAAc,cAAiC;AACnE,OAAM,sBAAsB;AAC5B,OAAM,QAAQ,IAAI,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;AAEnE,sBADsB,MAAM,mBAAmB,CACZ;AACnC,OAAM,cAAc,aAAa;AACjC,QAAO,EACL,UAAU,EAAE,eAAyC;AACnD,aAAW;AAEX,oBAAkB;AAElB,yBAAuB;AACvB,SAAO;IAEV","debug_id":"bea809ef-bd21-562d-b894-fcb7d634f3a2"}
package/dist/main.js CHANGED
@@ -6,7 +6,7 @@ import { jsx } from "react/jsx-runtime";
6
6
  //#region main.tsx
7
7
  if (!window.ph) window.ph = {};
8
8
  await loadRuntimeConfig();
9
- const { AppLoader } = await import("./app-loader-BffxIMi7.js");
9
+ const { AppLoader } = await import("./app-loader-BLbUg8o4.js");
10
10
  createRoot(document.getElementById("root")).render(/* @__PURE__ */ jsx(AppLoader, {}));
11
11
  //#endregion
12
12
 
@@ -1,10 +1,10 @@
1
1
  //#region package.json
2
2
 
3
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="dadd3c44-eb9c-52ae-8986-a5a60f167de3")}catch(e){}}();
3
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="96d915b5-23b2-5336-bc39-b3d56ba64e46")}catch(e){}}();
4
4
  var package_default = {
5
5
  name: "@powerhousedao/connect",
6
6
  productName: "Powerhouse-Connect",
7
- version: "6.2.2-dev.76",
7
+ version: "6.2.2-dev.77",
8
8
  description: "Powerhouse Connect",
9
9
  main: "dist/index.html",
10
10
  type: "module",
@@ -75,6 +75,7 @@ var package_default = {
75
75
  "@powerhousedao/reactor": "workspace:*",
76
76
  "@powerhousedao/reactor-attachments": "workspace:*",
77
77
  "@powerhousedao/reactor-browser": "workspace:*",
78
+ "@powerhousedao/reactor-mcp": "workspace:*",
78
79
  "@powerhousedao/shared": "workspace:*",
79
80
  "@powerhousedao/vetra": "workspace:*",
80
81
  "@privy-io/react-auth": "3.35.0",
@@ -128,5 +129,5 @@ var package_default = {
128
129
  //#endregion
129
130
  export { package_default as t };
130
131
 
131
- //# sourceMappingURL=package-ZLxXINym.js.map
132
- //# debugId=dadd3c44-eb9c-52ae-8986-a5a60f167de3
132
+ //# sourceMappingURL=package-C3Jxu89p.js.map
133
+ //# debugId=96d915b5-23b2-5336-bc39-b3d56ba64e46
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-C3Jxu89p.js","sources":["../package.json"],"sourcesContent":[""],"names":[],"mappings":"","debug_id":"96d915b5-23b2-5336-bc39-b3d56ba64e46"}
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8f8cb813-98e0-5cee-93aa-17aa54301236")}catch(e){}}();
3
- import { l as invalidateReactorPgMajorCache, m as REACTOR_PGLITE_NAME } from "./connection-state-KCa1yljA.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b1525669-65eb-5fea-a1b0-732bbf5e543b")}catch(e){}}();
3
+ import { l as invalidateReactorPgMajorCache, m as REACTOR_PGLITE_NAME } from "./connection-state-DTSv8MDQ.js";
4
4
  //#region src/utils/pglite-seed.ts
5
5
  const PENDING_PG_SEED_KEY = "ph:pending-pg-seed";
6
6
  /**
@@ -45,5 +45,5 @@ async function seedPendingPgVersion() {
45
45
  //#endregion
46
46
  export { seedPendingPgVersion as n, PENDING_PG_SEED_KEY as t };
47
47
 
48
- //# sourceMappingURL=pglite-seed-DRXPe7p-.js.map
49
- //# debugId=8f8cb813-98e0-5cee-93aa-17aa54301236
48
+ //# sourceMappingURL=pglite-seed-DQgqjlQu.js.map
49
+ //# debugId=b1525669-65eb-5fea-a1b0-732bbf5e543b
@@ -1 +1 @@
1
- {"version":3,"file":"pglite-seed-DRXPe7p-.js","sources":["../src/utils/pglite-seed.ts"],"sourcesContent":["import { invalidateReactorPgMajorCache } from \"./pglite-runtime.js\";\nimport { REACTOR_PGLITE_NAME } from \"./storage-namespace.js\";\n\nexport const PENDING_PG_SEED_KEY = \"ph:pending-pg-seed\";\n\n/**\n * If the Debug Inspector requested a forced PG version reset, this runs\n * before the reactor is created on the subsequent page load: opens a fresh\n * PGlite of the requested major against the reactor data dir, lets `initdb`\n * populate `PG_VERSION`, then closes. The next step of app boot then\n * detects this fresh data dir and picks the matching runtime.\n */\nexport async function seedPendingPgVersion(): Promise<void> {\n const raw = localStorage.getItem(PENDING_PG_SEED_KEY);\n if (!raw) return;\n\n const major = parseInt(raw, 10);\n console.info(`[pglite-seed] Seeding fresh PG${major} data dir...`);\n\n try {\n if (major === 16) {\n const { PGlite } = await import(\"pglite-legacy-02\");\n const pg = new PGlite(`idb://${REACTOR_PGLITE_NAME}`);\n try {\n await pg.waitReady;\n } finally {\n await pg.close();\n }\n } else if (major === 17) {\n const { PGlite } = await import(\"@electric-sql/pglite\");\n const pg = new PGlite(`idb://${REACTOR_PGLITE_NAME}`);\n try {\n await pg.waitReady;\n } finally {\n await pg.close();\n }\n } else {\n console.warn(`[pglite-seed] Unsupported version ${raw}, skipping`);\n return;\n }\n console.info(`[pglite-seed] Seeded PG${major} data dir.`);\n } finally {\n localStorage.removeItem(PENDING_PG_SEED_KEY);\n invalidateReactorPgMajorCache();\n }\n}\n"],"names":[],"mappings":";;;;AAGA,MAAa,sBAAsB;;;;;;;;AASnC,eAAsB,uBAAsC;CAC1D,MAAM,MAAM,aAAa,QAAQ,oBAAoB;AACrD,KAAI,CAAC,IAAK;CAEV,MAAM,QAAQ,SAAS,KAAK,GAAG;AAC/B,SAAQ,KAAK,iCAAiC,MAAM,cAAc;AAElE,KAAI;AACF,MAAI,UAAU,IAAI;GAChB,MAAM,EAAE,WAAW,MAAM,OAAO;GAChC,MAAM,KAAK,IAAI,OAAO,SAAS,sBAAsB;AACrD,OAAI;AACF,UAAM,GAAG;aACD;AACR,UAAM,GAAG,OAAO;;aAET,UAAU,IAAI;GACvB,MAAM,EAAE,WAAW,MAAM,OAAO;GAChC,MAAM,KAAK,IAAI,OAAO,SAAS,sBAAsB;AACrD,OAAI;AACF,UAAM,GAAG;aACD;AACR,UAAM,GAAG,OAAO;;SAEb;AACL,WAAQ,KAAK,qCAAqC,IAAI,YAAY;AAClE;;AAEF,UAAQ,KAAK,0BAA0B,MAAM,YAAY;WACjD;AACR,eAAa,WAAW,oBAAoB;AAC5C,iCAA+B","debug_id":"8f8cb813-98e0-5cee-93aa-17aa54301236"}
1
+ {"version":3,"file":"pglite-seed-DQgqjlQu.js","sources":["../src/utils/pglite-seed.ts"],"sourcesContent":["import { invalidateReactorPgMajorCache } from \"./pglite-runtime.js\";\nimport { REACTOR_PGLITE_NAME } from \"./storage-namespace.js\";\n\nexport const PENDING_PG_SEED_KEY = \"ph:pending-pg-seed\";\n\n/**\n * If the Debug Inspector requested a forced PG version reset, this runs\n * before the reactor is created on the subsequent page load: opens a fresh\n * PGlite of the requested major against the reactor data dir, lets `initdb`\n * populate `PG_VERSION`, then closes. The next step of app boot then\n * detects this fresh data dir and picks the matching runtime.\n */\nexport async function seedPendingPgVersion(): Promise<void> {\n const raw = localStorage.getItem(PENDING_PG_SEED_KEY);\n if (!raw) return;\n\n const major = parseInt(raw, 10);\n console.info(`[pglite-seed] Seeding fresh PG${major} data dir...`);\n\n try {\n if (major === 16) {\n const { PGlite } = await import(\"pglite-legacy-02\");\n const pg = new PGlite(`idb://${REACTOR_PGLITE_NAME}`);\n try {\n await pg.waitReady;\n } finally {\n await pg.close();\n }\n } else if (major === 17) {\n const { PGlite } = await import(\"@electric-sql/pglite\");\n const pg = new PGlite(`idb://${REACTOR_PGLITE_NAME}`);\n try {\n await pg.waitReady;\n } finally {\n await pg.close();\n }\n } else {\n console.warn(`[pglite-seed] Unsupported version ${raw}, skipping`);\n return;\n }\n console.info(`[pglite-seed] Seeded PG${major} data dir.`);\n } finally {\n localStorage.removeItem(PENDING_PG_SEED_KEY);\n invalidateReactorPgMajorCache();\n }\n}\n"],"names":[],"mappings":";;;;AAGA,MAAa,sBAAsB;;;;;;;;AASnC,eAAsB,uBAAsC;CAC1D,MAAM,MAAM,aAAa,QAAQ,oBAAoB;AACrD,KAAI,CAAC,IAAK;CAEV,MAAM,QAAQ,SAAS,KAAK,GAAG;AAC/B,SAAQ,KAAK,iCAAiC,MAAM,cAAc;AAElE,KAAI;AACF,MAAI,UAAU,IAAI;GAChB,MAAM,EAAE,WAAW,MAAM,OAAO;GAChC,MAAM,KAAK,IAAI,OAAO,SAAS,sBAAsB;AACrD,OAAI;AACF,UAAM,GAAG;aACD;AACR,UAAM,GAAG,OAAO;;aAET,UAAU,IAAI;GACvB,MAAM,EAAE,WAAW,MAAM,OAAO;GAChC,MAAM,KAAK,IAAI,OAAO,SAAS,sBAAsB;AACrD,OAAI;AACF,UAAM,GAAG;aACD;AACR,UAAM,GAAG,OAAO;;SAEb;AACL,WAAQ,KAAK,qCAAqC,IAAI,YAAY;AAClE;;AAEF,UAAQ,KAAK,0BAA0B,MAAM,YAAY;WACjD;AACR,eAAa,WAAW,oBAAoB;AAC5C,iCAA+B","debug_id":"b1525669-65eb-5fea-a1b0-732bbf5e543b"}
@@ -0,0 +1,104 @@
1
+
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="95fb5d4d-3e07-56c6-bc37-e4c0195adb68")}catch(e){}}();
3
+ import { r as connectConfig } from "./connect.config-XXdN7RFy.js";
4
+ import { useSyncExternalStore } from "react";
5
+ //#region src/hooks/useIsEmbedded.ts
6
+ /**
7
+ * Detects whether Connect is being rendered inside another app (e.g. inside
8
+ * an iframe in the vetra-cli drive editor). When `?embed=1` is present in the
9
+ * URL, chrome that doesn't make sense in the embedded context — the cookie
10
+ * banner, the outer sidebar — is suppressed.
11
+ */
12
+ function getIsEmbedded() {
13
+ if (typeof window === "undefined") return false;
14
+ try {
15
+ const value = new URLSearchParams(window.location.search).get("embed");
16
+ return value !== null && value !== "0" && value !== "false";
17
+ } catch {
18
+ return false;
19
+ }
20
+ }
21
+ function useIsEmbedded() {
22
+ return getIsEmbedded();
23
+ }
24
+ //#endregion
25
+ //#region src/hooks/preferences-store.ts
26
+ const namespace = connectConfig.routerBasename;
27
+ /**
28
+ * Block-proof home for Connect's consent and banner state.
29
+ *
30
+ * The file name deliberately avoids words that appear in ad-blocker
31
+ * filter lists (cookie, banner, consent, analytics, ...). Modules in the
32
+ * app's critical import chain import from here, never from files whose
33
+ * URLs match those filters. If an ad blocker blocks the lazy-loaded
34
+ * cookie-banner chunk instead, the app simply never shows the banner —
35
+ * which leaves the flags at their rejected defaults (analytics off) —
36
+ * and everything else keeps working.
37
+ */
38
+ const ACCEPTED_COOKIES_KEY_STORAGE = `${namespace}:acceptedCookies`;
39
+ const REJECTED_COOKIES = {
40
+ analytics: false,
41
+ marketing: false,
42
+ functional: false
43
+ };
44
+ const cookieListeners = /* @__PURE__ */ new Set();
45
+ let acceptedCookies = getInitialAcceptedCookies();
46
+ function getInitialAcceptedCookies() {
47
+ try {
48
+ const value = localStorage.getItem(ACCEPTED_COOKIES_KEY_STORAGE);
49
+ return value ? JSON.parse(value) : REJECTED_COOKIES;
50
+ } catch {
51
+ return REJECTED_COOKIES;
52
+ }
53
+ }
54
+ function subscribeAcceptedCookies(fn) {
55
+ cookieListeners.add(fn);
56
+ return () => {
57
+ cookieListeners.delete(fn);
58
+ };
59
+ }
60
+ function getAcceptedCookies() {
61
+ return acceptedCookies;
62
+ }
63
+ function setAcceptedCookies(setter) {
64
+ acceptedCookies = setter(acceptedCookies);
65
+ localStorage.setItem(ACCEPTED_COOKIES_KEY_STORAGE, JSON.stringify(acceptedCookies));
66
+ cookieListeners.forEach((fn) => fn());
67
+ }
68
+ const useAcceptedCookies = () => {
69
+ return [useSyncExternalStore(subscribeAcceptedCookies, getAcceptedCookies, getAcceptedCookies), setAcceptedCookies];
70
+ };
71
+ const COOKIE_BANNER_KEY_STORAGE = `${namespace}:display-cookie-banner`;
72
+ const bannerListeners = /* @__PURE__ */ new Set();
73
+ let bannerShown = getInitialBannerShown();
74
+ function getInitialBannerShown() {
75
+ if (getIsEmbedded()) return false;
76
+ try {
77
+ return localStorage.getItem(COOKIE_BANNER_KEY_STORAGE) !== "false";
78
+ } catch (error) {
79
+ console.error(error);
80
+ return true;
81
+ }
82
+ }
83
+ function subscribeBannerShown(fn) {
84
+ bannerListeners.add(fn);
85
+ return () => {
86
+ bannerListeners.delete(fn);
87
+ };
88
+ }
89
+ function getBannerShown() {
90
+ return bannerShown;
91
+ }
92
+ function setBannerShown(state) {
93
+ bannerShown = state;
94
+ localStorage.setItem(COOKIE_BANNER_KEY_STORAGE, JSON.stringify(state));
95
+ bannerListeners.forEach((fn) => fn());
96
+ }
97
+ const useCookieBanner = () => {
98
+ return [useSyncExternalStore(subscribeBannerShown, getBannerShown, getBannerShown), setBannerShown];
99
+ };
100
+ //#endregion
101
+ export { useIsEmbedded as i, useCookieBanner as n, getIsEmbedded as r, useAcceptedCookies as t };
102
+
103
+ //# sourceMappingURL=preferences-store-C-u8PIwU.js.map
104
+ //# debugId=95fb5d4d-3e07-56c6-bc37-e4c0195adb68
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferences-store-C-u8PIwU.js","sources":["../src/hooks/useIsEmbedded.ts","../src/hooks/preferences-store.ts"],"sourcesContent":["/**\n * Detects whether Connect is being rendered inside another app (e.g. inside\n * an iframe in the vetra-cli drive editor). When `?embed=1` is present in the\n * URL, chrome that doesn't make sense in the embedded context — the cookie\n * banner, the outer sidebar — is suppressed.\n */\nexport function getIsEmbedded(): boolean {\n if (typeof window === \"undefined\") return false;\n try {\n const params = new URLSearchParams(window.location.search);\n const value = params.get(\"embed\");\n return value !== null && value !== \"0\" && value !== \"false\";\n } catch {\n return false;\n }\n}\n\nexport function useIsEmbedded(): boolean {\n return getIsEmbedded();\n}\n","import { connectConfig } from \"@powerhousedao/connect/config\";\nimport { useSyncExternalStore } from \"react\";\n\nimport { getIsEmbedded } from \"./useIsEmbedded.js\";\n\nconst namespace = connectConfig.routerBasename;\n\n/**\n * Block-proof home for Connect's consent and banner state.\n *\n * The file name deliberately avoids words that appear in ad-blocker\n * filter lists (cookie, banner, consent, analytics, ...). Modules in the\n * app's critical import chain import from here, never from files whose\n * URLs match those filters. If an ad blocker blocks the lazy-loaded\n * cookie-banner chunk instead, the app simply never shows the banner —\n * which leaves the flags at their rejected defaults (analytics off) —\n * and everything else keeps working.\n */\n\n// ---------------------------------------------------------------------------\n// Accepted cookies (analytics / marketing / functional)\n// ---------------------------------------------------------------------------\n\nexport const ACCEPTED_COOKIES_KEY_STORAGE = `${namespace}:acceptedCookies`;\n\nexport interface AcceptedCookies {\n analytics: boolean;\n marketing: boolean;\n functional: boolean;\n}\n\nconst REJECTED_COOKIES: AcceptedCookies = {\n analytics: false,\n marketing: false,\n functional: false,\n};\n\nconst cookieListeners = new Set<() => void>();\n\nlet acceptedCookies: AcceptedCookies = getInitialAcceptedCookies();\n\nfunction getInitialAcceptedCookies(): AcceptedCookies {\n try {\n const value = localStorage.getItem(ACCEPTED_COOKIES_KEY_STORAGE);\n return value ? (JSON.parse(value) as AcceptedCookies) : REJECTED_COOKIES;\n } catch {\n return REJECTED_COOKIES;\n }\n}\n\nfunction subscribeAcceptedCookies(fn: () => void) {\n cookieListeners.add(fn);\n return () => {\n cookieListeners.delete(fn);\n };\n}\n\nfunction getAcceptedCookies(): AcceptedCookies {\n return acceptedCookies;\n}\n\nexport function setAcceptedCookies(\n setter: (prev: AcceptedCookies) => AcceptedCookies,\n) {\n acceptedCookies = setter(acceptedCookies);\n localStorage.setItem(\n ACCEPTED_COOKIES_KEY_STORAGE,\n JSON.stringify(acceptedCookies),\n );\n cookieListeners.forEach((fn) => fn());\n}\n\nexport const useAcceptedCookies = () => {\n const cookies = useSyncExternalStore(\n subscribeAcceptedCookies,\n getAcceptedCookies,\n getAcceptedCookies,\n );\n return [cookies, setAcceptedCookies] as const;\n};\n\n// ---------------------------------------------------------------------------\n// Cookie banner visibility\n// ---------------------------------------------------------------------------\n\nexport const COOKIE_BANNER_KEY_STORAGE = `${namespace}:display-cookie-banner`;\n\nconst bannerListeners = new Set<() => void>();\n\nlet bannerShown = getInitialBannerShown();\n\nfunction getInitialBannerShown(): boolean {\n if (getIsEmbedded()) return false;\n try {\n const value = localStorage.getItem(COOKIE_BANNER_KEY_STORAGE);\n return value !== \"false\";\n } catch (error) {\n console.error(error);\n return true;\n }\n}\n\nfunction subscribeBannerShown(fn: () => void) {\n bannerListeners.add(fn);\n return () => {\n bannerListeners.delete(fn);\n };\n}\n\nfunction getBannerShown(): boolean {\n return bannerShown;\n}\n\nexport function setBannerShown(state: boolean) {\n bannerShown = state;\n localStorage.setItem(COOKIE_BANNER_KEY_STORAGE, JSON.stringify(state));\n bannerListeners.forEach((fn) => fn());\n}\n\nexport const useCookieBanner = () => {\n const shown = useSyncExternalStore(\n subscribeBannerShown,\n getBannerShown,\n getBannerShown,\n );\n return [shown, setBannerShown] as const;\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAMA,SAAgB,gBAAyB;AACvC,KAAI,OAAO,WAAW,YAAa,QAAO;AAC1C,KAAI;EAEF,MAAM,QADS,IAAI,gBAAgB,OAAO,SAAS,OAAO,CACrC,IAAI,QAAQ;AACjC,SAAO,UAAU,QAAQ,UAAU,OAAO,UAAU;SAC9C;AACN,SAAO;;;AAIX,SAAgB,gBAAyB;AACvC,QAAO,eAAe;;;;ACbxB,MAAM,YAAY,cAAc;;;;;;;;;;;;AAkBhC,MAAa,+BAA+B,GAAG,UAAU;AAQzD,MAAM,mBAAoC;CACxC,WAAW;CACX,WAAW;CACX,YAAY;CACb;AAED,MAAM,kCAAkB,IAAI,KAAiB;AAE7C,IAAI,kBAAmC,2BAA2B;AAElE,SAAS,4BAA6C;AACpD,KAAI;EACF,MAAM,QAAQ,aAAa,QAAQ,6BAA6B;AAChE,SAAO,QAAS,KAAK,MAAM,MAAM,GAAuB;SAClD;AACN,SAAO;;;AAIX,SAAS,yBAAyB,IAAgB;AAChD,iBAAgB,IAAI,GAAG;AACvB,cAAa;AACX,kBAAgB,OAAO,GAAG;;;AAI9B,SAAS,qBAAsC;AAC7C,QAAO;;AAGT,SAAgB,mBACd,QACA;AACA,mBAAkB,OAAO,gBAAgB;AACzC,cAAa,QACX,8BACA,KAAK,UAAU,gBAAgB,CAChC;AACD,iBAAgB,SAAS,OAAO,IAAI,CAAC;;AAGvC,MAAa,2BAA2B;AAMtC,QAAO,CALS,qBACd,0BACA,oBACA,mBACD,EACgB,mBAAmB;;AAOtC,MAAa,4BAA4B,GAAG,UAAU;AAEtD,MAAM,kCAAkB,IAAI,KAAiB;AAE7C,IAAI,cAAc,uBAAuB;AAEzC,SAAS,wBAAiC;AACxC,KAAI,eAAe,CAAE,QAAO;AAC5B,KAAI;AAEF,SADc,aAAa,QAAQ,0BAA0B,KAC5C;UACV,OAAO;AACd,UAAQ,MAAM,MAAM;AACpB,SAAO;;;AAIX,SAAS,qBAAqB,IAAgB;AAC5C,iBAAgB,IAAI,GAAG;AACvB,cAAa;AACX,kBAAgB,OAAO,GAAG;;;AAI9B,SAAS,iBAA0B;AACjC,QAAO;;AAGT,SAAgB,eAAe,OAAgB;AAC7C,eAAc;AACd,cAAa,QAAQ,2BAA2B,KAAK,UAAU,MAAM,CAAC;AACtE,iBAAgB,SAAS,OAAO,IAAI,CAAC;;AAGvC,MAAa,wBAAwB;AAMnC,QAAO,CALO,qBACZ,sBACA,gBACA,eACD,EACc,eAAe","debug_id":"95fb5d4d-3e07-56c6-bc37-e4c0195adb68"}
@@ -1,12 +1,12 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5ea9ff18-4378-55da-b90d-7217008e472d")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1f334979-8a59-59b0-9bde-e879a1dd9d77")}catch(e){}}();
3
3
  import { n as getRuntimeConfig } from "./runtime-config-DL3QjcfM.js";
4
4
  import { a as resolvePgMajorForRuntime, r as loadPGliteModule } from "./pglite-major-B39aOEiE.js";
5
- import { r as getVersion, t as getGitSha } from "./build-info-B8kMAY35.js";
6
- import { n as buildPHGlobalConfig, o as phGlobalConfig } from "./connect.config-C-b_Yhd6.js";
5
+ import { r as getVersion, t as getGitSha } from "./build-info-1EmBSRGA.js";
6
+ import { n as buildPHGlobalConfig, o as phGlobalConfig } from "./connect.config-XXdN7RFy.js";
7
7
  import { t as refreshPwaManifestLink } from "./pwa-manifest-link-CG8UajMz.js";
8
- import { a as detectReactorPgMajor, h as RELATIONAL_PGLITE_NAME, m as REACTOR_PGLITE_NAME, n as setWorkerConnectionStatus, o as detectRelationalPgMajor, p as REACTOR_INSTANCE_NAMESPACE } from "./connection-state-KCa1yljA.js";
9
- import { r as toast } from "./toast-CO6ChlzE.js";
8
+ import { a as detectReactorPgMajor, h as RELATIONAL_PGLITE_NAME, m as REACTOR_PGLITE_NAME, n as setWorkerConnectionStatus, o as detectRelationalPgMajor, p as REACTOR_INSTANCE_NAMESPACE } from "./connection-state-DTSv8MDQ.js";
9
+ import { r as toast } from "./toast-DtfTKZND.js";
10
10
  import { PWA_IDB_KEY, PWA_IDB_NAME, PWA_IDB_STORE, PWA_IDB_VERSION, mergePwaConfig, withInferredCategory } from "@powerhousedao/shared/connect";
11
11
  import { createRelationalDb } from "@powerhousedao/shared/processors";
12
12
  import { DocumentModelRegistry, DocumentModelResolver, ReactorEventTypes, createReactorHostModuleBase } from "@powerhousedao/reactor";
@@ -1417,5 +1417,5 @@ function getDriveUrl() {
1417
1417
  //#endregion
1418
1418
  export { createReactor as n, clearReactorStorage as t };
1419
1419
 
1420
- //# sourceMappingURL=reactor-Dn5J8dOX.js.map
1421
- //# debugId=5ea9ff18-4378-55da-b90d-7217008e472d
1420
+ //# sourceMappingURL=reactor-C8E2rx64.js.map
1421
+ //# debugId=1f334979-8a59-59b0-9bde-e879a1dd9d77