@hexclave/tanstack-start 1.0.24 → 1.0.25
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/components/elements/sidebar-layout.js +1 -1
- package/dist/dev-tool/dev-tool-core.d.ts.map +1 -1
- package/dist/dev-tool/dev-tool-core.js +3 -67
- package/dist/dev-tool/dev-tool-core.js.map +1 -1
- package/dist/esm/components/elements/sidebar-layout.js +1 -1
- package/dist/esm/dev-tool/dev-tool-core.d.ts.map +1 -1
- package/dist/esm/dev-tool/dev-tool-core.js +3 -67
- package/dist/esm/dev-tool/dev-tool-core.js.map +1 -1
- package/dist/esm/generated/quetzal-translations.d.ts +2 -2
- package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js +2 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js +9 -3
- package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/common.js +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js +2 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js +26 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.d.ts +7 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js +11 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -1
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js +43 -0
- package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -1
- package/dist/esm/lib/hexclave-app/projects/index.d.ts +6 -0
- package/dist/esm/lib/hexclave-app/projects/index.d.ts.map +1 -1
- package/dist/esm/lib/hexclave-app/projects/index.js.map +1 -1
- package/dist/esm/pushed-config-error-overlay/index.d.ts +7 -0
- package/dist/esm/pushed-config-error-overlay/index.d.ts.map +1 -0
- package/dist/esm/pushed-config-error-overlay/index.js +464 -0
- package/dist/esm/pushed-config-error-overlay/index.js.map +1 -0
- package/dist/generated/quetzal-translations.d.ts +2 -2
- package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js +2 -0
- package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js +9 -3
- package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/common.js +1 -1
- package/dist/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/event-tracker.js +1 -0
- package/dist/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js +26 -0
- package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/session-replay.d.ts +7 -1
- package/dist/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/session-replay.js +11 -0
- package/dist/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -1
- package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js +43 -0
- package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -1
- package/dist/lib/hexclave-app/projects/index.d.ts +6 -0
- package/dist/lib/hexclave-app/projects/index.d.ts.map +1 -1
- package/dist/lib/hexclave-app/projects/index.js.map +1 -1
- package/dist/pushed-config-error-overlay/index.d.ts +7 -0
- package/dist/pushed-config-error-overlay/index.d.ts.map +1 -0
- package/dist/pushed-config-error-overlay/index.js +466 -0
- package/dist/pushed-config-error-overlay/index.js.map +1 -0
- package/package.json +3 -3
- package/src/dev-tool/dev-tool-core.ts +4 -58
- package/src/lib/hexclave-app/apps/implementations/admin-app-impl.ts +6 -0
- package/src/lib/hexclave-app/apps/implementations/client-app-impl.ts +11 -3
- package/src/lib/hexclave-app/apps/implementations/event-tracker.test.ts +33 -0
- package/src/lib/hexclave-app/apps/implementations/event-tracker.ts +6 -1
- package/src/lib/hexclave-app/apps/implementations/session-replay.test.ts +52 -0
- package/src/lib/hexclave-app/apps/implementations/session-replay.ts +20 -0
- package/src/lib/hexclave-app/projects/index.ts +2 -0
- package/src/pushed-config-error-overlay/index.ts +548 -0
|
@@ -4,8 +4,8 @@ import { Button, Typography, cn } from "@hexclave/ui";
|
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { XIcon } from "lucide-react";
|
|
7
|
-
import { useStackApp } from "../../index.js";
|
|
8
7
|
import { useHash } from "@hexclave/shared/dist/hooks/use-hash";
|
|
8
|
+
import { useStackApp } from "../../index.js";
|
|
9
9
|
|
|
10
10
|
//#region src/components/elements/sidebar-layout.tsx
|
|
11
11
|
function SidebarLayout(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-tool-core.d.ts","names":[],"sources":["../../../src/dev-tool/dev-tool-core.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"dev-tool-core.d.ts","names":[],"sources":["../../../src/dev-tool/dev-tool-core.ts"],"mappings":";;;iBA4tEgB,aAAA,CAAc,GAAA,EAAK,cAAA"}
|
|
@@ -502,14 +502,6 @@ function createOverviewTab(app) {
|
|
|
502
502
|
className: "sdt-ov-toast",
|
|
503
503
|
style: { display: "none" }
|
|
504
504
|
});
|
|
505
|
-
const emailRow = h("div", { className: "sdt-ov-email-input" });
|
|
506
|
-
const emailInput = h("input", {
|
|
507
|
-
type: "email",
|
|
508
|
-
placeholder: "Sign in as email…"
|
|
509
|
-
});
|
|
510
|
-
const emailBtn = h("button", null);
|
|
511
|
-
setHtml(emailBtn, "<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/><polyline points=\"12 5 19 12 12 19\"/></svg>");
|
|
512
|
-
emailRow.append(emailInput, emailBtn);
|
|
513
505
|
function isBestEffortOverviewError(error) {
|
|
514
506
|
if (error instanceof DOMException && error.name === "AbortError") return true;
|
|
515
507
|
if (error instanceof TypeError) return true;
|
|
@@ -561,15 +553,13 @@ function createOverviewTab(app) {
|
|
|
561
553
|
});
|
|
562
554
|
actions.append(signOutBtn, randomBtn);
|
|
563
555
|
} else {
|
|
564
|
-
const quickBtn = h("button", { className: "sdt-ov-btn sdt-ov-btn-primary sdt-ov-btn-wide" }, loading ? "Working…" : "Quick Sign
|
|
556
|
+
const quickBtn = h("button", { className: "sdt-ov-btn sdt-ov-btn-primary sdt-ov-btn-wide" }, loading ? "Working…" : "Quick Sign Up");
|
|
565
557
|
quickBtn.disabled = loading;
|
|
566
558
|
quickBtn.addEventListener("click", () => {
|
|
567
559
|
runAsynchronously(doQuickSignIn());
|
|
568
560
|
});
|
|
569
561
|
actions.appendChild(quickBtn);
|
|
570
562
|
}
|
|
571
|
-
emailInput.placeholder = currentUser ? "Switch to email…" : "Sign in as email…";
|
|
572
|
-
actions.appendChild(emailRow);
|
|
573
563
|
}
|
|
574
564
|
async function doQuickSignIn() {
|
|
575
565
|
if (!isLocalhost(window.location.href)) {
|
|
@@ -604,60 +594,6 @@ function createOverviewTab(app) {
|
|
|
604
594
|
loading = false;
|
|
605
595
|
await refreshUser();
|
|
606
596
|
}
|
|
607
|
-
async function doSignInAs(targetEmail) {
|
|
608
|
-
if (!targetEmail.trim()) return;
|
|
609
|
-
if (!isLocalhost(window.location.href)) {
|
|
610
|
-
showToast("Quick sign-in is only available on localhost", "error");
|
|
611
|
-
return;
|
|
612
|
-
}
|
|
613
|
-
loading = true;
|
|
614
|
-
rebuildActions();
|
|
615
|
-
const trimmed = targetEmail.trim();
|
|
616
|
-
try {
|
|
617
|
-
if ((await app.signInWithCredential({
|
|
618
|
-
email: trimmed,
|
|
619
|
-
password: trimmed,
|
|
620
|
-
noRedirect: true
|
|
621
|
-
})).status === "ok") {
|
|
622
|
-
showToast(`Signed in as ${trimmed}`, "success");
|
|
623
|
-
emailInput.value = "";
|
|
624
|
-
loading = false;
|
|
625
|
-
await refreshUser();
|
|
626
|
-
return;
|
|
627
|
-
}
|
|
628
|
-
const signUpResult = await app.signUpWithCredential({
|
|
629
|
-
email: trimmed,
|
|
630
|
-
password: trimmed,
|
|
631
|
-
noRedirect: true
|
|
632
|
-
});
|
|
633
|
-
if (signUpResult.status === "error") {
|
|
634
|
-
showToast(`Failed: ${signUpResult.error.message}`, "error");
|
|
635
|
-
loading = false;
|
|
636
|
-
rebuildActions();
|
|
637
|
-
return;
|
|
638
|
-
}
|
|
639
|
-
const retryResult = await app.signInWithCredential({
|
|
640
|
-
email: trimmed,
|
|
641
|
-
password: trimmed,
|
|
642
|
-
noRedirect: true
|
|
643
|
-
});
|
|
644
|
-
if (retryResult.status === "error") showToast(`Sign in failed: ${retryResult.error.message}`, "error");
|
|
645
|
-
else {
|
|
646
|
-
showToast(`Signed in as ${trimmed}`, "success");
|
|
647
|
-
emailInput.value = "";
|
|
648
|
-
}
|
|
649
|
-
} catch (e) {
|
|
650
|
-
showToast(e.message || "Unknown error", "error");
|
|
651
|
-
}
|
|
652
|
-
loading = false;
|
|
653
|
-
await refreshUser();
|
|
654
|
-
}
|
|
655
|
-
emailBtn.addEventListener("click", () => {
|
|
656
|
-
runAsynchronously(doSignInAs(emailInput.value));
|
|
657
|
-
});
|
|
658
|
-
emailInput.addEventListener("keydown", (e) => {
|
|
659
|
-
if (e.key === "Enter") runAsynchronously(doSignInAs(emailInput.value));
|
|
660
|
-
});
|
|
661
597
|
heroCard.append(actions, toast);
|
|
662
598
|
const methodsCard = h("div", { className: "sdt-ov-card sdt-ov-card-auth" });
|
|
663
599
|
methodsCard.appendChild(h("div", { className: "sdt-ov-label" }, "Auth Methods"));
|
|
@@ -728,7 +664,7 @@ function createOverviewTab(app) {
|
|
|
728
664
|
hasPersistentTokenStore ? {
|
|
729
665
|
ok: !!currentUser,
|
|
730
666
|
label: "Sign in a test user",
|
|
731
|
-
hint: "Use “Quick Sign
|
|
667
|
+
hint: "Use “Quick Sign Up” above →"
|
|
732
668
|
} : {
|
|
733
669
|
ok: true,
|
|
734
670
|
label: "Current-user tools unavailable",
|
|
@@ -790,7 +726,7 @@ function createOverviewTab(app) {
|
|
|
790
726
|
avatar.className = "sdt-ov-avatar sdt-ov-avatar-active";
|
|
791
727
|
if (currentUser.profileImageUrl) avatar.innerHTML = `<img src="${escapeHtml(currentUser.profileImageUrl)}" alt="" />`;
|
|
792
728
|
else avatar.textContent = initials;
|
|
793
|
-
userName.textContent = currentUser.displayName || "
|
|
729
|
+
userName.textContent = currentUser.displayName || "(No display name)";
|
|
794
730
|
userEmail.textContent = currentUser.primaryEmail || "No email";
|
|
795
731
|
authIndicator.style.display = "";
|
|
796
732
|
} else {
|