@vibes.diy/base 14.3.46 → 14.3.48
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/vibe-menu/cards/ShareAppDrill.d.ts +21 -0
- package/components/vibe-menu/cards/ShareAppDrill.js +162 -0
- package/components/vibe-menu/cards/ShareAppDrill.js.map +1 -0
- package/components/vibe-menu/cards/ShareCard.js +3 -3
- package/components/vibe-menu/cards/ShareCard.js.map +1 -1
- package/components/vibe-menu/cards/ShareDrills.d.ts +2 -2
- package/components/vibe-menu/cards/ShareDrills.js +5 -0
- package/components/vibe-menu/cards/ShareDrills.js.map +1 -1
- package/components/vibe-menu/cards/ShareLinkRows.d.ts +3 -2
- package/components/vibe-menu/cards/ShareLinkRows.js +2 -1
- package/components/vibe-menu/cards/ShareLinkRows.js.map +1 -1
- package/components/vibe-menu/cards/share-card.styles.d.ts +1 -1
- package/components/vibe-menu/cards/share-card.styles.js +22 -0
- package/components/vibe-menu/cards/share-card.styles.js.map +1 -1
- package/components/vibe-menu/index.d.ts +2 -0
- package/components/vibe-menu/index.js +2 -0
- package/components/vibe-menu/index.js.map +1 -1
- package/components/vibe-menu/menu-state.d.ts +1 -1
- package/components/vibe-menu/menu-state.js +1 -0
- package/components/vibe-menu/menu-state.js.map +1 -1
- package/components/vibe-menu/parts/Glyph.d.ts +1 -1
- package/components/vibe-menu/parts/Glyph.js +5 -1
- package/components/vibe-menu/parts/Glyph.js.map +1 -1
- package/components/vibe-menu/share-fixtures.d.ts +3 -1
- package/components/vibe-menu/share-fixtures.js +11 -0
- package/components/vibe-menu/share-fixtures.js.map +1 -1
- package/components/vibe-menu/share-image.d.ts +17 -0
- package/components/vibe-menu/share-image.js +194 -0
- package/components/vibe-menu/share-image.js.map +1 -0
- package/components/vibe-menu/slices.d.ts +10 -0
- package/components/vibe-menu/slices.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { CardNav, ShareAppSlice } from "../slices.js";
|
|
3
|
+
export declare const SHARE_APP_HELP = "On iPhone this opens instantly, no download. Everywhere else it opens on the web.";
|
|
4
|
+
export declare const CARD_STATUS_COPY: {
|
|
5
|
+
readonly notYet: "Your app gets its own card on iPhone after Apple reviews it";
|
|
6
|
+
readonly requested: "Custom card requested. Links already work.";
|
|
7
|
+
readonly review: "Custom card in review. Links already work.";
|
|
8
|
+
readonly live: "Custom card live";
|
|
9
|
+
readonly standard: "Using the standard Vibes card";
|
|
10
|
+
};
|
|
11
|
+
export interface ShareSheet {
|
|
12
|
+
readonly share: ((data: ShareData) => Promise<void>) | undefined;
|
|
13
|
+
canShare(data: ShareData): boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const NAVIGATOR_SHARE_SHEET: ShareSheet;
|
|
16
|
+
export declare const ShareSheetContext: React.Context<ShareSheet>;
|
|
17
|
+
export declare function shareAppSlug(url: string): string;
|
|
18
|
+
export declare function ShareAppDrill({ app, nav }: {
|
|
19
|
+
readonly app: ShareAppSlice;
|
|
20
|
+
readonly nav: CardNav;
|
|
21
|
+
}): React.JSX.Element;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { createContext, useContext, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { exception2Result } from "@adviser/cement";
|
|
4
|
+
import { BackRow } from "../parts/BackRow.js";
|
|
5
|
+
import { Chip } from "../parts/Chip.js";
|
|
6
|
+
import { DoneButton } from "../parts/DoneButton.js";
|
|
7
|
+
import { renderShareImage } from "../share-image.js";
|
|
8
|
+
import { CopyChip } from "./share-copy.js";
|
|
9
|
+
export const SHARE_APP_HELP = "On iPhone this opens instantly, no download. Everywhere else it opens on the web.";
|
|
10
|
+
export const CARD_STATUS_COPY = {
|
|
11
|
+
notYet: "Your app gets its own card on iPhone after Apple reviews it",
|
|
12
|
+
requested: "Custom card requested. Links already work.",
|
|
13
|
+
review: "Custom card in review. Links already work.",
|
|
14
|
+
live: "Custom card live",
|
|
15
|
+
standard: "Using the standard Vibes card",
|
|
16
|
+
};
|
|
17
|
+
function cardStatusGroup(status) {
|
|
18
|
+
switch (status) {
|
|
19
|
+
case null:
|
|
20
|
+
return "notYet";
|
|
21
|
+
case "requested":
|
|
22
|
+
return "requested";
|
|
23
|
+
case "submitted":
|
|
24
|
+
case "in_review":
|
|
25
|
+
return "review";
|
|
26
|
+
case "live":
|
|
27
|
+
return "live";
|
|
28
|
+
case "rejected":
|
|
29
|
+
case "failed":
|
|
30
|
+
case "deactivated":
|
|
31
|
+
return "standard";
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function CardStatusLine({ status }) {
|
|
35
|
+
if (status === undefined)
|
|
36
|
+
return null;
|
|
37
|
+
const group = cardStatusGroup(status);
|
|
38
|
+
return (React.createElement("div", { className: "vm-publish vm-card-status", "data-card-status": group },
|
|
39
|
+
React.createElement("span", null, CARD_STATUS_COPY[group])));
|
|
40
|
+
}
|
|
41
|
+
function useRequestCardOnce(onRequestCard) {
|
|
42
|
+
const asked = useRef(false);
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
if (onRequestCard === undefined || asked.current === true)
|
|
45
|
+
return;
|
|
46
|
+
asked.current = true;
|
|
47
|
+
onRequestCard();
|
|
48
|
+
}, [onRequestCard]);
|
|
49
|
+
}
|
|
50
|
+
export const NAVIGATOR_SHARE_SHEET = {
|
|
51
|
+
get share() {
|
|
52
|
+
if (typeof navigator === "undefined" || typeof navigator.share !== "function")
|
|
53
|
+
return undefined;
|
|
54
|
+
return function share(data) {
|
|
55
|
+
return navigator.share(data);
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
canShare(data) {
|
|
59
|
+
if (typeof navigator === "undefined" || typeof navigator.canShare !== "function")
|
|
60
|
+
return false;
|
|
61
|
+
return navigator.canShare(data);
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
export const ShareSheetContext = createContext(NAVIGATOR_SHARE_SHEET);
|
|
65
|
+
export function shareAppSlug(url) {
|
|
66
|
+
const path = url.split(/[?#]/)[0] ?? "";
|
|
67
|
+
const segments = path.split("/").filter((s) => s !== "");
|
|
68
|
+
return segments[segments.length - 1] ?? "vibe";
|
|
69
|
+
}
|
|
70
|
+
function useShareImage(app) {
|
|
71
|
+
const [image, setImage] = useState(undefined);
|
|
72
|
+
const { screenshotUrl, title, handle, url } = app;
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
let live = true;
|
|
75
|
+
let objectUrl = undefined;
|
|
76
|
+
void renderShareImage({ screenshotUrl, title, handle, url }).then((res) => {
|
|
77
|
+
if (res.isErr()) {
|
|
78
|
+
console.warn("[ShareAppDrill] share image failed:", res.Err().message);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (live === false)
|
|
82
|
+
return;
|
|
83
|
+
const blob = res.Ok();
|
|
84
|
+
objectUrl = URL.createObjectURL(blob);
|
|
85
|
+
setImage({ objectUrl, file: new File([blob], `${shareAppSlug(url)}-share.png`, { type: "image/png" }) });
|
|
86
|
+
});
|
|
87
|
+
return function revokeShareImage() {
|
|
88
|
+
live = false;
|
|
89
|
+
if (objectUrl !== undefined)
|
|
90
|
+
URL.revokeObjectURL(objectUrl);
|
|
91
|
+
setImage(undefined);
|
|
92
|
+
};
|
|
93
|
+
}, [screenshotUrl, title, handle, url]);
|
|
94
|
+
return image;
|
|
95
|
+
}
|
|
96
|
+
function shareOnce(share, data) {
|
|
97
|
+
return exception2Result(() => share(data)).then((res) => {
|
|
98
|
+
if (res.isOk())
|
|
99
|
+
return "shared";
|
|
100
|
+
if (res.Err().name === "AbortError")
|
|
101
|
+
return "cancelled";
|
|
102
|
+
console.warn("[ShareAppDrill] share failed:", res.Err().message);
|
|
103
|
+
return "failed";
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function downloadImage(image) {
|
|
107
|
+
const a = document.createElement("a");
|
|
108
|
+
a.href = image.objectUrl;
|
|
109
|
+
a.download = image.file.name;
|
|
110
|
+
document.body.appendChild(a);
|
|
111
|
+
a.click();
|
|
112
|
+
a.remove();
|
|
113
|
+
}
|
|
114
|
+
export function ShareAppDrill({ app, nav }) {
|
|
115
|
+
const sheet = useContext(ShareSheetContext);
|
|
116
|
+
const image = useShareImage(app);
|
|
117
|
+
useRequestCardOnce(app.onRequestCard);
|
|
118
|
+
function leave() {
|
|
119
|
+
nav.onLeaveDrill();
|
|
120
|
+
}
|
|
121
|
+
function save() {
|
|
122
|
+
if (image === undefined)
|
|
123
|
+
return;
|
|
124
|
+
const data = { files: [image.file] };
|
|
125
|
+
const share = sheet.share;
|
|
126
|
+
if (share === undefined || sheet.canShare(data) === false) {
|
|
127
|
+
downloadImage(image);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
void shareOnce(share, data).then((outcome) => {
|
|
131
|
+
if (outcome === "failed")
|
|
132
|
+
downloadImage(image);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
function shareLink() {
|
|
136
|
+
const share = sheet.share;
|
|
137
|
+
if (share === undefined)
|
|
138
|
+
return;
|
|
139
|
+
const link = { url: app.url, title: app.title };
|
|
140
|
+
const withFile = image === undefined ? undefined : { ...link, files: [image.file] };
|
|
141
|
+
if (withFile === undefined || sheet.canShare({ files: withFile.files }) === false) {
|
|
142
|
+
void shareOnce(share, link);
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
void shareOnce(share, withFile).then((outcome) => {
|
|
146
|
+
if (outcome === "failed")
|
|
147
|
+
void shareOnce(share, link);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
return (React.createElement(React.Fragment, null,
|
|
151
|
+
React.createElement(BackRow, { name: "Share as app", card: "Share", top: true, onBack: leave }),
|
|
152
|
+
React.createElement("div", { className: "vm-drill", "data-drill": "app" },
|
|
153
|
+
React.createElement("div", { className: "vm-share-image" }, image !== undefined ? React.createElement("img", { src: image.objectUrl, alt: `Share image for ${app.title}` }) : null),
|
|
154
|
+
React.createElement("div", { className: "vm-share-actions" },
|
|
155
|
+
React.createElement(Chip, { copy: true, label: "Save image", disabled: image === undefined, onClick: save }),
|
|
156
|
+
React.createElement(CopyChip, { text: app.url, label: "Copy app link", ariaLabel: "Copy app link" }),
|
|
157
|
+
sheet.share !== undefined ? React.createElement(Chip, { copy: true, label: "Share\u2026", onClick: shareLink }) : null),
|
|
158
|
+
React.createElement(CardStatusLine, { status: app.cardStatus }),
|
|
159
|
+
React.createElement("p", { className: "vm-sub" }, SHARE_APP_HELP)),
|
|
160
|
+
React.createElement(DoneButton, { onDone: leave })));
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=ShareAppDrill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareAppDrill.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/ShareAppDrill.tsx"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ function ShareOwnerMain({ share, nav, actions, }) {
|
|
|
52
52
|
React.createElement("div", { className: "vm-group" },
|
|
53
53
|
React.createElement(YourAccessRow, { nav: nav }),
|
|
54
54
|
React.createElement(NotificationsRow, { share: share, nav: nav }),
|
|
55
|
-
React.createElement(ShareLinkRows, { share: share, owner: true }))));
|
|
55
|
+
React.createElement(ShareLinkRows, { share: share, owner: true, nav: nav }))));
|
|
56
56
|
}
|
|
57
57
|
function ShareVisitorMain({ share, nav }) {
|
|
58
58
|
return (React.createElement(React.Fragment, null,
|
|
@@ -66,7 +66,7 @@ function ShareVisitorMain({ share, nav }) {
|
|
|
66
66
|
React.createElement(YourAccessRow, { nav: nav }),
|
|
67
67
|
React.createElement(RosterRow, { share: share, nav: nav }),
|
|
68
68
|
React.createElement(NotificationsRow, { share: share, nav: nav }),
|
|
69
|
-
React.createElement(ShareLinkRows, { share: share, owner: false }))));
|
|
69
|
+
React.createElement(ShareLinkRows, { share: share, owner: false, nav: nav }))));
|
|
70
70
|
}
|
|
71
71
|
function ShareSignedOutMain({ viewer, share, nav, onSignIn, }) {
|
|
72
72
|
return (React.createElement(React.Fragment, null,
|
|
@@ -79,6 +79,6 @@ function ShareSignedOutMain({ viewer, share, nav, onSignIn, }) {
|
|
|
79
79
|
React.createElement(CopyLinkChip, { url: share.link.url, display: share.link.display })),
|
|
80
80
|
React.createElement("div", { className: "vm-group" },
|
|
81
81
|
React.createElement(YourAccessRow, { nav: nav }),
|
|
82
|
-
React.createElement(ShareLinkRows, { share: share, owner: false }))));
|
|
82
|
+
React.createElement(ShareLinkRows, { share: share, owner: false, nav: nav }))));
|
|
83
83
|
}
|
|
84
84
|
//# sourceMappingURL=ShareCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareCard.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/ShareCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,EACb,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAsB1B,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAkB;IACxE,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,OAAO,CACL;QACE,mCAAQ,cAAc,CAAS;QAC/B,oBAAC,SAAS,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CAC1F,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAuD;IAC/G,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CACL,2BAAG,SAAS,EAAC,gBAAgB,8BAC1B,gBAAgB,CACf,CACL,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI;QAAE,OAAO,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;IAC3E,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CACL,oBAAC,UAAU,IACT,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAC7D,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,oBAAC,cAAc,IAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;IAClG,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,oBAAC,kBAAkB,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;IAC3H,OAAO,oBAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,KAAK,EAAkC;IAC7D,OAAO,oBAAC,YAAY,IAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAI,CAAC;AAC5E,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,KAAK,EACL,GAAG,EACH,OAAO,GAKR;IACC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,CACL;QACG,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAC,WAAW,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI;QACxE,6BAAK,SAAS,EAAC,cAAc;YAC3B,oBAAC,YAAY,IACX,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,KAAK,EAAE,KAAK,CAAC,YAAY,EACzB,OAAO,EAAE,KAAK,CAAC,cAAc,EAC7B,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,OAAO,EAAE,KAAK,CAAC,cAAc,EAC7B,QAAQ,EAAE,oBAAC,YAAY,IAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,GAAI,EACxG,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,cAAc,GACrC;YACD,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,2BAAG,SAAS,EAAC,gBAAgB,IAAE,gBAAgB,CAAK,CAAC,CAAC,CAAC,IAAI;YACzF,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,gCAAQ,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,QAAQ,uBAAa,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,IAClG,YAAY,CACN,CACV,CAAC,CAAC,CAAC,IAAI;YACR,4BAAI,SAAS,EAAC,4BAA4B,cAAa;YACvD,oBAAC,WAAW,IACV,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,mBAAmB,IAAI,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GACrH;YACD,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CACxB,oBAAC,YAAY,IAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,CACjG,CAAC,CAAC,CAAC,IAAI;YACR,oBAAC,YAAY,IAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAI;YAC5C,6BAAK,SAAS,EAAC,WAAW,IACvB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC5C,oBAAC,cAAc,IAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAI,CACpF,CAAC,CACE;YACN,oBAAC,GAAG,IACF,IAAI,EAAC,WAAW,EAChB,KAAK,EAAC,iBAAiB,EACvB,OAAO,QACP,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EACtD,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,GAChD,CACE;QACN,6BAAK,SAAS,EAAC,UAAU;YACvB,oBAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAI;YAC3B,oBAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI;YAC5C,oBAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,GAAI,
|
|
1
|
+
{"version":3,"file":"ShareCard.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/ShareCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import type { MenuView } from "../menu-state.js";
|
|
3
3
|
import type { CardNav, RosterMember, ShareSlice, ViewerSlice } from "../slices.js";
|
|
4
4
|
import type { ShareActions } from "./share-actions.js";
|
|
5
|
-
export type ShareDrillName = "access" | "members" | "member" | "notifications";
|
|
5
|
+
export type ShareDrillName = "access" | "members" | "member" | "notifications" | "app";
|
|
6
6
|
export declare function shareDrill(viewer: ViewerSlice, share: ShareSlice, view: MenuView | null): ShareDrillName | null;
|
|
7
7
|
export interface ShareDrillProps {
|
|
8
8
|
readonly drill: ShareDrillName;
|
|
@@ -12,7 +12,7 @@ export interface ShareDrillProps {
|
|
|
12
12
|
readonly nav: CardNav;
|
|
13
13
|
readonly actions: ShareActions;
|
|
14
14
|
}
|
|
15
|
-
export declare function ShareDrill({ drill, viewer, share, memberKey, nav, actions }: ShareDrillProps): React.JSX.Element;
|
|
15
|
+
export declare function ShareDrill({ drill, viewer, share, memberKey, nav, actions }: ShareDrillProps): React.JSX.Element | null;
|
|
16
16
|
export declare function AccessDrill({ viewer, share, nav, }: {
|
|
17
17
|
readonly viewer: ViewerSlice;
|
|
18
18
|
readonly share: ShareSlice;
|
|
@@ -5,6 +5,7 @@ import { DoneButton } from "../parts/DoneButton.js";
|
|
|
5
5
|
import { GrantControls } from "../parts/GrantControls.js";
|
|
6
6
|
import { InviteField, MemberRow, memberDisplayName } from "../parts/MemberRow.js";
|
|
7
7
|
import { Row } from "../parts/Row.js";
|
|
8
|
+
import { ShareAppDrill } from "./ShareAppDrill.js";
|
|
8
9
|
import { FailureLines, INVITE_KEY, MEMBERS_EMPTY_LINE, OwnerMemberRow, listedMembers, withArticle } from "./share-parts.js";
|
|
9
10
|
export function shareDrill(viewer, share, view) {
|
|
10
11
|
if (view === null)
|
|
@@ -13,6 +14,8 @@ export function shareDrill(viewer, share, view) {
|
|
|
13
14
|
return null;
|
|
14
15
|
if (view.drill === "access")
|
|
15
16
|
return "access";
|
|
17
|
+
if (view.drill === "app")
|
|
18
|
+
return share.app !== null ? "app" : null;
|
|
16
19
|
if (viewer.role === "signedOut")
|
|
17
20
|
return null;
|
|
18
21
|
if (view.drill === "notifications")
|
|
@@ -41,6 +44,8 @@ export function ShareDrill({ drill, viewer, share, memberKey, nav, actions }) {
|
|
|
41
44
|
}
|
|
42
45
|
case "notifications":
|
|
43
46
|
return React.createElement(NotificationsDrill, { slot: share.notificationsSlot, nav: nav });
|
|
47
|
+
case "app":
|
|
48
|
+
return share.app !== null ? React.createElement(ShareAppDrill, { app: share.app, nav: nav }) : null;
|
|
44
49
|
}
|
|
45
50
|
}
|
|
46
51
|
export function AccessDrill({ viewer, share, nav, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareDrills.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/ShareDrills.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ShareDrills.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/ShareDrills.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import type { ShareSlice } from "../slices.js";
|
|
3
|
-
export declare function ShareLinkRows({ share, owner }: {
|
|
2
|
+
import type { CardNav, ShareSlice } from "../slices.js";
|
|
3
|
+
export declare function ShareLinkRows({ share, owner, nav, }: {
|
|
4
4
|
readonly share: ShareSlice;
|
|
5
5
|
readonly owner: boolean;
|
|
6
|
+
readonly nav: CardNav;
|
|
6
7
|
}): React.JSX.Element;
|
|
@@ -3,7 +3,7 @@ import { useState } from "react";
|
|
|
3
3
|
import { Row } from "../parts/Row.js";
|
|
4
4
|
import { QrCode } from "../../QrCode.js";
|
|
5
5
|
import { CopyChip } from "./share-copy.js";
|
|
6
|
-
export function ShareLinkRows({ share, owner }) {
|
|
6
|
+
export function ShareLinkRows({ share, owner, nav, }) {
|
|
7
7
|
const onCopyLink = owner === true ? share.onCopyLink : undefined;
|
|
8
8
|
const [open, setOpen] = useState(null);
|
|
9
9
|
function toggle(which) {
|
|
@@ -11,6 +11,7 @@ export function ShareLinkRows({ share, owner }) {
|
|
|
11
11
|
}
|
|
12
12
|
const embed = owner === true ? share.embed : null;
|
|
13
13
|
return (React.createElement(React.Fragment, null,
|
|
14
|
+
share.app !== null ? (React.createElement(Row, { lead: "app", label: "Share as app", compact: true, tail: { kind: "drill" }, onClick: () => nav.onDrill({ drill: "app" }) })) : null,
|
|
14
15
|
React.createElement(Row, { lead: "qr-code", label: "QR code", compact: true, expanded: open === "qr", onClick: () => toggle("qr") }),
|
|
15
16
|
open === "qr" ? (React.createElement("div", { className: "vm-reveal", "data-reveal": "qr" },
|
|
16
17
|
React.createElement("span", { className: "vm-qr" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareLinkRows.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/ShareLinkRows.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ShareLinkRows.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/ShareLinkRows.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SHARE_CARD_CSS = "\n[data-vibe-menu] .vm-sr {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n white-space: nowrap;\n border: 0;\n}\n[data-vibe-menu] .vm-access-note {\n margin: calc(-1 * var(--space-4)) 0 var(--space-12);\n font-size: 13px;\n line-height: 1.3;\n color: var(--muted);\n}\n[data-vibe-menu] .vm-who-block > .vm-textbtn {\n margin: calc(-1 * var(--space-6)) 0 var(--space-8);\n height: 32px;\n text-align: left;\n}\n[data-vibe-menu] .vm-publish {\n margin-bottom: var(--space-12);\n}\n[data-vibe-menu] .vm-fail {\n display: flex;\n align-items: center;\n gap: var(--space-8);\n margin: var(--space-6) 0;\n font-size: 13px;\n line-height: 1.3;\n}\n[data-vibe-menu] .vm-fail > span {\n flex: 1;\n min-width: 0;\n}\n[data-vibe-menu] .vm-share-empty {\n margin: 0;\n padding: var(--space-8) 0 var(--space-14);\n font: 400 16px/1.3 var(--font-display);\n}\n[data-vibe-menu] .vm-reveal {\n padding: var(--space-12) var(--space-16) var(--space-14);\n border-top: var(--stroke-hairline) solid var(--line-hairline);\n}\n[data-vibe-menu] .vm-reveal + .vm-row,\n[data-vibe-menu] .vm-reveal + a.vm-row {\n border-top: var(--stroke-hairline) solid var(--line-hairline);\n}\n[data-vibe-menu] a.vm-row {\n color: var(--ink);\n text-decoration: none;\n}\n[data-vibe-menu] .vm-qr {\n display: inline-block;\n padding: var(--space-8);\n background: #ffffff;\n border: var(--stroke-rule) solid var(--line-card);\n border-radius: var(--radius-input);\n line-height: 0;\n}\n[data-vibe-menu] .vm-embed {\n display: block;\n width: 100%;\n height: calc(4.5em + 10px);\n margin-bottom: var(--space-8);\n padding: 8px 10px 0;\n resize: none;\n border: var(--stroke-rule) solid var(--line-card);\n border-radius: var(--radius-input);\n background: transparent;\n color: var(--ink);\n font: 400 14px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;\n}\n/* Phone sizing is the named container query (T5 note 5). The @media arm keeps\n the iOS no-zoom-on-focus guarantee keyed on the device as well. */\n@container vibe-menu (max-width: 480px) {\n [data-vibe-menu] .vm-embed {\n font-size: 16px;\n }\n}\n@media (max-width: 480px) {\n [data-vibe-menu] .vm-embed {\n font-size: 16px;\n }\n}\n";
|
|
1
|
+
export declare const SHARE_CARD_CSS = "\n[data-vibe-menu] .vm-sr {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n white-space: nowrap;\n border: 0;\n}\n[data-vibe-menu] .vm-access-note {\n margin: calc(-1 * var(--space-4)) 0 var(--space-12);\n font-size: 13px;\n line-height: 1.3;\n color: var(--muted);\n}\n[data-vibe-menu] .vm-who-block > .vm-textbtn {\n margin: calc(-1 * var(--space-6)) 0 var(--space-8);\n height: 32px;\n text-align: left;\n}\n[data-vibe-menu] .vm-publish {\n margin-bottom: var(--space-12);\n}\n[data-vibe-menu] .vm-fail {\n display: flex;\n align-items: center;\n gap: var(--space-8);\n margin: var(--space-6) 0;\n font-size: 13px;\n line-height: 1.3;\n}\n[data-vibe-menu] .vm-fail > span {\n flex: 1;\n min-width: 0;\n}\n[data-vibe-menu] .vm-share-empty {\n margin: 0;\n padding: var(--space-8) 0 var(--space-14);\n font: 400 16px/1.3 var(--font-display);\n}\n[data-vibe-menu] .vm-reveal {\n padding: var(--space-12) var(--space-16) var(--space-14);\n border-top: var(--stroke-hairline) solid var(--line-hairline);\n}\n[data-vibe-menu] .vm-reveal + .vm-row,\n[data-vibe-menu] .vm-reveal + a.vm-row {\n border-top: var(--stroke-hairline) solid var(--line-hairline);\n}\n[data-vibe-menu] a.vm-row {\n color: var(--ink);\n text-decoration: none;\n}\n[data-vibe-menu] .vm-qr {\n display: inline-block;\n padding: var(--space-8);\n background: #ffffff;\n border: var(--stroke-rule) solid var(--line-card);\n border-radius: var(--radius-input);\n line-height: 0;\n}\n[data-vibe-menu] .vm-embed {\n display: block;\n width: 100%;\n height: calc(4.5em + 10px);\n margin-bottom: var(--space-8);\n padding: 8px 10px 0;\n resize: none;\n border: var(--stroke-rule) solid var(--line-card);\n border-radius: var(--radius-input);\n background: transparent;\n color: var(--ink);\n font: 400 14px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;\n}\n/* Share as app: the 4:5 share image, held at its shape while it draws. */\n[data-vibe-menu] .vm-share-image {\n width: min(100%, 240px);\n aspect-ratio: 4 / 5;\n margin: 0 auto var(--space-14);\n overflow: hidden;\n border: var(--stroke-rule) solid var(--line-card);\n border-radius: var(--radius-card);\n}\n[data-vibe-menu] .vm-share-image > img {\n display: block;\n width: 100%;\n height: 100%;\n}\n[data-vibe-menu] .vm-share-actions {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-8);\n}\n[data-vibe-menu] .vm-card-status {\n margin: var(--space-12) 0 0;\n}\n/* Phone sizing is the named container query (T5 note 5). The @media arm keeps\n the iOS no-zoom-on-focus guarantee keyed on the device as well. */\n@container vibe-menu (max-width: 480px) {\n [data-vibe-menu] .vm-embed {\n font-size: 16px;\n }\n}\n@media (max-width: 480px) {\n [data-vibe-menu] .vm-embed {\n font-size: 16px;\n }\n}\n";
|
|
@@ -74,6 +74,28 @@ export const SHARE_CARD_CSS = `
|
|
|
74
74
|
color: var(--ink);
|
|
75
75
|
font: 400 14px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
76
76
|
}
|
|
77
|
+
/* Share as app: the 4:5 share image, held at its shape while it draws. */
|
|
78
|
+
[data-vibe-menu] .vm-share-image {
|
|
79
|
+
width: min(100%, 240px);
|
|
80
|
+
aspect-ratio: 4 / 5;
|
|
81
|
+
margin: 0 auto var(--space-14);
|
|
82
|
+
overflow: hidden;
|
|
83
|
+
border: var(--stroke-rule) solid var(--line-card);
|
|
84
|
+
border-radius: var(--radius-card);
|
|
85
|
+
}
|
|
86
|
+
[data-vibe-menu] .vm-share-image > img {
|
|
87
|
+
display: block;
|
|
88
|
+
width: 100%;
|
|
89
|
+
height: 100%;
|
|
90
|
+
}
|
|
91
|
+
[data-vibe-menu] .vm-share-actions {
|
|
92
|
+
display: flex;
|
|
93
|
+
flex-wrap: wrap;
|
|
94
|
+
gap: var(--space-8);
|
|
95
|
+
}
|
|
96
|
+
[data-vibe-menu] .vm-card-status {
|
|
97
|
+
margin: var(--space-12) 0 0;
|
|
98
|
+
}
|
|
77
99
|
/* Phone sizing is the named container query (T5 note 5). The @media arm keeps
|
|
78
100
|
the iOS no-zoom-on-focus guarantee keyed on the device as well. */
|
|
79
101
|
@container vibe-menu (max-width: 480px) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share-card.styles.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/share-card.styles.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,cAAc,GAAG
|
|
1
|
+
{"version":3,"file":"share-card.styles.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/share-card.styles.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8G7B,CAAC"}
|
|
@@ -37,6 +37,8 @@ export * from "./cards/share-actions.js";
|
|
|
37
37
|
export * from "./cards/share-parts.js";
|
|
38
38
|
export * from "./cards/share-card.styles.js";
|
|
39
39
|
export * from "./share-fixtures.js";
|
|
40
|
+
export * from "./share-image.js";
|
|
40
41
|
export * from "./cards/ShareDrills.js";
|
|
42
|
+
export * from "./cards/ShareAppDrill.js";
|
|
41
43
|
export * from "./cards/ShareLinkRows.js";
|
|
42
44
|
export * from "./VibeMenu.js";
|
|
@@ -37,7 +37,9 @@ export * from "./cards/share-actions.js";
|
|
|
37
37
|
export * from "./cards/share-parts.js";
|
|
38
38
|
export * from "./cards/share-card.styles.js";
|
|
39
39
|
export * from "./share-fixtures.js";
|
|
40
|
+
export * from "./share-image.js";
|
|
40
41
|
export * from "./cards/ShareDrills.js";
|
|
42
|
+
export * from "./cards/ShareAppDrill.js";
|
|
41
43
|
export * from "./cards/ShareLinkRows.js";
|
|
42
44
|
export * from "./VibeMenu.js";
|
|
43
45
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type Section = "home" | "settings" | "vibe" | "share";
|
|
2
2
|
export declare const SECTIONS: readonly Section[];
|
|
3
3
|
export declare const SECTION_TITLES: Readonly<Record<Section, string>>;
|
|
4
|
-
export type Drill = "look" | "details" | "help" | "handles" | "choose" | "access" | "members" | "member" | "notifications";
|
|
4
|
+
export type Drill = "look" | "details" | "help" | "handles" | "choose" | "access" | "members" | "member" | "notifications" | "app";
|
|
5
5
|
export declare const DRILL_SECTION: Readonly<Record<Drill, Section>>;
|
|
6
6
|
export interface MenuView {
|
|
7
7
|
readonly drill: Drill;
|
|
@@ -16,6 +16,7 @@ export const DRILL_SECTION = Object.freeze({
|
|
|
16
16
|
members: "share",
|
|
17
17
|
member: "share",
|
|
18
18
|
notifications: "share",
|
|
19
|
+
app: "share",
|
|
19
20
|
});
|
|
20
21
|
export const INITIAL_MENU_STATE = Object.freeze({ phase: "collapsed", section: null, view: null, banner: null });
|
|
21
22
|
const STRIP = Object.freeze({ phase: "strip", section: null, view: null, banner: null });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-state.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/menu-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AASnC,MAAM,CAAC,MAAM,QAAQ,GAAuB,MAAM,CAAC,MAAM,CAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5G,MAAM,CAAC,MAAM,cAAc,GAAsC,MAAM,CAAC,MAAM,CAAC;IAC7E,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACf,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,aAAa,GAAqC,MAAM,CAAC,MAAM,CAAC;IAC3E,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,OAAO;IACf,aAAa,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"menu-state.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/menu-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
export type GlyphName = "home" | "settings" | "code" | "users" | "at-sign" | "plus" | "star" | "sliders" | "log-out" | "user-plus" | "arrow-right" | "arrow-left" | "check" | "chevron-right" | "layout-grid" | "key" | "palette" | "file" | "help-circle" | "braces" | "qr-code" | "paperclip" | "lock" | "globe" | "copy" | "refresh" | "database" | "line-chart" | "lines" | "bell" | "pin" | "user-minus" | "shield";
|
|
2
|
+
export type GlyphName = "home" | "settings" | "code" | "users" | "at-sign" | "plus" | "star" | "sliders" | "log-out" | "user-plus" | "arrow-right" | "arrow-left" | "check" | "chevron-right" | "layout-grid" | "key" | "palette" | "file" | "help-circle" | "braces" | "qr-code" | "paperclip" | "lock" | "globe" | "copy" | "refresh" | "database" | "line-chart" | "lines" | "bell" | "pin" | "user-minus" | "shield" | "app";
|
|
3
3
|
export declare const PORT_ADDED_GLYPHS: readonly GlyphName[];
|
|
4
4
|
export declare const GLYPH_NAMES: readonly GlyphName[];
|
|
5
5
|
export interface GlyphProps {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
export const PORT_ADDED_GLYPHS = ["bell", "pin", "user-minus", "shield"];
|
|
2
|
+
export const PORT_ADDED_GLYPHS = ["bell", "pin", "user-minus", "shield", "app"];
|
|
3
3
|
const GLYPH_SHAPES = {
|
|
4
4
|
home: React.createElement("path", { d: "M3 11l9-8 9 8v10a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1z" }),
|
|
5
5
|
settings: (React.createElement(React.Fragment, null,
|
|
@@ -81,6 +81,9 @@ const GLYPH_SHAPES = {
|
|
|
81
81
|
React.createElement("circle", { cx: "9", cy: "7", r: "4" }),
|
|
82
82
|
React.createElement("path", { d: "M22 11h-6" }))),
|
|
83
83
|
shield: (React.createElement("path", { d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z" })),
|
|
84
|
+
app: (React.createElement(React.Fragment, null,
|
|
85
|
+
React.createElement("rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2" }),
|
|
86
|
+
React.createElement("path", { d: "M12 18h.01" }))),
|
|
84
87
|
};
|
|
85
88
|
export const GLYPH_NAMES = [
|
|
86
89
|
"home",
|
|
@@ -116,6 +119,7 @@ export const GLYPH_NAMES = [
|
|
|
116
119
|
"pin",
|
|
117
120
|
"user-minus",
|
|
118
121
|
"shield",
|
|
122
|
+
"app",
|
|
119
123
|
];
|
|
120
124
|
export function Glyph(props) {
|
|
121
125
|
return (React.createElement("svg", { className: props.className ?? "vm-glyph", viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", "data-glyph": props.name }, GLYPH_SHAPES[props.name]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Glyph.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/Glyph.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Glyph.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/Glyph.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ViewerRole } from "./open-resolver.js";
|
|
2
|
-
import type { RosterMember, ShareSlice, ViewerSlice } from "./slices.js";
|
|
2
|
+
import type { AppClipCardStatus, ShareAppSlice, RosterMember, ShareSlice, ViewerSlice } from "./slices.js";
|
|
3
3
|
export declare const SAMPLE_ROSTER: readonly RosterMember[];
|
|
4
4
|
export declare const SAMPLE_LINK: {
|
|
5
5
|
readonly url: string;
|
|
@@ -10,6 +10,8 @@ export declare const SAMPLE_REQUEST: {
|
|
|
10
10
|
readonly handle: string;
|
|
11
11
|
};
|
|
12
12
|
export declare const SAMPLE_EMBED_SNIPPET = "<iframe src=\"https://vibes.diy/embed/marcus/my-to-do-app\" title=\"My To-Do App, made on vibes.diy\" style=\"width:100%;aspect-ratio:16/9;border:0\" loading=\"lazy\"></iframe>";
|
|
13
|
+
export declare const SAMPLE_APP: ShareAppSlice;
|
|
14
|
+
export declare function sampleOwnerApp(cardStatus: AppClipCardStatus | null): ShareAppSlice;
|
|
13
15
|
export declare function makeShareSlice(over?: Partial<ShareSlice>): ShareSlice;
|
|
14
16
|
export declare function makeVisitorShareSlice(over?: Partial<ShareSlice>): ShareSlice;
|
|
15
17
|
export declare function makeShareViewer(role: ViewerRole, over?: Partial<ViewerSlice>): ViewerSlice;
|
|
@@ -22,6 +22,16 @@ export const SAMPLE_LINK = {
|
|
|
22
22
|
};
|
|
23
23
|
export const SAMPLE_REQUEST = { key: "user:jo", handle: "jo" };
|
|
24
24
|
export const SAMPLE_EMBED_SNIPPET = '<iframe src="https://vibes.diy/embed/marcus/my-to-do-app" title="My To-Do App, made on vibes.diy" style="width:100%;aspect-ratio:16/9;border:0" loading="lazy"></iframe>';
|
|
25
|
+
const SAMPLE_SCREENSHOT = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==";
|
|
26
|
+
export const SAMPLE_APP = {
|
|
27
|
+
url: "https://vibes.diy/c/marcus/my-to-do-app",
|
|
28
|
+
screenshotUrl: SAMPLE_SCREENSHOT,
|
|
29
|
+
title: "My To-Do App",
|
|
30
|
+
handle: "marcus",
|
|
31
|
+
};
|
|
32
|
+
export function sampleOwnerApp(cardStatus) {
|
|
33
|
+
return { ...SAMPLE_APP, cardStatus, onRequestCard: noop };
|
|
34
|
+
}
|
|
25
35
|
export function makeShareSlice(over = {}) {
|
|
26
36
|
return {
|
|
27
37
|
posture: "public",
|
|
@@ -35,6 +45,7 @@ export function makeShareSlice(over = {}) {
|
|
|
35
45
|
qrValue: SAMPLE_LINK.url,
|
|
36
46
|
embed: null,
|
|
37
47
|
pinterestHref: null,
|
|
48
|
+
app: null,
|
|
38
49
|
canManage: true,
|
|
39
50
|
roster: SAMPLE_ROSTER,
|
|
40
51
|
members: { onData: ok, onCode: ok, onRemove: ok, onInvite: ok },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share-fixtures.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/share-fixtures.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"share-fixtures.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/share-fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
export interface ShareImageInput {
|
|
3
|
+
readonly screenshotUrl: string | null;
|
|
4
|
+
readonly title: string;
|
|
5
|
+
readonly handle: string;
|
|
6
|
+
readonly url: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const SHARE_IMAGE_WIDTH = 1080;
|
|
9
|
+
export declare const SHARE_IMAGE_HEIGHT = 1350;
|
|
10
|
+
export declare function shareImageLayout(): {
|
|
11
|
+
qr: {
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
size: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare function renderShareImage(input: ShareImageInput): Promise<Result<Blob>>;
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { exception2Result, Result } from "@adviser/cement";
|
|
2
|
+
import qrcode from "qrcode-generator";
|
|
3
|
+
export const SHARE_IMAGE_WIDTH = 1080;
|
|
4
|
+
export const SHARE_IMAGE_HEIGHT = 1350;
|
|
5
|
+
const INK = "#1a1a1a";
|
|
6
|
+
const PAPER = "#fbfaf7";
|
|
7
|
+
const FLAT_BLOCK = "#f2efe9";
|
|
8
|
+
const MUTED = "#5c5850";
|
|
9
|
+
const PANEL_EDGE = "#e4dfd6";
|
|
10
|
+
const QR_LIGHT = "#ffffff";
|
|
11
|
+
const QR_QUIET_MODULES = 4;
|
|
12
|
+
const SHOT = { x: 60, y: 60, w: 960, h: 600, r: 32 };
|
|
13
|
+
const QR_BOX = { x: 600, y: 700, size: 420 };
|
|
14
|
+
const TEXT_LEFT = 60;
|
|
15
|
+
const TEXT_WIDTH = QR_BOX.x - TEXT_LEFT - 40;
|
|
16
|
+
export function shareImageLayout() {
|
|
17
|
+
return { qr: { x: QR_BOX.x, y: QR_BOX.y, size: QR_BOX.size } };
|
|
18
|
+
}
|
|
19
|
+
function loadImage(src) {
|
|
20
|
+
return new Promise((resolve) => {
|
|
21
|
+
const img = new Image();
|
|
22
|
+
img.crossOrigin = "anonymous";
|
|
23
|
+
img.onload = () => resolve(img.naturalWidth === 0 || img.naturalHeight === 0 ? undefined : img);
|
|
24
|
+
img.onerror = () => resolve(undefined);
|
|
25
|
+
img.src = src;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function roundedRect(ctx, box) {
|
|
29
|
+
const { x, y, w, h, r } = box;
|
|
30
|
+
ctx.beginPath();
|
|
31
|
+
if (typeof ctx.roundRect === "function") {
|
|
32
|
+
ctx.roundRect(x, y, w, h, r);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
ctx.moveTo(x + r, y);
|
|
36
|
+
ctx.arcTo(x + w, y, x + w, y + h, r);
|
|
37
|
+
ctx.arcTo(x + w, y + h, x, y + h, r);
|
|
38
|
+
ctx.arcTo(x, y + h, x, y, r);
|
|
39
|
+
ctx.arcTo(x, y, x + w, y, r);
|
|
40
|
+
ctx.closePath();
|
|
41
|
+
}
|
|
42
|
+
function ellipsize(ctx, fit) {
|
|
43
|
+
const { text, maxWidth, truncated = false } = fit;
|
|
44
|
+
if (truncated === false && ctx.measureText(text).width <= maxWidth)
|
|
45
|
+
return text;
|
|
46
|
+
let cut = text;
|
|
47
|
+
while (cut.length > 0 && ctx.measureText(`${cut}…`).width > maxWidth)
|
|
48
|
+
cut = cut.slice(0, -1);
|
|
49
|
+
return `${cut.trimEnd()}…`;
|
|
50
|
+
}
|
|
51
|
+
function clampLines(ctx, fit) {
|
|
52
|
+
const { text, maxWidth, maxLines } = fit;
|
|
53
|
+
const words = text
|
|
54
|
+
.trim()
|
|
55
|
+
.split(/\s+/)
|
|
56
|
+
.filter((w) => w.length > 0);
|
|
57
|
+
const lines = [];
|
|
58
|
+
let current = "";
|
|
59
|
+
for (const word of words) {
|
|
60
|
+
const candidate = current === "" ? word : `${current} ${word}`;
|
|
61
|
+
if (ctx.measureText(candidate).width <= maxWidth) {
|
|
62
|
+
current = candidate;
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (current !== "")
|
|
66
|
+
lines.push(current);
|
|
67
|
+
current = word;
|
|
68
|
+
while (ctx.measureText(current).width > maxWidth && current.length > 1) {
|
|
69
|
+
let head = current;
|
|
70
|
+
while (head.length > 1 && ctx.measureText(head).width > maxWidth)
|
|
71
|
+
head = head.slice(0, -1);
|
|
72
|
+
lines.push(head);
|
|
73
|
+
current = current.slice(head.length);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (current !== "")
|
|
77
|
+
lines.push(current);
|
|
78
|
+
if (lines.length <= maxLines)
|
|
79
|
+
return lines;
|
|
80
|
+
const kept = lines.slice(0, maxLines);
|
|
81
|
+
kept[maxLines - 1] = ellipsize(ctx, { text: kept[maxLines - 1], maxWidth, truncated: true });
|
|
82
|
+
return kept;
|
|
83
|
+
}
|
|
84
|
+
function drawScreenshot(ctx, img) {
|
|
85
|
+
const scale = Math.max(SHOT.w / img.naturalWidth, SHOT.h / img.naturalHeight);
|
|
86
|
+
const sw = SHOT.w / scale;
|
|
87
|
+
const sh = SHOT.h / scale;
|
|
88
|
+
const sx = (img.naturalWidth - sw) / 2;
|
|
89
|
+
const sy = (img.naturalHeight - sh) / 2;
|
|
90
|
+
ctx.save();
|
|
91
|
+
roundedRect(ctx, SHOT);
|
|
92
|
+
ctx.clip();
|
|
93
|
+
ctx.drawImage(img, sx, sy, sw, sh, SHOT.x, SHOT.y, SHOT.w, SHOT.h);
|
|
94
|
+
ctx.restore();
|
|
95
|
+
}
|
|
96
|
+
function drawFlatBlock(ctx, title, font) {
|
|
97
|
+
ctx.fillStyle = FLAT_BLOCK;
|
|
98
|
+
roundedRect(ctx, SHOT);
|
|
99
|
+
ctx.fill();
|
|
100
|
+
ctx.fillStyle = INK;
|
|
101
|
+
ctx.font = `bold 72px ${font}`;
|
|
102
|
+
ctx.textAlign = "center";
|
|
103
|
+
ctx.textBaseline = "middle";
|
|
104
|
+
const lines = clampLines(ctx, { text: title, maxWidth: SHOT.w - 120, maxLines: 2 });
|
|
105
|
+
const lineHeight = 84;
|
|
106
|
+
const top = SHOT.y + SHOT.h / 2 - ((lines.length - 1) * lineHeight) / 2;
|
|
107
|
+
lines.forEach((line, i) => ctx.fillText(line, SHOT.x + SHOT.w / 2, top + i * lineHeight));
|
|
108
|
+
ctx.textAlign = "left";
|
|
109
|
+
ctx.textBaseline = "alphabetic";
|
|
110
|
+
}
|
|
111
|
+
function drawQr(ctx, url) {
|
|
112
|
+
const qr = qrcode(0, "M");
|
|
113
|
+
qr.addData(url);
|
|
114
|
+
qr.make();
|
|
115
|
+
const count = qr.getModuleCount();
|
|
116
|
+
const m = QR_BOX.size / (count + QR_QUIET_MODULES * 2);
|
|
117
|
+
ctx.fillStyle = QR_LIGHT;
|
|
118
|
+
roundedRect(ctx, { x: QR_BOX.x, y: QR_BOX.y, w: QR_BOX.size, h: QR_BOX.size, r: 24 });
|
|
119
|
+
ctx.fill();
|
|
120
|
+
ctx.strokeStyle = PANEL_EDGE;
|
|
121
|
+
ctx.lineWidth = 2;
|
|
122
|
+
ctx.stroke();
|
|
123
|
+
function edge(origin, i) {
|
|
124
|
+
return Math.round(origin + (i + QR_QUIET_MODULES) * m);
|
|
125
|
+
}
|
|
126
|
+
ctx.fillStyle = INK;
|
|
127
|
+
for (let r = 0; r < count; r++) {
|
|
128
|
+
for (let c = 0; c < count; c++) {
|
|
129
|
+
if (qr.isDark(r, c) === false)
|
|
130
|
+
continue;
|
|
131
|
+
const x0 = edge(QR_BOX.x, c);
|
|
132
|
+
const y0 = edge(QR_BOX.y, r);
|
|
133
|
+
ctx.fillRect(x0, y0, edge(QR_BOX.x, c + 1) - x0, edge(QR_BOX.y, r + 1) - y0);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
function pageFont() {
|
|
138
|
+
const family = typeof document === "undefined" ? "" : getComputedStyle(document.body).fontFamily;
|
|
139
|
+
return family === "" ? "system-ui, sans-serif" : family;
|
|
140
|
+
}
|
|
141
|
+
async function fontsReady() {
|
|
142
|
+
if (typeof document === "undefined" || document.fonts === undefined)
|
|
143
|
+
return;
|
|
144
|
+
await document.fonts.ready;
|
|
145
|
+
}
|
|
146
|
+
function encodePng(canvas) {
|
|
147
|
+
return new Promise((resolve) => {
|
|
148
|
+
canvas.toBlob((blob) => {
|
|
149
|
+
resolve(blob === null ? Result.Err(new Error("renderShareImage: canvas could not encode PNG")) : Result.Ok(blob));
|
|
150
|
+
}, "image/png");
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
export async function renderShareImage(input) {
|
|
154
|
+
const canvas = document.createElement("canvas");
|
|
155
|
+
canvas.width = SHARE_IMAGE_WIDTH;
|
|
156
|
+
canvas.height = SHARE_IMAGE_HEIGHT;
|
|
157
|
+
const ctx = canvas.getContext("2d");
|
|
158
|
+
if (ctx === null)
|
|
159
|
+
return Result.Err(new Error("renderShareImage: no 2d canvas context"));
|
|
160
|
+
await fontsReady();
|
|
161
|
+
const font = pageFont();
|
|
162
|
+
const screenshot = input.screenshotUrl === null ? undefined : await loadImage(input.screenshotUrl);
|
|
163
|
+
ctx.fillStyle = PAPER;
|
|
164
|
+
ctx.fillRect(0, 0, SHARE_IMAGE_WIDTH, SHARE_IMAGE_HEIGHT);
|
|
165
|
+
if (screenshot === undefined)
|
|
166
|
+
drawFlatBlock(ctx, input.title, font);
|
|
167
|
+
else
|
|
168
|
+
drawScreenshot(ctx, screenshot);
|
|
169
|
+
let y = QR_BOX.y + 58;
|
|
170
|
+
if (screenshot !== undefined) {
|
|
171
|
+
ctx.fillStyle = INK;
|
|
172
|
+
ctx.font = `bold 64px ${font}`;
|
|
173
|
+
for (const line of clampLines(ctx, { text: input.title, maxWidth: TEXT_WIDTH, maxLines: 2 })) {
|
|
174
|
+
ctx.fillText(line, TEXT_LEFT, y);
|
|
175
|
+
y += 74;
|
|
176
|
+
}
|
|
177
|
+
y += 6;
|
|
178
|
+
}
|
|
179
|
+
ctx.fillStyle = MUTED;
|
|
180
|
+
ctx.font = `36px ${font}`;
|
|
181
|
+
ctx.fillText(ellipsize(ctx, { text: `by @${input.handle}`, maxWidth: TEXT_WIDTH }), TEXT_LEFT, y);
|
|
182
|
+
const qr = exception2Result(() => drawQr(ctx, input.url));
|
|
183
|
+
if (qr.isErr())
|
|
184
|
+
return Result.Err(qr.Err());
|
|
185
|
+
ctx.fillStyle = INK;
|
|
186
|
+
ctx.font = `28px ${font}`;
|
|
187
|
+
ctx.textAlign = "center";
|
|
188
|
+
ctx.fillText("Scan to open, no download needed", QR_BOX.x + QR_BOX.size / 2, QR_BOX.y + QR_BOX.size + 56);
|
|
189
|
+
ctx.textAlign = "left";
|
|
190
|
+
ctx.font = `bold 56px ${font}`;
|
|
191
|
+
ctx.fillText("Vibes", TEXT_LEFT, SHARE_IMAGE_HEIGHT - 70);
|
|
192
|
+
return encodePng(canvas);
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=share-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share-image.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/share-image.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,6 +81,15 @@ export interface CodeSlice {
|
|
|
81
81
|
agentLog?: ReactNode;
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
|
+
export type AppClipCardStatus = "requested" | "submitted" | "in_review" | "live" | "rejected" | "failed" | "deactivated";
|
|
85
|
+
export interface ShareAppSlice {
|
|
86
|
+
readonly url: string;
|
|
87
|
+
readonly screenshotUrl: string | null;
|
|
88
|
+
readonly title: string;
|
|
89
|
+
readonly handle: string;
|
|
90
|
+
readonly cardStatus?: AppClipCardStatus | null;
|
|
91
|
+
readonly onRequestCard?: () => void;
|
|
92
|
+
}
|
|
84
93
|
export interface ShareSlice {
|
|
85
94
|
posture: Posture;
|
|
86
95
|
postureState: AccessToggleState;
|
|
@@ -103,6 +112,7 @@ export interface ShareSlice {
|
|
|
103
112
|
autoHeightSnippet?: string;
|
|
104
113
|
} | null;
|
|
105
114
|
pinterestHref: string | null;
|
|
115
|
+
app: ShareAppSlice | null;
|
|
106
116
|
canManage: boolean;
|
|
107
117
|
roster: readonly RosterMember[];
|
|
108
118
|
members: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slices.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/slices.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slices.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/slices.ts"],"names":[],"mappings":"AA0MA,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,UAAU,EAAE,qDAAqD;IACjE,eAAe,EAAE,sDAAsD;CAC/D,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/base",
|
|
3
|
-
"version": "14.3.
|
|
3
|
+
"version": "14.3.48",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@adviser/cement": "~0.5.34",
|
|
12
12
|
"@emotion/css": "~11.13.5",
|
|
13
|
-
"@vibes.diy/use-vibes-types": "14.3.
|
|
14
|
-
"@vibes.diy/vibe-runtime": "14.3.
|
|
15
|
-
"@vibes.diy/vibe-types": "14.3.
|
|
13
|
+
"@vibes.diy/use-vibes-types": "14.3.48",
|
|
14
|
+
"@vibes.diy/vibe-runtime": "14.3.48",
|
|
15
|
+
"@vibes.diy/vibe-types": "14.3.48",
|
|
16
16
|
"arktype": "~2.2.3",
|
|
17
17
|
"officeparser": "~8.0.0",
|
|
18
18
|
"qrcode-generator": "~2.0.4",
|