glitchgrab 1.48.0 → 1.49.0
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/README.md +158 -13
- package/dist/index.js +814 -397
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +814 -397
- package/dist/index.mjs.map +1 -1
- package/dist/server.d.mts +227 -1
- package/dist/server.d.ts +227 -1
- package/dist/server.js +203 -0
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +197 -0
- package/dist/server.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -959,10 +959,11 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
959
959
|
import { useEffect as useEffect2, useMemo, useRef as useRef2, useState as useState2 } from "react";
|
|
960
960
|
import { createPortal } from "react-dom";
|
|
961
961
|
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
962
|
+
import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
962
963
|
import { useCallback, useEffect as useEffect3, useRef as useRef3, useState as useState3 } from "react";
|
|
963
964
|
import { createPortal as createPortal2 } from "react-dom";
|
|
964
|
-
import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
965
965
|
import { Fragment as Fragment3, jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
966
|
+
import { Fragment as Fragment4, jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
966
967
|
var MAX_SCREENSHOT_DATA_URL_LENGTH = 18e5;
|
|
967
968
|
var QUALITY_LADDER = [0.92, 0.85, 0.75];
|
|
968
969
|
var DOWNSCALE_FACTOR = 0.7;
|
|
@@ -1393,6 +1394,412 @@ function getTypeLabel(type) {
|
|
|
1393
1394
|
return "Other";
|
|
1394
1395
|
}
|
|
1395
1396
|
}
|
|
1397
|
+
var CODE = /`([^`\n]+)`/y;
|
|
1398
|
+
var MD_LINK = /\[([^\]\n]*)\]\((https?:\/\/[^\s)]+)\)/y;
|
|
1399
|
+
var BOLD_STAR = /\*\*(\S(?:[^\n]*?\S)?)\*\*/y;
|
|
1400
|
+
var BOLD_UNDER = /__(\S(?:[^\n]*?\S)?)__/y;
|
|
1401
|
+
var ITALIC_STAR = /\*(\S(?:[^*\n]*?\S)?)\*/y;
|
|
1402
|
+
var ITALIC_UNDER = /_(\S(?:[^_\n]*?\S)?)_/y;
|
|
1403
|
+
var STRIKE = /~~(\S(?:[^\n]*?\S)?)~~/y;
|
|
1404
|
+
var FULL_URL = /https?:\/\/[^\s<>]+/y;
|
|
1405
|
+
var BARE_URL = /(?:[a-z0-9-]+\.)+[a-z]{2,24}\/[^\s<>]*/y;
|
|
1406
|
+
var WORD = /[A-Za-z0-9]/;
|
|
1407
|
+
var URL_EDGE = /[A-Za-z0-9@./-]/;
|
|
1408
|
+
var TRAILING_PUNCT = /[.,;:!?'")\]*_~]+$/;
|
|
1409
|
+
var ESCAPABLE = "\\`*_{}[]()#+-.!|~>";
|
|
1410
|
+
var MONO = "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace";
|
|
1411
|
+
function at(re, text, i) {
|
|
1412
|
+
re.lastIndex = i;
|
|
1413
|
+
return re.exec(text);
|
|
1414
|
+
}
|
|
1415
|
+
function isSafeHref(href) {
|
|
1416
|
+
try {
|
|
1417
|
+
const { protocol } = new URL(href);
|
|
1418
|
+
return protocol === "http:" || protocol === "https:";
|
|
1419
|
+
} catch (e) {
|
|
1420
|
+
return false;
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1423
|
+
function renderInline(text, theme, key) {
|
|
1424
|
+
var _a, _b;
|
|
1425
|
+
const out = [];
|
|
1426
|
+
let plain = "";
|
|
1427
|
+
let i = 0;
|
|
1428
|
+
const flush = () => {
|
|
1429
|
+
if (plain) out.push(plain);
|
|
1430
|
+
plain = "";
|
|
1431
|
+
};
|
|
1432
|
+
const link = (href, label, k) => /* @__PURE__ */ jsx2(
|
|
1433
|
+
"a",
|
|
1434
|
+
{
|
|
1435
|
+
href,
|
|
1436
|
+
target: "_blank",
|
|
1437
|
+
rel: "noopener noreferrer nofollow",
|
|
1438
|
+
title: href,
|
|
1439
|
+
style: {
|
|
1440
|
+
color: "inherit",
|
|
1441
|
+
textDecoration: "underline",
|
|
1442
|
+
textDecorationColor: theme.accent,
|
|
1443
|
+
textUnderlineOffset: "2px",
|
|
1444
|
+
wordBreak: "break-word"
|
|
1445
|
+
},
|
|
1446
|
+
children: label
|
|
1447
|
+
},
|
|
1448
|
+
k
|
|
1449
|
+
);
|
|
1450
|
+
while (i < text.length) {
|
|
1451
|
+
const ch = text[i];
|
|
1452
|
+
const prev = i > 0 ? text[i - 1] : "";
|
|
1453
|
+
const k = `${key}.${i}`;
|
|
1454
|
+
let m;
|
|
1455
|
+
if (ch === "\\" && i + 1 < text.length && ESCAPABLE.includes(text[i + 1])) {
|
|
1456
|
+
plain += text[i + 1];
|
|
1457
|
+
i += 2;
|
|
1458
|
+
continue;
|
|
1459
|
+
}
|
|
1460
|
+
if (ch === "`" && (m = at(CODE, text, i))) {
|
|
1461
|
+
flush();
|
|
1462
|
+
out.push(
|
|
1463
|
+
/* @__PURE__ */ jsx2(
|
|
1464
|
+
"code",
|
|
1465
|
+
{
|
|
1466
|
+
style: {
|
|
1467
|
+
fontFamily: MONO,
|
|
1468
|
+
fontSize: "0.92em",
|
|
1469
|
+
padding: "1px 4px",
|
|
1470
|
+
borderRadius: "4px",
|
|
1471
|
+
backgroundColor: theme.bg,
|
|
1472
|
+
border: `1px solid ${theme.border}`,
|
|
1473
|
+
wordBreak: "break-word"
|
|
1474
|
+
},
|
|
1475
|
+
children: m[1]
|
|
1476
|
+
},
|
|
1477
|
+
k
|
|
1478
|
+
)
|
|
1479
|
+
);
|
|
1480
|
+
i += m[0].length;
|
|
1481
|
+
continue;
|
|
1482
|
+
}
|
|
1483
|
+
const image = ch === "!" && text[i + 1] === "[";
|
|
1484
|
+
if ((ch === "[" || image) && (m = at(MD_LINK, text, image ? i + 1 : i)) && isSafeHref(m[2])) {
|
|
1485
|
+
flush();
|
|
1486
|
+
const label = m[1] ? renderInline(m[1], theme, k) : m[2];
|
|
1487
|
+
out.push(link(m[2], label, k));
|
|
1488
|
+
i += m[0].length + (image ? 1 : 0);
|
|
1489
|
+
continue;
|
|
1490
|
+
}
|
|
1491
|
+
if (ch === "~" && text[i + 1] === "~" && (m = at(STRIKE, text, i))) {
|
|
1492
|
+
flush();
|
|
1493
|
+
out.push(/* @__PURE__ */ jsx2("del", { children: renderInline(m[1], theme, k) }, k));
|
|
1494
|
+
i += m[0].length;
|
|
1495
|
+
continue;
|
|
1496
|
+
}
|
|
1497
|
+
if ((ch === "*" || ch === "_") && !WORD.test(prev)) {
|
|
1498
|
+
const double = text[i + 1] === ch;
|
|
1499
|
+
const bold = double ? at(ch === "*" ? BOLD_STAR : BOLD_UNDER, text, i) : null;
|
|
1500
|
+
const italic = bold ? null : at(ch === "*" ? ITALIC_STAR : ITALIC_UNDER, text, i);
|
|
1501
|
+
m = bold != null ? bold : italic;
|
|
1502
|
+
if (m && !WORD.test((_a = text[i + m[0].length]) != null ? _a : "")) {
|
|
1503
|
+
flush();
|
|
1504
|
+
const inner = renderInline(m[1], theme, k);
|
|
1505
|
+
out.push(
|
|
1506
|
+
bold ? /* @__PURE__ */ jsx2("strong", { style: { fontWeight: 700 }, children: inner }, k) : /* @__PURE__ */ jsx2("em", { style: { fontStyle: "italic" }, children: inner }, k)
|
|
1507
|
+
);
|
|
1508
|
+
i += m[0].length;
|
|
1509
|
+
continue;
|
|
1510
|
+
}
|
|
1511
|
+
}
|
|
1512
|
+
if (!URL_EDGE.test(prev)) {
|
|
1513
|
+
m = ch === "h" ? at(FULL_URL, text, i) : null;
|
|
1514
|
+
const bare = m ? null : /[a-z0-9]/.test(ch) ? at(BARE_URL, text, i) : null;
|
|
1515
|
+
const raw = (_b = m == null ? void 0 : m[0]) != null ? _b : bare == null ? void 0 : bare[0];
|
|
1516
|
+
if (raw) {
|
|
1517
|
+
const shown = raw.replace(TRAILING_PUNCT, "");
|
|
1518
|
+
const href = m ? shown : `https://${shown}`;
|
|
1519
|
+
if (shown.includes("/") && isSafeHref(href)) {
|
|
1520
|
+
flush();
|
|
1521
|
+
out.push(link(href, shown, k));
|
|
1522
|
+
i += shown.length;
|
|
1523
|
+
continue;
|
|
1524
|
+
}
|
|
1525
|
+
}
|
|
1526
|
+
}
|
|
1527
|
+
plain += ch;
|
|
1528
|
+
i += 1;
|
|
1529
|
+
}
|
|
1530
|
+
flush();
|
|
1531
|
+
return out;
|
|
1532
|
+
}
|
|
1533
|
+
var FENCE = /^\s{0,3}(`{3,}|~{3,})/;
|
|
1534
|
+
var HEADING = /^\s{0,3}(#{1,6})\s+(.+?)(?:\s+#+)?\s*$/;
|
|
1535
|
+
var RULE = /^\s{0,3}([-*_])(?:\s*\1){2,}\s*$/;
|
|
1536
|
+
var QUOTE = /^\s{0,3}>\s?(.*)$/;
|
|
1537
|
+
var LIST_ITEM = /^(\s*)([-*+]|\d{1,9}[.)])\s+(.*)$/;
|
|
1538
|
+
var TABLE_SEP = /^\s*\|?\s*:?-+:?\s*(?:\|\s*:?-+:?\s*)*\|?\s*$/;
|
|
1539
|
+
var TASK = /^\[([ xX])\]\s+(.*)$/;
|
|
1540
|
+
var STACK = {
|
|
1541
|
+
display: "flex",
|
|
1542
|
+
flexDirection: "column",
|
|
1543
|
+
gap: "6px",
|
|
1544
|
+
minWidth: 0
|
|
1545
|
+
};
|
|
1546
|
+
function splitRow(line) {
|
|
1547
|
+
let s = line.trim();
|
|
1548
|
+
if (s.startsWith("|")) s = s.slice(1);
|
|
1549
|
+
if (s.endsWith("|") && !s.endsWith("\\|")) s = s.slice(0, -1);
|
|
1550
|
+
const cells = [];
|
|
1551
|
+
let cell = "";
|
|
1552
|
+
for (let i = 0; i < s.length; i++) {
|
|
1553
|
+
if (s[i] === "\\" && s[i + 1] === "|") {
|
|
1554
|
+
cell += "|";
|
|
1555
|
+
i++;
|
|
1556
|
+
} else if (s[i] === "|") {
|
|
1557
|
+
cells.push(cell.trim());
|
|
1558
|
+
cell = "";
|
|
1559
|
+
} else {
|
|
1560
|
+
cell += s[i];
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
cells.push(cell.trim());
|
|
1564
|
+
return cells;
|
|
1565
|
+
}
|
|
1566
|
+
function tableAt(lines, i) {
|
|
1567
|
+
const head = lines[i];
|
|
1568
|
+
const sep = lines[i + 1];
|
|
1569
|
+
if (!(head == null ? void 0 : head.includes("|")) || !(sep == null ? void 0 : sep.includes("|")) || !TABLE_SEP.test(sep)) return null;
|
|
1570
|
+
const aligns = splitRow(sep);
|
|
1571
|
+
return aligns.length === splitRow(head).length ? aligns : null;
|
|
1572
|
+
}
|
|
1573
|
+
function startsBlock(lines, i) {
|
|
1574
|
+
const line = lines[i];
|
|
1575
|
+
return FENCE.test(line) || HEADING.test(line) || RULE.test(line) || QUOTE.test(line) || LIST_ITEM.test(line) || tableAt(lines, i) !== null;
|
|
1576
|
+
}
|
|
1577
|
+
function renderBlocks(lines, theme, key) {
|
|
1578
|
+
const out = [];
|
|
1579
|
+
let i = 0;
|
|
1580
|
+
while (i < lines.length) {
|
|
1581
|
+
const line = lines[i];
|
|
1582
|
+
const k = `${key}-${i}`;
|
|
1583
|
+
let m;
|
|
1584
|
+
if (!line.trim()) {
|
|
1585
|
+
i++;
|
|
1586
|
+
continue;
|
|
1587
|
+
}
|
|
1588
|
+
if (m = FENCE.exec(line)) {
|
|
1589
|
+
const fence = m[1];
|
|
1590
|
+
const body = [];
|
|
1591
|
+
i++;
|
|
1592
|
+
while (i < lines.length) {
|
|
1593
|
+
const t2 = lines[i].trim();
|
|
1594
|
+
if (t2.length >= fence.length && [...t2].every((c) => c === fence[0])) break;
|
|
1595
|
+
body.push(lines[i]);
|
|
1596
|
+
i++;
|
|
1597
|
+
}
|
|
1598
|
+
i++;
|
|
1599
|
+
out.push(
|
|
1600
|
+
/* @__PURE__ */ jsx2(
|
|
1601
|
+
"pre",
|
|
1602
|
+
{
|
|
1603
|
+
style: {
|
|
1604
|
+
margin: 0,
|
|
1605
|
+
padding: "8px 10px",
|
|
1606
|
+
borderRadius: "6px",
|
|
1607
|
+
backgroundColor: theme.bg,
|
|
1608
|
+
border: `1px solid ${theme.border}`,
|
|
1609
|
+
overflowX: "auto",
|
|
1610
|
+
maxWidth: "100%",
|
|
1611
|
+
fontFamily: MONO,
|
|
1612
|
+
fontSize: "12px",
|
|
1613
|
+
lineHeight: 1.5,
|
|
1614
|
+
whiteSpace: "pre"
|
|
1615
|
+
},
|
|
1616
|
+
children: /* @__PURE__ */ jsx2("code", { style: { fontFamily: "inherit" }, children: body.join("\n") })
|
|
1617
|
+
},
|
|
1618
|
+
k
|
|
1619
|
+
)
|
|
1620
|
+
);
|
|
1621
|
+
continue;
|
|
1622
|
+
}
|
|
1623
|
+
if (m = HEADING.exec(line)) {
|
|
1624
|
+
const level = m[1].length;
|
|
1625
|
+
out.push(
|
|
1626
|
+
/* @__PURE__ */ jsx2(
|
|
1627
|
+
"div",
|
|
1628
|
+
{
|
|
1629
|
+
role: "heading",
|
|
1630
|
+
"aria-level": level,
|
|
1631
|
+
style: {
|
|
1632
|
+
fontWeight: 700,
|
|
1633
|
+
fontSize: level === 1 ? "1.15em" : level === 2 ? "1.08em" : "1em",
|
|
1634
|
+
lineHeight: 1.35
|
|
1635
|
+
},
|
|
1636
|
+
children: renderInline(m[2], theme, k)
|
|
1637
|
+
},
|
|
1638
|
+
k
|
|
1639
|
+
)
|
|
1640
|
+
);
|
|
1641
|
+
i++;
|
|
1642
|
+
continue;
|
|
1643
|
+
}
|
|
1644
|
+
if (RULE.test(line)) {
|
|
1645
|
+
out.push(/* @__PURE__ */ jsx2("div", { role: "separator", style: { borderTop: `1px solid ${theme.border}` } }, k));
|
|
1646
|
+
i++;
|
|
1647
|
+
continue;
|
|
1648
|
+
}
|
|
1649
|
+
if (QUOTE.test(line)) {
|
|
1650
|
+
const inner = [];
|
|
1651
|
+
while (i < lines.length && (m = QUOTE.exec(lines[i]))) {
|
|
1652
|
+
inner.push(m[1]);
|
|
1653
|
+
i++;
|
|
1654
|
+
}
|
|
1655
|
+
out.push(
|
|
1656
|
+
/* @__PURE__ */ jsx2(
|
|
1657
|
+
"blockquote",
|
|
1658
|
+
{
|
|
1659
|
+
style: {
|
|
1660
|
+
...STACK,
|
|
1661
|
+
margin: 0,
|
|
1662
|
+
paddingLeft: "10px",
|
|
1663
|
+
// `border` is near the bubble's own colour; the bar vanished.
|
|
1664
|
+
borderLeft: `3px solid ${theme.accent}66`,
|
|
1665
|
+
color: theme.textMuted
|
|
1666
|
+
},
|
|
1667
|
+
children: renderBlocks(inner, theme, k)
|
|
1668
|
+
},
|
|
1669
|
+
k
|
|
1670
|
+
)
|
|
1671
|
+
);
|
|
1672
|
+
continue;
|
|
1673
|
+
}
|
|
1674
|
+
const aligns = tableAt(lines, i);
|
|
1675
|
+
if (aligns) {
|
|
1676
|
+
const head = splitRow(line);
|
|
1677
|
+
const rows = [];
|
|
1678
|
+
i += 2;
|
|
1679
|
+
while (i < lines.length && lines[i].trim() && lines[i].includes("|")) {
|
|
1680
|
+
rows.push(splitRow(lines[i]));
|
|
1681
|
+
i++;
|
|
1682
|
+
}
|
|
1683
|
+
const align = (c) => {
|
|
1684
|
+
var _a;
|
|
1685
|
+
const a = (_a = aligns[c]) != null ? _a : "";
|
|
1686
|
+
if (a.startsWith(":") && a.endsWith(":")) return "center";
|
|
1687
|
+
return a.endsWith(":") ? "right" : "left";
|
|
1688
|
+
};
|
|
1689
|
+
const cell = (c) => ({
|
|
1690
|
+
border: `1px solid ${theme.border}`,
|
|
1691
|
+
padding: "4px 8px",
|
|
1692
|
+
textAlign: align(c),
|
|
1693
|
+
verticalAlign: "top"
|
|
1694
|
+
});
|
|
1695
|
+
out.push(
|
|
1696
|
+
/* @__PURE__ */ jsx2("div", { style: { overflowX: "auto", maxWidth: "100%" }, children: /* @__PURE__ */ jsxs2("table", { style: { borderCollapse: "collapse", fontSize: "12px", margin: 0 }, children: [
|
|
1697
|
+
/* @__PURE__ */ jsx2("thead", { children: /* @__PURE__ */ jsx2("tr", { children: head.map((h, c) => /* @__PURE__ */ jsx2("th", { style: { ...cell(c), fontWeight: 600, backgroundColor: theme.bg }, children: renderInline(h, theme, `${k}h${c}`) }, c)) }) }),
|
|
1698
|
+
/* @__PURE__ */ jsx2("tbody", { children: rows.map((row, r) => /* @__PURE__ */ jsx2("tr", { children: head.map((_, c) => {
|
|
1699
|
+
var _a;
|
|
1700
|
+
return /* @__PURE__ */ jsx2("td", { style: cell(c), children: renderInline((_a = row[c]) != null ? _a : "", theme, `${k}r${r}c${c}`) }, c);
|
|
1701
|
+
}) }, r)) })
|
|
1702
|
+
] }) }, k)
|
|
1703
|
+
);
|
|
1704
|
+
continue;
|
|
1705
|
+
}
|
|
1706
|
+
if (m = LIST_ITEM.exec(line)) {
|
|
1707
|
+
const baseIndent = m[1].length;
|
|
1708
|
+
const ordered = /\d/.test(m[2]);
|
|
1709
|
+
const start = ordered ? parseInt(m[2], 10) : 1;
|
|
1710
|
+
const items = [];
|
|
1711
|
+
while (i < lines.length) {
|
|
1712
|
+
const l = lines[i];
|
|
1713
|
+
const lm = LIST_ITEM.exec(l);
|
|
1714
|
+
const indent = l.length - l.trimStart().length;
|
|
1715
|
+
if (lm && indent <= baseIndent + 1) {
|
|
1716
|
+
if (/\d/.test(lm[2]) !== ordered) break;
|
|
1717
|
+
items.push([lm[3]]);
|
|
1718
|
+
i++;
|
|
1719
|
+
continue;
|
|
1720
|
+
}
|
|
1721
|
+
const current = items[items.length - 1];
|
|
1722
|
+
if (!l.trim()) {
|
|
1723
|
+
const next = lines[i + 1];
|
|
1724
|
+
const nextIndent = next ? next.length - next.trimStart().length : 0;
|
|
1725
|
+
if ((next == null ? void 0 : next.trim()) && (nextIndent > baseIndent + 1 || LIST_ITEM.test(next))) {
|
|
1726
|
+
current.push("");
|
|
1727
|
+
i++;
|
|
1728
|
+
continue;
|
|
1729
|
+
}
|
|
1730
|
+
break;
|
|
1731
|
+
}
|
|
1732
|
+
if (indent > baseIndent + 1) {
|
|
1733
|
+
current.push(l.slice(Math.min(indent, baseIndent + 2)));
|
|
1734
|
+
i++;
|
|
1735
|
+
continue;
|
|
1736
|
+
}
|
|
1737
|
+
break;
|
|
1738
|
+
}
|
|
1739
|
+
const ListTag = ordered ? "ol" : "ul";
|
|
1740
|
+
out.push(
|
|
1741
|
+
/* @__PURE__ */ jsx2(
|
|
1742
|
+
ListTag,
|
|
1743
|
+
{
|
|
1744
|
+
start: ordered && start !== 1 ? start : void 0,
|
|
1745
|
+
style: {
|
|
1746
|
+
margin: 0,
|
|
1747
|
+
paddingLeft: "20px",
|
|
1748
|
+
listStyleType: ordered ? "decimal" : "disc",
|
|
1749
|
+
listStylePosition: "outside"
|
|
1750
|
+
},
|
|
1751
|
+
children: items.map((itemLines, n) => {
|
|
1752
|
+
const ik = `${k}i${n}`;
|
|
1753
|
+
const task = TASK.exec(itemLines[0]);
|
|
1754
|
+
const body = task ? [task[2], ...itemLines.slice(1)] : itemLines;
|
|
1755
|
+
const box = task ? /* @__PURE__ */ jsx2("span", { "aria-hidden": "true", style: { marginRight: "6px" }, children: task[1] === " " ? "\u2610" : "\u2611" }) : null;
|
|
1756
|
+
const simple = body.filter((x) => x.trim()).length === 1;
|
|
1757
|
+
return /* @__PURE__ */ jsx2(
|
|
1758
|
+
"li",
|
|
1759
|
+
{
|
|
1760
|
+
style: {
|
|
1761
|
+
display: "list-item",
|
|
1762
|
+
marginTop: n ? "3px" : 0,
|
|
1763
|
+
paddingLeft: "2px",
|
|
1764
|
+
listStyleType: task ? "none" : void 0
|
|
1765
|
+
},
|
|
1766
|
+
children: simple ? /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
1767
|
+
box,
|
|
1768
|
+
renderInline(body[0], theme, ik)
|
|
1769
|
+
] }) : /* @__PURE__ */ jsxs2("div", { style: STACK, children: [
|
|
1770
|
+
box ? /* @__PURE__ */ jsxs2("div", { children: [
|
|
1771
|
+
box,
|
|
1772
|
+
renderInline(body[0], theme, ik)
|
|
1773
|
+
] }) : null,
|
|
1774
|
+
renderBlocks(box ? body.slice(1) : body, theme, ik)
|
|
1775
|
+
] })
|
|
1776
|
+
},
|
|
1777
|
+
ik
|
|
1778
|
+
);
|
|
1779
|
+
})
|
|
1780
|
+
},
|
|
1781
|
+
k
|
|
1782
|
+
)
|
|
1783
|
+
);
|
|
1784
|
+
continue;
|
|
1785
|
+
}
|
|
1786
|
+
const para = [];
|
|
1787
|
+
while (i < lines.length && lines[i].trim() && !(para.length && startsBlock(lines, i))) {
|
|
1788
|
+
para.push(lines[i].trim());
|
|
1789
|
+
i++;
|
|
1790
|
+
}
|
|
1791
|
+
out.push(
|
|
1792
|
+
/* @__PURE__ */ jsx2("div", { children: para.flatMap((p, n) => {
|
|
1793
|
+
const inline = renderInline(p, theme, `${k}p${n}`);
|
|
1794
|
+
return n ? [/* @__PURE__ */ jsx2("br", {}, `${k}br${n}`), ...inline] : inline;
|
|
1795
|
+
}) }, k)
|
|
1796
|
+
);
|
|
1797
|
+
}
|
|
1798
|
+
return out;
|
|
1799
|
+
}
|
|
1800
|
+
function ChatMarkdown({ text, theme }) {
|
|
1801
|
+
return /* @__PURE__ */ jsx2("div", { style: STACK, children: renderBlocks(text.replace(/\r\n?/g, "\n").split("\n"), theme, "md") });
|
|
1802
|
+
}
|
|
1396
1803
|
function pickAssistImages(all) {
|
|
1397
1804
|
const picked = [];
|
|
1398
1805
|
let total = 0;
|
|
@@ -1435,7 +1842,7 @@ function isAffirmativeReply(text) {
|
|
|
1435
1842
|
text.trim()
|
|
1436
1843
|
);
|
|
1437
1844
|
}
|
|
1438
|
-
var AUTO_FILE_SECONDS =
|
|
1845
|
+
var AUTO_FILE_SECONDS = 3;
|
|
1439
1846
|
var NARROW_QUERY = "(max-width: 640px)";
|
|
1440
1847
|
function useIsNarrow() {
|
|
1441
1848
|
const [narrow, setNarrow] = useState2(false);
|
|
@@ -1452,7 +1859,7 @@ function useIsNarrow() {
|
|
|
1452
1859
|
return narrow;
|
|
1453
1860
|
}
|
|
1454
1861
|
function Sparkle({ color, size = 14 }) {
|
|
1455
|
-
return /* @__PURE__ */
|
|
1862
|
+
return /* @__PURE__ */ jsx3("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx3(
|
|
1456
1863
|
"path",
|
|
1457
1864
|
{
|
|
1458
1865
|
d: "M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5L12 3zM19 15l.75 2.25L22 18l-2.25.75L19 21l-.75-2.25L16 18l2.25-.75L19 15z",
|
|
@@ -1468,7 +1875,7 @@ function Avatar({
|
|
|
1468
1875
|
initials
|
|
1469
1876
|
}) {
|
|
1470
1877
|
const isAi = who === "assistant";
|
|
1471
|
-
return /* @__PURE__ */
|
|
1878
|
+
return /* @__PURE__ */ jsx3(
|
|
1472
1879
|
"span",
|
|
1473
1880
|
{
|
|
1474
1881
|
"aria-hidden": "true",
|
|
@@ -1487,9 +1894,9 @@ function Avatar({
|
|
|
1487
1894
|
fontSize: "10px",
|
|
1488
1895
|
fontWeight: 700
|
|
1489
1896
|
},
|
|
1490
|
-
children: isAi ? /* @__PURE__ */
|
|
1491
|
-
/* @__PURE__ */
|
|
1492
|
-
/* @__PURE__ */
|
|
1897
|
+
children: isAi ? /* @__PURE__ */ jsx3(Sparkle, { color: t2.accent, size: 12 }) : initials ? initials : /* @__PURE__ */ jsxs3("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
|
|
1898
|
+
/* @__PURE__ */ jsx3("circle", { cx: "12", cy: "8", r: "3.4", stroke: "currentColor", strokeWidth: "1.8" }),
|
|
1899
|
+
/* @__PURE__ */ jsx3(
|
|
1493
1900
|
"path",
|
|
1494
1901
|
{
|
|
1495
1902
|
d: "M5 20c0-3.6 3.1-5.6 7-5.6s7 2 7 5.6",
|
|
@@ -1769,7 +2176,7 @@ function AssistSheet({
|
|
|
1769
2176
|
const empty = phase === "chat" && messages.length === 0 && !busy;
|
|
1770
2177
|
function renderKnownIssue({ title, footer }) {
|
|
1771
2178
|
if (!duplicate) return null;
|
|
1772
|
-
return /* @__PURE__ */
|
|
2179
|
+
return /* @__PURE__ */ jsxs3(
|
|
1773
2180
|
"div",
|
|
1774
2181
|
{
|
|
1775
2182
|
"data-gg-known-issue": "",
|
|
@@ -1786,15 +2193,15 @@ function AssistSheet({
|
|
|
1786
2193
|
minWidth: 0
|
|
1787
2194
|
},
|
|
1788
2195
|
children: [
|
|
1789
|
-
/* @__PURE__ */
|
|
1790
|
-
title && /* @__PURE__ */
|
|
2196
|
+
/* @__PURE__ */ jsx3("span", { style: { color: t2.text, fontWeight: 600 }, children: duplicate.kind === "related" ? title ? "Your request goes onto this issue" : `Connected to #${duplicate.number}` : title ? "Our team is already on this" : `Our team is already on #${duplicate.number}` }),
|
|
2197
|
+
title && /* @__PURE__ */ jsxs3("span", { style: { color: t2.textMuted, wordBreak: "break-word" }, children: [
|
|
1791
2198
|
"#",
|
|
1792
2199
|
duplicate.number,
|
|
1793
2200
|
" ",
|
|
1794
2201
|
duplicate.title
|
|
1795
2202
|
] }),
|
|
1796
|
-
duplicate.status && duplicate.kind !== "related" && /* @__PURE__ */
|
|
1797
|
-
footer && /* @__PURE__ */
|
|
2203
|
+
duplicate.status && duplicate.kind !== "related" && /* @__PURE__ */ jsx3("span", { style: { color: t2.text, fontWeight: 600 }, children: duplicate.status }),
|
|
2204
|
+
footer && /* @__PURE__ */ jsx3("span", { style: { color: t2.textMuted }, children: duplicate.kind === "related" ? "Added as a separate request on it, not a repeat \u2014 the team sees both." : footer })
|
|
1798
2205
|
]
|
|
1799
2206
|
}
|
|
1800
2207
|
);
|
|
@@ -1817,16 +2224,16 @@ function AssistSheet({
|
|
|
1817
2224
|
animation: "gg-sheet-in .22s cubic-bezier(.2,.8,.2,1)"
|
|
1818
2225
|
};
|
|
1819
2226
|
return createPortal(
|
|
1820
|
-
/* @__PURE__ */
|
|
1821
|
-
/* @__PURE__ */
|
|
2227
|
+
/* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
2228
|
+
/* @__PURE__ */ jsx3("style", { children: `
|
|
1822
2229
|
@keyframes gg-sheet-in{from{transform:translateX(24px);opacity:0}to{transform:translateX(0);opacity:1}}
|
|
1823
2230
|
@keyframes gg-sheet-up{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
|
|
1824
2231
|
@keyframes gg-sheet-fade{from{opacity:0}to{opacity:1}}
|
|
1825
2232
|
@keyframes gg-autofile{from{transform:scaleX(0)}to{transform:scaleX(1)}}
|
|
1826
2233
|
@keyframes gg-dot{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-3px);opacity:1}}
|
|
1827
|
-
[data-gg-sheet-send]:focus-visible,[data-gg-chip]:focus-visible,[data-gg-assist-remove]:focus-visible{outline:2px solid currentColor;outline-offset:2px}
|
|
2234
|
+
[data-gg-sheet-send]:focus-visible,[data-gg-chip]:focus-visible,[data-gg-assist-remove]:focus-visible,[data-gg-stop-auto-file]:focus-visible{outline:2px solid currentColor;outline-offset:2px}
|
|
1828
2235
|
` }),
|
|
1829
|
-
/* @__PURE__ */
|
|
2236
|
+
/* @__PURE__ */ jsx3(
|
|
1830
2237
|
"div",
|
|
1831
2238
|
{
|
|
1832
2239
|
"data-glitchgrab-layer": "",
|
|
@@ -1846,7 +2253,7 @@ function AssistSheet({
|
|
|
1846
2253
|
},
|
|
1847
2254
|
onClick: () => leave("closed"),
|
|
1848
2255
|
onPointerDown: (e) => e.stopPropagation(),
|
|
1849
|
-
children: /* @__PURE__ */
|
|
2256
|
+
children: /* @__PURE__ */ jsxs3(
|
|
1850
2257
|
"div",
|
|
1851
2258
|
{
|
|
1852
2259
|
onClick: (e) => e.stopPropagation(),
|
|
@@ -1867,7 +2274,7 @@ function AssistSheet({
|
|
|
1867
2274
|
isolation: "isolate"
|
|
1868
2275
|
},
|
|
1869
2276
|
children: [
|
|
1870
|
-
/* @__PURE__ */
|
|
2277
|
+
/* @__PURE__ */ jsxs3(
|
|
1871
2278
|
"div",
|
|
1872
2279
|
{
|
|
1873
2280
|
"data-gg-sheet-header": "",
|
|
@@ -1882,8 +2289,8 @@ function AssistSheet({
|
|
|
1882
2289
|
minWidth: 0
|
|
1883
2290
|
},
|
|
1884
2291
|
children: [
|
|
1885
|
-
/* @__PURE__ */
|
|
1886
|
-
/* @__PURE__ */
|
|
2292
|
+
/* @__PURE__ */ jsxs3("div", { style: { minWidth: 0 }, children: [
|
|
2293
|
+
/* @__PURE__ */ jsxs3(
|
|
1887
2294
|
"div",
|
|
1888
2295
|
{
|
|
1889
2296
|
style: {
|
|
@@ -1894,9 +2301,9 @@ function AssistSheet({
|
|
|
1894
2301
|
fontWeight: 600
|
|
1895
2302
|
},
|
|
1896
2303
|
children: [
|
|
1897
|
-
/* @__PURE__ */
|
|
2304
|
+
/* @__PURE__ */ jsx3(Sparkle, { color: t2.accent }),
|
|
1898
2305
|
"Describe it with AI",
|
|
1899
|
-
/* @__PURE__ */
|
|
2306
|
+
/* @__PURE__ */ jsx3(
|
|
1900
2307
|
"span",
|
|
1901
2308
|
{
|
|
1902
2309
|
style: {
|
|
@@ -1915,13 +2322,13 @@ function AssistSheet({
|
|
|
1915
2322
|
]
|
|
1916
2323
|
}
|
|
1917
2324
|
),
|
|
1918
|
-
/* @__PURE__ */
|
|
2325
|
+
/* @__PURE__ */ jsxs3("div", { style: { fontSize: "11.5px", color: t2.textMuted, marginTop: "3px" }, children: [
|
|
1919
2326
|
phase === "type" ? null : reportTypeLabel,
|
|
1920
2327
|
phase !== "type" && severityAsked && severity ? ` \xB7 ${SEVERITY_LABELS[severity]}` : null,
|
|
1921
|
-
projectSlot ? /* @__PURE__ */
|
|
2328
|
+
projectSlot ? /* @__PURE__ */ jsx3("span", { style: { marginLeft: "6px" }, children: projectSlot }) : null
|
|
1922
2329
|
] })
|
|
1923
2330
|
] }),
|
|
1924
|
-
/* @__PURE__ */
|
|
2331
|
+
/* @__PURE__ */ jsx3(
|
|
1925
2332
|
"button",
|
|
1926
2333
|
{
|
|
1927
2334
|
type: "button",
|
|
@@ -1948,7 +2355,7 @@ function AssistSheet({
|
|
|
1948
2355
|
]
|
|
1949
2356
|
}
|
|
1950
2357
|
),
|
|
1951
|
-
/* @__PURE__ */
|
|
2358
|
+
/* @__PURE__ */ jsx3(
|
|
1952
2359
|
"div",
|
|
1953
2360
|
{
|
|
1954
2361
|
ref: scrollRef,
|
|
@@ -1960,7 +2367,7 @@ function AssistSheet({
|
|
|
1960
2367
|
display: "flex",
|
|
1961
2368
|
flexDirection: "column"
|
|
1962
2369
|
},
|
|
1963
|
-
children: /* @__PURE__ */
|
|
2370
|
+
children: /* @__PURE__ */ jsxs3(
|
|
1964
2371
|
"div",
|
|
1965
2372
|
{
|
|
1966
2373
|
style: {
|
|
@@ -1971,10 +2378,10 @@ function AssistSheet({
|
|
|
1971
2378
|
minWidth: 0
|
|
1972
2379
|
},
|
|
1973
2380
|
children: [
|
|
1974
|
-
phase === "type" && /* @__PURE__ */
|
|
1975
|
-
/* @__PURE__ */
|
|
1976
|
-
/* @__PURE__ */
|
|
1977
|
-
/* @__PURE__ */
|
|
2381
|
+
phase === "type" && /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", gap: "12px" }, children: [
|
|
2382
|
+
/* @__PURE__ */ jsxs3("div", { style: { display: "flex", gap: "8px" }, children: [
|
|
2383
|
+
/* @__PURE__ */ jsx3(Avatar, { who: "assistant", theme: t2 }),
|
|
2384
|
+
/* @__PURE__ */ jsxs3(
|
|
1978
2385
|
"div",
|
|
1979
2386
|
{
|
|
1980
2387
|
style: {
|
|
@@ -1992,7 +2399,7 @@ function AssistSheet({
|
|
|
1992
2399
|
}
|
|
1993
2400
|
)
|
|
1994
2401
|
] }),
|
|
1995
|
-
/* @__PURE__ */
|
|
2402
|
+
/* @__PURE__ */ jsx3(
|
|
1996
2403
|
"div",
|
|
1997
2404
|
{
|
|
1998
2405
|
style: {
|
|
@@ -2003,7 +2410,7 @@ function AssistSheet({
|
|
|
2003
2410
|
},
|
|
2004
2411
|
children: tiles.map((tile) => {
|
|
2005
2412
|
const rate = tile === "RATING";
|
|
2006
|
-
return /* @__PURE__ */
|
|
2413
|
+
return /* @__PURE__ */ jsx3(
|
|
2007
2414
|
"button",
|
|
2008
2415
|
{
|
|
2009
2416
|
type: "button",
|
|
@@ -2036,10 +2443,10 @@ function AssistSheet({
|
|
|
2036
2443
|
}
|
|
2037
2444
|
)
|
|
2038
2445
|
] }),
|
|
2039
|
-
phase === "severity" && /* @__PURE__ */
|
|
2040
|
-
/* @__PURE__ */
|
|
2041
|
-
/* @__PURE__ */
|
|
2042
|
-
/* @__PURE__ */
|
|
2446
|
+
phase === "severity" && /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", gap: "12px" }, children: [
|
|
2447
|
+
/* @__PURE__ */ jsxs3("div", { style: { display: "flex", gap: "8px" }, children: [
|
|
2448
|
+
/* @__PURE__ */ jsx3(Avatar, { who: "assistant", theme: t2 }),
|
|
2449
|
+
/* @__PURE__ */ jsx3(
|
|
2043
2450
|
"div",
|
|
2044
2451
|
{
|
|
2045
2452
|
style: {
|
|
@@ -2054,7 +2461,7 @@ function AssistSheet({
|
|
|
2054
2461
|
}
|
|
2055
2462
|
)
|
|
2056
2463
|
] }),
|
|
2057
|
-
/* @__PURE__ */
|
|
2464
|
+
/* @__PURE__ */ jsx3(
|
|
2058
2465
|
"div",
|
|
2059
2466
|
{
|
|
2060
2467
|
role: "radiogroup",
|
|
@@ -2065,7 +2472,7 @@ function AssistSheet({
|
|
|
2065
2472
|
gap: "6px",
|
|
2066
2473
|
paddingLeft: "32px"
|
|
2067
2474
|
},
|
|
2068
|
-
children: SEVERITY_LEVELS.map((s) => /* @__PURE__ */
|
|
2475
|
+
children: SEVERITY_LEVELS.map((s) => /* @__PURE__ */ jsx3(
|
|
2069
2476
|
"button",
|
|
2070
2477
|
{
|
|
2071
2478
|
type: "button",
|
|
@@ -2092,10 +2499,10 @@ function AssistSheet({
|
|
|
2092
2499
|
}
|
|
2093
2500
|
)
|
|
2094
2501
|
] }),
|
|
2095
|
-
phase === "rating" && !submitted && /* @__PURE__ */
|
|
2096
|
-
/* @__PURE__ */
|
|
2097
|
-
/* @__PURE__ */
|
|
2098
|
-
/* @__PURE__ */
|
|
2502
|
+
phase === "rating" && !submitted && /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", gap: "12px" }, children: [
|
|
2503
|
+
/* @__PURE__ */ jsxs3("div", { style: { display: "flex", gap: "8px" }, children: [
|
|
2504
|
+
/* @__PURE__ */ jsx3(Avatar, { who: "assistant", theme: t2 }),
|
|
2505
|
+
/* @__PURE__ */ jsx3(
|
|
2099
2506
|
"div",
|
|
2100
2507
|
{
|
|
2101
2508
|
style: {
|
|
@@ -2110,7 +2517,7 @@ function AssistSheet({
|
|
|
2110
2517
|
}
|
|
2111
2518
|
)
|
|
2112
2519
|
] }),
|
|
2113
|
-
/* @__PURE__ */
|
|
2520
|
+
/* @__PURE__ */ jsxs3(
|
|
2114
2521
|
"div",
|
|
2115
2522
|
{
|
|
2116
2523
|
style: {
|
|
@@ -2124,9 +2531,9 @@ function AssistSheet({
|
|
|
2124
2531
|
backgroundColor: "rgba(245,158,11,0.06)"
|
|
2125
2532
|
},
|
|
2126
2533
|
children: [
|
|
2127
|
-
/* @__PURE__ */
|
|
2534
|
+
/* @__PURE__ */ jsx3("div", { style: { display: "flex", gap: "4px" }, role: "group", "aria-label": "Rating", children: [1, 2, 3, 4, 5].map((star) => {
|
|
2128
2535
|
const filled = star <= (hoveredStar || rating);
|
|
2129
|
-
return /* @__PURE__ */
|
|
2536
|
+
return /* @__PURE__ */ jsx3(
|
|
2130
2537
|
"button",
|
|
2131
2538
|
{
|
|
2132
2539
|
type: "button",
|
|
@@ -2142,7 +2549,7 @@ function AssistSheet({
|
|
|
2142
2549
|
cursor: "pointer",
|
|
2143
2550
|
lineHeight: 0
|
|
2144
2551
|
},
|
|
2145
|
-
children: /* @__PURE__ */
|
|
2552
|
+
children: /* @__PURE__ */ jsx3("svg", { width: "30", height: "30", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ jsx3(
|
|
2146
2553
|
"path",
|
|
2147
2554
|
{
|
|
2148
2555
|
d: "M12 3l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.4 6.8 19.1l1-5.8L3.5 9.2l5.9-.9L12 3z",
|
|
@@ -2156,7 +2563,7 @@ function AssistSheet({
|
|
|
2156
2563
|
star
|
|
2157
2564
|
);
|
|
2158
2565
|
}) }),
|
|
2159
|
-
/* @__PURE__ */
|
|
2566
|
+
/* @__PURE__ */ jsx3(
|
|
2160
2567
|
"textarea",
|
|
2161
2568
|
{
|
|
2162
2569
|
value: description,
|
|
@@ -2179,7 +2586,7 @@ function AssistSheet({
|
|
|
2179
2586
|
}
|
|
2180
2587
|
}
|
|
2181
2588
|
),
|
|
2182
|
-
/* @__PURE__ */
|
|
2589
|
+
/* @__PURE__ */ jsx3(
|
|
2183
2590
|
"button",
|
|
2184
2591
|
{
|
|
2185
2592
|
type: "button",
|
|
@@ -2203,10 +2610,10 @@ function AssistSheet({
|
|
|
2203
2610
|
}
|
|
2204
2611
|
)
|
|
2205
2612
|
] }),
|
|
2206
|
-
empty && /* @__PURE__ */
|
|
2207
|
-
/* @__PURE__ */
|
|
2208
|
-
/* @__PURE__ */
|
|
2209
|
-
/* @__PURE__ */
|
|
2613
|
+
empty && /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", gap: "12px" }, children: [
|
|
2614
|
+
/* @__PURE__ */ jsxs3("div", { style: { display: "flex", gap: "8px" }, children: [
|
|
2615
|
+
/* @__PURE__ */ jsx3(Avatar, { who: "assistant", theme: t2 }),
|
|
2616
|
+
/* @__PURE__ */ jsxs3(
|
|
2210
2617
|
"div",
|
|
2211
2618
|
{
|
|
2212
2619
|
style: {
|
|
@@ -2224,7 +2631,7 @@ function AssistSheet({
|
|
|
2224
2631
|
}
|
|
2225
2632
|
)
|
|
2226
2633
|
] }),
|
|
2227
|
-
/* @__PURE__ */
|
|
2634
|
+
/* @__PURE__ */ jsx3(
|
|
2228
2635
|
"div",
|
|
2229
2636
|
{
|
|
2230
2637
|
style: {
|
|
@@ -2233,7 +2640,7 @@ function AssistSheet({
|
|
|
2233
2640
|
gap: "6px",
|
|
2234
2641
|
paddingLeft: "32px"
|
|
2235
2642
|
},
|
|
2236
|
-
children: STARTERS.map((s) => /* @__PURE__ */
|
|
2643
|
+
children: STARTERS.map((s) => /* @__PURE__ */ jsx3(
|
|
2237
2644
|
"button",
|
|
2238
2645
|
{
|
|
2239
2646
|
type: "button",
|
|
@@ -2263,9 +2670,9 @@ function AssistSheet({
|
|
|
2263
2670
|
const mine = m.role === "user";
|
|
2264
2671
|
if (m.kind === "report") {
|
|
2265
2672
|
const live = phase === "draft" && i === messages.length - 1;
|
|
2266
|
-
return /* @__PURE__ */
|
|
2267
|
-
/* @__PURE__ */
|
|
2268
|
-
/* @__PURE__ */
|
|
2673
|
+
return /* @__PURE__ */ jsxs3("div", { style: { display: "flex", gap: "8px", minWidth: 0 }, children: [
|
|
2674
|
+
/* @__PURE__ */ jsx3(Avatar, { who: "assistant", theme: t2 }),
|
|
2675
|
+
/* @__PURE__ */ jsx3(
|
|
2269
2676
|
"div",
|
|
2270
2677
|
{
|
|
2271
2678
|
"data-gg-draft-bubble": "",
|
|
@@ -2284,8 +2691,8 @@ function AssistSheet({
|
|
|
2284
2691
|
// #402: "have a read" beside a countdown reads as a
|
|
2285
2692
|
// contradiction. Say what is about to happen instead.
|
|
2286
2693
|
autoFileLeft !== null ? "Here's your report \u2014 I'll file it unless you want to change something." : "Here's your report \u2014 have a read."
|
|
2287
|
-
) : /* @__PURE__ */
|
|
2288
|
-
/* @__PURE__ */
|
|
2694
|
+
) : /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
2695
|
+
/* @__PURE__ */ jsx3(
|
|
2289
2696
|
"span",
|
|
2290
2697
|
{
|
|
2291
2698
|
style: {
|
|
@@ -2300,7 +2707,7 @@ function AssistSheet({
|
|
|
2300
2707
|
children: "Draft so far"
|
|
2301
2708
|
}
|
|
2302
2709
|
),
|
|
2303
|
-
/* @__PURE__ */
|
|
2710
|
+
/* @__PURE__ */ jsx3(
|
|
2304
2711
|
"span",
|
|
2305
2712
|
{
|
|
2306
2713
|
style: {
|
|
@@ -2319,7 +2726,7 @@ function AssistSheet({
|
|
|
2319
2726
|
)
|
|
2320
2727
|
] }, i);
|
|
2321
2728
|
}
|
|
2322
|
-
return /* @__PURE__ */
|
|
2729
|
+
return /* @__PURE__ */ jsxs3(
|
|
2323
2730
|
"div",
|
|
2324
2731
|
{
|
|
2325
2732
|
style: {
|
|
@@ -2329,22 +2736,24 @@ function AssistSheet({
|
|
|
2329
2736
|
flexDirection: mine ? "row-reverse" : "row"
|
|
2330
2737
|
},
|
|
2331
2738
|
children: [
|
|
2332
|
-
/* @__PURE__ */
|
|
2333
|
-
/* @__PURE__ */
|
|
2739
|
+
/* @__PURE__ */ jsx3(Avatar, { who: m.role, theme: t2, initials }),
|
|
2740
|
+
/* @__PURE__ */ jsx3(
|
|
2334
2741
|
"div",
|
|
2335
2742
|
{
|
|
2336
2743
|
style: {
|
|
2337
2744
|
maxWidth: "82%",
|
|
2745
|
+
minWidth: 0,
|
|
2338
2746
|
padding: "9px 12px",
|
|
2339
2747
|
borderRadius: mine ? "12px 12px 4px 12px" : "12px 12px 12px 4px",
|
|
2340
2748
|
fontSize: "13px",
|
|
2341
2749
|
lineHeight: 1.55,
|
|
2342
|
-
|
|
2750
|
+
// Markdown owns the assistant's line breaks and lists.
|
|
2751
|
+
whiteSpace: mine ? "pre-wrap" : "normal",
|
|
2343
2752
|
wordBreak: "break-word",
|
|
2344
2753
|
backgroundColor: mine ? t2.accent : t2.bgSecondary,
|
|
2345
2754
|
color: mine ? t2.accentText : t2.text
|
|
2346
2755
|
},
|
|
2347
|
-
children: m.content
|
|
2756
|
+
children: mine ? m.content : /* @__PURE__ */ jsx3(ChatMarkdown, { text: m.content, theme: t2 })
|
|
2348
2757
|
}
|
|
2349
2758
|
)
|
|
2350
2759
|
]
|
|
@@ -2352,8 +2761,8 @@ function AssistSheet({
|
|
|
2352
2761
|
i
|
|
2353
2762
|
);
|
|
2354
2763
|
}),
|
|
2355
|
-
duplicate && !busy && phase === "chat" && /* @__PURE__ */
|
|
2356
|
-
glitchgrabOffer && onReportGlitchgrabProblem && !busy && phase === "chat" && /* @__PURE__ */
|
|
2764
|
+
duplicate && !busy && phase === "chat" && /* @__PURE__ */ jsx3("div", { style: { paddingLeft: "32px", minWidth: 0 }, children: renderKnownIssue({ title: false }) }),
|
|
2765
|
+
glitchgrabOffer && onReportGlitchgrabProblem && !busy && phase === "chat" && /* @__PURE__ */ jsx3("div", { style: { paddingLeft: "32px", minWidth: 0 }, children: /* @__PURE__ */ jsxs3(
|
|
2357
2766
|
"div",
|
|
2358
2767
|
{
|
|
2359
2768
|
"data-gg-glitchgrab-offer": "",
|
|
@@ -2369,10 +2778,10 @@ function AssistSheet({
|
|
|
2369
2778
|
lineHeight: 1.5
|
|
2370
2779
|
},
|
|
2371
2780
|
children: [
|
|
2372
|
-
/* @__PURE__ */
|
|
2373
|
-
/* @__PURE__ */
|
|
2374
|
-
/* @__PURE__ */
|
|
2375
|
-
/* @__PURE__ */
|
|
2781
|
+
/* @__PURE__ */ jsx3("span", { style: { color: t2.text, fontWeight: 600 }, children: "This is about Glitchgrab, not this app" }),
|
|
2782
|
+
/* @__PURE__ */ jsx3("span", { style: { color: t2.textMuted }, children: "It goes to the team that builds this reporter, with your chat attached." }),
|
|
2783
|
+
/* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexWrap: "wrap", gap: "6px" }, children: [
|
|
2784
|
+
/* @__PURE__ */ jsx3(
|
|
2376
2785
|
"button",
|
|
2377
2786
|
{
|
|
2378
2787
|
type: "button",
|
|
@@ -2401,7 +2810,7 @@ function AssistSheet({
|
|
|
2401
2810
|
children: "Send to the Glitchgrab team"
|
|
2402
2811
|
}
|
|
2403
2812
|
),
|
|
2404
|
-
/* @__PURE__ */
|
|
2813
|
+
/* @__PURE__ */ jsx3(
|
|
2405
2814
|
"button",
|
|
2406
2815
|
{
|
|
2407
2816
|
type: "button",
|
|
@@ -2428,7 +2837,7 @@ function AssistSheet({
|
|
|
2428
2837
|
]
|
|
2429
2838
|
}
|
|
2430
2839
|
) }),
|
|
2431
|
-
options.length > 0 && !busy && phase === "chat" && !glitchgrabOffer && /* @__PURE__ */
|
|
2840
|
+
options.length > 0 && !busy && phase === "chat" && !glitchgrabOffer && /* @__PURE__ */ jsx3(
|
|
2432
2841
|
"div",
|
|
2433
2842
|
{
|
|
2434
2843
|
style: {
|
|
@@ -2443,7 +2852,7 @@ function AssistSheet({
|
|
|
2443
2852
|
gap: "6px",
|
|
2444
2853
|
paddingLeft: "32px"
|
|
2445
2854
|
},
|
|
2446
|
-
children: options.map((option) => /* @__PURE__ */
|
|
2855
|
+
children: options.map((option) => /* @__PURE__ */ jsx3(
|
|
2447
2856
|
"button",
|
|
2448
2857
|
{
|
|
2449
2858
|
type: "button",
|
|
@@ -2472,9 +2881,9 @@ function AssistSheet({
|
|
|
2472
2881
|
))
|
|
2473
2882
|
}
|
|
2474
2883
|
),
|
|
2475
|
-
busy && /* @__PURE__ */
|
|
2476
|
-
/* @__PURE__ */
|
|
2477
|
-
/* @__PURE__ */
|
|
2884
|
+
busy && /* @__PURE__ */ jsxs3("div", { style: { display: "flex", gap: "8px" }, role: "status", "aria-label": "Thinking", children: [
|
|
2885
|
+
/* @__PURE__ */ jsx3(Avatar, { who: "assistant", theme: t2 }),
|
|
2886
|
+
/* @__PURE__ */ jsx3(
|
|
2478
2887
|
"span",
|
|
2479
2888
|
{
|
|
2480
2889
|
style: {
|
|
@@ -2485,7 +2894,7 @@ function AssistSheet({
|
|
|
2485
2894
|
borderRadius: "12px 12px 12px 4px",
|
|
2486
2895
|
backgroundColor: t2.bgSecondary
|
|
2487
2896
|
},
|
|
2488
|
-
children: [0, 1, 2].map((i) => /* @__PURE__ */
|
|
2897
|
+
children: [0, 1, 2].map((i) => /* @__PURE__ */ jsx3(
|
|
2489
2898
|
"span",
|
|
2490
2899
|
{
|
|
2491
2900
|
style: {
|
|
@@ -2501,7 +2910,7 @@ function AssistSheet({
|
|
|
2501
2910
|
}
|
|
2502
2911
|
)
|
|
2503
2912
|
] }),
|
|
2504
|
-
phase === "draft" && !submitted && /* @__PURE__ */
|
|
2913
|
+
phase === "draft" && !submitted && /* @__PURE__ */ jsxs3(
|
|
2505
2914
|
"div",
|
|
2506
2915
|
{
|
|
2507
2916
|
style: {
|
|
@@ -2516,7 +2925,7 @@ function AssistSheet({
|
|
|
2516
2925
|
boxSizing: "border-box"
|
|
2517
2926
|
},
|
|
2518
2927
|
children: [
|
|
2519
|
-
/* @__PURE__ */
|
|
2928
|
+
/* @__PURE__ */ jsx3(
|
|
2520
2929
|
"span",
|
|
2521
2930
|
{
|
|
2522
2931
|
style: {
|
|
@@ -2533,7 +2942,7 @@ function AssistSheet({
|
|
|
2533
2942
|
title: true,
|
|
2534
2943
|
footer: "Your details will be added to it instead of opening a new issue."
|
|
2535
2944
|
}),
|
|
2536
|
-
/* @__PURE__ */
|
|
2945
|
+
/* @__PURE__ */ jsx3(
|
|
2537
2946
|
"textarea",
|
|
2538
2947
|
{
|
|
2539
2948
|
ref: draftRef,
|
|
@@ -2560,8 +2969,8 @@ function AssistSheet({
|
|
|
2560
2969
|
}
|
|
2561
2970
|
}
|
|
2562
2971
|
),
|
|
2563
|
-
severityAsked && autoFileLeft === null && /* @__PURE__ */
|
|
2564
|
-
/* @__PURE__ */
|
|
2972
|
+
severityAsked && autoFileLeft === null && /* @__PURE__ */ jsxs3("div", { children: [
|
|
2973
|
+
/* @__PURE__ */ jsxs3(
|
|
2565
2974
|
"span",
|
|
2566
2975
|
{
|
|
2567
2976
|
style: {
|
|
@@ -2572,7 +2981,7 @@ function AssistSheet({
|
|
|
2572
2981
|
},
|
|
2573
2982
|
children: [
|
|
2574
2983
|
"How bad is it?",
|
|
2575
|
-
!severity && /* @__PURE__ */
|
|
2984
|
+
!severity && /* @__PURE__ */ jsx3(
|
|
2576
2985
|
"span",
|
|
2577
2986
|
{
|
|
2578
2987
|
style: {
|
|
@@ -2586,7 +2995,7 @@ function AssistSheet({
|
|
|
2586
2995
|
]
|
|
2587
2996
|
}
|
|
2588
2997
|
),
|
|
2589
|
-
/* @__PURE__ */
|
|
2998
|
+
/* @__PURE__ */ jsx3(
|
|
2590
2999
|
"div",
|
|
2591
3000
|
{
|
|
2592
3001
|
role: "radiogroup",
|
|
@@ -2594,7 +3003,7 @@ function AssistSheet({
|
|
|
2594
3003
|
style: { display: "flex", gap: "6px" },
|
|
2595
3004
|
children: SEVERITY_LEVELS.map((s) => {
|
|
2596
3005
|
const on = severity === s;
|
|
2597
|
-
return /* @__PURE__ */
|
|
3006
|
+
return /* @__PURE__ */ jsx3(
|
|
2598
3007
|
"button",
|
|
2599
3008
|
{
|
|
2600
3009
|
type: "button",
|
|
@@ -2625,7 +3034,7 @@ function AssistSheet({
|
|
|
2625
3034
|
}
|
|
2626
3035
|
)
|
|
2627
3036
|
] }),
|
|
2628
|
-
attachmentCount > 0 && /* @__PURE__ */
|
|
3037
|
+
attachmentCount > 0 && /* @__PURE__ */ jsxs3("span", { style: { fontSize: "11.5px", color: t2.textMuted }, children: [
|
|
2629
3038
|
attachmentCount,
|
|
2630
3039
|
" ",
|
|
2631
3040
|
attachmentCount === 1 ? "attachment" : "attachments",
|
|
@@ -2634,10 +3043,10 @@ function AssistSheet({
|
|
|
2634
3043
|
]
|
|
2635
3044
|
}
|
|
2636
3045
|
),
|
|
2637
|
-
phase === "solved" && solved && /* @__PURE__ */
|
|
2638
|
-
/* @__PURE__ */
|
|
2639
|
-
/* @__PURE__ */
|
|
2640
|
-
/* @__PURE__ */
|
|
3046
|
+
phase === "solved" && solved && /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", gap: "12px" }, children: [
|
|
3047
|
+
/* @__PURE__ */ jsxs3("div", { style: { display: "flex", gap: "8px" }, children: [
|
|
3048
|
+
/* @__PURE__ */ jsx3(Avatar, { who: "assistant", theme: t2 }),
|
|
3049
|
+
/* @__PURE__ */ jsx3(
|
|
2641
3050
|
"div",
|
|
2642
3051
|
{
|
|
2643
3052
|
style: {
|
|
@@ -2653,7 +3062,7 @@ function AssistSheet({
|
|
|
2653
3062
|
}
|
|
2654
3063
|
)
|
|
2655
3064
|
] }),
|
|
2656
|
-
/* @__PURE__ */
|
|
3065
|
+
/* @__PURE__ */ jsx3(
|
|
2657
3066
|
"span",
|
|
2658
3067
|
{
|
|
2659
3068
|
style: { fontSize: "11.5px", color: t2.textMuted, paddingLeft: "32px" },
|
|
@@ -2661,7 +3070,7 @@ function AssistSheet({
|
|
|
2661
3070
|
}
|
|
2662
3071
|
)
|
|
2663
3072
|
] }),
|
|
2664
|
-
submitted && /* @__PURE__ */
|
|
3073
|
+
submitted && /* @__PURE__ */ jsxs3(
|
|
2665
3074
|
"div",
|
|
2666
3075
|
{
|
|
2667
3076
|
style: {
|
|
@@ -2682,7 +3091,7 @@ function AssistSheet({
|
|
|
2682
3091
|
)
|
|
2683
3092
|
}
|
|
2684
3093
|
),
|
|
2685
|
-
!submitted && phase !== "type" && phase !== "severity" && /* @__PURE__ */
|
|
3094
|
+
!submitted && phase !== "type" && phase !== "severity" && /* @__PURE__ */ jsxs3(
|
|
2686
3095
|
"div",
|
|
2687
3096
|
{
|
|
2688
3097
|
style: {
|
|
@@ -2693,7 +3102,7 @@ function AssistSheet({
|
|
|
2693
3102
|
backgroundColor: t2.bg
|
|
2694
3103
|
},
|
|
2695
3104
|
children: [
|
|
2696
|
-
phase === "solved" ? /* @__PURE__ */
|
|
3105
|
+
phase === "solved" ? /* @__PURE__ */ jsx3(
|
|
2697
3106
|
"button",
|
|
2698
3107
|
{
|
|
2699
3108
|
type: "button",
|
|
@@ -2713,7 +3122,7 @@ function AssistSheet({
|
|
|
2713
3122
|
},
|
|
2714
3123
|
children: "Done"
|
|
2715
3124
|
}
|
|
2716
|
-
) : phase === "rating" ? /* @__PURE__ */
|
|
3125
|
+
) : phase === "rating" ? /* @__PURE__ */ jsx3(
|
|
2717
3126
|
"button",
|
|
2718
3127
|
{
|
|
2719
3128
|
type: "button",
|
|
@@ -2739,8 +3148,8 @@ function AssistSheet({
|
|
|
2739
3148
|
// element on both sides of a draft landing — it stays put
|
|
2740
3149
|
// instead of remounting, and a draft is something you can
|
|
2741
3150
|
// still reply to (#360), not a form that replaced the chat.
|
|
2742
|
-
/* @__PURE__ */
|
|
2743
|
-
(screenshots.length > 0 || files.length > 0 || onAddFiles) && /* @__PURE__ */
|
|
3151
|
+
/* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
3152
|
+
(screenshots.length > 0 || files.length > 0 || onAddFiles) && /* @__PURE__ */ jsxs3(
|
|
2744
3153
|
"div",
|
|
2745
3154
|
{
|
|
2746
3155
|
style: {
|
|
@@ -2753,7 +3162,7 @@ function AssistSheet({
|
|
|
2753
3162
|
children: [
|
|
2754
3163
|
screenshots.map((shot, i) => {
|
|
2755
3164
|
const read = readShots.has(shot);
|
|
2756
|
-
return /* @__PURE__ */
|
|
3165
|
+
return /* @__PURE__ */ jsxs3(
|
|
2757
3166
|
"div",
|
|
2758
3167
|
{
|
|
2759
3168
|
style: {
|
|
@@ -2763,7 +3172,7 @@ function AssistSheet({
|
|
|
2763
3172
|
flexShrink: 0
|
|
2764
3173
|
},
|
|
2765
3174
|
children: [
|
|
2766
|
-
/* @__PURE__ */
|
|
3175
|
+
/* @__PURE__ */ jsx3(
|
|
2767
3176
|
"img",
|
|
2768
3177
|
{
|
|
2769
3178
|
src: shot,
|
|
@@ -2781,7 +3190,7 @@ function AssistSheet({
|
|
|
2781
3190
|
}
|
|
2782
3191
|
}
|
|
2783
3192
|
),
|
|
2784
|
-
onRemoveImage && /* @__PURE__ */
|
|
3193
|
+
onRemoveImage && /* @__PURE__ */ jsx3(
|
|
2785
3194
|
"button",
|
|
2786
3195
|
{
|
|
2787
3196
|
type: "button",
|
|
@@ -2811,7 +3220,7 @@ function AssistSheet({
|
|
|
2811
3220
|
justifyContent: "center",
|
|
2812
3221
|
borderRadius: "50%"
|
|
2813
3222
|
},
|
|
2814
|
-
children: /* @__PURE__ */
|
|
3223
|
+
children: /* @__PURE__ */ jsx3(
|
|
2815
3224
|
"span",
|
|
2816
3225
|
{
|
|
2817
3226
|
"aria-hidden": "true",
|
|
@@ -2827,7 +3236,7 @@ function AssistSheet({
|
|
|
2827
3236
|
alignItems: "center",
|
|
2828
3237
|
justifyContent: "center"
|
|
2829
3238
|
},
|
|
2830
|
-
children: /* @__PURE__ */
|
|
3239
|
+
children: /* @__PURE__ */ jsx3("svg", { width: "8", height: "8", viewBox: "0 0 10 10", fill: "none", children: /* @__PURE__ */ jsx3(
|
|
2831
3240
|
"path",
|
|
2832
3241
|
{
|
|
2833
3242
|
d: "M1 1L9 9M9 1L1 9",
|
|
@@ -2848,7 +3257,7 @@ function AssistSheet({
|
|
|
2848
3257
|
files.map((file, i) => {
|
|
2849
3258
|
const read = readFiles.has(i);
|
|
2850
3259
|
const why = read ? "the assistant reads this file" : isAssistReadableFile(file.name) ? "attached, but more than one message can carry, so the assistant is not reading it" : "attached to the report \u2014 the assistant can't read this kind of file";
|
|
2851
|
-
return /* @__PURE__ */
|
|
3260
|
+
return /* @__PURE__ */ jsxs3(
|
|
2852
3261
|
"div",
|
|
2853
3262
|
{
|
|
2854
3263
|
"data-gg-assist-file": "",
|
|
@@ -2869,7 +3278,7 @@ function AssistSheet({
|
|
|
2869
3278
|
flexShrink: 0
|
|
2870
3279
|
},
|
|
2871
3280
|
children: [
|
|
2872
|
-
/* @__PURE__ */
|
|
3281
|
+
/* @__PURE__ */ jsx3("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", style: { flexShrink: 0 }, children: /* @__PURE__ */ jsx3(
|
|
2873
3282
|
"path",
|
|
2874
3283
|
{
|
|
2875
3284
|
d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z M14 2v6h6",
|
|
@@ -2879,7 +3288,7 @@ function AssistSheet({
|
|
|
2879
3288
|
strokeLinejoin: "round"
|
|
2880
3289
|
}
|
|
2881
3290
|
) }),
|
|
2882
|
-
/* @__PURE__ */
|
|
3291
|
+
/* @__PURE__ */ jsx3(
|
|
2883
3292
|
"span",
|
|
2884
3293
|
{
|
|
2885
3294
|
style: {
|
|
@@ -2892,7 +3301,7 @@ function AssistSheet({
|
|
|
2892
3301
|
children: file.name
|
|
2893
3302
|
}
|
|
2894
3303
|
),
|
|
2895
|
-
onRemoveFile && /* @__PURE__ */
|
|
3304
|
+
onRemoveFile && /* @__PURE__ */ jsx3(
|
|
2896
3305
|
"button",
|
|
2897
3306
|
{
|
|
2898
3307
|
type: "button",
|
|
@@ -2919,7 +3328,7 @@ function AssistSheet({
|
|
|
2919
3328
|
justifyContent: "center",
|
|
2920
3329
|
borderRadius: "50%"
|
|
2921
3330
|
},
|
|
2922
|
-
children: /* @__PURE__ */
|
|
3331
|
+
children: /* @__PURE__ */ jsx3(
|
|
2923
3332
|
"span",
|
|
2924
3333
|
{
|
|
2925
3334
|
"aria-hidden": "true",
|
|
@@ -2935,7 +3344,7 @@ function AssistSheet({
|
|
|
2935
3344
|
alignItems: "center",
|
|
2936
3345
|
justifyContent: "center"
|
|
2937
3346
|
},
|
|
2938
|
-
children: /* @__PURE__ */
|
|
3347
|
+
children: /* @__PURE__ */ jsx3("svg", { width: "8", height: "8", viewBox: "0 0 10 10", fill: "none", children: /* @__PURE__ */ jsx3(
|
|
2939
3348
|
"path",
|
|
2940
3349
|
{
|
|
2941
3350
|
d: "M1 1L9 9M9 1L1 9",
|
|
@@ -2953,7 +3362,7 @@ function AssistSheet({
|
|
|
2953
3362
|
`file-${i}-${file.name}`
|
|
2954
3363
|
);
|
|
2955
3364
|
}),
|
|
2956
|
-
onAddFiles && /* @__PURE__ */
|
|
3365
|
+
onAddFiles && /* @__PURE__ */ jsxs3(
|
|
2957
3366
|
"label",
|
|
2958
3367
|
{
|
|
2959
3368
|
"data-gg-assist-attach": "",
|
|
@@ -2973,7 +3382,7 @@ function AssistSheet({
|
|
|
2973
3382
|
},
|
|
2974
3383
|
children: [
|
|
2975
3384
|
"+",
|
|
2976
|
-
/* @__PURE__ */
|
|
3385
|
+
/* @__PURE__ */ jsx3(
|
|
2977
3386
|
"input",
|
|
2978
3387
|
{
|
|
2979
3388
|
type: "file",
|
|
@@ -2999,7 +3408,7 @@ function AssistSheet({
|
|
|
2999
3408
|
]
|
|
3000
3409
|
}
|
|
3001
3410
|
),
|
|
3002
|
-
readShots.size < screenshots.length && /* @__PURE__ */
|
|
3411
|
+
readShots.size < screenshots.length && /* @__PURE__ */ jsxs3("span", { style: { color: t2.textMuted, fontSize: "11px" }, children: [
|
|
3003
3412
|
readShots.size,
|
|
3004
3413
|
" of ",
|
|
3005
3414
|
screenshots.length,
|
|
@@ -3008,8 +3417,8 @@ function AssistSheet({
|
|
|
3008
3417
|
]
|
|
3009
3418
|
}
|
|
3010
3419
|
),
|
|
3011
|
-
/* @__PURE__ */
|
|
3012
|
-
/* @__PURE__ */
|
|
3420
|
+
/* @__PURE__ */ jsxs3("div", { style: { display: "flex", gap: "8px", alignItems: "flex-end" }, children: [
|
|
3421
|
+
/* @__PURE__ */ jsx3(
|
|
3013
3422
|
"textarea",
|
|
3014
3423
|
{
|
|
3015
3424
|
value: input,
|
|
@@ -3045,7 +3454,7 @@ function AssistSheet({
|
|
|
3045
3454
|
}
|
|
3046
3455
|
}
|
|
3047
3456
|
),
|
|
3048
|
-
/* @__PURE__ */
|
|
3457
|
+
/* @__PURE__ */ jsx3(
|
|
3049
3458
|
"button",
|
|
3050
3459
|
{
|
|
3051
3460
|
type: "button",
|
|
@@ -3067,7 +3476,7 @@ function AssistSheet({
|
|
|
3067
3476
|
color: busy || !input.trim() ? t2.textMuted : t2.accentText,
|
|
3068
3477
|
cursor: busy || !input.trim() ? "default" : "pointer"
|
|
3069
3478
|
},
|
|
3070
|
-
children: /* @__PURE__ */
|
|
3479
|
+
children: /* @__PURE__ */ jsx3("svg", { width: "17", height: "17", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx3(
|
|
3071
3480
|
"path",
|
|
3072
3481
|
{
|
|
3073
3482
|
d: "M3 20.5L21.5 12 3 3.5V10l12 2-12 2v6.5z",
|
|
@@ -3077,8 +3486,8 @@ function AssistSheet({
|
|
|
3077
3486
|
}
|
|
3078
3487
|
)
|
|
3079
3488
|
] }),
|
|
3080
|
-
phase === "draft" && /* @__PURE__ */
|
|
3081
|
-
validationError && /* @__PURE__ */
|
|
3489
|
+
phase === "draft" && /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
3490
|
+
validationError && /* @__PURE__ */ jsx3(
|
|
3082
3491
|
"p",
|
|
3083
3492
|
{
|
|
3084
3493
|
style: {
|
|
@@ -3092,9 +3501,11 @@ function AssistSheet({
|
|
|
3092
3501
|
autoFileLeft !== null ? (
|
|
3093
3502
|
// #402: "Yes, that's it" was the confirmation. The draft
|
|
3094
3503
|
// files itself unless they stop it — the bar shows how
|
|
3095
|
-
// long is left, the button sends now
|
|
3096
|
-
|
|
3097
|
-
|
|
3504
|
+
// long is left, the button sends now, the × on its right
|
|
3505
|
+
// stops it (#406). Stopping keeps the draft: Send Report
|
|
3506
|
+
// comes back, and closing the sheet drops it.
|
|
3507
|
+
/* @__PURE__ */ jsxs3("div", { style: { display: "flex", gap: "8px", marginTop: "8px" }, children: [
|
|
3508
|
+
/* @__PURE__ */ jsxs3(
|
|
3098
3509
|
"button",
|
|
3099
3510
|
{
|
|
3100
3511
|
type: "button",
|
|
@@ -3117,7 +3528,7 @@ function AssistSheet({
|
|
|
3117
3528
|
cursor: "pointer"
|
|
3118
3529
|
},
|
|
3119
3530
|
children: [
|
|
3120
|
-
/* @__PURE__ */
|
|
3531
|
+
/* @__PURE__ */ jsx3(
|
|
3121
3532
|
"span",
|
|
3122
3533
|
{
|
|
3123
3534
|
"aria-hidden": "true",
|
|
@@ -3130,7 +3541,7 @@ function AssistSheet({
|
|
|
3130
3541
|
}
|
|
3131
3542
|
}
|
|
3132
3543
|
),
|
|
3133
|
-
/* @__PURE__ */
|
|
3544
|
+
/* @__PURE__ */ jsxs3("span", { style: { position: "relative" }, children: [
|
|
3134
3545
|
"Filing in ",
|
|
3135
3546
|
autoFileLeft,
|
|
3136
3547
|
"s\u2026"
|
|
@@ -3138,33 +3549,39 @@ function AssistSheet({
|
|
|
3138
3549
|
]
|
|
3139
3550
|
}
|
|
3140
3551
|
),
|
|
3141
|
-
/* @__PURE__ */
|
|
3552
|
+
/* @__PURE__ */ jsx3(
|
|
3142
3553
|
"button",
|
|
3143
3554
|
{
|
|
3144
3555
|
type: "button",
|
|
3145
|
-
"data-gg-
|
|
3146
|
-
onClick: () =>
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
(_a = draftRef.current) == null ? void 0 : _a.focus();
|
|
3150
|
-
},
|
|
3556
|
+
"data-gg-stop-auto-file": "",
|
|
3557
|
+
onClick: () => stopAutoFile("pressed stop"),
|
|
3558
|
+
"aria-label": "Stop \u2014 don't send",
|
|
3559
|
+
title: "Stop \u2014 don't send",
|
|
3151
3560
|
style: {
|
|
3152
3561
|
flexShrink: 0,
|
|
3153
|
-
|
|
3562
|
+
width: "44px",
|
|
3154
3563
|
borderRadius: "10px",
|
|
3155
3564
|
border: `1px solid ${t2.inputBorder}`,
|
|
3156
3565
|
background: "transparent",
|
|
3157
3566
|
color: t2.text,
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
|
|
3567
|
+
display: "inline-flex",
|
|
3568
|
+
alignItems: "center",
|
|
3569
|
+
justifyContent: "center",
|
|
3161
3570
|
cursor: "pointer"
|
|
3162
3571
|
},
|
|
3163
|
-
children: "
|
|
3572
|
+
children: /* @__PURE__ */ jsx3("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx3(
|
|
3573
|
+
"path",
|
|
3574
|
+
{
|
|
3575
|
+
d: "M6 6l12 12M18 6L6 18",
|
|
3576
|
+
stroke: "currentColor",
|
|
3577
|
+
strokeWidth: "2.25",
|
|
3578
|
+
strokeLinecap: "round"
|
|
3579
|
+
}
|
|
3580
|
+
) })
|
|
3164
3581
|
}
|
|
3165
3582
|
)
|
|
3166
3583
|
] })
|
|
3167
|
-
) : /* @__PURE__ */
|
|
3584
|
+
) : /* @__PURE__ */ jsx3(
|
|
3168
3585
|
"button",
|
|
3169
3586
|
{
|
|
3170
3587
|
type: "button",
|
|
@@ -3190,7 +3607,7 @@ function AssistSheet({
|
|
|
3190
3607
|
] })
|
|
3191
3608
|
] })
|
|
3192
3609
|
),
|
|
3193
|
-
phase === "chat" && messages.length > 0 && /* @__PURE__ */
|
|
3610
|
+
phase === "chat" && messages.length > 0 && /* @__PURE__ */ jsx3(
|
|
3194
3611
|
"button",
|
|
3195
3612
|
{
|
|
3196
3613
|
type: "button",
|
|
@@ -3210,7 +3627,7 @@ function AssistSheet({
|
|
|
3210
3627
|
children: "Not getting it? Fill the form yourself \u2192"
|
|
3211
3628
|
}
|
|
3212
3629
|
),
|
|
3213
|
-
onReportGlitchgrabProblem && phase !== "solved" && !glitchgrabOffer && /* @__PURE__ */
|
|
3630
|
+
onReportGlitchgrabProblem && phase !== "solved" && !glitchgrabOffer && /* @__PURE__ */ jsx3(
|
|
3214
3631
|
"button",
|
|
3215
3632
|
{
|
|
3216
3633
|
type: "button",
|
|
@@ -3373,7 +3790,7 @@ function GlitchgrabProblemPanel({
|
|
|
3373
3790
|
// `data-glitchgrab-layer` exempts this from the dialog's anti-focus-trap
|
|
3374
3791
|
// sweep, which sets `inert` on every other role="dialog" on the page —
|
|
3375
3792
|
// without it the panel renders but cannot be typed into.
|
|
3376
|
-
/* @__PURE__ */
|
|
3793
|
+
/* @__PURE__ */ jsx4(
|
|
3377
3794
|
"div",
|
|
3378
3795
|
{
|
|
3379
3796
|
"data-glitchgrab-layer": "",
|
|
@@ -3393,7 +3810,7 @@ function GlitchgrabProblemPanel({
|
|
|
3393
3810
|
boxSizing: "border-box",
|
|
3394
3811
|
fontFamily: FONT
|
|
3395
3812
|
},
|
|
3396
|
-
children: /* @__PURE__ */
|
|
3813
|
+
children: /* @__PURE__ */ jsx4(
|
|
3397
3814
|
"div",
|
|
3398
3815
|
{
|
|
3399
3816
|
style: {
|
|
@@ -3407,10 +3824,10 @@ function GlitchgrabProblemPanel({
|
|
|
3407
3824
|
boxShadow: "0 20px 50px rgba(0,0,0,0.5)",
|
|
3408
3825
|
padding: "18px"
|
|
3409
3826
|
},
|
|
3410
|
-
children: sent ? /* @__PURE__ */
|
|
3411
|
-
/* @__PURE__ */
|
|
3412
|
-
/* @__PURE__ */
|
|
3413
|
-
/* @__PURE__ */
|
|
3827
|
+
children: sent ? /* @__PURE__ */ jsxs4(Fragment3, { children: [
|
|
3828
|
+
/* @__PURE__ */ jsx4("div", { id: "gg-self-report-title", style: { fontSize: "15px", fontWeight: 600 }, children: "Sent to the Glitchgrab team" }),
|
|
3829
|
+
/* @__PURE__ */ jsx4("p", { style: { margin: "6px 0 16px", fontSize: "13px", lineHeight: 1.5, color: t2.textMuted }, children: "Thanks \u2014 we'll look into it. Your report is still open behind this, exactly as you left it." }),
|
|
3830
|
+
/* @__PURE__ */ jsx4(
|
|
3414
3831
|
"button",
|
|
3415
3832
|
{
|
|
3416
3833
|
type: "button",
|
|
@@ -3420,8 +3837,8 @@ function GlitchgrabProblemPanel({
|
|
|
3420
3837
|
children: "Back to your report"
|
|
3421
3838
|
}
|
|
3422
3839
|
)
|
|
3423
|
-
] }) : /* @__PURE__ */
|
|
3424
|
-
/* @__PURE__ */
|
|
3840
|
+
] }) : /* @__PURE__ */ jsxs4(Fragment3, { children: [
|
|
3841
|
+
/* @__PURE__ */ jsxs4(
|
|
3425
3842
|
"div",
|
|
3426
3843
|
{
|
|
3427
3844
|
style: {
|
|
@@ -3431,8 +3848,8 @@ function GlitchgrabProblemPanel({
|
|
|
3431
3848
|
gap: "12px"
|
|
3432
3849
|
},
|
|
3433
3850
|
children: [
|
|
3434
|
-
/* @__PURE__ */
|
|
3435
|
-
/* @__PURE__ */
|
|
3851
|
+
/* @__PURE__ */ jsx4("div", { id: "gg-self-report-title", style: { fontSize: "15px", fontWeight: 600 }, children: "Problem with Glitchgrab?" }),
|
|
3852
|
+
/* @__PURE__ */ jsx4(
|
|
3436
3853
|
"button",
|
|
3437
3854
|
{
|
|
3438
3855
|
type: "button",
|
|
@@ -3454,8 +3871,8 @@ function GlitchgrabProblemPanel({
|
|
|
3454
3871
|
]
|
|
3455
3872
|
}
|
|
3456
3873
|
),
|
|
3457
|
-
/* @__PURE__ */
|
|
3458
|
-
/* @__PURE__ */
|
|
3874
|
+
/* @__PURE__ */ jsx4("p", { style: { margin: "6px 0 12px", fontSize: "13px", lineHeight: 1.5, color: t2.textMuted }, children: "This goes to the people who build this reporter \u2014 not to this project's team. Tell us what went wrong: the AI chat, a button, anything." }),
|
|
3875
|
+
/* @__PURE__ */ jsx4(
|
|
3459
3876
|
"textarea",
|
|
3460
3877
|
{
|
|
3461
3878
|
ref: inputRef,
|
|
@@ -3489,7 +3906,7 @@ function GlitchgrabProblemPanel({
|
|
|
3489
3906
|
}
|
|
3490
3907
|
}
|
|
3491
3908
|
),
|
|
3492
|
-
/* @__PURE__ */
|
|
3909
|
+
/* @__PURE__ */ jsxs4(
|
|
3493
3910
|
"div",
|
|
3494
3911
|
{
|
|
3495
3912
|
"data-gg-self-report-images": "",
|
|
@@ -3501,8 +3918,8 @@ function GlitchgrabProblemPanel({
|
|
|
3501
3918
|
marginTop: "10px"
|
|
3502
3919
|
},
|
|
3503
3920
|
children: [
|
|
3504
|
-
images.map((src, i) => /* @__PURE__ */
|
|
3505
|
-
/* @__PURE__ */
|
|
3921
|
+
images.map((src, i) => /* @__PURE__ */ jsxs4("div", { style: { position: "relative", width: "48px", height: "48px" }, children: [
|
|
3922
|
+
/* @__PURE__ */ jsx4(
|
|
3506
3923
|
"img",
|
|
3507
3924
|
{
|
|
3508
3925
|
src,
|
|
@@ -3518,7 +3935,7 @@ function GlitchgrabProblemPanel({
|
|
|
3518
3935
|
}
|
|
3519
3936
|
}
|
|
3520
3937
|
),
|
|
3521
|
-
/* @__PURE__ */
|
|
3938
|
+
/* @__PURE__ */ jsx4(
|
|
3522
3939
|
"button",
|
|
3523
3940
|
{
|
|
3524
3941
|
type: "button",
|
|
@@ -3541,7 +3958,7 @@ function GlitchgrabProblemPanel({
|
|
|
3541
3958
|
justifyContent: "center",
|
|
3542
3959
|
borderRadius: "50%"
|
|
3543
3960
|
},
|
|
3544
|
-
children: /* @__PURE__ */
|
|
3961
|
+
children: /* @__PURE__ */ jsx4(
|
|
3545
3962
|
"span",
|
|
3546
3963
|
{
|
|
3547
3964
|
"aria-hidden": "true",
|
|
@@ -3557,7 +3974,7 @@ function GlitchgrabProblemPanel({
|
|
|
3557
3974
|
alignItems: "center",
|
|
3558
3975
|
justifyContent: "center"
|
|
3559
3976
|
},
|
|
3560
|
-
children: /* @__PURE__ */
|
|
3977
|
+
children: /* @__PURE__ */ jsx4("svg", { width: "8", height: "8", viewBox: "0 0 10 10", fill: "none", children: /* @__PURE__ */ jsx4(
|
|
3561
3978
|
"path",
|
|
3562
3979
|
{
|
|
3563
3980
|
d: "M1 1L9 9M9 1L1 9",
|
|
@@ -3571,7 +3988,7 @@ function GlitchgrabProblemPanel({
|
|
|
3571
3988
|
}
|
|
3572
3989
|
)
|
|
3573
3990
|
] }, i)),
|
|
3574
|
-
images.length < MAX_SELF_REPORT_IMAGES && /* @__PURE__ */
|
|
3991
|
+
images.length < MAX_SELF_REPORT_IMAGES && /* @__PURE__ */ jsx4(
|
|
3575
3992
|
"button",
|
|
3576
3993
|
{
|
|
3577
3994
|
type: "button",
|
|
@@ -3598,7 +4015,7 @@ function GlitchgrabProblemPanel({
|
|
|
3598
4015
|
children: images.length >= 3 ? "+ Add" : "+ Add screenshot"
|
|
3599
4016
|
}
|
|
3600
4017
|
),
|
|
3601
|
-
/* @__PURE__ */
|
|
4018
|
+
/* @__PURE__ */ jsx4(
|
|
3602
4019
|
"input",
|
|
3603
4020
|
{
|
|
3604
4021
|
ref: fileRef,
|
|
@@ -3617,7 +4034,7 @@ function GlitchgrabProblemPanel({
|
|
|
3617
4034
|
]
|
|
3618
4035
|
}
|
|
3619
4036
|
),
|
|
3620
|
-
/* @__PURE__ */
|
|
4037
|
+
/* @__PURE__ */ jsxs4(
|
|
3621
4038
|
"p",
|
|
3622
4039
|
{
|
|
3623
4040
|
"data-gg-self-report-includes": "",
|
|
@@ -3630,10 +4047,10 @@ function GlitchgrabProblemPanel({
|
|
|
3630
4047
|
]
|
|
3631
4048
|
}
|
|
3632
4049
|
),
|
|
3633
|
-
error && /* @__PURE__ */
|
|
3634
|
-
/* @__PURE__ */
|
|
3635
|
-
/* @__PURE__ */
|
|
3636
|
-
/* @__PURE__ */
|
|
4050
|
+
error && /* @__PURE__ */ jsx4("p", { role: "alert", style: { margin: "8px 0 0", fontSize: "12px", color: "#ef4444" }, children: error }),
|
|
4051
|
+
/* @__PURE__ */ jsxs4("div", { style: { display: "flex", justifyContent: "flex-end", gap: "8px", marginTop: "14px" }, children: [
|
|
4052
|
+
/* @__PURE__ */ jsx4("button", { type: "button", onClick: onClose, style: secondaryButton, children: "Cancel" }),
|
|
4053
|
+
/* @__PURE__ */ jsx4(
|
|
3637
4054
|
"button",
|
|
3638
4055
|
{
|
|
3639
4056
|
type: "button",
|
|
@@ -3812,7 +4229,7 @@ var SHOT_WAIT_MS = 3e3;
|
|
|
3812
4229
|
var SIMILAR_WAIT_MS = 2500;
|
|
3813
4230
|
var MAX_SIMILAR_SHOWN = 3;
|
|
3814
4231
|
function ButtonSpinner() {
|
|
3815
|
-
return /* @__PURE__ */
|
|
4232
|
+
return /* @__PURE__ */ jsx5(
|
|
3816
4233
|
"span",
|
|
3817
4234
|
{
|
|
3818
4235
|
"aria-hidden": "true",
|
|
@@ -3964,13 +4381,13 @@ function ReporterChip({
|
|
|
3964
4381
|
const label = isAnonymous ? "Anonymous" : name;
|
|
3965
4382
|
const title = isAnonymous ? "No reporter identity was passed to Glitchgrab \u2014 this report won't be attributed to anyone" : [name, reporter == null ? void 0 : reporter.email, reporter == null ? void 0 : reporter.role].filter(Boolean).join(" \xB7 ");
|
|
3966
4383
|
const showAvatarImage = !!avatarUrl && !avatarFailed;
|
|
3967
|
-
return /* @__PURE__ */
|
|
4384
|
+
return /* @__PURE__ */ jsxs5(
|
|
3968
4385
|
"span",
|
|
3969
4386
|
{
|
|
3970
4387
|
title,
|
|
3971
4388
|
style: { display: "flex", alignItems: "center", gap: "6px", minWidth: 0 },
|
|
3972
4389
|
children: [
|
|
3973
|
-
/* @__PURE__ */
|
|
4390
|
+
/* @__PURE__ */ jsx5(
|
|
3974
4391
|
"span",
|
|
3975
4392
|
{
|
|
3976
4393
|
"aria-hidden": "true",
|
|
@@ -3990,7 +4407,7 @@ function ReporterChip({
|
|
|
3990
4407
|
color: isAnonymous ? t2.textMuted : t2.accentText,
|
|
3991
4408
|
border: `1px solid ${isAnonymous ? t2.inputBorder : "transparent"}`
|
|
3992
4409
|
},
|
|
3993
|
-
children: showAvatarImage ? /* @__PURE__ */
|
|
4410
|
+
children: showAvatarImage ? /* @__PURE__ */ jsx5(
|
|
3994
4411
|
"img",
|
|
3995
4412
|
{
|
|
3996
4413
|
src: avatarUrl,
|
|
@@ -4000,9 +4417,9 @@ function ReporterChip({
|
|
|
4000
4417
|
onError: () => setAvatarFailed(true),
|
|
4001
4418
|
style: { width: "100%", height: "100%", objectFit: "cover" }
|
|
4002
4419
|
}
|
|
4003
|
-
) : initials ? initials : /* @__PURE__ */
|
|
4004
|
-
/* @__PURE__ */
|
|
4005
|
-
/* @__PURE__ */
|
|
4420
|
+
) : initials ? initials : /* @__PURE__ */ jsxs5("svg", { width: "10", height: "10", viewBox: "0 0 16 16", fill: "none", children: [
|
|
4421
|
+
/* @__PURE__ */ jsx5("circle", { cx: "8", cy: "5.5", r: "2.75", stroke: "currentColor", strokeWidth: "1.4" }),
|
|
4422
|
+
/* @__PURE__ */ jsx5(
|
|
4006
4423
|
"path",
|
|
4007
4424
|
{
|
|
4008
4425
|
d: "M2.75 13.5c0-2.35 2.35-3.75 5.25-3.75s5.25 1.4 5.25 3.75",
|
|
@@ -4014,7 +4431,7 @@ function ReporterChip({
|
|
|
4014
4431
|
] })
|
|
4015
4432
|
}
|
|
4016
4433
|
),
|
|
4017
|
-
/* @__PURE__ */
|
|
4434
|
+
/* @__PURE__ */ jsxs5(
|
|
4018
4435
|
"span",
|
|
4019
4436
|
{
|
|
4020
4437
|
style: {
|
|
@@ -4904,9 +5321,9 @@ function ReportDialog({
|
|
|
4904
5321
|
}
|
|
4905
5322
|
};
|
|
4906
5323
|
if (!mounted) return null;
|
|
4907
|
-
return /* @__PURE__ */
|
|
5324
|
+
return /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
|
4908
5325
|
isOpen && createPortal3(
|
|
4909
|
-
/* @__PURE__ */
|
|
5326
|
+
/* @__PURE__ */ jsx5("style", { children: `
|
|
4910
5327
|
@keyframes gg-pulse{0%,100%{opacity:1}50%{opacity:0.35}}
|
|
4911
5328
|
@keyframes gg-spin{to{transform:rotate(360deg)}}
|
|
4912
5329
|
@keyframes gg-b1{0%,100%{height:3px}40%{height:13px}}
|
|
@@ -4944,7 +5361,7 @@ function ReportDialog({
|
|
|
4944
5361
|
document.body
|
|
4945
5362
|
),
|
|
4946
5363
|
isOpen && createPortal3(
|
|
4947
|
-
/* @__PURE__ */
|
|
5364
|
+
/* @__PURE__ */ jsx5(
|
|
4948
5365
|
"div",
|
|
4949
5366
|
{
|
|
4950
5367
|
"data-glitchgrab-layer": "",
|
|
@@ -4967,7 +5384,7 @@ function ReportDialog({
|
|
|
4967
5384
|
},
|
|
4968
5385
|
onPointerDown: (e) => e.stopPropagation(),
|
|
4969
5386
|
onFocus: (e) => e.stopPropagation(),
|
|
4970
|
-
children: /* @__PURE__ */
|
|
5387
|
+
children: /* @__PURE__ */ jsxs5(
|
|
4971
5388
|
"div",
|
|
4972
5389
|
{
|
|
4973
5390
|
ref: modalRef,
|
|
@@ -4993,7 +5410,7 @@ function ReportDialog({
|
|
|
4993
5410
|
isolation: "isolate"
|
|
4994
5411
|
},
|
|
4995
5412
|
children: [
|
|
4996
|
-
/* @__PURE__ */
|
|
5413
|
+
/* @__PURE__ */ jsxs5(
|
|
4997
5414
|
"div",
|
|
4998
5415
|
{
|
|
4999
5416
|
style: {
|
|
@@ -5002,7 +5419,7 @@ function ReportDialog({
|
|
|
5002
5419
|
borderBottom: `1px solid ${t2.border}`
|
|
5003
5420
|
},
|
|
5004
5421
|
children: [
|
|
5005
|
-
/* @__PURE__ */
|
|
5422
|
+
/* @__PURE__ */ jsxs5(
|
|
5006
5423
|
"div",
|
|
5007
5424
|
{
|
|
5008
5425
|
style: {
|
|
@@ -5011,7 +5428,7 @@ function ReportDialog({
|
|
|
5011
5428
|
alignItems: "center"
|
|
5012
5429
|
},
|
|
5013
5430
|
children: [
|
|
5014
|
-
/* @__PURE__ */
|
|
5431
|
+
/* @__PURE__ */ jsxs5(
|
|
5015
5432
|
"div",
|
|
5016
5433
|
{
|
|
5017
5434
|
style: {
|
|
@@ -5020,7 +5437,7 @@ function ReportDialog({
|
|
|
5020
5437
|
gap: "8px"
|
|
5021
5438
|
},
|
|
5022
5439
|
children: [
|
|
5023
|
-
step > 1 && availableTypes.length > 1 && /* @__PURE__ */
|
|
5440
|
+
step > 1 && availableTypes.length > 1 && /* @__PURE__ */ jsx5(
|
|
5024
5441
|
"button",
|
|
5025
5442
|
{
|
|
5026
5443
|
type: "button",
|
|
@@ -5034,14 +5451,14 @@ function ReportDialog({
|
|
|
5034
5451
|
alignItems: "center"
|
|
5035
5452
|
},
|
|
5036
5453
|
"aria-label": "Back",
|
|
5037
|
-
children: /* @__PURE__ */
|
|
5454
|
+
children: /* @__PURE__ */ jsx5(
|
|
5038
5455
|
"svg",
|
|
5039
5456
|
{
|
|
5040
5457
|
width: "16",
|
|
5041
5458
|
height: "16",
|
|
5042
5459
|
viewBox: "0 0 16 16",
|
|
5043
5460
|
fill: "none",
|
|
5044
|
-
children: /* @__PURE__ */
|
|
5461
|
+
children: /* @__PURE__ */ jsx5(
|
|
5045
5462
|
"path",
|
|
5046
5463
|
{
|
|
5047
5464
|
d: "M10 3L5 8L10 13",
|
|
@@ -5055,7 +5472,7 @@ function ReportDialog({
|
|
|
5055
5472
|
)
|
|
5056
5473
|
}
|
|
5057
5474
|
),
|
|
5058
|
-
/* @__PURE__ */
|
|
5475
|
+
/* @__PURE__ */ jsx5(
|
|
5059
5476
|
"span",
|
|
5060
5477
|
{
|
|
5061
5478
|
style: {
|
|
@@ -5069,7 +5486,7 @@ function ReportDialog({
|
|
|
5069
5486
|
]
|
|
5070
5487
|
}
|
|
5071
5488
|
),
|
|
5072
|
-
/* @__PURE__ */
|
|
5489
|
+
/* @__PURE__ */ jsxs5(
|
|
5073
5490
|
"div",
|
|
5074
5491
|
{
|
|
5075
5492
|
style: {
|
|
@@ -5078,7 +5495,7 @@ function ReportDialog({
|
|
|
5078
5495
|
gap: "8px"
|
|
5079
5496
|
},
|
|
5080
5497
|
children: [
|
|
5081
|
-
step === 1 && /* @__PURE__ */
|
|
5498
|
+
step === 1 && /* @__PURE__ */ jsx5(
|
|
5082
5499
|
"span",
|
|
5083
5500
|
{
|
|
5084
5501
|
title: "Press this anywhere to open Glitchgrab",
|
|
@@ -5096,7 +5513,7 @@ function ReportDialog({
|
|
|
5096
5513
|
children: getShortcutLabel()
|
|
5097
5514
|
}
|
|
5098
5515
|
),
|
|
5099
|
-
/* @__PURE__ */
|
|
5516
|
+
/* @__PURE__ */ jsx5(
|
|
5100
5517
|
"button",
|
|
5101
5518
|
{
|
|
5102
5519
|
type: "button",
|
|
@@ -5111,7 +5528,7 @@ function ReportDialog({
|
|
|
5111
5528
|
justifyContent: "center"
|
|
5112
5529
|
},
|
|
5113
5530
|
"aria-label": "Close",
|
|
5114
|
-
children: /* @__PURE__ */
|
|
5531
|
+
children: /* @__PURE__ */ jsx5(
|
|
5115
5532
|
"svg",
|
|
5116
5533
|
{
|
|
5117
5534
|
width: "16",
|
|
@@ -5119,7 +5536,7 @@ function ReportDialog({
|
|
|
5119
5536
|
viewBox: "0 0 16 16",
|
|
5120
5537
|
fill: "none",
|
|
5121
5538
|
style: { display: "block" },
|
|
5122
|
-
children: /* @__PURE__ */
|
|
5539
|
+
children: /* @__PURE__ */ jsx5(
|
|
5123
5540
|
"path",
|
|
5124
5541
|
{
|
|
5125
5542
|
d: "M4 4L12 12M12 4L4 12",
|
|
@@ -5138,7 +5555,7 @@ function ReportDialog({
|
|
|
5138
5555
|
]
|
|
5139
5556
|
}
|
|
5140
5557
|
),
|
|
5141
|
-
availableTypes.length > 1 && /* @__PURE__ */
|
|
5558
|
+
availableTypes.length > 1 && /* @__PURE__ */ jsx5(
|
|
5142
5559
|
"div",
|
|
5143
5560
|
{
|
|
5144
5561
|
style: {
|
|
@@ -5148,12 +5565,12 @@ function ReportDialog({
|
|
|
5148
5565
|
gap: "0",
|
|
5149
5566
|
marginTop: "12px"
|
|
5150
5567
|
},
|
|
5151
|
-
children: [1, 2].map((s, i) => /* @__PURE__ */
|
|
5568
|
+
children: [1, 2].map((s, i) => /* @__PURE__ */ jsxs5(
|
|
5152
5569
|
"div",
|
|
5153
5570
|
{
|
|
5154
5571
|
style: { display: "flex", alignItems: "center" },
|
|
5155
5572
|
children: [
|
|
5156
|
-
/* @__PURE__ */
|
|
5573
|
+
/* @__PURE__ */ jsx5(
|
|
5157
5574
|
"div",
|
|
5158
5575
|
{
|
|
5159
5576
|
style: {
|
|
@@ -5165,7 +5582,7 @@ function ReportDialog({
|
|
|
5165
5582
|
}
|
|
5166
5583
|
}
|
|
5167
5584
|
),
|
|
5168
|
-
i < 1 && /* @__PURE__ */
|
|
5585
|
+
i < 1 && /* @__PURE__ */ jsx5(
|
|
5169
5586
|
"div",
|
|
5170
5587
|
{
|
|
5171
5588
|
style: {
|
|
@@ -5185,7 +5602,7 @@ function ReportDialog({
|
|
|
5185
5602
|
]
|
|
5186
5603
|
}
|
|
5187
5604
|
),
|
|
5188
|
-
/* @__PURE__ */
|
|
5605
|
+
/* @__PURE__ */ jsx5(
|
|
5189
5606
|
"div",
|
|
5190
5607
|
{
|
|
5191
5608
|
style: {
|
|
@@ -5194,7 +5611,7 @@ function ReportDialog({
|
|
|
5194
5611
|
flex: "1 1 auto",
|
|
5195
5612
|
minHeight: 0
|
|
5196
5613
|
},
|
|
5197
|
-
children: submitted ? /* @__PURE__ */
|
|
5614
|
+
children: submitted ? /* @__PURE__ */ jsx5(
|
|
5198
5615
|
"div",
|
|
5199
5616
|
{
|
|
5200
5617
|
style: {
|
|
@@ -5204,7 +5621,7 @@ function ReportDialog({
|
|
|
5204
5621
|
fontSize: "14px",
|
|
5205
5622
|
fontWeight: 500
|
|
5206
5623
|
},
|
|
5207
|
-
children: queuedMessage ? /* @__PURE__ */
|
|
5624
|
+
children: queuedMessage ? /* @__PURE__ */ jsx5(
|
|
5208
5625
|
"span",
|
|
5209
5626
|
{
|
|
5210
5627
|
style: {
|
|
@@ -5217,9 +5634,9 @@ function ReportDialog({
|
|
|
5217
5634
|
}
|
|
5218
5635
|
) : addedToIssue ? `Added to #${addedToIssue}${addedAsRelated ? " as a related request" : ""}. Thank you!` : `${getTypeLabel(reportType)} sent. Thank you!`
|
|
5219
5636
|
}
|
|
5220
|
-
) : /* @__PURE__ */
|
|
5221
|
-
step === 1 && headerSlot ? /* @__PURE__ */
|
|
5222
|
-
step === 1 && sendFeedback2 && /* @__PURE__ */
|
|
5637
|
+
) : /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
|
5638
|
+
step === 1 && headerSlot ? /* @__PURE__ */ jsx5("div", { style: { marginBottom: "14px" }, children: headerSlot }) : null,
|
|
5639
|
+
step === 1 && sendFeedback2 && /* @__PURE__ */ jsxs5(
|
|
5223
5640
|
"div",
|
|
5224
5641
|
{
|
|
5225
5642
|
style: {
|
|
@@ -5236,16 +5653,16 @@ function ReportDialog({
|
|
|
5236
5653
|
},
|
|
5237
5654
|
onMouseLeave: () => setHoveredStar(0),
|
|
5238
5655
|
children: [
|
|
5239
|
-
/* @__PURE__ */
|
|
5656
|
+
/* @__PURE__ */ jsx5(
|
|
5240
5657
|
"span",
|
|
5241
5658
|
{
|
|
5242
5659
|
style: { fontSize: "13px", fontWeight: 600, color: t2.text },
|
|
5243
5660
|
children: "How are we doing?"
|
|
5244
5661
|
}
|
|
5245
5662
|
),
|
|
5246
|
-
/* @__PURE__ */
|
|
5663
|
+
/* @__PURE__ */ jsx5("span", { style: { display: "flex", gap: "4px" }, children: [1, 2, 3, 4, 5].map((star) => {
|
|
5247
5664
|
const filled = star <= (hoveredStar || rating);
|
|
5248
|
-
return /* @__PURE__ */
|
|
5665
|
+
return /* @__PURE__ */ jsx5(
|
|
5249
5666
|
"button",
|
|
5250
5667
|
{
|
|
5251
5668
|
type: "button",
|
|
@@ -5266,7 +5683,7 @@ function ReportDialog({
|
|
|
5266
5683
|
cursor: "pointer",
|
|
5267
5684
|
lineHeight: 0
|
|
5268
5685
|
},
|
|
5269
|
-
children: /* @__PURE__ */
|
|
5686
|
+
children: /* @__PURE__ */ jsx5("svg", { width: "26", height: "26", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ jsx5(
|
|
5270
5687
|
"path",
|
|
5271
5688
|
{
|
|
5272
5689
|
d: "M12 3l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.4 6.8 19.1l1-5.8L3.5 9.2l5.9-.9L12 3z",
|
|
@@ -5283,7 +5700,7 @@ function ReportDialog({
|
|
|
5283
5700
|
]
|
|
5284
5701
|
}
|
|
5285
5702
|
),
|
|
5286
|
-
step === 1 && sendFeedback2 && /* @__PURE__ */
|
|
5703
|
+
step === 1 && sendFeedback2 && /* @__PURE__ */ jsxs5(
|
|
5287
5704
|
"div",
|
|
5288
5705
|
{
|
|
5289
5706
|
style: {
|
|
@@ -5293,13 +5710,13 @@ function ReportDialog({
|
|
|
5293
5710
|
marginBottom: "16px"
|
|
5294
5711
|
},
|
|
5295
5712
|
children: [
|
|
5296
|
-
/* @__PURE__ */
|
|
5297
|
-
/* @__PURE__ */
|
|
5298
|
-
/* @__PURE__ */
|
|
5713
|
+
/* @__PURE__ */ jsx5("span", { style: { flex: 1, height: "1px", background: t2.border } }),
|
|
5714
|
+
/* @__PURE__ */ jsx5("span", { style: { fontSize: "11px", color: t2.textMuted }, children: "or report something" }),
|
|
5715
|
+
/* @__PURE__ */ jsx5("span", { style: { flex: 1, height: "1px", background: t2.border } })
|
|
5299
5716
|
]
|
|
5300
5717
|
}
|
|
5301
5718
|
),
|
|
5302
|
-
step === 1 && screenshots.length > 0 && /* @__PURE__ */
|
|
5719
|
+
step === 1 && screenshots.length > 0 && /* @__PURE__ */ jsxs5(
|
|
5303
5720
|
"div",
|
|
5304
5721
|
{
|
|
5305
5722
|
style: {
|
|
@@ -5313,7 +5730,7 @@ function ReportDialog({
|
|
|
5313
5730
|
background: t2.inputBg
|
|
5314
5731
|
},
|
|
5315
5732
|
children: [
|
|
5316
|
-
/* @__PURE__ */
|
|
5733
|
+
/* @__PURE__ */ jsx5(
|
|
5317
5734
|
"img",
|
|
5318
5735
|
{
|
|
5319
5736
|
src: screenshots[0],
|
|
@@ -5328,8 +5745,8 @@ function ReportDialog({
|
|
|
5328
5745
|
}
|
|
5329
5746
|
}
|
|
5330
5747
|
),
|
|
5331
|
-
/* @__PURE__ */
|
|
5332
|
-
/* @__PURE__ */
|
|
5748
|
+
/* @__PURE__ */ jsx5("span", { style: { fontSize: "11px", color: t2.textMuted, flex: 1 }, children: "Screenshot attached" }),
|
|
5749
|
+
/* @__PURE__ */ jsx5(
|
|
5333
5750
|
"button",
|
|
5334
5751
|
{
|
|
5335
5752
|
type: "button",
|
|
@@ -5350,7 +5767,7 @@ function ReportDialog({
|
|
|
5350
5767
|
]
|
|
5351
5768
|
}
|
|
5352
5769
|
),
|
|
5353
|
-
step === 1 && /* @__PURE__ */
|
|
5770
|
+
step === 1 && /* @__PURE__ */ jsx5(
|
|
5354
5771
|
"div",
|
|
5355
5772
|
{
|
|
5356
5773
|
ref: tileGridRef,
|
|
@@ -5360,7 +5777,7 @@ function ReportDialog({
|
|
|
5360
5777
|
gridTemplateColumns: "1fr 1fr 1fr",
|
|
5361
5778
|
gap: "10px"
|
|
5362
5779
|
},
|
|
5363
|
-
children: availableTypes.map((type) => /* @__PURE__ */
|
|
5780
|
+
children: availableTypes.map((type) => /* @__PURE__ */ jsxs5(
|
|
5364
5781
|
"button",
|
|
5365
5782
|
{
|
|
5366
5783
|
type: "button",
|
|
@@ -5391,7 +5808,7 @@ function ReportDialog({
|
|
|
5391
5808
|
},
|
|
5392
5809
|
children: [
|
|
5393
5810
|
getTypeIcon(type, t2.accent, 22),
|
|
5394
|
-
/* @__PURE__ */
|
|
5811
|
+
/* @__PURE__ */ jsx5(
|
|
5395
5812
|
"span",
|
|
5396
5813
|
{
|
|
5397
5814
|
style: {
|
|
@@ -5409,8 +5826,8 @@ function ReportDialog({
|
|
|
5409
5826
|
))
|
|
5410
5827
|
}
|
|
5411
5828
|
),
|
|
5412
|
-
step === 2 && /* @__PURE__ */
|
|
5413
|
-
/* @__PURE__ */
|
|
5829
|
+
step === 2 && /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
|
5830
|
+
/* @__PURE__ */ jsxs5(
|
|
5414
5831
|
"button",
|
|
5415
5832
|
{
|
|
5416
5833
|
type: "button",
|
|
@@ -5434,11 +5851,11 @@ function ReportDialog({
|
|
|
5434
5851
|
children: [
|
|
5435
5852
|
getTypeIcon(reportType, isRating ? "#f59e0b" : t2.accent, 13),
|
|
5436
5853
|
getTypeLabel(reportType),
|
|
5437
|
-
availableTypes.length > 1 && /* @__PURE__ */
|
|
5854
|
+
availableTypes.length > 1 && /* @__PURE__ */ jsx5("span", { style: { color: t2.textMuted, fontWeight: 400 }, children: "\xB7 change" })
|
|
5438
5855
|
]
|
|
5439
5856
|
}
|
|
5440
5857
|
),
|
|
5441
|
-
isRating && /* @__PURE__ */
|
|
5858
|
+
isRating && /* @__PURE__ */ jsx5(
|
|
5442
5859
|
"div",
|
|
5443
5860
|
{
|
|
5444
5861
|
style: {
|
|
@@ -5449,7 +5866,7 @@ function ReportDialog({
|
|
|
5449
5866
|
onMouseLeave: () => setHoveredStar(0),
|
|
5450
5867
|
children: [1, 2, 3, 4, 5].map((star) => {
|
|
5451
5868
|
const filled = star <= (hoveredStar || rating);
|
|
5452
|
-
return /* @__PURE__ */
|
|
5869
|
+
return /* @__PURE__ */ jsx5(
|
|
5453
5870
|
"button",
|
|
5454
5871
|
{
|
|
5455
5872
|
type: "button",
|
|
@@ -5466,7 +5883,7 @@ function ReportDialog({
|
|
|
5466
5883
|
cursor: "pointer",
|
|
5467
5884
|
lineHeight: 0
|
|
5468
5885
|
},
|
|
5469
|
-
children: /* @__PURE__ */
|
|
5886
|
+
children: /* @__PURE__ */ jsx5("svg", { width: "30", height: "30", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ jsx5(
|
|
5470
5887
|
"path",
|
|
5471
5888
|
{
|
|
5472
5889
|
d: "M12 3l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.4 6.8 19.1l1-5.8L3.5 9.2l5.9-.9L12 3z",
|
|
@@ -5482,7 +5899,7 @@ function ReportDialog({
|
|
|
5482
5899
|
})
|
|
5483
5900
|
}
|
|
5484
5901
|
),
|
|
5485
|
-
assist && !isRating && !assistUsed && /* @__PURE__ */
|
|
5902
|
+
assist && !isRating && !assistUsed && /* @__PURE__ */ jsxs5(
|
|
5486
5903
|
"button",
|
|
5487
5904
|
{
|
|
5488
5905
|
type: "button",
|
|
@@ -5509,7 +5926,7 @@ function ReportDialog({
|
|
|
5509
5926
|
},
|
|
5510
5927
|
title: "Answer a question or two and the assistant writes the report for you",
|
|
5511
5928
|
children: [
|
|
5512
|
-
/* @__PURE__ */
|
|
5929
|
+
/* @__PURE__ */ jsx5("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx5(
|
|
5513
5930
|
"path",
|
|
5514
5931
|
{
|
|
5515
5932
|
d: "M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5L12 3zM19 15l.75 2.25L22 18l-2.25.75L19 21l-.75-2.25L16 18l2.25-.75L19 15z",
|
|
@@ -5522,8 +5939,8 @@ function ReportDialog({
|
|
|
5522
5939
|
]
|
|
5523
5940
|
}
|
|
5524
5941
|
),
|
|
5525
|
-
/* @__PURE__ */
|
|
5526
|
-
/* @__PURE__ */
|
|
5942
|
+
/* @__PURE__ */ jsxs5("div", { style: { position: "relative" }, children: [
|
|
5943
|
+
/* @__PURE__ */ jsx5(
|
|
5527
5944
|
"textarea",
|
|
5528
5945
|
{
|
|
5529
5946
|
ref: textareaRef,
|
|
@@ -5565,7 +5982,7 @@ function ReportDialog({
|
|
|
5565
5982
|
autoFocus: true
|
|
5566
5983
|
}
|
|
5567
5984
|
),
|
|
5568
|
-
(isListening || isTranscribing) && /* @__PURE__ */
|
|
5985
|
+
(isListening || isTranscribing) && /* @__PURE__ */ jsxs5(
|
|
5569
5986
|
"span",
|
|
5570
5987
|
{
|
|
5571
5988
|
style: {
|
|
@@ -5583,7 +6000,7 @@ function ReportDialog({
|
|
|
5583
6000
|
zIndex: 1
|
|
5584
6001
|
},
|
|
5585
6002
|
children: [
|
|
5586
|
-
/* @__PURE__ */
|
|
6003
|
+
/* @__PURE__ */ jsx5(
|
|
5587
6004
|
"span",
|
|
5588
6005
|
{
|
|
5589
6006
|
style: {
|
|
@@ -5598,7 +6015,7 @@ function ReportDialog({
|
|
|
5598
6015
|
}
|
|
5599
6016
|
),
|
|
5600
6017
|
isTranscribing ? "Transcribing\u2026" : "REC",
|
|
5601
|
-
isListening && !isTranscribing && /* @__PURE__ */
|
|
6018
|
+
isListening && !isTranscribing && /* @__PURE__ */ jsx5(
|
|
5602
6019
|
"span",
|
|
5603
6020
|
{
|
|
5604
6021
|
style: {
|
|
@@ -5625,7 +6042,7 @@ function ReportDialog({
|
|
|
5625
6042
|
dur: "0.55s",
|
|
5626
6043
|
delay: "0.15s"
|
|
5627
6044
|
}
|
|
5628
|
-
].map((b, i) => /* @__PURE__ */
|
|
6045
|
+
].map((b, i) => /* @__PURE__ */ jsx5(
|
|
5629
6046
|
"span",
|
|
5630
6047
|
{
|
|
5631
6048
|
style: {
|
|
@@ -5645,7 +6062,7 @@ function ReportDialog({
|
|
|
5645
6062
|
]
|
|
5646
6063
|
}
|
|
5647
6064
|
),
|
|
5648
|
-
enhanceText2 && /* @__PURE__ */
|
|
6065
|
+
enhanceText2 && /* @__PURE__ */ jsxs5(
|
|
5649
6066
|
"button",
|
|
5650
6067
|
{
|
|
5651
6068
|
type: "button",
|
|
@@ -5690,7 +6107,7 @@ function ReportDialog({
|
|
|
5690
6107
|
},
|
|
5691
6108
|
title: "Polish grammar \u2014 preserves your meaning",
|
|
5692
6109
|
children: [
|
|
5693
|
-
/* @__PURE__ */
|
|
6110
|
+
/* @__PURE__ */ jsx5(
|
|
5694
6111
|
"svg",
|
|
5695
6112
|
{
|
|
5696
6113
|
width: "11",
|
|
@@ -5698,7 +6115,7 @@ function ReportDialog({
|
|
|
5698
6115
|
viewBox: "0 0 24 24",
|
|
5699
6116
|
fill: "none",
|
|
5700
6117
|
"aria-hidden": "true",
|
|
5701
|
-
children: /* @__PURE__ */
|
|
6118
|
+
children: /* @__PURE__ */ jsx5(
|
|
5702
6119
|
"path",
|
|
5703
6120
|
{
|
|
5704
6121
|
d: "M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5L12 3zM19 15l.75 2.25L22 18l-2.25.75L19 21l-.75-2.25L16 18l2.25-.75L19 15z",
|
|
@@ -5713,7 +6130,7 @@ function ReportDialog({
|
|
|
5713
6130
|
]
|
|
5714
6131
|
}
|
|
5715
6132
|
),
|
|
5716
|
-
transcribeAudio2 && /* @__PURE__ */
|
|
6133
|
+
transcribeAudio2 && /* @__PURE__ */ jsx5(
|
|
5717
6134
|
"button",
|
|
5718
6135
|
{
|
|
5719
6136
|
type: "button",
|
|
@@ -5739,7 +6156,7 @@ function ReportDialog({
|
|
|
5739
6156
|
padding: 0,
|
|
5740
6157
|
transition: "border-color 0.2s ease, color 0.2s ease"
|
|
5741
6158
|
},
|
|
5742
|
-
children: isListening ? /* @__PURE__ */
|
|
6159
|
+
children: isListening ? /* @__PURE__ */ jsx5(
|
|
5743
6160
|
"svg",
|
|
5744
6161
|
{
|
|
5745
6162
|
width: "12",
|
|
@@ -5747,7 +6164,7 @@ function ReportDialog({
|
|
|
5747
6164
|
viewBox: "0 0 24 24",
|
|
5748
6165
|
fill: "currentColor",
|
|
5749
6166
|
"aria-hidden": "true",
|
|
5750
|
-
children: /* @__PURE__ */
|
|
6167
|
+
children: /* @__PURE__ */ jsx5(
|
|
5751
6168
|
"rect",
|
|
5752
6169
|
{
|
|
5753
6170
|
x: "6",
|
|
@@ -5758,7 +6175,7 @@ function ReportDialog({
|
|
|
5758
6175
|
}
|
|
5759
6176
|
)
|
|
5760
6177
|
}
|
|
5761
|
-
) : /* @__PURE__ */
|
|
6178
|
+
) : /* @__PURE__ */ jsxs5(
|
|
5762
6179
|
"svg",
|
|
5763
6180
|
{
|
|
5764
6181
|
width: "13",
|
|
@@ -5767,7 +6184,7 @@ function ReportDialog({
|
|
|
5767
6184
|
fill: "none",
|
|
5768
6185
|
"aria-hidden": "true",
|
|
5769
6186
|
children: [
|
|
5770
|
-
/* @__PURE__ */
|
|
6187
|
+
/* @__PURE__ */ jsx5(
|
|
5771
6188
|
"rect",
|
|
5772
6189
|
{
|
|
5773
6190
|
x: "9",
|
|
@@ -5779,7 +6196,7 @@ function ReportDialog({
|
|
|
5779
6196
|
strokeWidth: "1.8"
|
|
5780
6197
|
}
|
|
5781
6198
|
),
|
|
5782
|
-
/* @__PURE__ */
|
|
6199
|
+
/* @__PURE__ */ jsx5(
|
|
5783
6200
|
"path",
|
|
5784
6201
|
{
|
|
5785
6202
|
d: "M5 10a7 7 0 0014 0M12 19v3M9 22h6",
|
|
@@ -5794,7 +6211,7 @@ function ReportDialog({
|
|
|
5794
6211
|
}
|
|
5795
6212
|
)
|
|
5796
6213
|
] }),
|
|
5797
|
-
transcribeAudio2 && !isListening && !isTranscribing && !voiceError && /* @__PURE__ */
|
|
6214
|
+
transcribeAudio2 && !isListening && !isTranscribing && !voiceError && /* @__PURE__ */ jsxs5(
|
|
5798
6215
|
"div",
|
|
5799
6216
|
{
|
|
5800
6217
|
style: {
|
|
@@ -5808,16 +6225,16 @@ function ReportDialog({
|
|
|
5808
6225
|
userSelect: "none"
|
|
5809
6226
|
},
|
|
5810
6227
|
children: [
|
|
5811
|
-
/* @__PURE__ */
|
|
5812
|
-
/* @__PURE__ */
|
|
5813
|
-
/* @__PURE__ */
|
|
5814
|
-
/* @__PURE__ */
|
|
6228
|
+
/* @__PURE__ */ jsxs5("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
6229
|
+
/* @__PURE__ */ jsx5("path", { d: "M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z" }),
|
|
6230
|
+
/* @__PURE__ */ jsx5("path", { d: "M19 10v2a7 7 0 0 1-14 0v-2" }),
|
|
6231
|
+
/* @__PURE__ */ jsx5("line", { x1: "12", x2: "12", y1: "19", y2: "22" })
|
|
5815
6232
|
] }),
|
|
5816
6233
|
"Hold Space to speak \u2014 we'll transcribe it"
|
|
5817
6234
|
]
|
|
5818
6235
|
}
|
|
5819
6236
|
),
|
|
5820
|
-
isEnhanced && originalDescription !== null && /* @__PURE__ */
|
|
6237
|
+
isEnhanced && originalDescription !== null && /* @__PURE__ */ jsxs5(
|
|
5821
6238
|
"div",
|
|
5822
6239
|
{
|
|
5823
6240
|
style: {
|
|
@@ -5831,7 +6248,7 @@ function ReportDialog({
|
|
|
5831
6248
|
border: `1px solid ${t2.accent}40`
|
|
5832
6249
|
},
|
|
5833
6250
|
children: [
|
|
5834
|
-
/* @__PURE__ */
|
|
6251
|
+
/* @__PURE__ */ jsx5(
|
|
5835
6252
|
"svg",
|
|
5836
6253
|
{
|
|
5837
6254
|
width: "12",
|
|
@@ -5839,7 +6256,7 @@ function ReportDialog({
|
|
|
5839
6256
|
viewBox: "0 0 24 24",
|
|
5840
6257
|
fill: "none",
|
|
5841
6258
|
style: { flexShrink: 0 },
|
|
5842
|
-
children: /* @__PURE__ */
|
|
6259
|
+
children: /* @__PURE__ */ jsx5(
|
|
5843
6260
|
"path",
|
|
5844
6261
|
{
|
|
5845
6262
|
d: "M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5L12 3z",
|
|
@@ -5850,7 +6267,7 @@ function ReportDialog({
|
|
|
5850
6267
|
)
|
|
5851
6268
|
}
|
|
5852
6269
|
),
|
|
5853
|
-
/* @__PURE__ */
|
|
6270
|
+
/* @__PURE__ */ jsx5(
|
|
5854
6271
|
"span",
|
|
5855
6272
|
{
|
|
5856
6273
|
style: {
|
|
@@ -5861,7 +6278,7 @@ function ReportDialog({
|
|
|
5861
6278
|
children: "AI enhanced"
|
|
5862
6279
|
}
|
|
5863
6280
|
),
|
|
5864
|
-
/* @__PURE__ */
|
|
6281
|
+
/* @__PURE__ */ jsx5(
|
|
5865
6282
|
"button",
|
|
5866
6283
|
{
|
|
5867
6284
|
type: "button",
|
|
@@ -5883,7 +6300,7 @@ function ReportDialog({
|
|
|
5883
6300
|
children: "Keep"
|
|
5884
6301
|
}
|
|
5885
6302
|
),
|
|
5886
|
-
/* @__PURE__ */
|
|
6303
|
+
/* @__PURE__ */ jsx5(
|
|
5887
6304
|
"button",
|
|
5888
6305
|
{
|
|
5889
6306
|
type: "button",
|
|
@@ -5909,7 +6326,7 @@ function ReportDialog({
|
|
|
5909
6326
|
]
|
|
5910
6327
|
}
|
|
5911
6328
|
),
|
|
5912
|
-
voiceError && /* @__PURE__ */
|
|
6329
|
+
voiceError && /* @__PURE__ */ jsx5(
|
|
5913
6330
|
"p",
|
|
5914
6331
|
{
|
|
5915
6332
|
role: "alert",
|
|
@@ -5923,7 +6340,7 @@ function ReportDialog({
|
|
|
5923
6340
|
children: voiceError
|
|
5924
6341
|
}
|
|
5925
6342
|
),
|
|
5926
|
-
assistNotice && /* @__PURE__ */
|
|
6343
|
+
assistNotice && /* @__PURE__ */ jsx5(
|
|
5927
6344
|
"p",
|
|
5928
6345
|
{
|
|
5929
6346
|
style: {
|
|
@@ -5936,8 +6353,8 @@ function ReportDialog({
|
|
|
5936
6353
|
children: assistNotice
|
|
5937
6354
|
}
|
|
5938
6355
|
),
|
|
5939
|
-
!isRating && /* @__PURE__ */
|
|
5940
|
-
/* @__PURE__ */
|
|
6356
|
+
!isRating && /* @__PURE__ */ jsxs5("div", { style: { marginTop: "10px" }, children: [
|
|
6357
|
+
/* @__PURE__ */ jsxs5(
|
|
5941
6358
|
"span",
|
|
5942
6359
|
{
|
|
5943
6360
|
style: {
|
|
@@ -5953,7 +6370,7 @@ function ReportDialog({
|
|
|
5953
6370
|
]
|
|
5954
6371
|
}
|
|
5955
6372
|
),
|
|
5956
|
-
(screenshots.length > 0 || shotPending) && /* @__PURE__ */
|
|
6373
|
+
(screenshots.length > 0 || shotPending) && /* @__PURE__ */ jsxs5(
|
|
5957
6374
|
"div",
|
|
5958
6375
|
{
|
|
5959
6376
|
style: {
|
|
@@ -5963,7 +6380,7 @@ function ReportDialog({
|
|
|
5963
6380
|
marginBottom: "8px"
|
|
5964
6381
|
},
|
|
5965
6382
|
children: [
|
|
5966
|
-
shotPending && /* @__PURE__ */
|
|
6383
|
+
shotPending && /* @__PURE__ */ jsx5(
|
|
5967
6384
|
"div",
|
|
5968
6385
|
{
|
|
5969
6386
|
role: "status",
|
|
@@ -5988,7 +6405,7 @@ function ReportDialog({
|
|
|
5988
6405
|
children: "Capturing\u2026"
|
|
5989
6406
|
}
|
|
5990
6407
|
),
|
|
5991
|
-
screenshots.map((src, i) => /* @__PURE__ */
|
|
6408
|
+
screenshots.map((src, i) => /* @__PURE__ */ jsxs5(
|
|
5992
6409
|
"div",
|
|
5993
6410
|
{
|
|
5994
6411
|
style: {
|
|
@@ -5997,7 +6414,7 @@ function ReportDialog({
|
|
|
5997
6414
|
height: "56px"
|
|
5998
6415
|
},
|
|
5999
6416
|
children: [
|
|
6000
|
-
/* @__PURE__ */
|
|
6417
|
+
/* @__PURE__ */ jsx5(
|
|
6001
6418
|
"img",
|
|
6002
6419
|
{
|
|
6003
6420
|
src,
|
|
@@ -6015,7 +6432,7 @@ function ReportDialog({
|
|
|
6015
6432
|
}
|
|
6016
6433
|
}
|
|
6017
6434
|
),
|
|
6018
|
-
/* @__PURE__ */
|
|
6435
|
+
/* @__PURE__ */ jsx5(
|
|
6019
6436
|
"button",
|
|
6020
6437
|
{
|
|
6021
6438
|
type: "button",
|
|
@@ -6041,14 +6458,14 @@ function ReportDialog({
|
|
|
6041
6458
|
alignItems: "center",
|
|
6042
6459
|
justifyContent: "center"
|
|
6043
6460
|
},
|
|
6044
|
-
children: /* @__PURE__ */
|
|
6461
|
+
children: /* @__PURE__ */ jsx5(
|
|
6045
6462
|
"svg",
|
|
6046
6463
|
{
|
|
6047
6464
|
width: "8",
|
|
6048
6465
|
height: "8",
|
|
6049
6466
|
viewBox: "0 0 10 10",
|
|
6050
6467
|
fill: "none",
|
|
6051
|
-
children: /* @__PURE__ */
|
|
6468
|
+
children: /* @__PURE__ */ jsx5(
|
|
6052
6469
|
"path",
|
|
6053
6470
|
{
|
|
6054
6471
|
d: "M1 1L9 9M9 1L1 9",
|
|
@@ -6061,7 +6478,7 @@ function ReportDialog({
|
|
|
6061
6478
|
)
|
|
6062
6479
|
}
|
|
6063
6480
|
),
|
|
6064
|
-
/* @__PURE__ */
|
|
6481
|
+
/* @__PURE__ */ jsx5(
|
|
6065
6482
|
"button",
|
|
6066
6483
|
{
|
|
6067
6484
|
type: "button",
|
|
@@ -6086,14 +6503,14 @@ function ReportDialog({
|
|
|
6086
6503
|
justifyContent: "center",
|
|
6087
6504
|
boxShadow: "0 2px 8px rgba(0,0,0,0.45)"
|
|
6088
6505
|
},
|
|
6089
|
-
children: /* @__PURE__ */
|
|
6506
|
+
children: /* @__PURE__ */ jsx5(
|
|
6090
6507
|
"svg",
|
|
6091
6508
|
{
|
|
6092
6509
|
width: "12",
|
|
6093
6510
|
height: "12",
|
|
6094
6511
|
viewBox: "0 0 24 24",
|
|
6095
6512
|
fill: "none",
|
|
6096
|
-
children: /* @__PURE__ */
|
|
6513
|
+
children: /* @__PURE__ */ jsx5(
|
|
6097
6514
|
"path",
|
|
6098
6515
|
{
|
|
6099
6516
|
d: "M12 20h9M16.5 3.5a2.12 2.12 0 013 3L7 19l-4 1 1-4L16.5 3.5z",
|
|
@@ -6114,7 +6531,7 @@ function ReportDialog({
|
|
|
6114
6531
|
]
|
|
6115
6532
|
}
|
|
6116
6533
|
),
|
|
6117
|
-
attachments.length > 0 && /* @__PURE__ */
|
|
6534
|
+
attachments.length > 0 && /* @__PURE__ */ jsx5(
|
|
6118
6535
|
"div",
|
|
6119
6536
|
{
|
|
6120
6537
|
style: {
|
|
@@ -6123,7 +6540,7 @@ function ReportDialog({
|
|
|
6123
6540
|
gap: "6px",
|
|
6124
6541
|
marginBottom: "8px"
|
|
6125
6542
|
},
|
|
6126
|
-
children: attachments.map((a, i) => /* @__PURE__ */
|
|
6543
|
+
children: attachments.map((a, i) => /* @__PURE__ */ jsxs5(
|
|
6127
6544
|
"div",
|
|
6128
6545
|
{
|
|
6129
6546
|
style: {
|
|
@@ -6135,7 +6552,7 @@ function ReportDialog({
|
|
|
6135
6552
|
border: `1px solid ${t2.border}`
|
|
6136
6553
|
},
|
|
6137
6554
|
children: [
|
|
6138
|
-
/* @__PURE__ */
|
|
6555
|
+
/* @__PURE__ */ jsxs5(
|
|
6139
6556
|
"svg",
|
|
6140
6557
|
{
|
|
6141
6558
|
width: "14",
|
|
@@ -6144,7 +6561,7 @@ function ReportDialog({
|
|
|
6144
6561
|
fill: "none",
|
|
6145
6562
|
style: { flexShrink: 0, opacity: 0.6 },
|
|
6146
6563
|
children: [
|
|
6147
|
-
/* @__PURE__ */
|
|
6564
|
+
/* @__PURE__ */ jsx5(
|
|
6148
6565
|
"path",
|
|
6149
6566
|
{
|
|
6150
6567
|
d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z",
|
|
@@ -6154,7 +6571,7 @@ function ReportDialog({
|
|
|
6154
6571
|
strokeLinejoin: "round"
|
|
6155
6572
|
}
|
|
6156
6573
|
),
|
|
6157
|
-
/* @__PURE__ */
|
|
6574
|
+
/* @__PURE__ */ jsx5(
|
|
6158
6575
|
"path",
|
|
6159
6576
|
{
|
|
6160
6577
|
d: "M14 2v6h6",
|
|
@@ -6167,7 +6584,7 @@ function ReportDialog({
|
|
|
6167
6584
|
]
|
|
6168
6585
|
}
|
|
6169
6586
|
),
|
|
6170
|
-
/* @__PURE__ */
|
|
6587
|
+
/* @__PURE__ */ jsx5(
|
|
6171
6588
|
"span",
|
|
6172
6589
|
{
|
|
6173
6590
|
style: {
|
|
@@ -6181,7 +6598,7 @@ function ReportDialog({
|
|
|
6181
6598
|
children: a.name
|
|
6182
6599
|
}
|
|
6183
6600
|
),
|
|
6184
|
-
/* @__PURE__ */
|
|
6601
|
+
/* @__PURE__ */ jsxs5(
|
|
6185
6602
|
"span",
|
|
6186
6603
|
{
|
|
6187
6604
|
style: { fontSize: "10px", color: t2.textMuted },
|
|
@@ -6191,7 +6608,7 @@ function ReportDialog({
|
|
|
6191
6608
|
]
|
|
6192
6609
|
}
|
|
6193
6610
|
),
|
|
6194
|
-
/* @__PURE__ */
|
|
6611
|
+
/* @__PURE__ */ jsx5(
|
|
6195
6612
|
"button",
|
|
6196
6613
|
{
|
|
6197
6614
|
type: "button",
|
|
@@ -6215,14 +6632,14 @@ function ReportDialog({
|
|
|
6215
6632
|
justifyContent: "center",
|
|
6216
6633
|
flexShrink: 0
|
|
6217
6634
|
},
|
|
6218
|
-
children: /* @__PURE__ */
|
|
6635
|
+
children: /* @__PURE__ */ jsx5(
|
|
6219
6636
|
"svg",
|
|
6220
6637
|
{
|
|
6221
6638
|
width: "8",
|
|
6222
6639
|
height: "8",
|
|
6223
6640
|
viewBox: "0 0 10 10",
|
|
6224
6641
|
fill: "none",
|
|
6225
|
-
children: /* @__PURE__ */
|
|
6642
|
+
children: /* @__PURE__ */ jsx5(
|
|
6226
6643
|
"path",
|
|
6227
6644
|
{
|
|
6228
6645
|
d: "M1 1L9 9M9 1L1 9",
|
|
@@ -6241,7 +6658,7 @@ function ReportDialog({
|
|
|
6241
6658
|
))
|
|
6242
6659
|
}
|
|
6243
6660
|
),
|
|
6244
|
-
/* @__PURE__ */
|
|
6661
|
+
/* @__PURE__ */ jsx5(
|
|
6245
6662
|
"div",
|
|
6246
6663
|
{
|
|
6247
6664
|
onClick: () => {
|
|
@@ -6267,7 +6684,7 @@ function ReportDialog({
|
|
|
6267
6684
|
background: screenshotDragOver ? isDark ? "rgba(34,211,238,0.06)" : "rgba(8,145,178,0.04)" : "transparent",
|
|
6268
6685
|
transition: "border-color 0.15s ease, background 0.15s ease"
|
|
6269
6686
|
},
|
|
6270
|
-
children: screenshots.length + attachments.length > 0 ? /* @__PURE__ */
|
|
6687
|
+
children: screenshots.length + attachments.length > 0 ? /* @__PURE__ */ jsx5(
|
|
6271
6688
|
"p",
|
|
6272
6689
|
{
|
|
6273
6690
|
style: {
|
|
@@ -6278,8 +6695,8 @@ function ReportDialog({
|
|
|
6278
6695
|
},
|
|
6279
6696
|
children: screenshotDragOver ? "Drop to attach" : "+ Add more \xB7 Drag & drop \xB7 Paste"
|
|
6280
6697
|
}
|
|
6281
|
-
) : /* @__PURE__ */
|
|
6282
|
-
/* @__PURE__ */
|
|
6698
|
+
) : /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
|
6699
|
+
/* @__PURE__ */ jsxs5(
|
|
6283
6700
|
"svg",
|
|
6284
6701
|
{
|
|
6285
6702
|
width: "22",
|
|
@@ -6292,7 +6709,7 @@ function ReportDialog({
|
|
|
6292
6709
|
opacity: 0.45
|
|
6293
6710
|
},
|
|
6294
6711
|
children: [
|
|
6295
|
-
/* @__PURE__ */
|
|
6712
|
+
/* @__PURE__ */ jsx5(
|
|
6296
6713
|
"rect",
|
|
6297
6714
|
{
|
|
6298
6715
|
x: "3",
|
|
@@ -6304,7 +6721,7 @@ function ReportDialog({
|
|
|
6304
6721
|
strokeWidth: "1.5"
|
|
6305
6722
|
}
|
|
6306
6723
|
),
|
|
6307
|
-
/* @__PURE__ */
|
|
6724
|
+
/* @__PURE__ */ jsx5(
|
|
6308
6725
|
"circle",
|
|
6309
6726
|
{
|
|
6310
6727
|
cx: "8.5",
|
|
@@ -6314,7 +6731,7 @@ function ReportDialog({
|
|
|
6314
6731
|
strokeWidth: "1.5"
|
|
6315
6732
|
}
|
|
6316
6733
|
),
|
|
6317
|
-
/* @__PURE__ */
|
|
6734
|
+
/* @__PURE__ */ jsx5(
|
|
6318
6735
|
"path",
|
|
6319
6736
|
{
|
|
6320
6737
|
d: "M21 15l-5-5L5 21",
|
|
@@ -6327,7 +6744,7 @@ function ReportDialog({
|
|
|
6327
6744
|
]
|
|
6328
6745
|
}
|
|
6329
6746
|
),
|
|
6330
|
-
/* @__PURE__ */
|
|
6747
|
+
/* @__PURE__ */ jsx5(
|
|
6331
6748
|
"p",
|
|
6332
6749
|
{
|
|
6333
6750
|
style: {
|
|
@@ -6339,7 +6756,7 @@ function ReportDialog({
|
|
|
6339
6756
|
children: screenshotDragOver ? "Drop to attach" : "Add screenshots or files"
|
|
6340
6757
|
}
|
|
6341
6758
|
),
|
|
6342
|
-
/* @__PURE__ */
|
|
6759
|
+
/* @__PURE__ */ jsx5(
|
|
6343
6760
|
"p",
|
|
6344
6761
|
{
|
|
6345
6762
|
style: {
|
|
@@ -6354,8 +6771,8 @@ function ReportDialog({
|
|
|
6354
6771
|
}
|
|
6355
6772
|
)
|
|
6356
6773
|
] }),
|
|
6357
|
-
showSeverity && reportType === "BUG" && /* @__PURE__ */
|
|
6358
|
-
/* @__PURE__ */
|
|
6774
|
+
showSeverity && reportType === "BUG" && /* @__PURE__ */ jsxs5("div", { style: { marginTop: "10px" }, children: [
|
|
6775
|
+
/* @__PURE__ */ jsxs5(
|
|
6359
6776
|
"span",
|
|
6360
6777
|
{
|
|
6361
6778
|
style: {
|
|
@@ -6368,7 +6785,7 @@ function ReportDialog({
|
|
|
6368
6785
|
},
|
|
6369
6786
|
children: [
|
|
6370
6787
|
"How bad is it?",
|
|
6371
|
-
/* @__PURE__ */
|
|
6788
|
+
/* @__PURE__ */ jsx5(
|
|
6372
6789
|
"span",
|
|
6373
6790
|
{
|
|
6374
6791
|
style: {
|
|
@@ -6381,7 +6798,7 @@ function ReportDialog({
|
|
|
6381
6798
|
]
|
|
6382
6799
|
}
|
|
6383
6800
|
),
|
|
6384
|
-
/* @__PURE__ */
|
|
6801
|
+
/* @__PURE__ */ jsx5(
|
|
6385
6802
|
"div",
|
|
6386
6803
|
{
|
|
6387
6804
|
role: "radiogroup",
|
|
@@ -6389,7 +6806,7 @@ function ReportDialog({
|
|
|
6389
6806
|
style: { display: "flex", gap: "6px" },
|
|
6390
6807
|
children: SEVERITY_LEVELS.map((s) => {
|
|
6391
6808
|
const on = severity === s;
|
|
6392
|
-
return /* @__PURE__ */
|
|
6809
|
+
return /* @__PURE__ */ jsx5(
|
|
6393
6810
|
"button",
|
|
6394
6811
|
{
|
|
6395
6812
|
type: "button",
|
|
@@ -6430,7 +6847,7 @@ function ReportDialog({
|
|
|
6430
6847
|
}
|
|
6431
6848
|
)
|
|
6432
6849
|
] }),
|
|
6433
|
-
validationError && /* @__PURE__ */
|
|
6850
|
+
validationError && /* @__PURE__ */ jsx5(
|
|
6434
6851
|
"p",
|
|
6435
6852
|
{
|
|
6436
6853
|
style: {
|
|
@@ -6445,7 +6862,7 @@ function ReportDialog({
|
|
|
6445
6862
|
// Same visual language as the assistant's "Our team is
|
|
6446
6863
|
// already on this" card, so both routes to a duplicate
|
|
6447
6864
|
// read as one feature.
|
|
6448
|
-
/* @__PURE__ */
|
|
6865
|
+
/* @__PURE__ */ jsxs5(
|
|
6449
6866
|
"div",
|
|
6450
6867
|
{
|
|
6451
6868
|
"data-gg-similar": "",
|
|
@@ -6460,11 +6877,11 @@ function ReportDialog({
|
|
|
6460
6877
|
backgroundColor: "rgba(245,158,11,0.08)"
|
|
6461
6878
|
},
|
|
6462
6879
|
children: [
|
|
6463
|
-
/* @__PURE__ */
|
|
6464
|
-
/* @__PURE__ */
|
|
6465
|
-
/* @__PURE__ */
|
|
6880
|
+
/* @__PURE__ */ jsxs5("div", { style: { display: "flex", flexDirection: "column", gap: "2px" }, children: [
|
|
6881
|
+
/* @__PURE__ */ jsx5("span", { style: { color: t2.text, fontWeight: 600, fontSize: "13px" }, children: "Our team may already have this, or something close" }),
|
|
6882
|
+
/* @__PURE__ */ jsx5("span", { style: { color: t2.textMuted, fontSize: "12px", lineHeight: 1.5 }, children: similarIssues.length > 1 ? "Pick the one that matches. Same problem, or a different request for the same feature \u2014 it's added to that issue, so the team has it in one place." : "Same problem, or a different request for the same feature? Pick it \u2014 it's added to that issue, so the team has it in one place." })
|
|
6466
6883
|
] }),
|
|
6467
|
-
/* @__PURE__ */
|
|
6884
|
+
/* @__PURE__ */ jsx5(
|
|
6468
6885
|
"div",
|
|
6469
6886
|
{
|
|
6470
6887
|
role: "radiogroup",
|
|
@@ -6472,7 +6889,7 @@ function ReportDialog({
|
|
|
6472
6889
|
style: { display: "flex", flexDirection: "column", gap: "6px" },
|
|
6473
6890
|
children: similarIssues.map((issue) => {
|
|
6474
6891
|
const picked = pickedSimilar === issue.number;
|
|
6475
|
-
return /* @__PURE__ */
|
|
6892
|
+
return /* @__PURE__ */ jsxs5(
|
|
6476
6893
|
"button",
|
|
6477
6894
|
{
|
|
6478
6895
|
type: "button",
|
|
@@ -6497,7 +6914,7 @@ function ReportDialog({
|
|
|
6497
6914
|
fontFamily: "inherit"
|
|
6498
6915
|
},
|
|
6499
6916
|
children: [
|
|
6500
|
-
/* @__PURE__ */
|
|
6917
|
+
/* @__PURE__ */ jsx5(
|
|
6501
6918
|
"span",
|
|
6502
6919
|
{
|
|
6503
6920
|
"aria-hidden": "true",
|
|
@@ -6514,7 +6931,7 @@ function ReportDialog({
|
|
|
6514
6931
|
}
|
|
6515
6932
|
}
|
|
6516
6933
|
),
|
|
6517
|
-
/* @__PURE__ */
|
|
6934
|
+
/* @__PURE__ */ jsxs5(
|
|
6518
6935
|
"span",
|
|
6519
6936
|
{
|
|
6520
6937
|
style: {
|
|
@@ -6524,7 +6941,7 @@ function ReportDialog({
|
|
|
6524
6941
|
minWidth: 0
|
|
6525
6942
|
},
|
|
6526
6943
|
children: [
|
|
6527
|
-
/* @__PURE__ */
|
|
6944
|
+
/* @__PURE__ */ jsxs5(
|
|
6528
6945
|
"span",
|
|
6529
6946
|
{
|
|
6530
6947
|
title: issue.title,
|
|
@@ -6538,7 +6955,7 @@ function ReportDialog({
|
|
|
6538
6955
|
WebkitBoxOrient: "vertical"
|
|
6539
6956
|
},
|
|
6540
6957
|
children: [
|
|
6541
|
-
/* @__PURE__ */
|
|
6958
|
+
/* @__PURE__ */ jsxs5("span", { style: { color: t2.textMuted, fontWeight: 600 }, children: [
|
|
6542
6959
|
"#",
|
|
6543
6960
|
issue.number
|
|
6544
6961
|
] }),
|
|
@@ -6547,7 +6964,7 @@ function ReportDialog({
|
|
|
6547
6964
|
]
|
|
6548
6965
|
}
|
|
6549
6966
|
),
|
|
6550
|
-
issue.status && /* @__PURE__ */
|
|
6967
|
+
issue.status && /* @__PURE__ */ jsx5("span", { style: { fontSize: "11.5px", color: t2.textMuted }, children: issue.status })
|
|
6551
6968
|
]
|
|
6552
6969
|
}
|
|
6553
6970
|
)
|
|
@@ -6558,7 +6975,7 @@ function ReportDialog({
|
|
|
6558
6975
|
})
|
|
6559
6976
|
}
|
|
6560
6977
|
),
|
|
6561
|
-
/* @__PURE__ */
|
|
6978
|
+
/* @__PURE__ */ jsx5(
|
|
6562
6979
|
"button",
|
|
6563
6980
|
{
|
|
6564
6981
|
type: "button",
|
|
@@ -6583,15 +7000,15 @@ function ReportDialog({
|
|
|
6583
7000
|
cursor: isSubmitting || !pickedSimilar ? "not-allowed" : "pointer",
|
|
6584
7001
|
fontFamily: "inherit"
|
|
6585
7002
|
},
|
|
6586
|
-
children: typeof attachingTo === "number" && duplicateKind !== "related" ? /* @__PURE__ */
|
|
6587
|
-
/* @__PURE__ */
|
|
7003
|
+
children: typeof attachingTo === "number" && duplicateKind !== "related" ? /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
|
7004
|
+
/* @__PURE__ */ jsx5(ButtonSpinner, {}),
|
|
6588
7005
|
"Adding to #",
|
|
6589
7006
|
attachingTo,
|
|
6590
7007
|
"\u2026"
|
|
6591
7008
|
] }) : pickedSimilar ? `Add to #${pickedSimilar}` : "Pick the matching issue"
|
|
6592
7009
|
}
|
|
6593
7010
|
),
|
|
6594
|
-
pickedSimilar && /* @__PURE__ */
|
|
7011
|
+
pickedSimilar && /* @__PURE__ */ jsx5(
|
|
6595
7012
|
"button",
|
|
6596
7013
|
{
|
|
6597
7014
|
type: "button",
|
|
@@ -6616,15 +7033,15 @@ function ReportDialog({
|
|
|
6616
7033
|
cursor: isSubmitting ? "not-allowed" : "pointer",
|
|
6617
7034
|
fontFamily: "inherit"
|
|
6618
7035
|
},
|
|
6619
|
-
children: typeof attachingTo === "number" && duplicateKind === "related" ? /* @__PURE__ */
|
|
6620
|
-
/* @__PURE__ */
|
|
7036
|
+
children: typeof attachingTo === "number" && duplicateKind === "related" ? /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
|
7037
|
+
/* @__PURE__ */ jsx5(ButtonSpinner, {}),
|
|
6621
7038
|
"Adding to #",
|
|
6622
7039
|
attachingTo,
|
|
6623
7040
|
"\u2026"
|
|
6624
7041
|
] }) : `Related request \u2014 add to #${pickedSimilar}`
|
|
6625
7042
|
}
|
|
6626
7043
|
),
|
|
6627
|
-
/* @__PURE__ */
|
|
7044
|
+
/* @__PURE__ */ jsx5(
|
|
6628
7045
|
"button",
|
|
6629
7046
|
{
|
|
6630
7047
|
type: "button",
|
|
@@ -6649,8 +7066,8 @@ function ReportDialog({
|
|
|
6649
7066
|
cursor: isSubmitting ? "not-allowed" : "pointer",
|
|
6650
7067
|
fontFamily: "inherit"
|
|
6651
7068
|
},
|
|
6652
|
-
children: attachingTo === "new" ? /* @__PURE__ */
|
|
6653
|
-
/* @__PURE__ */
|
|
7069
|
+
children: attachingTo === "new" ? /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
|
7070
|
+
/* @__PURE__ */ jsx5(ButtonSpinner, {}),
|
|
6654
7071
|
"Sending as new\u2026"
|
|
6655
7072
|
] }) : "No, mine is different \u2014 send as new"
|
|
6656
7073
|
}
|
|
@@ -6658,7 +7075,7 @@ function ReportDialog({
|
|
|
6658
7075
|
]
|
|
6659
7076
|
}
|
|
6660
7077
|
)
|
|
6661
|
-
) : /* @__PURE__ */
|
|
7078
|
+
) : /* @__PURE__ */ jsx5(
|
|
6662
7079
|
"button",
|
|
6663
7080
|
{
|
|
6664
7081
|
type: "button",
|
|
@@ -6678,8 +7095,8 @@ function ReportDialog({
|
|
|
6678
7095
|
fontFamily: "inherit",
|
|
6679
7096
|
transition: "background-color 0.15s ease"
|
|
6680
7097
|
},
|
|
6681
|
-
children: checkingSimilar ? /* @__PURE__ */
|
|
6682
|
-
/* @__PURE__ */
|
|
7098
|
+
children: checkingSimilar ? /* @__PURE__ */ jsxs5(Fragment4, { children: [
|
|
7099
|
+
/* @__PURE__ */ jsx5(ButtonSpinner, {}),
|
|
6683
7100
|
"Checking for existing reports\u2026"
|
|
6684
7101
|
] }) : isSubmitting ? shotPending && !isRating ? "Attaching screenshot\u2026" : "Sending..." : isRating ? "Send Rating" : "Send Report"
|
|
6685
7102
|
}
|
|
@@ -6688,7 +7105,7 @@ function ReportDialog({
|
|
|
6688
7105
|
] })
|
|
6689
7106
|
}
|
|
6690
7107
|
),
|
|
6691
|
-
/* @__PURE__ */
|
|
7108
|
+
/* @__PURE__ */ jsxs5(
|
|
6692
7109
|
"div",
|
|
6693
7110
|
{
|
|
6694
7111
|
style: {
|
|
@@ -6700,8 +7117,8 @@ function ReportDialog({
|
|
|
6700
7117
|
gap: "12px"
|
|
6701
7118
|
},
|
|
6702
7119
|
children: [
|
|
6703
|
-
/* @__PURE__ */
|
|
6704
|
-
reportGlitchgrabProblem ? /* @__PURE__ */
|
|
7120
|
+
/* @__PURE__ */ jsx5(ReporterChip, { reporter, t: t2 }),
|
|
7121
|
+
reportGlitchgrabProblem ? /* @__PURE__ */ jsx5(
|
|
6705
7122
|
"button",
|
|
6706
7123
|
{
|
|
6707
7124
|
type: "button",
|
|
@@ -6728,7 +7145,7 @@ function ReportDialog({
|
|
|
6728
7145
|
},
|
|
6729
7146
|
children: "Problem with Glitchgrab?"
|
|
6730
7147
|
}
|
|
6731
|
-
) : /* @__PURE__ */
|
|
7148
|
+
) : /* @__PURE__ */ jsx5(
|
|
6732
7149
|
"span",
|
|
6733
7150
|
{
|
|
6734
7151
|
style: {
|
|
@@ -6750,7 +7167,7 @@ function ReportDialog({
|
|
|
6750
7167
|
),
|
|
6751
7168
|
document.body
|
|
6752
7169
|
),
|
|
6753
|
-
/* @__PURE__ */
|
|
7170
|
+
/* @__PURE__ */ jsx5(
|
|
6754
7171
|
"input",
|
|
6755
7172
|
{
|
|
6756
7173
|
ref: fileInputRef,
|
|
@@ -6762,7 +7179,7 @@ function ReportDialog({
|
|
|
6762
7179
|
}
|
|
6763
7180
|
),
|
|
6764
7181
|
isOpen && previewIndex !== null && screenshots[previewIndex] && createPortal3(
|
|
6765
|
-
/* @__PURE__ */
|
|
7182
|
+
/* @__PURE__ */ jsxs5(
|
|
6766
7183
|
"div",
|
|
6767
7184
|
{
|
|
6768
7185
|
"data-glitchgrab-layer": "",
|
|
@@ -6784,7 +7201,7 @@ function ReportDialog({
|
|
|
6784
7201
|
},
|
|
6785
7202
|
onMouseDown: (e) => e.stopPropagation(),
|
|
6786
7203
|
children: [
|
|
6787
|
-
/* @__PURE__ */
|
|
7204
|
+
/* @__PURE__ */ jsxs5(
|
|
6788
7205
|
"div",
|
|
6789
7206
|
{
|
|
6790
7207
|
ref: previewImgRef,
|
|
@@ -6796,7 +7213,7 @@ function ReportDialog({
|
|
|
6796
7213
|
},
|
|
6797
7214
|
onClick: (e) => e.stopPropagation(),
|
|
6798
7215
|
children: [
|
|
6799
|
-
/* @__PURE__ */
|
|
7216
|
+
/* @__PURE__ */ jsx5(
|
|
6800
7217
|
"div",
|
|
6801
7218
|
{
|
|
6802
7219
|
ref: previewScrollRef,
|
|
@@ -6815,7 +7232,7 @@ function ReportDialog({
|
|
|
6815
7232
|
touchAction: "none",
|
|
6816
7233
|
cursor: "grab"
|
|
6817
7234
|
} : { maxWidth: "100%", lineHeight: 0 },
|
|
6818
|
-
children: /* @__PURE__ */
|
|
7235
|
+
children: /* @__PURE__ */ jsx5(
|
|
6819
7236
|
"img",
|
|
6820
7237
|
{
|
|
6821
7238
|
ref: previewImgElRef,
|
|
@@ -6843,7 +7260,7 @@ function ReportDialog({
|
|
|
6843
7260
|
)
|
|
6844
7261
|
}
|
|
6845
7262
|
),
|
|
6846
|
-
/* @__PURE__ */
|
|
7263
|
+
/* @__PURE__ */ jsxs5(
|
|
6847
7264
|
"button",
|
|
6848
7265
|
{
|
|
6849
7266
|
type: "button",
|
|
@@ -6871,7 +7288,7 @@ function ReportDialog({
|
|
|
6871
7288
|
animation: "gg-pulse 2s ease-in-out infinite"
|
|
6872
7289
|
},
|
|
6873
7290
|
children: [
|
|
6874
|
-
/* @__PURE__ */
|
|
7291
|
+
/* @__PURE__ */ jsx5("svg", { width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx5(
|
|
6875
7292
|
"path",
|
|
6876
7293
|
{
|
|
6877
7294
|
d: "M12 20h9M16.5 3.5a2.12 2.12 0 013 3L7 19l-4 1 1-4L16.5 3.5z",
|
|
@@ -6888,7 +7305,7 @@ function ReportDialog({
|
|
|
6888
7305
|
]
|
|
6889
7306
|
}
|
|
6890
7307
|
),
|
|
6891
|
-
/* @__PURE__ */
|
|
7308
|
+
/* @__PURE__ */ jsx5(
|
|
6892
7309
|
"div",
|
|
6893
7310
|
{
|
|
6894
7311
|
style: {
|
|
@@ -6897,7 +7314,7 @@ function ReportDialog({
|
|
|
6897
7314
|
alignItems: "center",
|
|
6898
7315
|
gap: "12px"
|
|
6899
7316
|
},
|
|
6900
|
-
children: /* @__PURE__ */
|
|
7317
|
+
children: /* @__PURE__ */ jsx5(
|
|
6901
7318
|
"span",
|
|
6902
7319
|
{
|
|
6903
7320
|
style: {
|
|
@@ -6919,7 +7336,7 @@ function ReportDialog({
|
|
|
6919
7336
|
document.body
|
|
6920
7337
|
),
|
|
6921
7338
|
isOpen && annotatingIndex !== null && screenshots[annotatingIndex] && createPortal3(
|
|
6922
|
-
/* @__PURE__ */
|
|
7339
|
+
/* @__PURE__ */ jsx5(
|
|
6923
7340
|
AnnotationCanvas,
|
|
6924
7341
|
{
|
|
6925
7342
|
imageSrc: screenshots[annotatingIndex],
|
|
@@ -6935,7 +7352,7 @@ function ReportDialog({
|
|
|
6935
7352
|
),
|
|
6936
7353
|
document.body
|
|
6937
7354
|
),
|
|
6938
|
-
isOpen && selfReportFrom && reportGlitchgrabProblem && /* @__PURE__ */
|
|
7355
|
+
isOpen && selfReportFrom && reportGlitchgrabProblem && /* @__PURE__ */ jsx5(
|
|
6939
7356
|
GlitchgrabProblemPanel,
|
|
6940
7357
|
{
|
|
6941
7358
|
send: reportGlitchgrabProblem,
|
|
@@ -6948,7 +7365,7 @@ function ReportDialog({
|
|
|
6948
7365
|
onClose: () => setSelfReportFrom(null)
|
|
6949
7366
|
}
|
|
6950
7367
|
),
|
|
6951
|
-
isOpen && sheetUp && /* @__PURE__ */
|
|
7368
|
+
isOpen && sheetUp && /* @__PURE__ */ jsx5(
|
|
6952
7369
|
AssistSheet,
|
|
6953
7370
|
{
|
|
6954
7371
|
assist,
|
|
@@ -7049,7 +7466,7 @@ function getTypeIcon(type, color, size = 24) {
|
|
|
7049
7466
|
};
|
|
7050
7467
|
switch (type) {
|
|
7051
7468
|
case "RATING":
|
|
7052
|
-
return /* @__PURE__ */
|
|
7469
|
+
return /* @__PURE__ */ jsx5("svg", { ...props, children: /* @__PURE__ */ jsx5(
|
|
7053
7470
|
"path",
|
|
7054
7471
|
{
|
|
7055
7472
|
d: "M12 3l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.4 6.8 19.1l1-5.8L3.5 9.2l5.9-.9L12 3z",
|
|
@@ -7059,7 +7476,7 @@ function getTypeIcon(type, color, size = 24) {
|
|
|
7059
7476
|
}
|
|
7060
7477
|
) });
|
|
7061
7478
|
case "BUG":
|
|
7062
|
-
return /* @__PURE__ */
|
|
7479
|
+
return /* @__PURE__ */ jsx5("svg", { ...props, children: /* @__PURE__ */ jsx5(
|
|
7063
7480
|
"path",
|
|
7064
7481
|
{
|
|
7065
7482
|
d: "M8 2L6.5 3.5M16 2L17.5 3.5M3 9H7M17 9H21M12 2a5 5 0 015 5v4a5 5 0 01-10 0V7a5 5 0 015-5zM7 16l-2 3M17 16l2 3",
|
|
@@ -7069,7 +7486,7 @@ function getTypeIcon(type, color, size = 24) {
|
|
|
7069
7486
|
}
|
|
7070
7487
|
) });
|
|
7071
7488
|
case "FEATURE_REQUEST":
|
|
7072
|
-
return /* @__PURE__ */
|
|
7489
|
+
return /* @__PURE__ */ jsx5("svg", { ...props, children: /* @__PURE__ */ jsx5(
|
|
7073
7490
|
"path",
|
|
7074
7491
|
{
|
|
7075
7492
|
d: "M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2z",
|
|
@@ -7079,8 +7496,8 @@ function getTypeIcon(type, color, size = 24) {
|
|
|
7079
7496
|
}
|
|
7080
7497
|
) });
|
|
7081
7498
|
case "UI_IMPROVEMENT":
|
|
7082
|
-
return /* @__PURE__ */
|
|
7083
|
-
/* @__PURE__ */
|
|
7499
|
+
return /* @__PURE__ */ jsxs5("svg", { ...props, children: [
|
|
7500
|
+
/* @__PURE__ */ jsx5(
|
|
7084
7501
|
"rect",
|
|
7085
7502
|
{
|
|
7086
7503
|
x: "3",
|
|
@@ -7092,7 +7509,7 @@ function getTypeIcon(type, color, size = 24) {
|
|
|
7092
7509
|
strokeWidth: "1.5"
|
|
7093
7510
|
}
|
|
7094
7511
|
),
|
|
7095
|
-
/* @__PURE__ */
|
|
7512
|
+
/* @__PURE__ */ jsx5(
|
|
7096
7513
|
"path",
|
|
7097
7514
|
{
|
|
7098
7515
|
d: "M3 9h18M9 21V9",
|
|
@@ -7103,7 +7520,7 @@ function getTypeIcon(type, color, size = 24) {
|
|
|
7103
7520
|
)
|
|
7104
7521
|
] });
|
|
7105
7522
|
case "PERFORMANCE":
|
|
7106
|
-
return /* @__PURE__ */
|
|
7523
|
+
return /* @__PURE__ */ jsx5("svg", { ...props, children: /* @__PURE__ */ jsx5(
|
|
7107
7524
|
"path",
|
|
7108
7525
|
{
|
|
7109
7526
|
d: "M12 21a9 9 0 100-18 9 9 0 000 18zM12 12l4-4M12 7v.01",
|
|
@@ -7114,7 +7531,7 @@ function getTypeIcon(type, color, size = 24) {
|
|
|
7114
7531
|
}
|
|
7115
7532
|
) });
|
|
7116
7533
|
case "SECURITY":
|
|
7117
|
-
return /* @__PURE__ */
|
|
7534
|
+
return /* @__PURE__ */ jsx5("svg", { ...props, children: /* @__PURE__ */ jsx5(
|
|
7118
7535
|
"path",
|
|
7119
7536
|
{
|
|
7120
7537
|
d: "M12 3l7 3v5c0 4.5-3 8.5-7 10-4-1.5-7-5.5-7-10V6l7-3z",
|
|
@@ -7124,9 +7541,9 @@ function getTypeIcon(type, color, size = 24) {
|
|
|
7124
7541
|
}
|
|
7125
7542
|
) });
|
|
7126
7543
|
case "QUESTION":
|
|
7127
|
-
return /* @__PURE__ */
|
|
7128
|
-
/* @__PURE__ */
|
|
7129
|
-
/* @__PURE__ */
|
|
7544
|
+
return /* @__PURE__ */ jsxs5("svg", { ...props, children: [
|
|
7545
|
+
/* @__PURE__ */ jsx5("circle", { cx: "12", cy: "12", r: "10", stroke: color, strokeWidth: "1.5" }),
|
|
7546
|
+
/* @__PURE__ */ jsx5(
|
|
7130
7547
|
"path",
|
|
7131
7548
|
{
|
|
7132
7549
|
d: "M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3M12 17h.01",
|
|
@@ -7138,7 +7555,7 @@ function getTypeIcon(type, color, size = 24) {
|
|
|
7138
7555
|
)
|
|
7139
7556
|
] });
|
|
7140
7557
|
case "OTHER":
|
|
7141
|
-
return /* @__PURE__ */
|
|
7558
|
+
return /* @__PURE__ */ jsx5("svg", { ...props, children: /* @__PURE__ */ jsx5(
|
|
7142
7559
|
"path",
|
|
7143
7560
|
{
|
|
7144
7561
|
d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2v10z",
|
|
@@ -7152,7 +7569,7 @@ function getTypeIcon(type, color, size = 24) {
|
|
|
7152
7569
|
|
|
7153
7570
|
// src/booking-dialog.tsx
|
|
7154
7571
|
import { useCallback as useCallback2, useEffect as useEffect5, useMemo as useMemo3, useState as useState5 } from "react";
|
|
7155
|
-
import { Fragment as
|
|
7572
|
+
import { Fragment as Fragment5, jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
7156
7573
|
var t = {
|
|
7157
7574
|
bg: "#141414",
|
|
7158
7575
|
surface: "#1c1c1c",
|
|
@@ -7314,7 +7731,7 @@ function BookingDialog({
|
|
|
7314
7731
|
}
|
|
7315
7732
|
}
|
|
7316
7733
|
const canSubmitDetails = name.trim() && email.includes("@") && phone.replace(/\D/g, "").length >= 8;
|
|
7317
|
-
return /* @__PURE__ */
|
|
7734
|
+
return /* @__PURE__ */ jsx6(
|
|
7318
7735
|
"div",
|
|
7319
7736
|
{
|
|
7320
7737
|
onClick: (e) => {
|
|
@@ -7331,7 +7748,7 @@ function BookingDialog({
|
|
|
7331
7748
|
padding: 16,
|
|
7332
7749
|
fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
|
|
7333
7750
|
},
|
|
7334
|
-
children: /* @__PURE__ */
|
|
7751
|
+
children: /* @__PURE__ */ jsxs6(
|
|
7335
7752
|
"div",
|
|
7336
7753
|
{
|
|
7337
7754
|
role: "dialog",
|
|
@@ -7349,7 +7766,7 @@ function BookingDialog({
|
|
|
7349
7766
|
overflow: "hidden"
|
|
7350
7767
|
},
|
|
7351
7768
|
children: [
|
|
7352
|
-
/* @__PURE__ */
|
|
7769
|
+
/* @__PURE__ */ jsxs6(
|
|
7353
7770
|
"div",
|
|
7354
7771
|
{
|
|
7355
7772
|
style: {
|
|
@@ -7361,11 +7778,11 @@ function BookingDialog({
|
|
|
7361
7778
|
gap: 12
|
|
7362
7779
|
},
|
|
7363
7780
|
children: [
|
|
7364
|
-
/* @__PURE__ */
|
|
7365
|
-
/* @__PURE__ */
|
|
7366
|
-
heading.description && /* @__PURE__ */
|
|
7781
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
7782
|
+
/* @__PURE__ */ jsx6("div", { style: { fontSize: 15, fontWeight: 600 }, children: heading.title }),
|
|
7783
|
+
heading.description && /* @__PURE__ */ jsx6("div", { style: { fontSize: 12, color: t.muted, marginTop: 2 }, children: heading.description })
|
|
7367
7784
|
] }),
|
|
7368
|
-
/* @__PURE__ */
|
|
7785
|
+
/* @__PURE__ */ jsx6(
|
|
7369
7786
|
"button",
|
|
7370
7787
|
{
|
|
7371
7788
|
onClick: onClose,
|
|
@@ -7377,10 +7794,10 @@ function BookingDialog({
|
|
|
7377
7794
|
]
|
|
7378
7795
|
}
|
|
7379
7796
|
),
|
|
7380
|
-
/* @__PURE__ */
|
|
7381
|
-
error && /* @__PURE__ */
|
|
7382
|
-
step === "slots" && /* @__PURE__ */
|
|
7383
|
-
whatsappUrl && /* @__PURE__ */
|
|
7797
|
+
/* @__PURE__ */ jsxs6("div", { style: { padding: 18, overflowY: "auto", flex: "1 1 auto" }, children: [
|
|
7798
|
+
error && /* @__PURE__ */ jsx6("div", { style: { color: t.danger, fontSize: 12, marginBottom: 12, lineHeight: 1.5 }, children: error }),
|
|
7799
|
+
step === "slots" && /* @__PURE__ */ jsxs6(Fragment5, { children: [
|
|
7800
|
+
whatsappUrl && /* @__PURE__ */ jsxs6(
|
|
7384
7801
|
"a",
|
|
7385
7802
|
{
|
|
7386
7803
|
href: whatsappUrl,
|
|
@@ -7399,15 +7816,15 @@ function BookingDialog({
|
|
|
7399
7816
|
},
|
|
7400
7817
|
children: [
|
|
7401
7818
|
"\u{1F4AC} Rather book on WhatsApp?",
|
|
7402
|
-
/* @__PURE__ */
|
|
7819
|
+
/* @__PURE__ */ jsx6("span", { style: { display: "block", fontSize: 11, color: t.muted, marginTop: 2 }, children: "We'll ask the same questions in chat." })
|
|
7403
7820
|
]
|
|
7404
7821
|
}
|
|
7405
7822
|
),
|
|
7406
|
-
slots === null && /* @__PURE__ */
|
|
7407
|
-
(slots == null ? void 0 : slots.length) === 0 && !error && /* @__PURE__ */
|
|
7408
|
-
[...byDay.entries()].map(([day, daySlots]) => /* @__PURE__ */
|
|
7409
|
-
/* @__PURE__ */
|
|
7410
|
-
/* @__PURE__ */
|
|
7823
|
+
slots === null && /* @__PURE__ */ jsx6("div", { style: { color: t.muted, fontSize: 13 }, children: "Finding times\u2026" }),
|
|
7824
|
+
(slots == null ? void 0 : slots.length) === 0 && !error && /* @__PURE__ */ jsx6("div", { style: { color: t.muted, fontSize: 13 }, children: "No times available right now." }),
|
|
7825
|
+
[...byDay.entries()].map(([day, daySlots]) => /* @__PURE__ */ jsxs6("div", { style: { marginBottom: 18 }, children: [
|
|
7826
|
+
/* @__PURE__ */ jsx6("div", { style: { fontSize: 11, color: t.muted, marginBottom: 8, textTransform: "uppercase", letterSpacing: ".6px" }, children: formatDay(daySlots[0].startsAt) }),
|
|
7827
|
+
/* @__PURE__ */ jsx6("div", { style: { display: "flex", flexWrap: "wrap", gap: 8 }, children: daySlots.map((slot) => /* @__PURE__ */ jsx6(
|
|
7411
7828
|
"button",
|
|
7412
7829
|
{
|
|
7413
7830
|
onClick: () => {
|
|
@@ -7429,13 +7846,13 @@ function BookingDialog({
|
|
|
7429
7846
|
)) })
|
|
7430
7847
|
] }, day))
|
|
7431
7848
|
] }),
|
|
7432
|
-
step === "details" && selected && /* @__PURE__ */
|
|
7433
|
-
/* @__PURE__ */
|
|
7849
|
+
step === "details" && selected && /* @__PURE__ */ jsxs6("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
|
|
7850
|
+
/* @__PURE__ */ jsxs6("div", { style: { fontSize: 13, color: t.muted }, children: [
|
|
7434
7851
|
formatDay(selected.startsAt),
|
|
7435
7852
|
" \xB7 ",
|
|
7436
7853
|
formatTime(selected.startsAt),
|
|
7437
7854
|
" \xB7 ",
|
|
7438
|
-
/* @__PURE__ */
|
|
7855
|
+
/* @__PURE__ */ jsx6(
|
|
7439
7856
|
"button",
|
|
7440
7857
|
{
|
|
7441
7858
|
onClick: () => setStep("slots"),
|
|
@@ -7444,9 +7861,9 @@ function BookingDialog({
|
|
|
7444
7861
|
}
|
|
7445
7862
|
)
|
|
7446
7863
|
] }),
|
|
7447
|
-
/* @__PURE__ */
|
|
7448
|
-
/* @__PURE__ */
|
|
7449
|
-
/* @__PURE__ */
|
|
7864
|
+
/* @__PURE__ */ jsx6(Field, { label: "Your name", value: name, onChange: setName }),
|
|
7865
|
+
/* @__PURE__ */ jsx6(Field, { label: "Email", value: email, onChange: setEmail, type: "email" }),
|
|
7866
|
+
/* @__PURE__ */ jsx6(
|
|
7450
7867
|
Field,
|
|
7451
7868
|
{
|
|
7452
7869
|
label: "Mobile number",
|
|
@@ -7456,8 +7873,8 @@ function BookingDialog({
|
|
|
7456
7873
|
hint: "We send a code here to confirm, then a reminder before the call."
|
|
7457
7874
|
}
|
|
7458
7875
|
),
|
|
7459
|
-
/* @__PURE__ */
|
|
7460
|
-
/* @__PURE__ */
|
|
7876
|
+
/* @__PURE__ */ jsx6(Field, { label: "Anything we should know? (optional)", value: note, onChange: setNote }),
|
|
7877
|
+
/* @__PURE__ */ jsx6(
|
|
7461
7878
|
"button",
|
|
7462
7879
|
{
|
|
7463
7880
|
onClick: startBooking,
|
|
@@ -7467,10 +7884,10 @@ function BookingDialog({
|
|
|
7467
7884
|
}
|
|
7468
7885
|
)
|
|
7469
7886
|
] }),
|
|
7470
|
-
step === "code" && /* @__PURE__ */
|
|
7471
|
-
/* @__PURE__ */
|
|
7472
|
-
/* @__PURE__ */
|
|
7473
|
-
/* @__PURE__ */
|
|
7887
|
+
step === "code" && /* @__PURE__ */ jsxs6("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
|
|
7888
|
+
/* @__PURE__ */ jsx6("div", { style: { fontSize: 13, color: t.muted, lineHeight: 1.5 }, children: "We sent a 4-digit code to your phone. Your slot is held for 10 minutes." }),
|
|
7889
|
+
/* @__PURE__ */ jsx6(Field, { label: "Code", value: code, onChange: setCode }),
|
|
7890
|
+
/* @__PURE__ */ jsx6(
|
|
7474
7891
|
"button",
|
|
7475
7892
|
{
|
|
7476
7893
|
onClick: confirmBooking,
|
|
@@ -7480,15 +7897,15 @@ function BookingDialog({
|
|
|
7480
7897
|
}
|
|
7481
7898
|
)
|
|
7482
7899
|
] }),
|
|
7483
|
-
step === "done" && /* @__PURE__ */
|
|
7484
|
-
/* @__PURE__ */
|
|
7485
|
-
/* @__PURE__ */
|
|
7900
|
+
step === "done" && /* @__PURE__ */ jsxs6("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
|
|
7901
|
+
/* @__PURE__ */ jsx6("div", { style: { fontSize: 15, fontWeight: 600 }, children: "You're booked." }),
|
|
7902
|
+
/* @__PURE__ */ jsxs6("div", { style: { fontSize: 13, color: t.muted, lineHeight: 1.6 }, children: [
|
|
7486
7903
|
selected && `${formatDay(selected.startsAt)} at ${formatTime(selected.startsAt)}. `,
|
|
7487
7904
|
"A calendar invite is on its way to ",
|
|
7488
7905
|
email,
|
|
7489
7906
|
", and we'll send a WhatsApp reminder before the call."
|
|
7490
7907
|
] }),
|
|
7491
|
-
meetUrl && /* @__PURE__ */
|
|
7908
|
+
meetUrl && /* @__PURE__ */ jsx6("a", { href: meetUrl, target: "_blank", rel: "noreferrer", style: { ...primaryStyle(false), textAlign: "center", textDecoration: "none" }, children: "Open the meeting link" })
|
|
7492
7909
|
] })
|
|
7493
7910
|
] })
|
|
7494
7911
|
]
|
|
@@ -7517,9 +7934,9 @@ function Field({
|
|
|
7517
7934
|
type = "text",
|
|
7518
7935
|
hint
|
|
7519
7936
|
}) {
|
|
7520
|
-
return /* @__PURE__ */
|
|
7937
|
+
return /* @__PURE__ */ jsxs6("label", { style: { display: "block", fontSize: 11, color: t.muted }, children: [
|
|
7521
7938
|
label,
|
|
7522
|
-
/* @__PURE__ */
|
|
7939
|
+
/* @__PURE__ */ jsx6(
|
|
7523
7940
|
"input",
|
|
7524
7941
|
{
|
|
7525
7942
|
type,
|
|
@@ -7540,7 +7957,7 @@ function Field({
|
|
|
7540
7957
|
}
|
|
7541
7958
|
}
|
|
7542
7959
|
),
|
|
7543
|
-
hint && /* @__PURE__ */
|
|
7960
|
+
hint && /* @__PURE__ */ jsx6("div", { style: { marginTop: 4, fontSize: 10, color: t.muted }, children: hint })
|
|
7544
7961
|
] });
|
|
7545
7962
|
}
|
|
7546
7963
|
|
|
@@ -7681,7 +8098,7 @@ function matchesShortcut(e) {
|
|
|
7681
8098
|
}
|
|
7682
8099
|
|
|
7683
8100
|
// src/provider.tsx
|
|
7684
|
-
import { Fragment as
|
|
8101
|
+
import { Fragment as Fragment6, jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
7685
8102
|
var DEFAULT_BASE_URL2 = "https://glitchgrab.dev";
|
|
7686
8103
|
var GlitchgrabContext = createContext(null);
|
|
7687
8104
|
function useGlitchgrab() {
|
|
@@ -8163,7 +8580,7 @@ function GlitchgrabProviderInner({
|
|
|
8163
8580
|
useEffect6(() => {
|
|
8164
8581
|
setShortcutLabel(getShortcutLabel2());
|
|
8165
8582
|
}, []);
|
|
8166
|
-
return /* @__PURE__ */
|
|
8583
|
+
return /* @__PURE__ */ jsxs7(
|
|
8167
8584
|
GlitchgrabContext.Provider,
|
|
8168
8585
|
{
|
|
8169
8586
|
value: {
|
|
@@ -8183,7 +8600,7 @@ function GlitchgrabProviderInner({
|
|
|
8183
8600
|
shortcutLabel
|
|
8184
8601
|
},
|
|
8185
8602
|
children: [
|
|
8186
|
-
/* @__PURE__ */
|
|
8603
|
+
/* @__PURE__ */ jsx7(
|
|
8187
8604
|
GlitchgrabErrorBoundary,
|
|
8188
8605
|
{
|
|
8189
8606
|
token,
|
|
@@ -8195,7 +8612,7 @@ function GlitchgrabProviderInner({
|
|
|
8195
8612
|
children
|
|
8196
8613
|
}
|
|
8197
8614
|
),
|
|
8198
|
-
/* @__PURE__ */
|
|
8615
|
+
/* @__PURE__ */ jsx7(
|
|
8199
8616
|
BookingDialog,
|
|
8200
8617
|
{
|
|
8201
8618
|
token,
|
|
@@ -8204,7 +8621,7 @@ function GlitchgrabProviderInner({
|
|
|
8204
8621
|
onClose: () => setBookingOpen(false)
|
|
8205
8622
|
}
|
|
8206
8623
|
),
|
|
8207
|
-
/* @__PURE__ */
|
|
8624
|
+
/* @__PURE__ */ jsx7(
|
|
8208
8625
|
ReportDialog,
|
|
8209
8626
|
{
|
|
8210
8627
|
report,
|
|
@@ -8217,9 +8634,9 @@ function GlitchgrabProviderInner({
|
|
|
8217
8634
|
types,
|
|
8218
8635
|
showSeverity,
|
|
8219
8636
|
reporter,
|
|
8220
|
-
headerSlot: projectName ? /* @__PURE__ */
|
|
8637
|
+
headerSlot: projectName ? /* @__PURE__ */ jsxs7("div", { style: { fontSize: 11, color: "#9aa0a6" }, children: [
|
|
8221
8638
|
"Reporting to ",
|
|
8222
|
-
/* @__PURE__ */
|
|
8639
|
+
/* @__PURE__ */ jsx7("strong", { style: { color: "#e5e5e5" }, children: projectName })
|
|
8223
8640
|
] }) : null
|
|
8224
8641
|
}
|
|
8225
8642
|
)
|
|
@@ -8228,21 +8645,21 @@ function GlitchgrabProviderInner({
|
|
|
8228
8645
|
);
|
|
8229
8646
|
}
|
|
8230
8647
|
function GlitchgrabProvider(props) {
|
|
8231
|
-
if (!props.token) return /* @__PURE__ */
|
|
8648
|
+
if (!props.token) return /* @__PURE__ */ jsx7(Fragment6, { children: props.children });
|
|
8232
8649
|
const resolvedProps = {
|
|
8233
8650
|
...props,
|
|
8234
8651
|
baseUrl: props.baseUrl || DEFAULT_BASE_URL2
|
|
8235
8652
|
};
|
|
8236
8653
|
try {
|
|
8237
|
-
return /* @__PURE__ */
|
|
8654
|
+
return /* @__PURE__ */ jsx7(GlitchgrabProviderInner, { ...resolvedProps });
|
|
8238
8655
|
} catch (e) {
|
|
8239
|
-
return /* @__PURE__ */
|
|
8656
|
+
return /* @__PURE__ */ jsx7(Fragment6, { children: props.children });
|
|
8240
8657
|
}
|
|
8241
8658
|
}
|
|
8242
8659
|
|
|
8243
8660
|
// src/report-button.tsx
|
|
8244
8661
|
import { useState as useState7 } from "react";
|
|
8245
|
-
import { Fragment as
|
|
8662
|
+
import { Fragment as Fragment7, jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
8246
8663
|
function useGlitchgrabSafe() {
|
|
8247
8664
|
try {
|
|
8248
8665
|
return useGlitchgrab();
|
|
@@ -8266,7 +8683,7 @@ function ReportButton({
|
|
|
8266
8683
|
setCapturing(false);
|
|
8267
8684
|
};
|
|
8268
8685
|
if (children) {
|
|
8269
|
-
return /* @__PURE__ */
|
|
8686
|
+
return /* @__PURE__ */ jsx8(Fragment7, { children: children({ onClick: handleClick, capturing }) });
|
|
8270
8687
|
}
|
|
8271
8688
|
const isTop = (_a = position == null ? void 0 : position.startsWith("top")) != null ? _a : false;
|
|
8272
8689
|
const isLeft = (_b = position == null ? void 0 : position.endsWith("left")) != null ? _b : false;
|
|
@@ -8274,7 +8691,7 @@ function ReportButton({
|
|
|
8274
8691
|
...isLeft ? { left: "16px" } : { right: "16px" },
|
|
8275
8692
|
...isTop ? { top: "16px" } : { bottom: "16px" }
|
|
8276
8693
|
};
|
|
8277
|
-
return /* @__PURE__ */
|
|
8694
|
+
return /* @__PURE__ */ jsxs8(
|
|
8278
8695
|
"button",
|
|
8279
8696
|
{
|
|
8280
8697
|
type: "button",
|
|
@@ -8309,7 +8726,7 @@ function ReportButton({
|
|
|
8309
8726
|
},
|
|
8310
8727
|
"aria-label": label,
|
|
8311
8728
|
children: [
|
|
8312
|
-
/* @__PURE__ */
|
|
8729
|
+
/* @__PURE__ */ jsx8(
|
|
8313
8730
|
"svg",
|
|
8314
8731
|
{
|
|
8315
8732
|
width: "16",
|
|
@@ -8317,7 +8734,7 @@ function ReportButton({
|
|
|
8317
8734
|
viewBox: "0 0 16 16",
|
|
8318
8735
|
fill: "none",
|
|
8319
8736
|
style: { flexShrink: 0 },
|
|
8320
|
-
children: /* @__PURE__ */
|
|
8737
|
+
children: /* @__PURE__ */ jsx8(
|
|
8321
8738
|
"path",
|
|
8322
8739
|
{
|
|
8323
8740
|
d: "M8 1C4.134 1 1 4.134 1 8s3.134 7 7 7 7-3.134 7-7-3.134-7-7-7zm0 12.5a.75.75 0 110-1.5.75.75 0 010 1.5zm.75-3.5a.75.75 0 01-1.5 0V5a.75.75 0 011.5 0v5z",
|
|
@@ -8333,15 +8750,15 @@ function ReportButton({
|
|
|
8333
8750
|
}
|
|
8334
8751
|
|
|
8335
8752
|
// src/book-demo-button.tsx
|
|
8336
|
-
import { Fragment as
|
|
8753
|
+
import { Fragment as Fragment8, jsx as jsx9 } from "react/jsx-runtime";
|
|
8337
8754
|
function BookDemoButton({
|
|
8338
8755
|
label = "Book a demo",
|
|
8339
8756
|
className,
|
|
8340
8757
|
children
|
|
8341
8758
|
}) {
|
|
8342
8759
|
const { openBookingDialog } = useGlitchgrab();
|
|
8343
|
-
if (children) return /* @__PURE__ */
|
|
8344
|
-
return /* @__PURE__ */
|
|
8760
|
+
if (children) return /* @__PURE__ */ jsx9(Fragment8, { children: children({ onClick: openBookingDialog }) });
|
|
8761
|
+
return /* @__PURE__ */ jsx9(
|
|
8345
8762
|
"button",
|
|
8346
8763
|
{
|
|
8347
8764
|
type: "button",
|
|
@@ -8363,7 +8780,7 @@ function BookDemoButton({
|
|
|
8363
8780
|
}
|
|
8364
8781
|
|
|
8365
8782
|
// src/feedback-button.tsx
|
|
8366
|
-
import { Fragment as
|
|
8783
|
+
import { Fragment as Fragment9, jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
8367
8784
|
function useGlitchgrabSafe2() {
|
|
8368
8785
|
try {
|
|
8369
8786
|
return useGlitchgrab();
|
|
@@ -8382,7 +8799,7 @@ function FeedbackButton({
|
|
|
8382
8799
|
if (!glitchgrab) return null;
|
|
8383
8800
|
const handleClick = () => glitchgrab.openFeedbackDialog();
|
|
8384
8801
|
if (children) {
|
|
8385
|
-
return /* @__PURE__ */
|
|
8802
|
+
return /* @__PURE__ */ jsx10(Fragment9, { children: children({ onClick: handleClick }) });
|
|
8386
8803
|
}
|
|
8387
8804
|
const isTop = (_a = position == null ? void 0 : position.startsWith("top")) != null ? _a : false;
|
|
8388
8805
|
const isLeft = (_b = position == null ? void 0 : position.endsWith("left")) != null ? _b : false;
|
|
@@ -8390,7 +8807,7 @@ function FeedbackButton({
|
|
|
8390
8807
|
...isLeft ? { left: "16px" } : { right: "16px" },
|
|
8391
8808
|
...isTop ? { top: "16px" } : { bottom: "16px" }
|
|
8392
8809
|
};
|
|
8393
|
-
return /* @__PURE__ */
|
|
8810
|
+
return /* @__PURE__ */ jsxs9(
|
|
8394
8811
|
"button",
|
|
8395
8812
|
{
|
|
8396
8813
|
type: "button",
|
|
@@ -8423,7 +8840,7 @@ function FeedbackButton({
|
|
|
8423
8840
|
},
|
|
8424
8841
|
"aria-label": label,
|
|
8425
8842
|
children: [
|
|
8426
|
-
/* @__PURE__ */
|
|
8843
|
+
/* @__PURE__ */ jsx10(
|
|
8427
8844
|
"svg",
|
|
8428
8845
|
{
|
|
8429
8846
|
width: "16",
|
|
@@ -8432,7 +8849,7 @@ function FeedbackButton({
|
|
|
8432
8849
|
fill: "none",
|
|
8433
8850
|
style: { flexShrink: 0 },
|
|
8434
8851
|
"aria-hidden": "true",
|
|
8435
|
-
children: /* @__PURE__ */
|
|
8852
|
+
children: /* @__PURE__ */ jsx10(
|
|
8436
8853
|
"path",
|
|
8437
8854
|
{
|
|
8438
8855
|
d: "M12 2.5l2.9 5.9 6.5.9-4.7 4.6 1.1 6.5L12 17.4l-5.8 3 1.1-6.5L2.6 9.3l6.5-.9L12 2.5z",
|