@vibes.diy/base 14.3.103 → 14.3.106
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/components/HandlePickerMenu.d.ts +1 -2
- package/components/HandlePickerMenu.js +1 -2
- package/components/HandlePickerMenu.js.map +1 -1
- package/components/OnboardingOverlay.d.ts +2 -13
- package/components/OnboardingOverlay.js +51 -33
- package/components/OnboardingOverlay.js.map +1 -1
- package/components/ViewerTagView.d.ts +1 -3
- package/components/ViewerTagView.js +1 -17
- package/components/ViewerTagView.js.map +1 -1
- package/components/index.d.ts +0 -1
- package/components/index.js +0 -1
- package/components/index.js.map +1 -1
- package/components/vibe-menu/VibeMenu.js +18 -4
- package/components/vibe-menu/VibeMenu.js.map +1 -1
- package/components/vibe-menu/cards/AccountCard.d.ts +1 -9
- package/components/vibe-menu/cards/AccountCard.js +5 -60
- package/components/vibe-menu/cards/AccountCard.js.map +1 -1
- package/components/vibe-menu/cards/CodeCard.js +73 -19
- package/components/vibe-menu/cards/CodeCard.js.map +1 -1
- package/components/vibe-menu/cards/CodeModeWorkspace.d.ts +1 -0
- package/components/vibe-menu/cards/CodeModeWorkspace.js +2 -1
- package/components/vibe-menu/cards/CodeModeWorkspace.js.map +1 -1
- package/components/vibe-menu/cards/CodeTabRow.d.ts +29 -3
- package/components/vibe-menu/cards/CodeTabRow.js +73 -12
- package/components/vibe-menu/cards/CodeTabRow.js.map +1 -1
- package/components/vibe-menu/fixtures.js +0 -2
- package/components/vibe-menu/fixtures.js.map +1 -1
- package/components/vibe-menu/index.d.ts +1 -0
- package/components/vibe-menu/index.js +1 -0
- package/components/vibe-menu/index.js.map +1 -1
- package/components/vibe-menu/menu-state.d.ts +1 -1
- package/components/vibe-menu/open-resolver.d.ts +0 -2
- package/components/vibe-menu/open-resolver.js +0 -2
- package/components/vibe-menu/open-resolver.js.map +1 -1
- package/components/vibe-menu/parts/ScrollTabRow.d.ts +29 -0
- package/components/vibe-menu/parts/ScrollTabRow.js +172 -0
- package/components/vibe-menu/parts/ScrollTabRow.js.map +1 -0
- package/components/vibe-menu/sketches/AccountTabAudition.js +16 -36
- package/components/vibe-menu/sketches/AccountTabAudition.js.map +1 -1
- package/components/vibe-menu/sketches/CardTabRow.d.ts +1 -1
- package/components/vibe-menu/sketches/CodeTierAudition.d.ts +42 -0
- package/components/vibe-menu/sketches/CodeTierAudition.js +141 -0
- package/components/vibe-menu/sketches/CodeTierAudition.js.map +1 -0
- package/components/vibe-menu/slices.d.ts +0 -2
- package/components/vibe-menu/slices.js.map +1 -1
- package/package.json +5 -5
- package/components/HandleChooser.d.ts +0 -44
- package/components/HandleChooser.js +0 -112
- package/components/HandleChooser.js.map +0 -1
|
@@ -17,7 +17,6 @@ export interface HandlePickerMenuProps {
|
|
|
17
17
|
readonly resetToDefaultLabel?: string;
|
|
18
18
|
readonly onLogout?: () => void;
|
|
19
19
|
readonly onSignIn?: () => void;
|
|
20
|
-
readonly onChooseHandle?: () => void;
|
|
21
20
|
readonly header?: React.ReactNode;
|
|
22
21
|
readonly onSettings?: () => void;
|
|
23
22
|
readonly onMyVibes?: () => void;
|
|
@@ -25,7 +24,7 @@ export interface HandlePickerMenuProps {
|
|
|
25
24
|
readonly style?: React.CSSProperties;
|
|
26
25
|
}
|
|
27
26
|
export declare const sanitizeHandle: typeof toRFC2822_32ByteLength;
|
|
28
|
-
export declare function HandlePickerMenu({ handles, activeSlug, onSelect, onNewHandle, busy, placement, onResetToDefault, resetToDefaultLabel, onLogout, header, onSignIn,
|
|
27
|
+
export declare function HandlePickerMenu({ handles, activeSlug, onSelect, onNewHandle, busy, placement, onResetToDefault, resetToDefaultLabel, onLogout, header, onSignIn, onSettings, onMyVibes, onMemberships, style, }: HandlePickerMenuProps): React.ReactElement;
|
|
29
28
|
export declare function NewHandleForm({ busy, onCancel, onCreate, onRandom, }: {
|
|
30
29
|
readonly busy?: boolean;
|
|
31
30
|
readonly onCancel: () => void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState } from "react";
|
|
2
2
|
import { toRFC2822_32ByteLength } from "@vibes.diy/vibe-types";
|
|
3
3
|
export const sanitizeHandle = toRFC2822_32ByteLength;
|
|
4
|
-
export function HandlePickerMenu({ handles, activeSlug, onSelect, onNewHandle, busy, placement = "down", onResetToDefault, resetToDefaultLabel, onLogout, header, onSignIn,
|
|
4
|
+
export function HandlePickerMenu({ handles, activeSlug, onSelect, onNewHandle, busy, placement = "down", onResetToDefault, resetToDefaultLabel, onLogout, header, onSignIn, onSettings, onMyVibes, onMemberships, style, }) {
|
|
5
5
|
const [creating, setCreating] = useState(false);
|
|
6
6
|
const vertical = placement === "up" ? { bottom: "calc(100% + 8px)" } : { top: "calc(100% + 8px)" };
|
|
7
7
|
return (React.createElement("div", { role: "menu", "aria-label": "Acting as", style: {
|
|
@@ -22,7 +22,6 @@ export function HandlePickerMenu({ handles, activeSlug, onSelect, onNewHandle, b
|
|
|
22
22
|
}, className: "text-light-primary dark:text-dark-primary" },
|
|
23
23
|
header,
|
|
24
24
|
onSignIn && React.createElement(HandleRow, { label: "Sign in", onClick: onSignIn }),
|
|
25
|
-
onChooseHandle && React.createElement(HandleRow, { label: "Choose your handle", onClick: onChooseHandle }),
|
|
26
25
|
onSettings && React.createElement(HandleRow, { label: "Settings", onClick: onSettings }),
|
|
27
26
|
onMyVibes && React.createElement(HandleRow, { label: "My Vibes", onClick: onMyVibes }),
|
|
28
27
|
onMemberships && React.createElement(HandleRow, { label: "Memberships", onClick: onMemberships }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandlePickerMenu.js","sourceRoot":"","sources":["../../jsr/components/HandlePickerMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"HandlePickerMenu.js","sourceRoot":"","sources":["../../jsr/components/HandlePickerMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
export type OnboardingStep = (typeof ALL_STEPS)[number];
|
|
4
|
-
export declare function onboardingSteps(includeHandleStep: boolean, includeAvatarStep?: boolean): readonly OnboardingStep[];
|
|
2
|
+
export type OnboardingStep = "avatar";
|
|
5
3
|
export interface OnboardingOverlayProps {
|
|
6
|
-
readonly placeholder: string;
|
|
7
|
-
readonly wordSlugCandidates: readonly string[];
|
|
8
|
-
readonly clerkSuggestions: readonly string[];
|
|
9
|
-
readonly onRefreshCandidates: () => void;
|
|
10
|
-
readonly refreshing?: boolean;
|
|
11
4
|
readonly busy?: boolean;
|
|
12
|
-
readonly onConfirmHandle: (handle: string) => Promise<boolean>;
|
|
13
5
|
readonly avatarSlot?: React.ReactNode;
|
|
14
6
|
readonly appState?: "building" | "revealed" | "ready";
|
|
15
7
|
readonly onViewApp?: () => void;
|
|
16
8
|
readonly onFinish: () => void;
|
|
17
9
|
readonly onSkip: () => void;
|
|
18
10
|
readonly onStepShown?: (step: OnboardingStep) => void;
|
|
19
|
-
readonly includeHandleStep?: boolean;
|
|
20
|
-
readonly includeAvatarStep?: boolean;
|
|
21
11
|
}
|
|
22
|
-
export declare function OnboardingOverlay({
|
|
23
|
-
export {};
|
|
12
|
+
export declare function OnboardingOverlay({ busy, avatarSlot, appState, onViewApp, onFinish, onSkip, onStepShown, }: OnboardingOverlayProps): React.ReactElement;
|
|
@@ -1,35 +1,10 @@
|
|
|
1
|
-
import React, { useEffect
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export function onboardingSteps(includeHandleStep, includeAvatarStep = true) {
|
|
5
|
-
return ALL_STEPS.filter((s) => (s !== "handle" || includeHandleStep) && (s !== "avatar" || includeAvatarStep));
|
|
6
|
-
}
|
|
7
|
-
export function OnboardingOverlay({ placeholder, wordSlugCandidates, clerkSuggestions, onRefreshCandidates, refreshing, busy, onConfirmHandle, avatarSlot, appState, onViewApp, onFinish, onSkip, onStepShown, includeHandleStep = true, includeAvatarStep = true, }) {
|
|
8
|
-
const [stepIndex, setStepIndex] = useState(0);
|
|
9
|
-
const [steps, setSteps] = useState(() => onboardingSteps(includeHandleStep, includeAvatarStep));
|
|
10
|
-
const step = steps[stepIndex];
|
|
11
|
-
const advance = () => setStepIndex((i) => Math.min(i + 1, steps.length));
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
if (stepIndex >= steps.length)
|
|
14
|
-
onFinish();
|
|
15
|
-
}, [stepIndex, steps.length, onFinish]);
|
|
1
|
+
import React, { useEffect } from "react";
|
|
2
|
+
import { SAFE_AREA_TOP } from "../theme/safe-area.js";
|
|
3
|
+
export function OnboardingOverlay({ busy, avatarSlot, appState, onViewApp, onFinish, onSkip, onStepShown, }) {
|
|
16
4
|
useEffect(() => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const confirmHandle = (sanitized) => {
|
|
21
|
-
if (sanitized === placeholder) {
|
|
22
|
-
advance();
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
return onConfirmHandle(sanitized).then((ok) => {
|
|
26
|
-
if (!ok)
|
|
27
|
-
return;
|
|
28
|
-
setSteps(onboardingSteps(includeHandleStep, true));
|
|
29
|
-
advance();
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
return (React.createElement(OverlayCardShell, { ariaLabel: "Set up your handle and avatar", headerLeft: `Step ${Math.min(stepIndex + 1, steps.length)} of ${steps.length} · while your app builds`, dismissLabel: "Skip onboarding", onDismiss: onSkip },
|
|
5
|
+
onStepShown?.("avatar");
|
|
6
|
+
}, [onStepShown]);
|
|
7
|
+
return (React.createElement(OverlayCardShell, { ariaLabel: "Add a photo while your app builds", headerLeft: "While your app builds", dismissLabel: "Skip onboarding", onDismiss: onSkip },
|
|
33
8
|
(appState === "revealed" || appState === "ready") && (React.createElement("button", { type: "button", onClick: onViewApp ?? onFinish, style: {
|
|
34
9
|
width: "100%",
|
|
35
10
|
marginBottom: 12,
|
|
@@ -42,8 +17,7 @@ export function OnboardingOverlay({ placeholder, wordSlugCandidates, clerkSugges
|
|
|
42
17
|
cursor: "pointer",
|
|
43
18
|
fontSize: 13,
|
|
44
19
|
} }, appState === "ready" ? "Your app is ready — take a look →" : "Your app is taking shape — take a look →")),
|
|
45
|
-
|
|
46
|
-
step === "avatar" && React.createElement(AvatarStep, { avatarSlot: avatarSlot, busy: busy, onDone: advance, onSkip: advance })));
|
|
20
|
+
React.createElement(AvatarStep, { avatarSlot: avatarSlot, busy: busy, onDone: onFinish, onSkip: onFinish })));
|
|
47
21
|
}
|
|
48
22
|
function AvatarStep({ avatarSlot, busy, onDone, onSkip, }) {
|
|
49
23
|
return (React.createElement("div", null,
|
|
@@ -52,4 +26,48 @@ function AvatarStep({ avatarSlot, busy, onDone, onSkip, }) {
|
|
|
52
26
|
React.createElement("div", { style: { marginBottom: 12 } }, avatarSlot),
|
|
53
27
|
React.createElement(PanelButtons, { primary: "Done", disabled: busy, onPrimary: onDone, onSkip: onSkip })));
|
|
54
28
|
}
|
|
29
|
+
function PanelButtons({ primary, skip, disabled, skipDisabled, onPrimary, onSkip, }) {
|
|
30
|
+
return (React.createElement("div", { style: { display: "flex", gap: 8, marginTop: 12 } },
|
|
31
|
+
React.createElement("button", { type: "button", disabled: disabled, onClick: onPrimary, className: "text-sm", style: {
|
|
32
|
+
flex: 1,
|
|
33
|
+
padding: "8px 10px",
|
|
34
|
+
borderRadius: 8,
|
|
35
|
+
border: "none",
|
|
36
|
+
cursor: disabled ? "default" : "pointer",
|
|
37
|
+
opacity: disabled ? 0.5 : 1,
|
|
38
|
+
background: "#6366f1",
|
|
39
|
+
color: "#fff",
|
|
40
|
+
fontWeight: 600,
|
|
41
|
+
} }, primary),
|
|
42
|
+
React.createElement("button", { type: "button", disabled: skipDisabled ?? disabled, onClick: onSkip, className: "border border-light-decorative-01 bg-transparent text-sm text-light-primary dark:border-dark-decorative-01 dark:text-dark-primary", style: {
|
|
43
|
+
padding: "8px 12px",
|
|
44
|
+
borderRadius: 8,
|
|
45
|
+
cursor: (skipDisabled ?? disabled) ? "default" : "pointer",
|
|
46
|
+
opacity: (skipDisabled ?? disabled) ? 0.5 : 1,
|
|
47
|
+
} }, skip ?? "Skip")));
|
|
48
|
+
}
|
|
49
|
+
function OverlayCardShell({ ariaLabel, headerLeft, dismissLabel, onDismiss, children, }) {
|
|
50
|
+
return (React.createElement("div", { role: "dialog", "aria-label": ariaLabel, "aria-modal": "false", style: {
|
|
51
|
+
position: "fixed",
|
|
52
|
+
top: `calc(${SAFE_AREA_TOP} + 16px)`,
|
|
53
|
+
left: 0,
|
|
54
|
+
right: 0,
|
|
55
|
+
display: "flex",
|
|
56
|
+
justifyContent: "center",
|
|
57
|
+
pointerEvents: "none",
|
|
58
|
+
zIndex: 60,
|
|
59
|
+
} },
|
|
60
|
+
React.createElement("div", { className: "border border-light-decorative-01 bg-light-background-00 text-light-primary dark:border-dark-decorative-01 dark:bg-dark-background-00 dark:text-dark-primary", style: {
|
|
61
|
+
pointerEvents: "auto",
|
|
62
|
+
width: 360,
|
|
63
|
+
maxWidth: "calc(100vw - 24px)",
|
|
64
|
+
borderRadius: 14,
|
|
65
|
+
boxShadow: "0 12px 40px rgba(0,0,0,0.28)",
|
|
66
|
+
padding: 16,
|
|
67
|
+
} },
|
|
68
|
+
React.createElement("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", marginBottom: 8 } },
|
|
69
|
+
React.createElement("div", { className: "text-light-secondary dark:text-dark-secondary", style: { fontSize: 11 } }, headerLeft),
|
|
70
|
+
React.createElement("button", { type: "button", "aria-label": dismissLabel, onClick: onDismiss, className: "text-light-secondary dark:text-dark-secondary", style: { border: "none", background: "transparent", cursor: "pointer", fontSize: 16, lineHeight: 1, padding: 2 } }, "\u2715")),
|
|
71
|
+
children)));
|
|
72
|
+
}
|
|
55
73
|
//# sourceMappingURL=OnboardingOverlay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingOverlay.js","sourceRoot":"","sources":["../../jsr/components/OnboardingOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"OnboardingOverlay.js","sourceRoot":"","sources":["../../jsr/components/OnboardingOverlay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,6 @@ export interface ViewerTagViewProps {
|
|
|
6
6
|
readonly editable?: boolean;
|
|
7
7
|
readonly anonymous?: boolean;
|
|
8
8
|
readonly pending?: boolean;
|
|
9
|
-
readonly needsHandle?: boolean;
|
|
10
|
-
readonly onChooseHandle?: () => void;
|
|
11
9
|
readonly onSignIn?: () => void;
|
|
12
10
|
readonly onPickFile?: (file: File) => void | Promise<void>;
|
|
13
11
|
readonly onTagClick?: () => void;
|
|
@@ -20,4 +18,4 @@ export interface ViewerTagViewProps {
|
|
|
20
18
|
readonly trailing?: React.ReactNode;
|
|
21
19
|
readonly style?: React.CSSProperties;
|
|
22
20
|
}
|
|
23
|
-
export declare function ViewerTagView({ slug, displayName, avatarUrl, editable, anonymous, pending,
|
|
21
|
+
export declare function ViewerTagView({ slug, displayName, avatarUrl, editable, anonymous, pending, onSignIn, onPickFile, onTagClick, onClick, clickLabel, size, avatarOnly, tagExpanded, tagLabel, trailing, style, }: ViewerTagViewProps): React.ReactElement;
|
|
@@ -9,7 +9,7 @@ function avatarDiameter(size) {
|
|
|
9
9
|
return size;
|
|
10
10
|
return 30;
|
|
11
11
|
}
|
|
12
|
-
export function ViewerTagView({ slug, displayName, avatarUrl, editable, anonymous, pending,
|
|
12
|
+
export function ViewerTagView({ slug, displayName, avatarUrl, editable, anonymous, pending, onSignIn, onPickFile, onTagClick, onClick, clickLabel, size, avatarOnly, tagExpanded, tagLabel, trailing, style, }) {
|
|
13
13
|
const [uploading, setUploading] = useState(false);
|
|
14
14
|
const [avatarError, setAvatarError] = useState(false);
|
|
15
15
|
const fileRef = useRef(null);
|
|
@@ -48,22 +48,6 @@ export function ViewerTagView({ slug, displayName, avatarUrl, editable, anonymou
|
|
|
48
48
|
opacity: 0.28,
|
|
49
49
|
} })));
|
|
50
50
|
}
|
|
51
|
-
if (needsHandle) {
|
|
52
|
-
return (React.createElement("button", { onClick: onChooseHandle, style: {
|
|
53
|
-
display: "inline-flex",
|
|
54
|
-
alignItems: "center",
|
|
55
|
-
gap: 6,
|
|
56
|
-
background: "transparent",
|
|
57
|
-
border: "1px solid var(--vibes-blue, #3b82f6)",
|
|
58
|
-
borderRadius: 999,
|
|
59
|
-
padding: "5px 14px",
|
|
60
|
-
fontSize: 14,
|
|
61
|
-
color: "var(--vibes-blue, #3b82f6)",
|
|
62
|
-
cursor: "pointer",
|
|
63
|
-
fontWeight: 500,
|
|
64
|
-
...style,
|
|
65
|
-
} }, "Choose your handle"));
|
|
66
|
-
}
|
|
67
51
|
if (anonymous) {
|
|
68
52
|
return (React.createElement(React.Fragment, null,
|
|
69
53
|
React.createElement("style", null, `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewerTagView.js","sourceRoot":"","sources":["../../jsr/components/ViewerTagView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAuB3D,SAAS,WAAW,CAAC,EAAE,IAAI,EAA6B;IACtD,OAAO,CACL,4CACc,MAAM,EAClB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAC3B,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAE,CAAC,EACd,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO;QAEtB,8BAAM,CAAC,EAAC,mFAAmF,GAAG;QAC9F,gCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC,EAAC,KAAK,GAAG,CAChC,CACP,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"ViewerTagView.js","sourceRoot":"","sources":["../../jsr/components/ViewerTagView.tsx"],"names":[],"mappings":"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"}
|
package/components/index.d.ts
CHANGED
|
@@ -13,7 +13,6 @@ export * from "./VibesSwitch.js";
|
|
|
13
13
|
export * from "./OptionButtons.js";
|
|
14
14
|
export * from "./ViewerTagView.js";
|
|
15
15
|
export * from "./HandlePickerMenu.js";
|
|
16
|
-
export * from "./HandleChooser.js";
|
|
17
16
|
export * from "./OnboardingOverlay.js";
|
|
18
17
|
export * from "./HandleLookupView.js";
|
|
19
18
|
export * from "./chip-fast-path.js";
|
package/components/index.js
CHANGED
|
@@ -13,7 +13,6 @@ export * from "./VibesSwitch.js";
|
|
|
13
13
|
export * from "./OptionButtons.js";
|
|
14
14
|
export * from "./ViewerTagView.js";
|
|
15
15
|
export * from "./HandlePickerMenu.js";
|
|
16
|
-
export * from "./HandleChooser.js";
|
|
17
16
|
export * from "./OnboardingOverlay.js";
|
|
18
17
|
export * from "./HandleLookupView.js";
|
|
19
18
|
export * from "./chip-fast-path.js";
|
package/components/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
|
|
@@ -10,6 +10,7 @@ import { VibeMenuShell } from "./shell/VibeMenuShell.js";
|
|
|
10
10
|
import { HomeCard } from "./cards/HomeCard.js";
|
|
11
11
|
import { AccountCard } from "./cards/AccountCard.js";
|
|
12
12
|
import { CodeCard } from "./cards/CodeCard.js";
|
|
13
|
+
import { codeTierTab } from "./cards/CodeTabRow.js";
|
|
13
14
|
import { ShareCard } from "./cards/ShareCard.js";
|
|
14
15
|
import { RetainedWorkspace, WORKSPACE_CODE_TABS, resolveActiveCodeTab } from "./cards/CodeModeWorkspace.js";
|
|
15
16
|
function codeTabLabel(tab) {
|
|
@@ -33,7 +34,6 @@ export function menuContentKey(i) {
|
|
|
33
34
|
i.share?.publish?.state,
|
|
34
35
|
i.share?.escape.revealed,
|
|
35
36
|
i.account.handles.length,
|
|
36
|
-
i.account.needsHandle,
|
|
37
37
|
i.account.savePrompt !== null,
|
|
38
38
|
i.account.saveAsk?.level,
|
|
39
39
|
i.share?.saveAsk?.level,
|
|
@@ -56,8 +56,22 @@ export function VibeMenu(props) {
|
|
|
56
56
|
setWorkspaceWanted(true);
|
|
57
57
|
const workspaceMounted = workspaceWanted && code.codeModeAvailable === true && pending === false;
|
|
58
58
|
const workspacePanelId = useId();
|
|
59
|
-
const
|
|
60
|
-
|
|
59
|
+
const tierTab = code.tabRow === true
|
|
60
|
+
? codeTierTab({
|
|
61
|
+
codeTab: code.codeTab,
|
|
62
|
+
disabled: code.disabledCodeTabs,
|
|
63
|
+
view: state.view,
|
|
64
|
+
owner: viewer.role === "owner" && pending === false,
|
|
65
|
+
})
|
|
66
|
+
: null;
|
|
67
|
+
const activeTab = tierTab === null || tierTab === "details"
|
|
68
|
+
? activeWorkspaceTab(resolveActiveCodeTab({ tab: code.codeTab, disabled: code.disabledCodeTabs }), state.view)
|
|
69
|
+
: tierTab;
|
|
70
|
+
const workspaceVisible = state.phase === "card" &&
|
|
71
|
+
state.section === "vibe" &&
|
|
72
|
+
codeModeOn &&
|
|
73
|
+
tierTab !== "details" &&
|
|
74
|
+
WORKSPACE_CODE_TABS.includes(activeTab);
|
|
61
75
|
const editor = viewer.canEditSource === true && pending === false;
|
|
62
76
|
const moment = editor
|
|
63
77
|
? withOpenLog(currentMoment(code.moments), {
|
|
@@ -95,7 +109,7 @@ export function VibeMenu(props) {
|
|
|
95
109
|
function onChiclet() {
|
|
96
110
|
dispatch(openEventFor(resolveOpening({ kind: "devDraftChiclet" }, { role: viewer.role, canEditSource: viewer.canEditSource, identityPending: viewer.identityPending })));
|
|
97
111
|
}
|
|
98
|
-
const persistent = workspaceMounted ? (React.createElement(RetainedWorkspace, { key: "workspace", visible: workspaceVisible, panelId: workspacePanelId, label: codeTabLabel(activeTab) }, code.slots.workspace)) : null;
|
|
112
|
+
const persistent = workspaceMounted ? (React.createElement(RetainedWorkspace, { key: "workspace", visible: workspaceVisible, above: code.tabRow === true, panelId: workspacePanelId, label: codeTabLabel(activeTab) }, code.slots.workspace)) : null;
|
|
99
113
|
return (React.createElement(VibeMenuShell, { state: state, dispatch: shellDispatch, renderCard: renderCard, persistent: persistent, contentKey: menuContentKey({
|
|
100
114
|
state,
|
|
101
115
|
codeModeOn,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VibeMenu.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/VibeMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAE5G,SAAS,YAAY,CAAC,GAAY;IAChC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IACnD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AACjD,CAAC;AAGD,MAAM,UAAU,cAAc,CAAC,CAS9B;IACC,MAAM,KAAK,GAA8D;QACvE,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK;QACnB,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS;QACvB,CAAC,CAAC,KAAK,CAAC,MAAM;QACd,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI;QACrB,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI;QACnB,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM;QACtB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG;QACrB,CAAC,CAAC,KAAK,EAAE,YAAY;QACrB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK;QACvB,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ;QACxB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM;QACxB,CAAC,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"VibeMenu.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/VibeMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,6 @@ import type { AccountSlice, CardNav, ViewerSlice } from "../slices.js";
|
|
|
4
4
|
export declare const ACCOUNT_COPY: Readonly<{
|
|
5
5
|
signedOutSub: "Keep your changes on every device.";
|
|
6
6
|
loading: "Loading your account…";
|
|
7
|
-
noHandle: "No handle yet";
|
|
8
|
-
chooseHandle: "Choose your handle";
|
|
9
7
|
creditsLeft: "credits left";
|
|
10
8
|
thisMonth: "this month";
|
|
11
9
|
handles: "Handles";
|
|
@@ -20,16 +18,11 @@ export declare const ACCOUNT_COPY: Readonly<{
|
|
|
20
18
|
actingLine: "You make apps and join shared apps as this handle.";
|
|
21
19
|
changePicture: "Change picture";
|
|
22
20
|
addFailed: "Couldn't add that handle. Try another.";
|
|
23
|
-
chooseLine: "Your handle is your name on Vibes DIY. Your apps live at vibes.diy/vibe/<handle>/…";
|
|
24
|
-
yourHandleLabel: "Your handle";
|
|
25
21
|
fromYourName: "From your name";
|
|
26
22
|
orTry: "Or try";
|
|
27
23
|
moreIdeas: "More ideas";
|
|
28
|
-
claim: "Claim";
|
|
29
|
-
notNow: "Not now";
|
|
30
|
-
claimFailed: "Couldn't claim that handle. Try another.";
|
|
31
24
|
}>;
|
|
32
|
-
export declare const ACCOUNT_CARD_CSS = "\n[data-vibe-menu] .vm-hero { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 4px 0 14px; }\n[data-vibe-menu] .vm-big { font: 700 42px/0.8 var(--font-display); letter-spacing: -0.04em; white-space: nowrap; }\n[data-vibe-menu] .vm-caption { flex: 1; white-space: nowrap; font-size: 12px; line-height: 14px; color: var(--muted); }\n[data-vibe-menu] .vm-who { display: flex; align-items: center; gap: 10px; padding: 0 0 14px; }\n[data-vibe-menu] .vm-avatar { width: 28px; height: 28px; border-radius: 50%; border: var(--stroke-rule) solid var(--line-card); background: var(--section-account); color: var(--on-account); display: grid; place-items: center; font: 700 12px/1 var(--font-tab); }\n[data-vibe-menu] .vm-handle { font: 700 16px/1 var(--font-display); }\n[data-vibe-menu] .vm-no-handle { font: 400 16px/1 var(--font-display); color: var(--muted); }\n[data-vibe-menu] .vm-meter { height: var(--size-meter); margin-bottom: var(--space-16); border: var(--stroke-rule) solid var(--line-card); border-radius: var(--radius-meter); overflow: hidden; }\n[data-vibe-menu] .vm-meter span { display: block; height: 100%; background: var(--section-account); border-right: var(--stroke-rule) solid var(--line-card); }\n[data-vibe-menu] .vm-account .vm-group + .vm-group { margin-top: var(--space-14); }\n[data-vibe-menu] .vm-
|
|
25
|
+
export declare const ACCOUNT_CARD_CSS = "\n[data-vibe-menu] .vm-hero { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 4px 0 14px; }\n[data-vibe-menu] .vm-big { font: 700 42px/0.8 var(--font-display); letter-spacing: -0.04em; white-space: nowrap; }\n[data-vibe-menu] .vm-caption { flex: 1; white-space: nowrap; font-size: 12px; line-height: 14px; color: var(--muted); }\n[data-vibe-menu] .vm-who { display: flex; align-items: center; gap: 10px; padding: 0 0 14px; }\n[data-vibe-menu] .vm-avatar { width: 28px; height: 28px; border-radius: 50%; border: var(--stroke-rule) solid var(--line-card); background: var(--section-account); color: var(--on-account); display: grid; place-items: center; font: 700 12px/1 var(--font-tab); }\n[data-vibe-menu] .vm-handle { font: 700 16px/1 var(--font-display); }\n[data-vibe-menu] .vm-no-handle { font: 400 16px/1 var(--font-display); color: var(--muted); }\n[data-vibe-menu] .vm-meter { height: var(--size-meter); margin-bottom: var(--space-16); border: var(--stroke-rule) solid var(--line-card); border-radius: var(--radius-meter); overflow: hidden; }\n[data-vibe-menu] .vm-meter span { display: block; height: 100%; background: var(--section-account); border-right: var(--stroke-rule) solid var(--line-card); }\n[data-vibe-menu] .vm-account .vm-group + .vm-group { margin-top: var(--space-14); }\n[data-vibe-menu] .vm-drill .vm-input + .vm-drill-sec { margin-top: 14px; }\n[data-vibe-menu] .vm-handle-add { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 6px; }\n[data-vibe-menu] .vm-handle-add .vm-input { flex: 1 1 180px; height: 40px; margin: 0; }\n[data-vibe-menu] .vm-acting-head { margin-top: 16px; padding-bottom: 2px; }\n[data-vibe-menu] .vm-acting-line { margin: 0 0 6px; font-size: 13px; color: var(--muted); }\n[data-vibe-menu] .vm-handle-row { display: flex; align-items: center; gap: 12px; width: 100%; height: 42px; }\n[data-vibe-menu] .vm-handle-row + .vm-handle-row { border-top: var(--stroke-hairline) solid var(--line-hairline); }\n[data-vibe-menu] .vm-handle-row .vm-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 400; }\n[data-vibe-menu] .vm-handle-row.is-active .vm-label { font-weight: 700; }\n[data-vibe-menu] .vm-handle-row.is-active .vm-initial { background: var(--accent); color: var(--on-accent); }\n[data-vibe-menu] .vm-check { display: grid; color: var(--ink); }\n[data-vibe-menu] .vm-check .vm-glyph { width: 18px; height: 18px; stroke-width: 3; }\n[data-vibe-menu] .vm-picture { display: flex; padding: 2px 0 8px 40px; }\n[data-vibe-menu] .vm-form-note { margin: 8px 0 0; font-size: 13px; color: var(--ink); }\n@container (max-width: 480px) {\n [data-vibe-menu] .vm-big { font-size: 36px; }\n [data-vibe-menu] .vm-handle-add .vm-input { flex-basis: 100%; }\n}\n";
|
|
33
26
|
export interface AccountCardProps {
|
|
34
27
|
readonly viewer: ViewerSlice;
|
|
35
28
|
readonly account: AccountSlice;
|
|
@@ -44,5 +37,4 @@ export interface HandleAddPickerProps {
|
|
|
44
37
|
}
|
|
45
38
|
export declare function HandleAddPicker(props: HandleAddPickerProps): React.ReactElement;
|
|
46
39
|
export declare function HandlesDrill(props: AccountCardProps): React.ReactElement;
|
|
47
|
-
export declare function ChooseHandleDrill(props: AccountCardProps): React.ReactElement;
|
|
48
40
|
export declare function AccountCard(props: AccountCardProps): React.ReactElement;
|
|
@@ -3,7 +3,7 @@ import { useState } from "react";
|
|
|
3
3
|
import { toRFC2822_32ByteLength } from "@vibes.diy/vibe-types";
|
|
4
4
|
import { SECTION_TITLES } from "../menu-state.js";
|
|
5
5
|
import { CREATE_ACCOUNT_TO_KEEP_APPS, JOIN_OR_SIGN_IN } from "../copy.js";
|
|
6
|
-
import { ActionPill
|
|
6
|
+
import { ActionPill } from "../parts/ActionPill.js";
|
|
7
7
|
import { BackRow } from "../parts/BackRow.js";
|
|
8
8
|
import { Chip, RefreshButton } from "../parts/Chip.js";
|
|
9
9
|
import { DoneButton } from "../parts/DoneButton.js";
|
|
@@ -13,8 +13,6 @@ import { SaveAskLine } from "../parts/SaveAskLine.js";
|
|
|
13
13
|
export const ACCOUNT_COPY = Object.freeze({
|
|
14
14
|
signedOutSub: "Keep your changes on every device.",
|
|
15
15
|
loading: "Loading your account…",
|
|
16
|
-
noHandle: "No handle yet",
|
|
17
|
-
chooseHandle: "Choose your handle",
|
|
18
16
|
creditsLeft: "credits left",
|
|
19
17
|
thisMonth: "this month",
|
|
20
18
|
handles: "Handles",
|
|
@@ -29,14 +27,9 @@ export const ACCOUNT_COPY = Object.freeze({
|
|
|
29
27
|
actingLine: "You make apps and join shared apps as this handle.",
|
|
30
28
|
changePicture: "Change picture",
|
|
31
29
|
addFailed: "Couldn't add that handle. Try another.",
|
|
32
|
-
chooseLine: "Your handle is your name on Vibes DIY. Your apps live at vibes.diy/vibe/<handle>/…",
|
|
33
|
-
yourHandleLabel: "Your handle",
|
|
34
30
|
fromYourName: "From your name",
|
|
35
31
|
orTry: "Or try",
|
|
36
32
|
moreIdeas: "More ideas",
|
|
37
|
-
claim: "Claim",
|
|
38
|
-
notNow: "Not now",
|
|
39
|
-
claimFailed: "Couldn't claim that handle. Try another.",
|
|
40
33
|
});
|
|
41
34
|
export const ACCOUNT_CARD_CSS = `
|
|
42
35
|
[data-vibe-menu] .vm-hero { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 4px 0 14px; }
|
|
@@ -49,7 +42,6 @@ export const ACCOUNT_CARD_CSS = `
|
|
|
49
42
|
[data-vibe-menu] .vm-meter { height: var(--size-meter); margin-bottom: var(--space-16); border: var(--stroke-rule) solid var(--line-card); border-radius: var(--radius-meter); overflow: hidden; }
|
|
50
43
|
[data-vibe-menu] .vm-meter span { display: block; height: 100%; background: var(--section-account); border-right: var(--stroke-rule) solid var(--line-card); }
|
|
51
44
|
[data-vibe-menu] .vm-account .vm-group + .vm-group { margin-top: var(--space-14); }
|
|
52
|
-
[data-vibe-menu] .vm-handle-line { margin: 0 0 12px; font-size: 14px; line-height: 1.35; }
|
|
53
45
|
[data-vibe-menu] .vm-drill .vm-input + .vm-drill-sec { margin-top: 14px; }
|
|
54
46
|
[data-vibe-menu] .vm-handle-add { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 6px; }
|
|
55
47
|
[data-vibe-menu] .vm-handle-add .vm-input { flex: 1 1 180px; height: 40px; margin: 0; }
|
|
@@ -64,21 +56,13 @@ export const ACCOUNT_CARD_CSS = `
|
|
|
64
56
|
[data-vibe-menu] .vm-check .vm-glyph { width: 18px; height: 18px; stroke-width: 3; }
|
|
65
57
|
[data-vibe-menu] .vm-picture { display: flex; padding: 2px 0 8px 40px; }
|
|
66
58
|
[data-vibe-menu] .vm-form-note { margin: 8px 0 0; font-size: 13px; color: var(--ink); }
|
|
67
|
-
[data-vibe-menu] .vm-claim { margin-top: 18px; }
|
|
68
59
|
@container (max-width: 480px) {
|
|
69
60
|
[data-vibe-menu] .vm-big { font-size: 36px; }
|
|
70
61
|
[data-vibe-menu] .vm-handle-add .vm-input { flex-basis: 100%; }
|
|
71
62
|
}
|
|
72
63
|
`;
|
|
73
|
-
function
|
|
74
|
-
|
|
75
|
-
return null;
|
|
76
|
-
const drill = props.nav.view.drill;
|
|
77
|
-
if (drill === "choose" && props.account.needsHandle === true)
|
|
78
|
-
return "choose";
|
|
79
|
-
if (drill === "handles" && props.account.needsHandle === false && props.account.activeHandle !== null)
|
|
80
|
-
return "handles";
|
|
81
|
-
return null;
|
|
64
|
+
function showsHandlesDrill(props, signedIn) {
|
|
65
|
+
return signedIn && props.nav.view?.drill === "handles" && props.account.activeHandle !== null;
|
|
82
66
|
}
|
|
83
67
|
function initialOf(name) {
|
|
84
68
|
return name.slice(0, 1).toUpperCase();
|
|
@@ -169,37 +153,11 @@ export function HandlesDrill(props) {
|
|
|
169
153
|
}))),
|
|
170
154
|
React.createElement(DoneButton, { onDone: nav.onLeaveDrill })));
|
|
171
155
|
}
|
|
172
|
-
export function ChooseHandleDrill(props) {
|
|
173
|
-
const { account, nav } = props;
|
|
174
|
-
const [handle, setHandle] = useState(account.handleIdeas.fromName[0] ?? "");
|
|
175
|
-
const [claimFailed, setClaimFailed] = useState(false);
|
|
176
|
-
async function claim() {
|
|
177
|
-
const slug = toRFC2822_32ByteLength(handle.trim());
|
|
178
|
-
if (slug === "")
|
|
179
|
-
return;
|
|
180
|
-
const r = await account.onClaimHandle(slug);
|
|
181
|
-
if (r.isErr()) {
|
|
182
|
-
setClaimFailed(true);
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
nav.onLeaveDrill();
|
|
186
|
-
}
|
|
187
|
-
return (React.createElement(React.Fragment, null,
|
|
188
|
-
React.createElement(BackRow, { name: ACCOUNT_COPY.chooseHandle, card: SECTION_TITLES.settings, top: true, onBack: nav.onLeaveDrill }),
|
|
189
|
-
React.createElement("div", { className: "vm-drill", "data-drill": "choose" },
|
|
190
|
-
React.createElement("p", { className: "vm-handle-line" }, ACCOUNT_COPY.chooseLine),
|
|
191
|
-
React.createElement("input", { className: `vm-input ${NO_CAPTURE}`, "aria-label": ACCOUNT_COPY.yourHandleLabel, autoCapitalize: "off", spellCheck: false, value: handle, onChange: (e) => setHandle(e.currentTarget.value) }),
|
|
192
|
-
React.createElement(HandleIdeas, { ideas: account.handleIdeas, onPick: setHandle }),
|
|
193
|
-
React.createElement("div", { className: "vm-claim" },
|
|
194
|
-
React.createElement(ActionPill, { label: ACCOUNT_COPY.claim, glyph: "check", disabled: account.handleBusy, onClick: () => void claim() })),
|
|
195
|
-
claimFailed ? (React.createElement("p", { className: "vm-form-note", role: "status" }, ACCOUNT_COPY.claimFailed)) : null,
|
|
196
|
-
React.createElement(TextButton, { label: ACCOUNT_COPY.notNow, onClick: nav.onLeaveDrill }))));
|
|
197
|
-
}
|
|
198
156
|
function AccountBody(props) {
|
|
199
157
|
const { viewer, account, nav } = props;
|
|
200
158
|
const pending = viewer.identityPending === true;
|
|
201
159
|
const signedIn = viewer.role !== "signedOut";
|
|
202
|
-
const resolving = pending || (signedIn && account.
|
|
160
|
+
const resolving = pending || (signedIn && account.activeHandle === null);
|
|
203
161
|
if (resolving) {
|
|
204
162
|
return (React.createElement("div", { className: "vm-who", "aria-busy": "true" },
|
|
205
163
|
React.createElement("span", { className: "vm-busy", "aria-hidden": "true" }),
|
|
@@ -211,26 +169,13 @@ function AccountBody(props) {
|
|
|
211
169
|
React.createElement(ActionPill, { label: JOIN_OR_SIGN_IN, onClick: account.onSignIn }),
|
|
212
170
|
React.createElement("p", { className: "vm-sub" }, ACCOUNT_COPY.signedOutSub)));
|
|
213
171
|
}
|
|
214
|
-
|
|
215
|
-
if (drill === "handles")
|
|
172
|
+
if (showsHandlesDrill(props, signedIn))
|
|
216
173
|
return React.createElement(HandlesDrill, { ...props });
|
|
217
|
-
if (drill === "choose")
|
|
218
|
-
return React.createElement(ChooseHandleDrill, { ...props });
|
|
219
174
|
const guestAsk = account.guestAsk ?? null;
|
|
220
175
|
const saveAsk = guestAsk === null ? null : (account.saveAsk ?? null);
|
|
221
176
|
const guestLead = guestAsk === null ? null : (React.createElement("div", { "data-account-save-ask": saveAsk === null ? undefined : "" },
|
|
222
177
|
saveAsk === null ? null : React.createElement(SaveAskLine, { ask: saveAsk }),
|
|
223
178
|
React.createElement(ActionPill, { label: CREATE_ACCOUNT_TO_KEEP_APPS, solo: true, onClick: saveAsk?.onSignIn ?? guestAsk.onSignIn })));
|
|
224
|
-
if (account.needsHandle === true) {
|
|
225
|
-
return (React.createElement(React.Fragment, null,
|
|
226
|
-
guestLead,
|
|
227
|
-
React.createElement("div", { className: "vm-who" },
|
|
228
|
-
React.createElement("span", { className: "vm-avatar", "aria-hidden": "true" }, initialOf(account.handleIdeas.fromName[0] ?? "")),
|
|
229
|
-
React.createElement("span", { className: "vm-no-handle" }, ACCOUNT_COPY.noHandle)),
|
|
230
|
-
React.createElement(ActionPill, { label: ACCOUNT_COPY.chooseHandle, solo: true, onClick: () => nav.onDrill({ drill: "choose" }) }),
|
|
231
|
-
React.createElement(CreditsFact, { account: account }),
|
|
232
|
-
React.createElement(AccountRows, { account: account, lead: React.createElement(Row, { lead: "plus", label: account.creditsAction.label, href: account.creditsAction.href, onClick: account.creditsAction.onClick }) })));
|
|
233
|
-
}
|
|
234
179
|
const active = account.activeHandle ?? "";
|
|
235
180
|
return (React.createElement(React.Fragment, null,
|
|
236
181
|
guestLead,
|