@vibes.diy/base 13.0.1 → 13.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/EditorTabStrip.d.ts +4 -2
- package/components/EditorTabStrip.js +9 -4
- package/components/EditorTabStrip.js.map +1 -1
- package/components/RecentVibesList.d.ts +19 -0
- package/components/RecentVibesList.js +106 -0
- package/components/RecentVibesList.js.map +1 -0
- package/components/RecommendedView.d.ts +1 -1
- package/components/RecommendedView.js +60 -119
- package/components/RecommendedView.js.map +1 -1
- package/components/SharePanelView.js +21 -21
- package/components/SharePanelView.js.map +1 -1
- package/components/SubTabStrip.d.ts +1 -0
- package/components/SubTabStrip.js +2 -2
- package/components/SubTabStrip.js.map +1 -1
- package/components/UnifiedVibeCard.d.ts +3 -1
- package/components/UnifiedVibeCard.js +19 -32
- package/components/UnifiedVibeCard.js.map +1 -1
- package/components/ViewerStandingView.d.ts +29 -0
- package/components/ViewerStandingView.js +108 -0
- package/components/ViewerStandingView.js.map +1 -0
- package/components/icons/PeopleIcon.d.ts +8 -0
- package/components/icons/PeopleIcon.js +11 -0
- package/components/icons/PeopleIcon.js.map +1 -0
- package/components/icons/PersonIcon.d.ts +8 -0
- package/components/icons/PersonIcon.js +7 -0
- package/components/icons/PersonIcon.js.map +1 -0
- package/components/icons/index.d.ts +2 -0
- package/components/icons/index.js +2 -0
- package/components/icons/index.js.map +1 -1
- package/components/index.d.ts +2 -0
- package/components/index.js +2 -0
- package/components/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
export
|
|
2
|
+
import { type ViewerStandingState } from "./ViewerStandingView.js";
|
|
3
|
+
export type EditorTabKey = "standing" | "edit-chat" | "code" | "data" | "style" | "settings";
|
|
4
|
+
export declare function EditorTabStrip({ tab, onTab, standing, }: {
|
|
4
5
|
tab: EditorTabKey;
|
|
5
6
|
onTab: (t: EditorTabKey) => void;
|
|
7
|
+
standing?: ViewerStandingState;
|
|
6
8
|
}): React.JSX.Element;
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { SubTabStrip } from "./SubTabStrip.js";
|
|
3
3
|
import { HOME_BRAND_FONT } from "./homeBrandFont.js";
|
|
4
|
+
import { ViewerStandingGlyph, viewerStandingCopy } from "./ViewerStandingView.js";
|
|
4
5
|
const TAB_LABELS = {
|
|
6
|
+
standing: "Your access",
|
|
5
7
|
"edit-chat": "Chat",
|
|
6
8
|
code: "Code",
|
|
7
9
|
data: "Data",
|
|
8
|
-
chat: "LLM",
|
|
9
10
|
style: "Style",
|
|
10
11
|
settings: "Settings",
|
|
11
12
|
};
|
|
12
|
-
const TAB_ORDER = ["
|
|
13
|
-
export function EditorTabStrip({ tab, onTab }) {
|
|
14
|
-
|
|
13
|
+
const TAB_ORDER = ["standing", "edit-chat", "style", "code", "data", "settings"];
|
|
14
|
+
export function EditorTabStrip({ tab, onTab, standing, }) {
|
|
15
|
+
const copy = viewerStandingCopy(standing ?? {});
|
|
16
|
+
return (React.createElement(SubTabStrip, { ariaLabel: "Vibe editor", active: tab, onSelect: onTab, tabs: TAB_ORDER.map((t) => t === "standing"
|
|
17
|
+
?
|
|
18
|
+
{ key: t, label: copy.label, icon: React.createElement(ViewerStandingGlyph, { tier: copy.tier }) }
|
|
19
|
+
: { key: t, label: TAB_LABELS[t] }), labelFontFamily: HOME_BRAND_FONT }));
|
|
15
20
|
}
|
|
16
21
|
//# sourceMappingURL=EditorTabStrip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorTabStrip.js","sourceRoot":"","sources":["../../jsr/components/EditorTabStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"EditorTabStrip.js","sourceRoot":"","sources":["../../jsr/components/EditorTabStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAA4B,MAAM,yBAAyB,CAAC;AAkB5G,MAAM,UAAU,GAAiC;IAC/C,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,MAAM;IACnB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,SAAS,GAA4B,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAE1G,MAAM,UAAU,cAAc,CAAC,EAC7B,GAAG,EACH,KAAK,EACL,QAAQ,GAMT;IACC,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAChD,OAAO,CACL,oBAAC,WAAW,IACV,SAAS,EAAC,aAAa,EACvB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAA8B,EACxC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,CAAC,KAAK,UAAU;YACd,CAAC;gBAGC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,oBAAC,mBAAmB,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAAE;YAC/E,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CACrC,EACD,eAAe,EAAE,eAAe,GAChC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type RecentVibeStatus = "draft" | "published" | "unpublished";
|
|
3
|
+
export interface RecentVibeListItem {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly appSlug: string;
|
|
6
|
+
readonly title?: string;
|
|
7
|
+
readonly status?: RecentVibeStatus;
|
|
8
|
+
readonly pinned?: boolean;
|
|
9
|
+
readonly screenshotUrl?: string;
|
|
10
|
+
readonly updatedLabel?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface RecentVibesListProps {
|
|
13
|
+
readonly items: readonly RecentVibeListItem[];
|
|
14
|
+
readonly loading?: boolean;
|
|
15
|
+
readonly emptyText?: string;
|
|
16
|
+
readonly onOpenVibe?: (item: RecentVibeListItem) => void;
|
|
17
|
+
readonly onTogglePin?: (item: RecentVibeListItem) => void;
|
|
18
|
+
}
|
|
19
|
+
export declare function RecentVibesList(props: RecentVibesListProps): React.JSX.Element;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
const THUMB_WIDTH = 76;
|
|
4
|
+
const LIST_MAX_HEIGHT = 340;
|
|
5
|
+
export function RecentVibesList(props) {
|
|
6
|
+
const { items, loading } = props;
|
|
7
|
+
const emptyText = props.emptyText ?? "No vibes yet.";
|
|
8
|
+
if (items.length === 0) {
|
|
9
|
+
return (React.createElement("div", { "data-testid": "recent-vibes-list", style: { padding: "4px 0 8px" } },
|
|
10
|
+
React.createElement("div", { className: "text-light-secondary dark:text-dark-secondary text-sm", style: { padding: "16px 4px" } }, loading ? "Loading…" : emptyText)));
|
|
11
|
+
}
|
|
12
|
+
return (React.createElement("div", { "data-testid": "recent-vibes-list", style: { padding: "4px 0 8px" } },
|
|
13
|
+
React.createElement("div", { "data-testid": "recent-vibes-rows", style: { display: "flex", flexDirection: "column", gap: 8, maxHeight: LIST_MAX_HEIGHT, overflowY: "auto" } }, items.map((item) => (React.createElement(Row, { key: item.id, item: item, onOpen: props.onOpenVibe, onTogglePin: props.onTogglePin }))))));
|
|
14
|
+
}
|
|
15
|
+
const STATUS_WORD = {
|
|
16
|
+
draft: "Draft",
|
|
17
|
+
published: "Published",
|
|
18
|
+
unpublished: "Unpublished",
|
|
19
|
+
};
|
|
20
|
+
const STATUS_VERB = {
|
|
21
|
+
draft: "Edited",
|
|
22
|
+
published: "Updated",
|
|
23
|
+
unpublished: "Taken down",
|
|
24
|
+
};
|
|
25
|
+
function statusLine(item) {
|
|
26
|
+
const rel = item.updatedLabel !== undefined && item.updatedLabel !== "" ? item.updatedLabel : undefined;
|
|
27
|
+
if (item.status === undefined)
|
|
28
|
+
return rel === undefined ? undefined : `Updated ${rel}`;
|
|
29
|
+
const word = STATUS_WORD[item.status];
|
|
30
|
+
if (rel === undefined)
|
|
31
|
+
return word;
|
|
32
|
+
return `${word} | ${STATUS_VERB[item.status]} ${rel}`;
|
|
33
|
+
}
|
|
34
|
+
function Row({ item, onOpen, onTogglePin, }) {
|
|
35
|
+
const name = item.title ?? item.appSlug;
|
|
36
|
+
const line = statusLine(item);
|
|
37
|
+
return (React.createElement("div", { "data-testid": "recent-vibes-row", style: { display: "flex", alignItems: "center", gap: 6 } },
|
|
38
|
+
React.createElement("button", { type: "button", "data-testid": "recent-vibes-row-open", "aria-label": `Open ${name}`, onClick: () => onOpen?.(item), className: "text-light-primary dark:text-dark-primary", style: {
|
|
39
|
+
display: "flex",
|
|
40
|
+
alignItems: "center",
|
|
41
|
+
gap: 10,
|
|
42
|
+
flex: 1,
|
|
43
|
+
minWidth: 0,
|
|
44
|
+
background: "none",
|
|
45
|
+
border: "none",
|
|
46
|
+
padding: 0,
|
|
47
|
+
cursor: "pointer",
|
|
48
|
+
textAlign: "left",
|
|
49
|
+
} },
|
|
50
|
+
React.createElement(Thumb, { item: item }),
|
|
51
|
+
React.createElement("span", { style: { display: "flex", flexDirection: "column", minWidth: 0, gap: 2 } },
|
|
52
|
+
React.createElement("span", { style: { fontSize: 13, fontWeight: 700, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, name),
|
|
53
|
+
line !== undefined && (React.createElement("span", { "data-testid": "recent-vibes-status", className: "text-light-secondary dark:text-dark-secondary", style: { fontSize: 11, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, line)))),
|
|
54
|
+
onTogglePin !== undefined && React.createElement(PinButton, { item: item, name: name, onTogglePin: onTogglePin })));
|
|
55
|
+
}
|
|
56
|
+
function PinButton({ item, name, onTogglePin, }) {
|
|
57
|
+
const [hovered, setHovered] = useState(false);
|
|
58
|
+
const pinned = item.pinned === true;
|
|
59
|
+
return (React.createElement("button", { type: "button", "data-testid": "recent-vibes-pin", "data-pinned": pinned ? "true" : "false", "aria-label": `${pinned ? "Unpin" : "Pin"} ${name}`, "aria-pressed": pinned, onClick: () => onTogglePin(item), onMouseEnter: () => setHovered(true), onMouseLeave: () => setHovered(false), onFocus: () => setHovered(true), onBlur: () => setHovered(false), className: "text-light-primary dark:text-dark-primary", style: {
|
|
60
|
+
display: "flex",
|
|
61
|
+
alignItems: "center",
|
|
62
|
+
justifyContent: "center",
|
|
63
|
+
flexShrink: 0,
|
|
64
|
+
width: 28,
|
|
65
|
+
height: 28,
|
|
66
|
+
background: "none",
|
|
67
|
+
border: "none",
|
|
68
|
+
padding: 0,
|
|
69
|
+
cursor: "pointer",
|
|
70
|
+
opacity: pinned || hovered ? 1 : 0.4,
|
|
71
|
+
} },
|
|
72
|
+
React.createElement(PushpinGlyph, { filled: pinned })));
|
|
73
|
+
}
|
|
74
|
+
function PushpinGlyph({ filled }) {
|
|
75
|
+
return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: 14, height: 14, viewBox: "0 0 8 8", fill: "none", "aria-hidden": true },
|
|
76
|
+
filled && (React.createElement("path", { fill: "currentColor", d: "M7.154 2.225 5.774.845A.753.753 0 0 0 4.63.942L3.488 2.538a.77.77 0 0 1-.613.337h-.937c-.686 0-1.105.94-.607 1.439l2.355 2.355c.499.498 1.439.079 1.439-.606v-.938c0-.243.139-.471.337-.613l1.597-1.141a.753.753 0 0 0 .095-1.146" })),
|
|
77
|
+
React.createElement("path", { stroke: "currentColor", strokeWidth: 0.6, strokeLinecap: "round", strokeLinejoin: "round", d: "M2.509 5.491.625 7.375m5.15-6.53 1.38 1.38c.329.33.283.875-.096 1.146L5.462 4.512a.77.77 0 0 0-.337.613v.938c0 .685-.94 1.104-1.439.606L1.331 4.314c-.498-.499-.079-1.439.607-1.439h.937a.77.77 0 0 0 .613-.337L4.629.941A.753.753 0 0 1 5.775.846" })));
|
|
78
|
+
}
|
|
79
|
+
function Thumb({ item }) {
|
|
80
|
+
const [imageFailed, setImageFailed] = useState(false);
|
|
81
|
+
const showImage = item.screenshotUrl !== undefined && item.screenshotUrl !== "" && imageFailed === false;
|
|
82
|
+
return (React.createElement("span", { className: "bg-light-background-01 dark:bg-dark-background-01 border-light-decorative-01 dark:border-dark-decorative-01", style: {
|
|
83
|
+
display: "flex",
|
|
84
|
+
alignItems: "center",
|
|
85
|
+
justifyContent: "center",
|
|
86
|
+
position: "relative",
|
|
87
|
+
width: THUMB_WIDTH,
|
|
88
|
+
aspectRatio: "16 / 10",
|
|
89
|
+
flexShrink: 0,
|
|
90
|
+
borderRadius: 8,
|
|
91
|
+
borderWidth: 1.5,
|
|
92
|
+
borderStyle: "solid",
|
|
93
|
+
overflow: "hidden",
|
|
94
|
+
} },
|
|
95
|
+
React.createElement("span", { "aria-hidden": true, className: "text-light-secondary dark:text-dark-secondary", style: {
|
|
96
|
+
fontSize: 8,
|
|
97
|
+
fontWeight: 700,
|
|
98
|
+
textTransform: "uppercase",
|
|
99
|
+
letterSpacing: "0.12em",
|
|
100
|
+
opacity: 0.55,
|
|
101
|
+
padding: "0 4px",
|
|
102
|
+
textAlign: "center",
|
|
103
|
+
} }, item.appSlug.slice(0, 12)),
|
|
104
|
+
showImage && (React.createElement("img", { src: item.screenshotUrl, alt: `Screenshot of ${item.title ?? item.appSlug}`, loading: "lazy", decoding: "async", onError: () => setImageFailed(true), style: { position: "absolute", inset: 0, width: "100%", height: "100%", objectFit: "cover" } }))));
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=RecentVibesList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecentVibesList.js","sourceRoot":"","sources":["../../jsr/components/RecentVibesList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useState } from "react";
|
|
2
3
|
import { HOME_BRAND_FONT } from "./homeBrandFont.js";
|
|
3
|
-
const CARD_WIDTH = 150;
|
|
4
|
-
const CARD_H = Math.round((CARD_WIDTH * 10) / 16) + 4;
|
|
5
4
|
const NEAR_BLACK = "var(--vibes-near-black, #1a1a1a)";
|
|
6
5
|
const CREAM = "#FFFEF0";
|
|
7
|
-
const
|
|
8
|
-
const ROW_STRIDE = CARD_H + ROW_GAP;
|
|
9
|
-
const MIN_ITEMS_PER_ROW = 4;
|
|
10
|
-
const CARD_VIEWPORT_FRACTION = 0.58;
|
|
11
|
-
const CHROME_RESERVE = 170;
|
|
12
|
-
const STRIP_LABEL_RESERVE = 36;
|
|
13
|
-
function computeRowCount(availableHeight, itemCount) {
|
|
14
|
-
if (itemCount <= MIN_ITEMS_PER_ROW || availableHeight <= 0)
|
|
15
|
-
return 1;
|
|
16
|
-
const fitRows = Math.max(1, Math.floor(availableHeight / ROW_STRIDE));
|
|
17
|
-
const maxRowsByCount = Math.max(1, Math.floor(itemCount / MIN_ITEMS_PER_ROW));
|
|
18
|
-
return Math.max(1, Math.min(fitRows, maxRowsByCount));
|
|
19
|
-
}
|
|
20
|
-
function chunkIntoRows(arr, rows) {
|
|
21
|
-
if (rows <= 1)
|
|
22
|
-
return [arr.slice()];
|
|
23
|
-
const base = Math.floor(arr.length / rows);
|
|
24
|
-
const withExtra = arr.length % rows;
|
|
25
|
-
const out = [];
|
|
26
|
-
let i = 0;
|
|
27
|
-
for (let r = 0; r < rows; r++) {
|
|
28
|
-
const size = base + (r < withExtra ? 1 : 0);
|
|
29
|
-
out.push(arr.slice(i, i + size));
|
|
30
|
-
i += size;
|
|
31
|
-
}
|
|
32
|
-
return out;
|
|
33
|
-
}
|
|
34
|
-
function findScrollParent(el) {
|
|
35
|
-
let node = el.parentElement;
|
|
36
|
-
while (node !== null) {
|
|
37
|
-
const oy = getComputedStyle(node).overflowY;
|
|
38
|
-
if (oy === "auto" || oy === "scroll" || oy === "overlay")
|
|
39
|
-
return node;
|
|
40
|
-
node = node.parentElement;
|
|
41
|
-
}
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
6
|
+
const GRID_MAX_HEIGHT = 360;
|
|
44
7
|
export function RecommendedView(props) {
|
|
45
8
|
const { items, loading, isOwner } = props;
|
|
46
9
|
const label = props.label ?? "Recommended vibes";
|
|
@@ -49,36 +12,6 @@ export function RecommendedView(props) {
|
|
|
49
12
|
const [draft, setDraft] = useState("");
|
|
50
13
|
const [error, setError] = useState(undefined);
|
|
51
14
|
const [busy, setBusy] = useState(false);
|
|
52
|
-
const rowsRef = useRef(null);
|
|
53
|
-
const [availableHeight, setAvailableHeight] = useState(0);
|
|
54
|
-
useEffect(() => {
|
|
55
|
-
const rowsEl = rowsRef.current;
|
|
56
|
-
if (rowsEl === null)
|
|
57
|
-
return;
|
|
58
|
-
const scrollParent = findScrollParent(rowsEl);
|
|
59
|
-
const measure = () => {
|
|
60
|
-
const viewportHeight = globalThis.innerHeight ?? 0;
|
|
61
|
-
const viewportBudget = viewportHeight * CARD_VIEWPORT_FRACTION - CHROME_RESERVE;
|
|
62
|
-
const labelReserve = label === "" ? 0 : STRIP_LABEL_RESERVE;
|
|
63
|
-
const measured = scrollParent === null ? 0 : scrollParent.clientHeight - labelReserve;
|
|
64
|
-
const room = measured > viewportBudget + ROW_STRIDE ? measured : viewportBudget;
|
|
65
|
-
setAvailableHeight(Math.max(0, room));
|
|
66
|
-
};
|
|
67
|
-
measure();
|
|
68
|
-
let observer = null;
|
|
69
|
-
if (typeof ResizeObserver !== "undefined" && scrollParent !== null) {
|
|
70
|
-
observer = new ResizeObserver(measure);
|
|
71
|
-
observer.observe(scrollParent);
|
|
72
|
-
}
|
|
73
|
-
globalThis.addEventListener("resize", measure);
|
|
74
|
-
return () => {
|
|
75
|
-
if (observer !== null)
|
|
76
|
-
observer.disconnect();
|
|
77
|
-
globalThis.removeEventListener("resize", measure);
|
|
78
|
-
};
|
|
79
|
-
}, [items.length, label]);
|
|
80
|
-
const rowCount = computeRowCount(availableHeight, items.length);
|
|
81
|
-
const rows = chunkIntoRows(items, rowCount);
|
|
82
15
|
const submitAdd = async () => {
|
|
83
16
|
const m = /^\s*@?([a-z0-9-]+)\s*\/\s*([a-z0-9-]+)\s*$/i.exec(draft);
|
|
84
17
|
if (!m) {
|
|
@@ -99,63 +32,71 @@ export function RecommendedView(props) {
|
|
|
99
32
|
};
|
|
100
33
|
return (React.createElement("div", { "data-testid": "recommended-view", style: { padding: "4px 0 8px" } },
|
|
101
34
|
label !== "" && (React.createElement("div", { className: "text-light-secondary dark:text-dark-secondary", style: { fontSize: 12, fontWeight: 600, margin: "0 2px 8px", fontFamily: HOME_BRAND_FONT } }, label)),
|
|
102
|
-
React.createElement("div", {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
React.createElement("
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
35
|
+
React.createElement("div", { "data-testid": "recommended-grid", style: {
|
|
36
|
+
display: "grid",
|
|
37
|
+
gridTemplateColumns: "1fr 1fr",
|
|
38
|
+
gap: 10,
|
|
39
|
+
alignContent: "start",
|
|
40
|
+
maxHeight: GRID_MAX_HEIGHT,
|
|
41
|
+
overflowY: "auto",
|
|
42
|
+
padding: "8px 8px 8px 4px",
|
|
43
|
+
} },
|
|
44
|
+
isOwner &&
|
|
45
|
+
(adding ? (React.createElement("form", { onSubmit: (e) => {
|
|
46
|
+
e.preventDefault();
|
|
47
|
+
void submitAdd();
|
|
48
|
+
}, style: { gridColumn: "1 / -1", display: "flex", flexDirection: "column", gap: 4 } },
|
|
49
|
+
React.createElement("input", { autoFocus: true, "aria-label": "Vibe to feature (handle/app-slug)", placeholder: "handle/app-slug", value: draft, disabled: busy, onChange: (e) => setDraft(e.target.value), className: "text-sm", style: {
|
|
50
|
+
width: "100%",
|
|
51
|
+
borderRadius: 8,
|
|
52
|
+
border: "1px solid var(--color-light-decorative-01, #ddd)",
|
|
53
|
+
background: "var(--color-light-background-01, #f5f5f5)",
|
|
54
|
+
color: "var(--color-light-primary, #333)",
|
|
55
|
+
padding: "6px 8px",
|
|
56
|
+
} }),
|
|
57
|
+
React.createElement("div", { style: { display: "flex", gap: 4 } },
|
|
58
|
+
React.createElement("button", { type: "submit", disabled: busy, className: "text-xs font-semibold", style: {
|
|
59
|
+
borderRadius: 6,
|
|
60
|
+
border: "none",
|
|
61
|
+
background: "var(--vibes-blue, #3b82f6)",
|
|
62
|
+
color: "#fff",
|
|
63
|
+
padding: "4px 10px",
|
|
64
|
+
cursor: busy ? "default" : "pointer",
|
|
65
|
+
opacity: busy ? 0.6 : 1,
|
|
66
|
+
} }, "Feature"),
|
|
67
|
+
React.createElement("button", { type: "button", disabled: busy, onClick: () => {
|
|
68
|
+
setAdding(false);
|
|
69
|
+
setError(undefined);
|
|
70
|
+
}, className: "text-xs", style: {
|
|
71
|
+
borderRadius: 6,
|
|
72
|
+
border: "none",
|
|
73
|
+
background: "transparent",
|
|
74
|
+
cursor: "pointer",
|
|
75
|
+
padding: "4px 6px",
|
|
76
|
+
} }, "Cancel")),
|
|
77
|
+
error && (React.createElement("div", { role: "alert", className: "text-xs", style: { color: "#dc2626" } }, error)))) : (React.createElement("button", { type: "button", "aria-label": "Feature a vibe", title: "Feature a vibe at the front of this list", onClick: () => setAdding(true), style: {
|
|
78
|
+
width: "100%",
|
|
79
|
+
aspectRatio: "16 / 10",
|
|
80
|
+
borderRadius: 12,
|
|
81
|
+
border: "2px dashed var(--color-light-decorative-01, #ccc)",
|
|
82
|
+
background: "transparent",
|
|
83
|
+
color: "var(--color-light-secondary, #888)",
|
|
84
|
+
fontSize: 26,
|
|
85
|
+
lineHeight: 1,
|
|
86
|
+
cursor: "pointer",
|
|
87
|
+
} }, "+"))),
|
|
88
|
+
items.map((item) => (React.createElement(Tile, { key: item.id, item: item, onOpen: props.onOpenVibe, onRemove: isOwner !== true
|
|
148
89
|
? undefined
|
|
149
90
|
: item.section === "curated"
|
|
150
91
|
? props.onRemoveCurated && (() => props.onRemoveCurated?.(item.id))
|
|
151
92
|
: props.onMuteSuggestion && (() => props.onMuteSuggestion?.(item)), removeLabel: item.section === "curated" ? "Remove from recommendations" : "Hide from recommendations" }))),
|
|
152
|
-
|
|
153
|
-
|
|
93
|
+
loading !== true && items.length === 0 && (React.createElement("div", { className: "text-light-secondary dark:text-dark-secondary text-sm", style: { gridColumn: "1 / -1", padding: "16px 4px" } }, emptyText)),
|
|
94
|
+
loading && items.length === 0 && (React.createElement("div", { className: "text-light-secondary dark:text-dark-secondary text-sm", style: { gridColumn: "1 / -1", padding: "16px 4px" } }, "Loading\u2026")))));
|
|
154
95
|
}
|
|
155
96
|
function Tile({ item, onOpen, onRemove, removeLabel, }) {
|
|
156
97
|
const name = item.title ?? item.appSlug;
|
|
157
98
|
const [imageFailed, setImageFailed] = useState(false);
|
|
158
|
-
return (React.createElement("div", { "data-testid": "recommended-tile", "data-section": item.section, style: { position: "relative",
|
|
99
|
+
return (React.createElement("div", { "data-testid": "recommended-tile", "data-section": item.section, style: { position: "relative", width: "100%" } },
|
|
159
100
|
React.createElement("button", { type: "button", "aria-label": `Open ${name}`, onClick: () => onOpen?.(item), style: { display: "block", width: "100%", background: "none", border: "none", padding: 0, cursor: "pointer" } },
|
|
160
101
|
React.createElement("div", { style: {
|
|
161
102
|
overflow: "hidden",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendedView.js","sourceRoot":"","sources":["../../jsr/components/RecommendedView.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RecommendedView.js","sourceRoot":"","sources":["../../jsr/components/RecommendedView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -64,10 +64,9 @@ export function SharePanelView({ url, copied, onCopy, viewer, members = [], acce
|
|
|
64
64
|
tabs.push({ key: "qr", label: "Link" });
|
|
65
65
|
if (commentsSlot !== undefined)
|
|
66
66
|
tabs.push({ key: "comments", label: "Comments" });
|
|
67
|
-
tabs.push({ key: "who", label: "Who’s here" });
|
|
68
|
-
tabs.push({ key: "access", label: "Access" });
|
|
69
67
|
if (notifications !== undefined)
|
|
70
68
|
tabs.push({ key: "notifications", label: "Notifications" });
|
|
69
|
+
tabs.push({ key: "who", label: "Members" });
|
|
71
70
|
const [picked, setPicked] = React.useState(undefined);
|
|
72
71
|
const defaultKey = "qr";
|
|
73
72
|
const activeTab = picked !== undefined && tabs.some((t) => t.key === picked) ? picked : defaultKey;
|
|
@@ -87,13 +86,8 @@ export function SharePanelView({ url, copied, onCopy, viewer, members = [], acce
|
|
|
87
86
|
React.createElement(QrCode, { value: url, size: 132, title: "QR code \u2014 scan to open this vibe" })),
|
|
88
87
|
React.createElement("span", { className: "text-xs text-light-secondary dark:text-dark-secondary", style: { textAlign: "center", overflowWrap: "anywhere", wordBreak: "break-word" } }, url),
|
|
89
88
|
React.createElement("button", { type: "button", onClick: onCopy, "aria-label": "Copy link", className: "w-full bg-blue-500 text-sm font-bold text-white transition-colors hover:bg-blue-600", style: { borderRadius: LINK_RADIUS, padding: "10px 12px", border: "none" } }, copied ? "Copied" : "Copy"))),
|
|
90
|
-
activeTab === "comments" && commentsSlot !== undefined ? (commentsSlot) : activeTab === "who" ? (React.createElement(
|
|
91
|
-
React.createElement("
|
|
92
|
-
roster.length === 0 ? (React.createElement("p", { className: "text-xs text-light-secondary dark:text-dark-secondary" }, access === "public" ? "No one’s written here yet." : "No one else has access yet.")) : (React.createElement("div", { style: { display: "flex", flexWrap: "wrap", gap: 6 } }, roster.map((m) => {
|
|
93
|
-
const tag = (React.createElement(ViewerTagView, { slug: m.handle, displayName: `@${m.handle}`, avatarUrl: m.avatarUrl, trailing: m.role ? React.createElement("span", { style: { fontSize: 11, opacity: 0.6, marginLeft: 2 } }, roleLabel(m.role)) : undefined, style: ROSTER_TAG_STYLE }));
|
|
94
|
-
return isAuthor ? (React.createElement("button", { key: m.handle, type: "button", "aria-label": `Manage @${m.handle}`, onClick: () => onSelectMember?.(m), style: { background: "none", border: "none", padding: 0, cursor: "pointer" } }, tag)) : (React.createElement("span", { key: m.handle }, tag));
|
|
95
|
-
}))))) : activeTab === "access" ? (React.createElement("div", { "data-testid": "share-access-notice", style: { minHeight: ACCESS_NOTICE_MIN_HEIGHT } },
|
|
96
|
-
isAuthor ? (React.createElement("div", null,
|
|
89
|
+
activeTab === "comments" && commentsSlot !== undefined ? (commentsSlot) : activeTab === "who" ? (React.createElement(React.Fragment, null,
|
|
90
|
+
isAuthor ? (React.createElement("div", { "data-testid": "share-access-notice", style: { minHeight: ACCESS_NOTICE_MIN_HEIGHT } },
|
|
97
91
|
React.createElement("p", { className: "text-xs text-light-secondary dark:text-dark-secondary", style: { marginBottom: 6 } }, "Who can open it"),
|
|
98
92
|
React.createElement("div", { role: "radiogroup", "aria-label": "Who can open it", style: { display: "flex", gap: 6 } }, [
|
|
99
93
|
{ value: "request", label: "People you approve" },
|
|
@@ -110,18 +104,24 @@ export function SharePanelView({ url, copied, onCopy, viewer, members = [], acce
|
|
|
110
104
|
(active
|
|
111
105
|
? "border-[#1a1a1a] bg-light-background-01 dark:bg-dark-background-01"
|
|
112
106
|
: "border-light-decorative-01 dark:border-dark-decorative-01 hover:bg-light-background-01 dark:hover:bg-dark-background-01") }, opt.label));
|
|
113
|
-
}))
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
107
|
+
})),
|
|
108
|
+
posture !== undefined && accessPending !== true && (React.createElement("p", { "data-testid": "share-posture-notice", className: "text-xs text-light-secondary dark:text-dark-secondary", style: { marginTop: 8 } }, POSTURE_NOTICE[posture])),
|
|
109
|
+
envelopeRows !== undefined && envelopeRows.length > 0 && (React.createElement("ul", { "data-testid": "share-envelope-rows", style: { marginTop: 8, listStyle: "none", padding: 0 } }, envelopeRows.map((row) => (React.createElement("li", { key: row.dbName, className: "text-xs text-light-secondary dark:text-dark-secondary" },
|
|
110
|
+
React.createElement("span", { style: { fontWeight: 600 } }, row.dbName),
|
|
111
|
+
" — reads: ",
|
|
112
|
+
subjectsLabel(row.effective.read),
|
|
113
|
+
", writes: ",
|
|
114
|
+
subjectsLabel(row.effective.write),
|
|
115
|
+
" (",
|
|
116
|
+
row.provenance === "platform-default" ? "platform default" : "your pin",
|
|
117
|
+
row.absorbed === true && row.provenance === "your-pin" ? "; not restricting anything right now" : "",
|
|
118
|
+
")"))))))) : null,
|
|
119
|
+
React.createElement("div", null,
|
|
120
|
+
React.createElement("p", { className: "text-xs text-light-secondary dark:text-dark-secondary", style: { marginBottom: 6 } }, isAuthor ? "In this vibe" : access === "public" ? "People who’ve written here" : "People with access"),
|
|
121
|
+
roster.length === 0 ? (React.createElement("p", { className: "text-xs text-light-secondary dark:text-dark-secondary" }, access === "public" ? "No one’s written here yet." : "No one else has access yet.")) : (React.createElement("div", { style: { display: "flex", flexWrap: "wrap", gap: 6 } }, roster.map((m) => {
|
|
122
|
+
const tag = (React.createElement(ViewerTagView, { slug: m.handle, displayName: `@${m.handle}`, avatarUrl: m.avatarUrl, trailing: m.role ? (React.createElement("span", { style: { fontSize: 11, opacity: 0.6, marginLeft: 2 } }, roleLabel(m.role))) : undefined, style: ROSTER_TAG_STYLE }));
|
|
123
|
+
return isAuthor ? (React.createElement("button", { key: m.handle, type: "button", "aria-label": `Manage @${m.handle}`, onClick: () => onSelectMember?.(m), style: { background: "none", border: "none", padding: 0, cursor: "pointer" } }, tag)) : (React.createElement("span", { key: m.handle }, tag));
|
|
124
|
+
})))))) : activeTab === "notifications" && notifications !== undefined ? (React.createElement("div", null, notificationsError === true ? (React.createElement("p", { className: "text-xs text-light-secondary dark:text-dark-secondary" }, "Couldn\u2019t load notifications for this vibe.")) : notificationsLoading === true && notifications.length === 0 ? (React.createElement("p", { className: "text-xs text-light-secondary dark:text-dark-secondary" }, "Loading notifications\u2026")) : notifications.length === 0 ? (React.createElement("p", { className: "text-xs text-light-secondary dark:text-dark-secondary" }, "No notifications for this vibe yet.")) : (React.createElement("div", { className: "rounded-md border border-light-decorative-01 dark:border-dark-decorative-01", style: { display: "flex", flexDirection: "column" } }, notifications.map((n) => {
|
|
125
125
|
const isUnread = n.unread === true;
|
|
126
126
|
const interactive = onSelectNotification !== undefined;
|
|
127
127
|
const inner = (React.createElement(React.Fragment, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharePanelView.js","sourceRoot":"","sources":["../../jsr/components/SharePanelView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"SharePanelView.js","sourceRoot":"","sources":["../../jsr/components/SharePanelView.tsx"],"names":[],"mappings":"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"}
|