@bbearai/react 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +308 -235
- package/dist/index.mjs +299 -236
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
8
|
var __export = (target, all) => {
|
|
7
9
|
for (var name in all)
|
|
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
17
|
}
|
|
16
18
|
return to;
|
|
17
19
|
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
18
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
29
|
|
|
20
30
|
// src/index.tsx
|
|
@@ -2573,18 +2583,72 @@ var styles = {
|
|
|
2573
2583
|
};
|
|
2574
2584
|
|
|
2575
2585
|
// src/widget/screens/ReportScreen.tsx
|
|
2576
|
-
var import_react8 = require("react");
|
|
2586
|
+
var import_react8 = __toESM(require("react"));
|
|
2587
|
+
|
|
2588
|
+
// src/widget/CategoryDropdown.tsx
|
|
2577
2589
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
2590
|
+
var categoryOptions = [
|
|
2591
|
+
{ value: "ui_ux", label: "UI/UX", icon: "\u{1F3A8}" },
|
|
2592
|
+
{ value: "functional", label: "Functional", icon: "\u2699\uFE0F" },
|
|
2593
|
+
{ value: "crash", label: "Crash", icon: "\u{1F4A5}" },
|
|
2594
|
+
{ value: "security", label: "Security", icon: "\u{1F510}" },
|
|
2595
|
+
{ value: "other", label: "Other", icon: "\u{1F4DD}" }
|
|
2596
|
+
];
|
|
2597
|
+
function CategoryDropdown({ value, onChange, optional = true, disabled = false }) {
|
|
2598
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
2599
|
+
"select",
|
|
2600
|
+
{
|
|
2601
|
+
value: value || "",
|
|
2602
|
+
onChange: (e) => onChange(e.target.value ? e.target.value : null),
|
|
2603
|
+
disabled,
|
|
2604
|
+
style: {
|
|
2605
|
+
width: "100%",
|
|
2606
|
+
backgroundColor: disabled ? colors.bg : colors.card,
|
|
2607
|
+
border: `1px solid ${colors.border}`,
|
|
2608
|
+
borderRadius: 8,
|
|
2609
|
+
padding: "10px 12px",
|
|
2610
|
+
fontSize: 14,
|
|
2611
|
+
color: colors.textPrimary,
|
|
2612
|
+
cursor: disabled ? "not-allowed" : "pointer",
|
|
2613
|
+
opacity: disabled ? 0.5 : 1,
|
|
2614
|
+
appearance: "none",
|
|
2615
|
+
backgroundImage: `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2371717a' d='M3 5l3 3 3-3'/%3E%3C/svg%3E")`,
|
|
2616
|
+
backgroundRepeat: "no-repeat",
|
|
2617
|
+
backgroundPosition: "right 12px center",
|
|
2618
|
+
paddingRight: 32
|
|
2619
|
+
},
|
|
2620
|
+
children: [
|
|
2621
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "", children: optional ? "Select category (optional)" : "Select category" }),
|
|
2622
|
+
categoryOptions.map(({ value: value2, label, icon }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("option", { value: value2, children: [
|
|
2623
|
+
icon,
|
|
2624
|
+
" ",
|
|
2625
|
+
label
|
|
2626
|
+
] }, value2))
|
|
2627
|
+
]
|
|
2628
|
+
}
|
|
2629
|
+
);
|
|
2630
|
+
}
|
|
2631
|
+
|
|
2632
|
+
// src/widget/screens/ReportScreen.tsx
|
|
2633
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
2578
2634
|
function ReportScreen({ nav, prefill }) {
|
|
2579
2635
|
const { client, refreshAssignments, uploadImage } = useBugBear();
|
|
2580
2636
|
const images = useImageAttachments(uploadImage, 5, "screenshots");
|
|
2581
2637
|
const [reportType, setReportType] = (0, import_react8.useState)(prefill?.type || "bug");
|
|
2582
2638
|
const [severity, setSeverity] = (0, import_react8.useState)("medium");
|
|
2639
|
+
const [category, setCategory] = (0, import_react8.useState)(null);
|
|
2583
2640
|
const [description, setDescription] = (0, import_react8.useState)("");
|
|
2584
2641
|
const [affectedRoute, setAffectedRoute] = (0, import_react8.useState)("");
|
|
2585
2642
|
const [submitting, setSubmitting] = (0, import_react8.useState)(false);
|
|
2586
2643
|
const [error, setError] = (0, import_react8.useState)(null);
|
|
2587
2644
|
const submittingRef = (0, import_react8.useRef)(false);
|
|
2645
|
+
import_react8.default.useEffect(() => {
|
|
2646
|
+
if (reportType === "feedback" || reportType === "suggestion") {
|
|
2647
|
+
setCategory("other");
|
|
2648
|
+
} else {
|
|
2649
|
+
setCategory(null);
|
|
2650
|
+
}
|
|
2651
|
+
}, [reportType]);
|
|
2588
2652
|
const observedRoute = (0, import_react8.useRef)(
|
|
2589
2653
|
typeof window !== "undefined" ? window.location.pathname : "unknown"
|
|
2590
2654
|
);
|
|
@@ -2607,6 +2671,7 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2607
2671
|
type: reportType,
|
|
2608
2672
|
description: description.trim(),
|
|
2609
2673
|
severity: isBugType ? severity : void 0,
|
|
2674
|
+
category: category || void 0,
|
|
2610
2675
|
screenshots: screenshotUrls.length > 0 ? screenshotUrls : void 0,
|
|
2611
2676
|
assignmentId: prefill?.assignmentId,
|
|
2612
2677
|
testCaseId: prefill?.testCaseId,
|
|
@@ -2640,17 +2705,17 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2640
2705
|
{ sev: "medium", color: "#eab308" },
|
|
2641
2706
|
{ sev: "low", color: "#6b7280" }
|
|
2642
2707
|
];
|
|
2643
|
-
return /* @__PURE__ */ (0,
|
|
2644
|
-
/* @__PURE__ */ (0,
|
|
2645
|
-
/* @__PURE__ */ (0,
|
|
2646
|
-
/* @__PURE__ */ (0,
|
|
2647
|
-
/* @__PURE__ */ (0,
|
|
2648
|
-
/* @__PURE__ */ (0,
|
|
2708
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { children: isRetestFailure ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
|
|
2709
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: styles2.retestBanner, children: [
|
|
2710
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { style: { fontSize: 16 }, children: "\u{1F504}" }),
|
|
2711
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { children: [
|
|
2712
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.retestTitle, children: "Bug Still Present" }),
|
|
2713
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.retestSubtitle, children: "The fix did not resolve this issue" })
|
|
2649
2714
|
] })
|
|
2650
2715
|
] }),
|
|
2651
|
-
/* @__PURE__ */ (0,
|
|
2652
|
-
/* @__PURE__ */ (0,
|
|
2653
|
-
/* @__PURE__ */ (0,
|
|
2716
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: styles2.section, children: [
|
|
2717
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.label, children: "Severity" }),
|
|
2718
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.severityRow, children: severityOptions.map(({ sev, color }) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2654
2719
|
"button",
|
|
2655
2720
|
{
|
|
2656
2721
|
onClick: () => setSeverity(sev),
|
|
@@ -2658,14 +2723,18 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2658
2723
|
...styles2.sevButton,
|
|
2659
2724
|
...severity === sev ? { backgroundColor: `${color}30`, borderColor: color } : {}
|
|
2660
2725
|
},
|
|
2661
|
-
children: /* @__PURE__ */ (0,
|
|
2726
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { style: { ...styles2.sevText, ...severity === sev ? { color } : {} }, children: sev })
|
|
2662
2727
|
},
|
|
2663
2728
|
sev
|
|
2664
2729
|
)) })
|
|
2665
2730
|
] }),
|
|
2666
|
-
/* @__PURE__ */ (0,
|
|
2667
|
-
/* @__PURE__ */ (0,
|
|
2668
|
-
/* @__PURE__ */ (0,
|
|
2731
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: styles2.section, children: [
|
|
2732
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.label, children: "Category (optional)" }),
|
|
2733
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(CategoryDropdown, { value: category, onChange: setCategory, optional: true })
|
|
2734
|
+
] }),
|
|
2735
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: styles2.section, children: [
|
|
2736
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.label, children: "What went wrong?" }),
|
|
2737
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2669
2738
|
"textarea",
|
|
2670
2739
|
{
|
|
2671
2740
|
style: styles2.descInput,
|
|
@@ -2676,7 +2745,7 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2676
2745
|
}
|
|
2677
2746
|
)
|
|
2678
2747
|
] }),
|
|
2679
|
-
/* @__PURE__ */ (0,
|
|
2748
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2680
2749
|
ImagePickerButtons,
|
|
2681
2750
|
{
|
|
2682
2751
|
images: images.images,
|
|
@@ -2687,8 +2756,8 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2687
2756
|
label: "Attachments (optional)"
|
|
2688
2757
|
}
|
|
2689
2758
|
),
|
|
2690
|
-
error && /* @__PURE__ */ (0,
|
|
2691
|
-
/* @__PURE__ */ (0,
|
|
2759
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.errorBanner, children: error }),
|
|
2760
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2692
2761
|
"button",
|
|
2693
2762
|
{
|
|
2694
2763
|
style: {
|
|
@@ -2701,9 +2770,9 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2701
2770
|
children: images.isUploading ? "Uploading images..." : submitting ? "Submitting..." : error ? "Retry" : "Submit Failed Retest"
|
|
2702
2771
|
}
|
|
2703
2772
|
)
|
|
2704
|
-
] }) : /* @__PURE__ */ (0,
|
|
2705
|
-
/* @__PURE__ */ (0,
|
|
2706
|
-
/* @__PURE__ */ (0,
|
|
2773
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
|
|
2774
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.label, children: "What are you reporting?" }),
|
|
2775
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.typeRow, children: typeOptions.map(({ type, label, icon }) => /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
2707
2776
|
"button",
|
|
2708
2777
|
{
|
|
2709
2778
|
onClick: () => setReportType(type),
|
|
@@ -2712,8 +2781,8 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2712
2781
|
...reportType === type ? styles2.typeCardActive : {}
|
|
2713
2782
|
},
|
|
2714
2783
|
children: [
|
|
2715
|
-
/* @__PURE__ */ (0,
|
|
2716
|
-
/* @__PURE__ */ (0,
|
|
2784
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.typeIcon, children: icon }),
|
|
2785
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2717
2786
|
"div",
|
|
2718
2787
|
{
|
|
2719
2788
|
style: {
|
|
@@ -2727,9 +2796,9 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2727
2796
|
},
|
|
2728
2797
|
type
|
|
2729
2798
|
)) }),
|
|
2730
|
-
isBugType && /* @__PURE__ */ (0,
|
|
2731
|
-
/* @__PURE__ */ (0,
|
|
2732
|
-
/* @__PURE__ */ (0,
|
|
2799
|
+
isBugType && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: styles2.section, children: [
|
|
2800
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.label, children: "Severity" }),
|
|
2801
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.severityRow, children: severityOptions.map(({ sev, color }) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2733
2802
|
"button",
|
|
2734
2803
|
{
|
|
2735
2804
|
onClick: () => setSeverity(sev),
|
|
@@ -2740,7 +2809,7 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2740
2809
|
borderColor: color
|
|
2741
2810
|
} : {}
|
|
2742
2811
|
},
|
|
2743
|
-
children: /* @__PURE__ */ (0,
|
|
2812
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2744
2813
|
"span",
|
|
2745
2814
|
{
|
|
2746
2815
|
style: {
|
|
@@ -2754,9 +2823,13 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2754
2823
|
sev
|
|
2755
2824
|
)) })
|
|
2756
2825
|
] }),
|
|
2757
|
-
/* @__PURE__ */ (0,
|
|
2758
|
-
/* @__PURE__ */ (0,
|
|
2759
|
-
/* @__PURE__ */ (0,
|
|
2826
|
+
isBugType && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: styles2.section, children: [
|
|
2827
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.label, children: "Category (optional)" }),
|
|
2828
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(CategoryDropdown, { value: category, onChange: setCategory, optional: true })
|
|
2829
|
+
] }),
|
|
2830
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: styles2.section, children: [
|
|
2831
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.label, children: "What happened?" }),
|
|
2832
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2760
2833
|
"textarea",
|
|
2761
2834
|
{
|
|
2762
2835
|
style: styles2.descInput,
|
|
@@ -2767,9 +2840,9 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2767
2840
|
}
|
|
2768
2841
|
)
|
|
2769
2842
|
] }),
|
|
2770
|
-
isBugType && /* @__PURE__ */ (0,
|
|
2771
|
-
/* @__PURE__ */ (0,
|
|
2772
|
-
/* @__PURE__ */ (0,
|
|
2843
|
+
isBugType && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: styles2.section, children: [
|
|
2844
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.label, children: "Where did it happen?" }),
|
|
2845
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2773
2846
|
"input",
|
|
2774
2847
|
{
|
|
2775
2848
|
style: styles2.routeInput,
|
|
@@ -2778,13 +2851,13 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2778
2851
|
placeholder: observedRoute.current
|
|
2779
2852
|
}
|
|
2780
2853
|
),
|
|
2781
|
-
/* @__PURE__ */ (0,
|
|
2854
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: styles2.routeHint, children: [
|
|
2782
2855
|
"Leave blank to use current page (",
|
|
2783
2856
|
observedRoute.current,
|
|
2784
2857
|
")"
|
|
2785
2858
|
] })
|
|
2786
2859
|
] }),
|
|
2787
|
-
/* @__PURE__ */ (0,
|
|
2860
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2788
2861
|
ImagePickerButtons,
|
|
2789
2862
|
{
|
|
2790
2863
|
images: images.images,
|
|
@@ -2795,8 +2868,8 @@ function ReportScreen({ nav, prefill }) {
|
|
|
2795
2868
|
label: "Screenshots (optional)"
|
|
2796
2869
|
}
|
|
2797
2870
|
),
|
|
2798
|
-
error && /* @__PURE__ */ (0,
|
|
2799
|
-
/* @__PURE__ */ (0,
|
|
2871
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: styles2.errorBanner, children: error }),
|
|
2872
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2800
2873
|
"button",
|
|
2801
2874
|
{
|
|
2802
2875
|
style: {
|
|
@@ -2961,16 +3034,16 @@ var styles2 = {
|
|
|
2961
3034
|
|
|
2962
3035
|
// src/widget/screens/ReportSuccessScreen.tsx
|
|
2963
3036
|
var import_react9 = require("react");
|
|
2964
|
-
var
|
|
3037
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
2965
3038
|
function ReportSuccessScreen({ nav }) {
|
|
2966
3039
|
(0, import_react9.useEffect)(() => {
|
|
2967
3040
|
const timer = setTimeout(() => nav.reset(), 2e3);
|
|
2968
3041
|
return () => clearTimeout(timer);
|
|
2969
3042
|
}, [nav]);
|
|
2970
|
-
return /* @__PURE__ */ (0,
|
|
2971
|
-
/* @__PURE__ */ (0,
|
|
2972
|
-
/* @__PURE__ */ (0,
|
|
2973
|
-
/* @__PURE__ */ (0,
|
|
3043
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { style: styles3.container, children: [
|
|
3044
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { style: styles3.emoji, children: "\u{1F389}" }),
|
|
3045
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { style: styles3.title, children: "Report submitted!" }),
|
|
3046
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { style: styles3.subtitle, children: "Thank you for your feedback" })
|
|
2974
3047
|
] });
|
|
2975
3048
|
}
|
|
2976
3049
|
var styles3 = {
|
|
@@ -2999,11 +3072,11 @@ var styles3 = {
|
|
|
2999
3072
|
};
|
|
3000
3073
|
|
|
3001
3074
|
// src/widget/screens/MessageListScreen.tsx
|
|
3002
|
-
var
|
|
3075
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
3003
3076
|
function MessageListScreen({ nav }) {
|
|
3004
3077
|
const { threads, unreadCount, refreshThreads } = useBugBear();
|
|
3005
|
-
return /* @__PURE__ */ (0,
|
|
3006
|
-
/* @__PURE__ */ (0,
|
|
3078
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { children: [
|
|
3079
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
3007
3080
|
"button",
|
|
3008
3081
|
{
|
|
3009
3082
|
style: {
|
|
@@ -3022,7 +3095,7 @@ function MessageListScreen({ nav }) {
|
|
|
3022
3095
|
children: "\u2709\uFE0F New Message"
|
|
3023
3096
|
}
|
|
3024
3097
|
),
|
|
3025
|
-
threads.length === 0 ? /* @__PURE__ */ (0,
|
|
3098
|
+
threads.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
3026
3099
|
"div",
|
|
3027
3100
|
{
|
|
3028
3101
|
style: {
|
|
@@ -3033,8 +3106,8 @@ function MessageListScreen({ nav }) {
|
|
|
3033
3106
|
paddingBottom: 40
|
|
3034
3107
|
},
|
|
3035
3108
|
children: [
|
|
3036
|
-
/* @__PURE__ */ (0,
|
|
3037
|
-
/* @__PURE__ */ (0,
|
|
3109
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { style: { fontSize: 36, marginBottom: 12 }, children: "\u{1F4AC}" }),
|
|
3110
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
3038
3111
|
"span",
|
|
3039
3112
|
{
|
|
3040
3113
|
style: {
|
|
@@ -3046,7 +3119,7 @@ function MessageListScreen({ nav }) {
|
|
|
3046
3119
|
children: "No messages yet"
|
|
3047
3120
|
}
|
|
3048
3121
|
),
|
|
3049
|
-
/* @__PURE__ */ (0,
|
|
3122
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
3050
3123
|
"span",
|
|
3051
3124
|
{
|
|
3052
3125
|
style: {
|
|
@@ -3059,7 +3132,7 @@ function MessageListScreen({ nav }) {
|
|
|
3059
3132
|
)
|
|
3060
3133
|
]
|
|
3061
3134
|
}
|
|
3062
|
-
) : /* @__PURE__ */ (0,
|
|
3135
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { children: threads.map((thread) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
3063
3136
|
"button",
|
|
3064
3137
|
{
|
|
3065
3138
|
style: {
|
|
@@ -3077,8 +3150,8 @@ function MessageListScreen({ nav }) {
|
|
|
3077
3150
|
},
|
|
3078
3151
|
onClick: () => nav.push({ name: "THREAD_DETAIL", thread }),
|
|
3079
3152
|
children: [
|
|
3080
|
-
/* @__PURE__ */ (0,
|
|
3081
|
-
/* @__PURE__ */ (0,
|
|
3153
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { style: { display: "flex", flex: 1, minWidth: 0 }, children: [
|
|
3154
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
3082
3155
|
"span",
|
|
3083
3156
|
{
|
|
3084
3157
|
style: {
|
|
@@ -3090,7 +3163,7 @@ function MessageListScreen({ nav }) {
|
|
|
3090
3163
|
children: getThreadTypeIcon(thread.threadType)
|
|
3091
3164
|
}
|
|
3092
3165
|
),
|
|
3093
|
-
/* @__PURE__ */ (0,
|
|
3166
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
3094
3167
|
"div",
|
|
3095
3168
|
{
|
|
3096
3169
|
style: {
|
|
@@ -3098,7 +3171,7 @@ function MessageListScreen({ nav }) {
|
|
|
3098
3171
|
minWidth: 0
|
|
3099
3172
|
},
|
|
3100
3173
|
children: [
|
|
3101
|
-
/* @__PURE__ */ (0,
|
|
3174
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
3102
3175
|
"div",
|
|
3103
3176
|
{
|
|
3104
3177
|
style: {
|
|
@@ -3107,8 +3180,8 @@ function MessageListScreen({ nav }) {
|
|
|
3107
3180
|
gap: 4
|
|
3108
3181
|
},
|
|
3109
3182
|
children: [
|
|
3110
|
-
thread.isPinned && /* @__PURE__ */ (0,
|
|
3111
|
-
/* @__PURE__ */ (0,
|
|
3183
|
+
thread.isPinned && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { style: { fontSize: 12, flexShrink: 0 }, children: "\u{1F4CC}" }),
|
|
3184
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
3112
3185
|
"span",
|
|
3113
3186
|
{
|
|
3114
3187
|
style: {
|
|
@@ -3125,7 +3198,7 @@ function MessageListScreen({ nav }) {
|
|
|
3125
3198
|
]
|
|
3126
3199
|
}
|
|
3127
3200
|
),
|
|
3128
|
-
thread.lastMessage && /* @__PURE__ */ (0,
|
|
3201
|
+
thread.lastMessage && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
3129
3202
|
"span",
|
|
3130
3203
|
{
|
|
3131
3204
|
style: {
|
|
@@ -3149,7 +3222,7 @@ function MessageListScreen({ nav }) {
|
|
|
3149
3222
|
}
|
|
3150
3223
|
)
|
|
3151
3224
|
] }),
|
|
3152
|
-
/* @__PURE__ */ (0,
|
|
3225
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
3153
3226
|
"div",
|
|
3154
3227
|
{
|
|
3155
3228
|
style: {
|
|
@@ -3161,8 +3234,8 @@ function MessageListScreen({ nav }) {
|
|
|
3161
3234
|
flexShrink: 0
|
|
3162
3235
|
},
|
|
3163
3236
|
children: [
|
|
3164
|
-
/* @__PURE__ */ (0,
|
|
3165
|
-
thread.unreadCount > 0 && /* @__PURE__ */ (0,
|
|
3237
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { style: { fontSize: 11, color: colors.textDim }, children: formatRelativeTime(thread.lastMessageAt) }),
|
|
3238
|
+
thread.unreadCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
3166
3239
|
"span",
|
|
3167
3240
|
{
|
|
3168
3241
|
style: {
|
|
@@ -3189,7 +3262,7 @@ function MessageListScreen({ nav }) {
|
|
|
3189
3262
|
},
|
|
3190
3263
|
thread.id
|
|
3191
3264
|
)) }),
|
|
3192
|
-
/* @__PURE__ */ (0,
|
|
3265
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
3193
3266
|
"div",
|
|
3194
3267
|
{
|
|
3195
3268
|
style: {
|
|
@@ -3201,7 +3274,7 @@ function MessageListScreen({ nav }) {
|
|
|
3201
3274
|
paddingRight: 4
|
|
3202
3275
|
},
|
|
3203
3276
|
children: [
|
|
3204
|
-
/* @__PURE__ */ (0,
|
|
3277
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { style: { fontSize: 12, color: colors.textMuted }, children: [
|
|
3205
3278
|
threads.length,
|
|
3206
3279
|
" thread",
|
|
3207
3280
|
threads.length !== 1 ? "s" : "",
|
|
@@ -3210,7 +3283,7 @@ function MessageListScreen({ nav }) {
|
|
|
3210
3283
|
unreadCount,
|
|
3211
3284
|
" unread"
|
|
3212
3285
|
] }),
|
|
3213
|
-
/* @__PURE__ */ (0,
|
|
3286
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
3214
3287
|
"button",
|
|
3215
3288
|
{
|
|
3216
3289
|
style: {
|
|
@@ -3233,7 +3306,7 @@ function MessageListScreen({ nav }) {
|
|
|
3233
3306
|
|
|
3234
3307
|
// src/widget/screens/ThreadDetailScreen.tsx
|
|
3235
3308
|
var import_react10 = require("react");
|
|
3236
|
-
var
|
|
3309
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
3237
3310
|
var inputStyle = {
|
|
3238
3311
|
backgroundColor: "#27272a",
|
|
3239
3312
|
border: "1px solid #3f3f46",
|
|
@@ -3292,8 +3365,8 @@ function ThreadDetailScreen({
|
|
|
3292
3365
|
handleSend();
|
|
3293
3366
|
}
|
|
3294
3367
|
};
|
|
3295
|
-
return /* @__PURE__ */ (0,
|
|
3296
|
-
/* @__PURE__ */ (0,
|
|
3368
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { style: { display: "flex", flexDirection: "column", flex: 1 }, children: [
|
|
3369
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
3297
3370
|
"div",
|
|
3298
3371
|
{
|
|
3299
3372
|
style: {
|
|
@@ -3305,8 +3378,8 @@ function ThreadDetailScreen({
|
|
|
3305
3378
|
borderBottom: `1px solid ${colors.border}`
|
|
3306
3379
|
},
|
|
3307
3380
|
children: [
|
|
3308
|
-
/* @__PURE__ */ (0,
|
|
3309
|
-
/* @__PURE__ */ (0,
|
|
3381
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { style: { fontSize: 20 }, children: getThreadTypeIcon(thread.threadType) }),
|
|
3382
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
3310
3383
|
"span",
|
|
3311
3384
|
{
|
|
3312
3385
|
style: {
|
|
@@ -3326,7 +3399,7 @@ function ThreadDetailScreen({
|
|
|
3326
3399
|
]
|
|
3327
3400
|
}
|
|
3328
3401
|
),
|
|
3329
|
-
loading ? /* @__PURE__ */ (0,
|
|
3402
|
+
loading ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
3330
3403
|
"div",
|
|
3331
3404
|
{
|
|
3332
3405
|
style: {
|
|
@@ -3334,11 +3407,11 @@ function ThreadDetailScreen({
|
|
|
3334
3407
|
paddingBottom: 40,
|
|
3335
3408
|
textAlign: "center"
|
|
3336
3409
|
},
|
|
3337
|
-
children: /* @__PURE__ */ (0,
|
|
3410
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { style: { fontSize: 14, color: colors.textMuted }, children: "Loading messages..." })
|
|
3338
3411
|
}
|
|
3339
|
-
) : /* @__PURE__ */ (0,
|
|
3412
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { style: { paddingBottom: 8, marginBottom: 8 }, children: messages.map((msg) => {
|
|
3340
3413
|
const isTester = msg.senderType === "tester";
|
|
3341
|
-
return /* @__PURE__ */ (0,
|
|
3414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
3342
3415
|
"div",
|
|
3343
3416
|
{
|
|
3344
3417
|
style: {
|
|
@@ -3354,7 +3427,7 @@ function ThreadDetailScreen({
|
|
|
3354
3427
|
borderBottomRightRadius: isTester ? 4 : 16
|
|
3355
3428
|
},
|
|
3356
3429
|
children: [
|
|
3357
|
-
/* @__PURE__ */ (0,
|
|
3430
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
3358
3431
|
"span",
|
|
3359
3432
|
{
|
|
3360
3433
|
style: {
|
|
@@ -3367,7 +3440,7 @@ function ThreadDetailScreen({
|
|
|
3367
3440
|
children: isTester ? "You" : msg.senderName
|
|
3368
3441
|
}
|
|
3369
3442
|
),
|
|
3370
|
-
/* @__PURE__ */ (0,
|
|
3443
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
3371
3444
|
"span",
|
|
3372
3445
|
{
|
|
3373
3446
|
style: {
|
|
@@ -3381,7 +3454,7 @@ function ThreadDetailScreen({
|
|
|
3381
3454
|
children: msg.content
|
|
3382
3455
|
}
|
|
3383
3456
|
),
|
|
3384
|
-
msg.attachments && msg.attachments.length > 0 && /* @__PURE__ */ (0,
|
|
3457
|
+
msg.attachments && msg.attachments.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { style: { marginTop: 8, display: "flex", flexDirection: "column", gap: 6 }, children: msg.attachments.filter((a) => a.type === "image" && typeof a.url === "string" && /^https?:\/\//i.test(a.url)).map((att, idx) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
3385
3458
|
"img",
|
|
3386
3459
|
{
|
|
3387
3460
|
src: att.url,
|
|
@@ -3390,7 +3463,7 @@ function ThreadDetailScreen({
|
|
|
3390
3463
|
},
|
|
3391
3464
|
idx
|
|
3392
3465
|
)) }),
|
|
3393
|
-
/* @__PURE__ */ (0,
|
|
3466
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
3394
3467
|
"span",
|
|
3395
3468
|
{
|
|
3396
3469
|
style: {
|
|
@@ -3408,7 +3481,7 @@ function ThreadDetailScreen({
|
|
|
3408
3481
|
msg.id
|
|
3409
3482
|
);
|
|
3410
3483
|
}) }),
|
|
3411
|
-
sendError && /* @__PURE__ */ (0,
|
|
3484
|
+
sendError && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
3412
3485
|
"div",
|
|
3413
3486
|
{
|
|
3414
3487
|
style: {
|
|
@@ -3420,7 +3493,7 @@ function ThreadDetailScreen({
|
|
|
3420
3493
|
borderRadius: 8,
|
|
3421
3494
|
marginBottom: 8
|
|
3422
3495
|
},
|
|
3423
|
-
children: /* @__PURE__ */ (0,
|
|
3496
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
3424
3497
|
"span",
|
|
3425
3498
|
{
|
|
3426
3499
|
style: {
|
|
@@ -3434,8 +3507,8 @@ function ThreadDetailScreen({
|
|
|
3434
3507
|
)
|
|
3435
3508
|
}
|
|
3436
3509
|
),
|
|
3437
|
-
replyImages.images.length > 0 && /* @__PURE__ */ (0,
|
|
3438
|
-
/* @__PURE__ */ (0,
|
|
3510
|
+
replyImages.images.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { style: { paddingTop: 8 }, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ImagePreviewStrip, { images: replyImages.images, onRemove: replyImages.removeImage }) }),
|
|
3511
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
3439
3512
|
"div",
|
|
3440
3513
|
{
|
|
3441
3514
|
style: {
|
|
@@ -3446,7 +3519,7 @@ function ThreadDetailScreen({
|
|
|
3446
3519
|
gap: 8
|
|
3447
3520
|
},
|
|
3448
3521
|
children: [
|
|
3449
|
-
/* @__PURE__ */ (0,
|
|
3522
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
3450
3523
|
"button",
|
|
3451
3524
|
{
|
|
3452
3525
|
type: "button",
|
|
@@ -3465,7 +3538,7 @@ function ThreadDetailScreen({
|
|
|
3465
3538
|
children: "\u{1F4CE}"
|
|
3466
3539
|
}
|
|
3467
3540
|
),
|
|
3468
|
-
/* @__PURE__ */ (0,
|
|
3541
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
3469
3542
|
"input",
|
|
3470
3543
|
{
|
|
3471
3544
|
type: "text",
|
|
@@ -3481,7 +3554,7 @@ function ThreadDetailScreen({
|
|
|
3481
3554
|
}
|
|
3482
3555
|
}
|
|
3483
3556
|
),
|
|
3484
|
-
/* @__PURE__ */ (0,
|
|
3557
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
3485
3558
|
"button",
|
|
3486
3559
|
{
|
|
3487
3560
|
style: {
|
|
@@ -3509,7 +3582,7 @@ function ThreadDetailScreen({
|
|
|
3509
3582
|
|
|
3510
3583
|
// src/widget/screens/ComposeMessageScreen.tsx
|
|
3511
3584
|
var import_react11 = require("react");
|
|
3512
|
-
var
|
|
3585
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
3513
3586
|
var inputStyle2 = {
|
|
3514
3587
|
backgroundColor: "#27272a",
|
|
3515
3588
|
border: "1px solid #3f3f46",
|
|
@@ -3540,9 +3613,9 @@ function ComposeMessageScreen({ nav }) {
|
|
|
3540
3613
|
nav.pop();
|
|
3541
3614
|
}
|
|
3542
3615
|
};
|
|
3543
|
-
return /* @__PURE__ */ (0,
|
|
3544
|
-
/* @__PURE__ */ (0,
|
|
3545
|
-
/* @__PURE__ */ (0,
|
|
3616
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { children: [
|
|
3617
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { style: { marginBottom: 20 }, children: [
|
|
3618
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
3546
3619
|
"div",
|
|
3547
3620
|
{
|
|
3548
3621
|
style: {
|
|
@@ -3554,9 +3627,9 @@ function ComposeMessageScreen({ nav }) {
|
|
|
3554
3627
|
children: "New Message"
|
|
3555
3628
|
}
|
|
3556
3629
|
),
|
|
3557
|
-
/* @__PURE__ */ (0,
|
|
3630
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { style: { fontSize: 14, color: colors.textMuted }, children: "Send a message to the QA team" })
|
|
3558
3631
|
] }),
|
|
3559
|
-
/* @__PURE__ */ (0,
|
|
3632
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
3560
3633
|
"div",
|
|
3561
3634
|
{
|
|
3562
3635
|
style: {
|
|
@@ -3566,7 +3639,7 @@ function ComposeMessageScreen({ nav }) {
|
|
|
3566
3639
|
border: `1px solid ${colors.border}`
|
|
3567
3640
|
},
|
|
3568
3641
|
children: [
|
|
3569
|
-
/* @__PURE__ */ (0,
|
|
3642
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
3570
3643
|
"label",
|
|
3571
3644
|
{
|
|
3572
3645
|
style: {
|
|
@@ -3579,7 +3652,7 @@ function ComposeMessageScreen({ nav }) {
|
|
|
3579
3652
|
children: "Subject"
|
|
3580
3653
|
}
|
|
3581
3654
|
),
|
|
3582
|
-
/* @__PURE__ */ (0,
|
|
3655
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
3583
3656
|
"input",
|
|
3584
3657
|
{
|
|
3585
3658
|
type: "text",
|
|
@@ -3594,7 +3667,7 @@ function ComposeMessageScreen({ nav }) {
|
|
|
3594
3667
|
}
|
|
3595
3668
|
}
|
|
3596
3669
|
),
|
|
3597
|
-
/* @__PURE__ */ (0,
|
|
3670
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
3598
3671
|
"label",
|
|
3599
3672
|
{
|
|
3600
3673
|
style: {
|
|
@@ -3608,7 +3681,7 @@ function ComposeMessageScreen({ nav }) {
|
|
|
3608
3681
|
children: "Message"
|
|
3609
3682
|
}
|
|
3610
3683
|
),
|
|
3611
|
-
/* @__PURE__ */ (0,
|
|
3684
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
3612
3685
|
"textarea",
|
|
3613
3686
|
{
|
|
3614
3687
|
value: message,
|
|
@@ -3627,7 +3700,7 @@ function ComposeMessageScreen({ nav }) {
|
|
|
3627
3700
|
}
|
|
3628
3701
|
}
|
|
3629
3702
|
),
|
|
3630
|
-
/* @__PURE__ */ (0,
|
|
3703
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
3631
3704
|
ImagePickerButtons,
|
|
3632
3705
|
{
|
|
3633
3706
|
images: images.images,
|
|
@@ -3638,7 +3711,7 @@ function ComposeMessageScreen({ nav }) {
|
|
|
3638
3711
|
label: "Attachments (optional)"
|
|
3639
3712
|
}
|
|
3640
3713
|
),
|
|
3641
|
-
/* @__PURE__ */ (0,
|
|
3714
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
3642
3715
|
"button",
|
|
3643
3716
|
{
|
|
3644
3717
|
style: {
|
|
@@ -3667,7 +3740,7 @@ function ComposeMessageScreen({ nav }) {
|
|
|
3667
3740
|
|
|
3668
3741
|
// src/widget/screens/ProfileScreen.tsx
|
|
3669
3742
|
var import_react12 = require("react");
|
|
3670
|
-
var
|
|
3743
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
3671
3744
|
function ProfileScreen({ nav }) {
|
|
3672
3745
|
const { testerInfo, assignments, updateTesterProfile, refreshTesterInfo } = useBugBear();
|
|
3673
3746
|
const [editing, setEditing] = (0, import_react12.useState)(false);
|
|
@@ -3713,22 +3786,22 @@ function ProfileScreen({ nav }) {
|
|
|
3713
3786
|
}
|
|
3714
3787
|
};
|
|
3715
3788
|
if (saved) {
|
|
3716
|
-
return /* @__PURE__ */ (0,
|
|
3717
|
-
/* @__PURE__ */ (0,
|
|
3718
|
-
/* @__PURE__ */ (0,
|
|
3789
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.emptyState, children: [
|
|
3790
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.emptyEmoji, children: "\u2705" }),
|
|
3791
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.emptyTitle, children: "Profile saved!" })
|
|
3719
3792
|
] });
|
|
3720
3793
|
}
|
|
3721
3794
|
if (!testerInfo) {
|
|
3722
|
-
return /* @__PURE__ */ (0,
|
|
3723
|
-
/* @__PURE__ */ (0,
|
|
3724
|
-
/* @__PURE__ */ (0,
|
|
3795
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.emptyState, children: [
|
|
3796
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.emptyEmoji, children: "\u{1F464}" }),
|
|
3797
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.emptyTitle, children: "No profile found" })
|
|
3725
3798
|
] });
|
|
3726
3799
|
}
|
|
3727
3800
|
if (editing) {
|
|
3728
|
-
return /* @__PURE__ */ (0,
|
|
3729
|
-
/* @__PURE__ */ (0,
|
|
3730
|
-
/* @__PURE__ */ (0,
|
|
3731
|
-
/* @__PURE__ */ (0,
|
|
3801
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { children: [
|
|
3802
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.editHeader, children: [
|
|
3803
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.editTitle, children: "Edit Profile" }),
|
|
3804
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3732
3805
|
"button",
|
|
3733
3806
|
{
|
|
3734
3807
|
style: styles4.cancelButton,
|
|
@@ -3740,9 +3813,9 @@ function ProfileScreen({ nav }) {
|
|
|
3740
3813
|
}
|
|
3741
3814
|
)
|
|
3742
3815
|
] }),
|
|
3743
|
-
/* @__PURE__ */ (0,
|
|
3744
|
-
/* @__PURE__ */ (0,
|
|
3745
|
-
/* @__PURE__ */ (0,
|
|
3816
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.field, children: [
|
|
3817
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("label", { style: styles4.label, children: "Name" }),
|
|
3818
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3746
3819
|
"input",
|
|
3747
3820
|
{
|
|
3748
3821
|
style: styles4.input,
|
|
@@ -3752,15 +3825,15 @@ function ProfileScreen({ nav }) {
|
|
|
3752
3825
|
}
|
|
3753
3826
|
)
|
|
3754
3827
|
] }),
|
|
3755
|
-
/* @__PURE__ */ (0,
|
|
3756
|
-
/* @__PURE__ */ (0,
|
|
3757
|
-
/* @__PURE__ */ (0,
|
|
3828
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.field, children: [
|
|
3829
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("label", { style: styles4.label, children: "Primary Email" }),
|
|
3830
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.emailFixed, children: testerInfo.email })
|
|
3758
3831
|
] }),
|
|
3759
|
-
/* @__PURE__ */ (0,
|
|
3760
|
-
/* @__PURE__ */ (0,
|
|
3761
|
-
additionalEmails.map((email) => /* @__PURE__ */ (0,
|
|
3762
|
-
/* @__PURE__ */ (0,
|
|
3763
|
-
/* @__PURE__ */ (0,
|
|
3832
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.field, children: [
|
|
3833
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("label", { style: styles4.label, children: "Additional Emails" }),
|
|
3834
|
+
additionalEmails.map((email) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.emailRow, children: [
|
|
3835
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.emailText, children: email }),
|
|
3836
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3764
3837
|
"button",
|
|
3765
3838
|
{
|
|
3766
3839
|
style: styles4.removeEmailButton,
|
|
@@ -3769,8 +3842,8 @@ function ProfileScreen({ nav }) {
|
|
|
3769
3842
|
}
|
|
3770
3843
|
)
|
|
3771
3844
|
] }, email)),
|
|
3772
|
-
/* @__PURE__ */ (0,
|
|
3773
|
-
/* @__PURE__ */ (0,
|
|
3845
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.addEmailRow, children: [
|
|
3846
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3774
3847
|
"input",
|
|
3775
3848
|
{
|
|
3776
3849
|
style: { ...styles4.input, flex: 1, marginRight: 8 },
|
|
@@ -3783,18 +3856,18 @@ function ProfileScreen({ nav }) {
|
|
|
3783
3856
|
}
|
|
3784
3857
|
}
|
|
3785
3858
|
),
|
|
3786
|
-
/* @__PURE__ */ (0,
|
|
3859
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("button", { style: styles4.addButton, onClick: handleAddEmail, children: "Add" })
|
|
3787
3860
|
] })
|
|
3788
3861
|
] }),
|
|
3789
|
-
/* @__PURE__ */ (0,
|
|
3790
|
-
/* @__PURE__ */ (0,
|
|
3791
|
-
/* @__PURE__ */ (0,
|
|
3862
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.field, children: [
|
|
3863
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("label", { style: styles4.label, children: "Testing Platforms" }),
|
|
3864
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { style: styles4.platformRow, children: [
|
|
3792
3865
|
{ key: "ios", label: "\u{1F4F1} iOS" },
|
|
3793
3866
|
{ key: "android", label: "\u{1F916} Android" },
|
|
3794
3867
|
{ key: "web", label: "\u{1F310} Web" }
|
|
3795
3868
|
].map(({ key, label }) => {
|
|
3796
3869
|
const isActive = platforms.includes(key);
|
|
3797
|
-
return /* @__PURE__ */ (0,
|
|
3870
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3798
3871
|
"button",
|
|
3799
3872
|
{
|
|
3800
3873
|
style: {
|
|
@@ -3804,13 +3877,13 @@ function ProfileScreen({ nav }) {
|
|
|
3804
3877
|
onClick: () => setPlatforms(
|
|
3805
3878
|
(prev) => prev.includes(key) ? prev.filter((p) => p !== key) : [...prev, key]
|
|
3806
3879
|
),
|
|
3807
|
-
children: /* @__PURE__ */ (0,
|
|
3880
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: isActive ? styles4.platformTextActive : styles4.platformText, children: label })
|
|
3808
3881
|
},
|
|
3809
3882
|
key
|
|
3810
3883
|
);
|
|
3811
3884
|
}) })
|
|
3812
3885
|
] }),
|
|
3813
|
-
/* @__PURE__ */ (0,
|
|
3886
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3814
3887
|
"button",
|
|
3815
3888
|
{
|
|
3816
3889
|
style: { ...styles4.primaryButton, marginTop: 20 },
|
|
@@ -3821,45 +3894,45 @@ function ProfileScreen({ nav }) {
|
|
|
3821
3894
|
)
|
|
3822
3895
|
] });
|
|
3823
3896
|
}
|
|
3824
|
-
return /* @__PURE__ */ (0,
|
|
3825
|
-
/* @__PURE__ */ (0,
|
|
3826
|
-
/* @__PURE__ */ (0,
|
|
3827
|
-
/* @__PURE__ */ (0,
|
|
3828
|
-
/* @__PURE__ */ (0,
|
|
3897
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { children: [
|
|
3898
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.profileCard, children: [
|
|
3899
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { style: styles4.avatar, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.avatarText, children: testerInfo.name.charAt(0).toUpperCase() }) }),
|
|
3900
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.profileName, children: testerInfo.name }),
|
|
3901
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.profileEmail, children: testerInfo.email })
|
|
3829
3902
|
] }),
|
|
3830
|
-
/* @__PURE__ */ (0,
|
|
3831
|
-
/* @__PURE__ */ (0,
|
|
3832
|
-
/* @__PURE__ */ (0,
|
|
3833
|
-
/* @__PURE__ */ (0,
|
|
3903
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.statsRow, children: [
|
|
3904
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.statItem, children: [
|
|
3905
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.statNumber, children: completedCount }),
|
|
3906
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.statLabel, children: "Completed" })
|
|
3834
3907
|
] }),
|
|
3835
|
-
/* @__PURE__ */ (0,
|
|
3836
|
-
/* @__PURE__ */ (0,
|
|
3837
|
-
/* @__PURE__ */ (0,
|
|
3838
|
-
/* @__PURE__ */ (0,
|
|
3908
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { style: styles4.statDivider }),
|
|
3909
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.statItem, children: [
|
|
3910
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.statNumber, children: assignments.length }),
|
|
3911
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.statLabel, children: "Total Assigned" })
|
|
3839
3912
|
] })
|
|
3840
3913
|
] }),
|
|
3841
|
-
/* @__PURE__ */ (0,
|
|
3914
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3842
3915
|
"button",
|
|
3843
3916
|
{
|
|
3844
3917
|
style: styles4.detailsToggle,
|
|
3845
3918
|
onClick: () => setShowDetails(!showDetails),
|
|
3846
|
-
children: /* @__PURE__ */ (0,
|
|
3919
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("span", { style: styles4.detailsToggleText, children: [
|
|
3847
3920
|
showDetails ? "\u25BC" : "\u25B6",
|
|
3848
3921
|
" Details"
|
|
3849
3922
|
] })
|
|
3850
3923
|
}
|
|
3851
3924
|
),
|
|
3852
|
-
showDetails && /* @__PURE__ */ (0,
|
|
3853
|
-
additionalEmails.length > 0 && /* @__PURE__ */ (0,
|
|
3854
|
-
/* @__PURE__ */ (0,
|
|
3855
|
-
additionalEmails.map((e) => /* @__PURE__ */ (0,
|
|
3925
|
+
showDetails && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.detailsSection, children: [
|
|
3926
|
+
additionalEmails.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.detailBlock, children: [
|
|
3927
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.detailLabel, children: "Additional Emails" }),
|
|
3928
|
+
additionalEmails.map((e) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.detailValue, children: e }, e))
|
|
3856
3929
|
] }),
|
|
3857
|
-
platforms.length > 0 && /* @__PURE__ */ (0,
|
|
3858
|
-
/* @__PURE__ */ (0,
|
|
3859
|
-
/* @__PURE__ */ (0,
|
|
3930
|
+
platforms.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { style: styles4.detailBlock, children: [
|
|
3931
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.detailLabel, children: "Platforms" }),
|
|
3932
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { style: styles4.platformTags, children: platforms.map((p) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.platformTag, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { style: styles4.platformTagText, children: p === "ios" ? "\u{1F4F1} iOS" : p === "android" ? "\u{1F916} Android" : "\u{1F310} Web" }) }, p)) })
|
|
3860
3933
|
] })
|
|
3861
3934
|
] }),
|
|
3862
|
-
/* @__PURE__ */ (0,
|
|
3935
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3863
3936
|
"button",
|
|
3864
3937
|
{
|
|
3865
3938
|
style: { ...styles4.primaryButton, marginTop: 20 },
|
|
@@ -4143,7 +4216,7 @@ var styles4 = {
|
|
|
4143
4216
|
|
|
4144
4217
|
// src/widget/screens/IssueListScreen.tsx
|
|
4145
4218
|
var import_react13 = require("react");
|
|
4146
|
-
var
|
|
4219
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
4147
4220
|
var CATEGORY_CONFIG = {
|
|
4148
4221
|
open: { label: "Open Issues", accent: "#f97316", emptyIcon: "\u2705", emptyText: "No open issues" },
|
|
4149
4222
|
done: { label: "Done", accent: "#22c55e", emptyIcon: "\u{1F389}", emptyText: "No completed issues yet" },
|
|
@@ -4176,15 +4249,15 @@ function IssueListScreen({ nav, category }) {
|
|
|
4176
4249
|
};
|
|
4177
4250
|
}, [client, category]);
|
|
4178
4251
|
if (loading) {
|
|
4179
|
-
return /* @__PURE__ */ (0,
|
|
4252
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: { padding: "40px 0", textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: { color: colors.textMuted, fontSize: 14 }, children: "Loading..." }) });
|
|
4180
4253
|
}
|
|
4181
4254
|
if (issues.length === 0) {
|
|
4182
|
-
return /* @__PURE__ */ (0,
|
|
4183
|
-
/* @__PURE__ */ (0,
|
|
4184
|
-
/* @__PURE__ */ (0,
|
|
4255
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { style: { padding: "40px 0", textAlign: "center" }, children: [
|
|
4256
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: { fontSize: 36, marginBottom: 8 }, children: config.emptyIcon }),
|
|
4257
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: { color: colors.textMuted, fontSize: 14 }, children: config.emptyText })
|
|
4185
4258
|
] });
|
|
4186
4259
|
}
|
|
4187
|
-
return /* @__PURE__ */ (0,
|
|
4260
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { children: issues.map((issue) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
4188
4261
|
"div",
|
|
4189
4262
|
{
|
|
4190
4263
|
role: "button",
|
|
@@ -4203,8 +4276,8 @@ function IssueListScreen({ nav, category }) {
|
|
|
4203
4276
|
userSelect: "none"
|
|
4204
4277
|
},
|
|
4205
4278
|
children: [
|
|
4206
|
-
/* @__PURE__ */ (0,
|
|
4207
|
-
issue.severity && /* @__PURE__ */ (0,
|
|
4279
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { style: { display: "flex", alignItems: "flex-start", gap: 8 }, children: [
|
|
4280
|
+
issue.severity && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
4208
4281
|
"span",
|
|
4209
4282
|
{
|
|
4210
4283
|
style: {
|
|
@@ -4217,7 +4290,7 @@ function IssueListScreen({ nav, category }) {
|
|
|
4217
4290
|
}
|
|
4218
4291
|
}
|
|
4219
4292
|
),
|
|
4220
|
-
/* @__PURE__ */ (0,
|
|
4293
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { style: {
|
|
4221
4294
|
fontSize: 13,
|
|
4222
4295
|
fontWeight: 600,
|
|
4223
4296
|
color: colors.textPrimary,
|
|
@@ -4227,11 +4300,11 @@ function IssueListScreen({ nav, category }) {
|
|
|
4227
4300
|
whiteSpace: "nowrap"
|
|
4228
4301
|
}, children: issue.title })
|
|
4229
4302
|
] }),
|
|
4230
|
-
/* @__PURE__ */ (0,
|
|
4231
|
-
issue.route && /* @__PURE__ */ (0,
|
|
4232
|
-
/* @__PURE__ */ (0,
|
|
4303
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { style: { display: "flex", justifyContent: "space-between", marginTop: 6 }, children: [
|
|
4304
|
+
issue.route && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { style: { fontSize: 11, color: colors.textDim, maxWidth: "60%", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: issue.route }),
|
|
4305
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { style: { fontSize: 11, color: colors.textDim, marginLeft: "auto" }, children: formatRelativeTime(issue.updatedAt) })
|
|
4233
4306
|
] }),
|
|
4234
|
-
category === "done" && issue.verifiedByName && /* @__PURE__ */ (0,
|
|
4307
|
+
category === "done" && issue.verifiedByName && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { style: {
|
|
4235
4308
|
display: "inline-flex",
|
|
4236
4309
|
alignItems: "center",
|
|
4237
4310
|
gap: 4,
|
|
@@ -4247,7 +4320,7 @@ function IssueListScreen({ nav, category }) {
|
|
|
4247
4320
|
"\u2714 Verified by ",
|
|
4248
4321
|
issue.verifiedByName
|
|
4249
4322
|
] }),
|
|
4250
|
-
category === "reopened" && issue.originalBugTitle && /* @__PURE__ */ (0,
|
|
4323
|
+
category === "reopened" && issue.originalBugTitle && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { style: {
|
|
4251
4324
|
display: "inline-flex",
|
|
4252
4325
|
alignItems: "center",
|
|
4253
4326
|
gap: 4,
|
|
@@ -4274,7 +4347,7 @@ function IssueListScreen({ nav, category }) {
|
|
|
4274
4347
|
}
|
|
4275
4348
|
|
|
4276
4349
|
// src/widget/screens/IssueDetailScreen.tsx
|
|
4277
|
-
var
|
|
4350
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
4278
4351
|
var STATUS_LABELS = {
|
|
4279
4352
|
new: { label: "New", bg: "#1e3a5f", color: "#60a5fa" },
|
|
4280
4353
|
triaging: { label: "Triaging", bg: "#1e3a5f", color: "#60a5fa" },
|
|
@@ -4298,9 +4371,9 @@ var SEVERITY_CONFIG = {
|
|
|
4298
4371
|
function IssueDetailScreen({ nav, issue }) {
|
|
4299
4372
|
const statusConfig = STATUS_LABELS[issue.status] || { label: issue.status, bg: "#27272a", color: "#a1a1aa" };
|
|
4300
4373
|
const severityConfig = issue.severity ? SEVERITY_CONFIG[issue.severity] : null;
|
|
4301
|
-
return /* @__PURE__ */ (0,
|
|
4302
|
-
/* @__PURE__ */ (0,
|
|
4303
|
-
/* @__PURE__ */ (0,
|
|
4374
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
4375
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { display: "flex", gap: 8, flexWrap: "wrap", marginBottom: 12 }, children: [
|
|
4376
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: {
|
|
4304
4377
|
backgroundColor: statusConfig.bg,
|
|
4305
4378
|
color: statusConfig.color,
|
|
4306
4379
|
fontSize: 11,
|
|
@@ -4308,7 +4381,7 @@ function IssueDetailScreen({ nav, issue }) {
|
|
|
4308
4381
|
padding: "3px 10px",
|
|
4309
4382
|
borderRadius: 6
|
|
4310
4383
|
}, children: statusConfig.label }),
|
|
4311
|
-
severityConfig && /* @__PURE__ */ (0,
|
|
4384
|
+
severityConfig && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: {
|
|
4312
4385
|
backgroundColor: severityConfig.bg,
|
|
4313
4386
|
color: severityConfig.color,
|
|
4314
4387
|
fontSize: 11,
|
|
@@ -4317,9 +4390,9 @@ function IssueDetailScreen({ nav, issue }) {
|
|
|
4317
4390
|
borderRadius: 6
|
|
4318
4391
|
}, children: severityConfig.label })
|
|
4319
4392
|
] }),
|
|
4320
|
-
/* @__PURE__ */ (0,
|
|
4321
|
-
issue.route && /* @__PURE__ */ (0,
|
|
4322
|
-
issue.description && /* @__PURE__ */ (0,
|
|
4393
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h3", { style: { fontSize: 16, fontWeight: 700, color: colors.textPrimary, margin: "0 0 8px 0", lineHeight: 1.3 }, children: issue.title }),
|
|
4394
|
+
issue.route && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { style: { fontSize: 12, color: colors.textDim, marginBottom: 12 }, children: issue.route }),
|
|
4395
|
+
issue.description && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { style: {
|
|
4323
4396
|
backgroundColor: colors.card,
|
|
4324
4397
|
border: `1px solid ${colors.border}`,
|
|
4325
4398
|
borderRadius: 8,
|
|
@@ -4331,56 +4404,56 @@ function IssueDetailScreen({ nav, issue }) {
|
|
|
4331
4404
|
whiteSpace: "pre-wrap",
|
|
4332
4405
|
wordBreak: "break-word"
|
|
4333
4406
|
}, children: issue.description }),
|
|
4334
|
-
issue.verifiedByName && /* @__PURE__ */ (0,
|
|
4407
|
+
issue.verifiedByName && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: {
|
|
4335
4408
|
backgroundColor: "#14532d",
|
|
4336
4409
|
border: "1px solid #166534",
|
|
4337
4410
|
borderRadius: 8,
|
|
4338
4411
|
padding: 12,
|
|
4339
4412
|
marginBottom: 12
|
|
4340
4413
|
}, children: [
|
|
4341
|
-
/* @__PURE__ */ (0,
|
|
4342
|
-
/* @__PURE__ */ (0,
|
|
4343
|
-
/* @__PURE__ */ (0,
|
|
4414
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 4 }, children: [
|
|
4415
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: { fontSize: 16 }, children: "\u2705" }),
|
|
4416
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: { fontSize: 13, fontWeight: 600, color: "#4ade80" }, children: "Retesting Proof" })
|
|
4344
4417
|
] }),
|
|
4345
|
-
/* @__PURE__ */ (0,
|
|
4418
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { fontSize: 12, color: "#86efac" }, children: [
|
|
4346
4419
|
"Verified by ",
|
|
4347
|
-
/* @__PURE__ */ (0,
|
|
4348
|
-
issue.verifiedAt && /* @__PURE__ */ (0,
|
|
4420
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("strong", { children: issue.verifiedByName }),
|
|
4421
|
+
issue.verifiedAt && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { children: [
|
|
4349
4422
|
" on ",
|
|
4350
4423
|
new Date(issue.verifiedAt).toLocaleDateString(void 0, { month: "short", day: "numeric", year: "numeric" })
|
|
4351
4424
|
] })
|
|
4352
4425
|
] })
|
|
4353
4426
|
] }),
|
|
4354
|
-
issue.originalBugTitle && /* @__PURE__ */ (0,
|
|
4427
|
+
issue.originalBugTitle && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: {
|
|
4355
4428
|
backgroundColor: "#422006",
|
|
4356
4429
|
border: "1px solid #854d0e",
|
|
4357
4430
|
borderRadius: 8,
|
|
4358
4431
|
padding: 12,
|
|
4359
4432
|
marginBottom: 12
|
|
4360
4433
|
}, children: [
|
|
4361
|
-
/* @__PURE__ */ (0,
|
|
4362
|
-
/* @__PURE__ */ (0,
|
|
4363
|
-
/* @__PURE__ */ (0,
|
|
4434
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 4 }, children: [
|
|
4435
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: { fontSize: 16 }, children: "\u{1F504}" }),
|
|
4436
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: { fontSize: 13, fontWeight: 600, color: "#fbbf24" }, children: "Original Bug" })
|
|
4364
4437
|
] }),
|
|
4365
|
-
/* @__PURE__ */ (0,
|
|
4438
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { fontSize: 12, color: "#fde68a" }, children: [
|
|
4366
4439
|
"Retest of: ",
|
|
4367
|
-
/* @__PURE__ */ (0,
|
|
4440
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("strong", { children: issue.originalBugTitle })
|
|
4368
4441
|
] })
|
|
4369
4442
|
] }),
|
|
4370
|
-
issue.screenshotUrls && issue.screenshotUrls.length > 0 && /* @__PURE__ */ (0,
|
|
4371
|
-
/* @__PURE__ */ (0,
|
|
4443
|
+
issue.screenshotUrls && issue.screenshotUrls.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { marginBottom: 12 }, children: [
|
|
4444
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { fontSize: 12, fontWeight: 600, color: colors.textMuted, marginBottom: 8 }, children: [
|
|
4372
4445
|
"Screenshots (",
|
|
4373
4446
|
issue.screenshotUrls.length,
|
|
4374
4447
|
")"
|
|
4375
4448
|
] }),
|
|
4376
|
-
/* @__PURE__ */ (0,
|
|
4449
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { style: { display: "flex", gap: 8, overflowX: "auto" }, children: issue.screenshotUrls.map((url, i) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
4377
4450
|
"a",
|
|
4378
4451
|
{
|
|
4379
4452
|
href: url,
|
|
4380
4453
|
target: "_blank",
|
|
4381
4454
|
rel: "noopener noreferrer",
|
|
4382
4455
|
style: { flexShrink: 0 },
|
|
4383
|
-
children: /* @__PURE__ */ (0,
|
|
4456
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
4384
4457
|
"img",
|
|
4385
4458
|
{
|
|
4386
4459
|
src: url,
|
|
@@ -4398,16 +4471,16 @@ function IssueDetailScreen({ nav, issue }) {
|
|
|
4398
4471
|
i
|
|
4399
4472
|
)) })
|
|
4400
4473
|
] }),
|
|
4401
|
-
/* @__PURE__ */ (0,
|
|
4474
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: {
|
|
4402
4475
|
borderTop: `1px solid ${colors.border}`,
|
|
4403
4476
|
paddingTop: 12,
|
|
4404
4477
|
marginTop: 4
|
|
4405
4478
|
}, children: [
|
|
4406
|
-
issue.reporterName && /* @__PURE__ */ (0,
|
|
4479
|
+
issue.reporterName && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { fontSize: 12, color: colors.textDim, marginBottom: 4 }, children: [
|
|
4407
4480
|
"Reported by ",
|
|
4408
4481
|
issue.reporterName
|
|
4409
4482
|
] }),
|
|
4410
|
-
/* @__PURE__ */ (0,
|
|
4483
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { fontSize: 11, color: colors.textDim }, children: [
|
|
4411
4484
|
"Created ",
|
|
4412
4485
|
formatRelativeTime(issue.createdAt),
|
|
4413
4486
|
" \xB7 Updated ",
|
|
@@ -4421,9 +4494,9 @@ function IssueDetailScreen({ nav, issue }) {
|
|
|
4421
4494
|
var BUGBEAR_LOGO_BASE64 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAAAXNSR0IArs4c6QAAAJhlWElmTU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAABIAAAAAQAAAEgAAAABAASQBAACAAAAFAAAAISgAQADAAAAAQABAACgAgAEAAAAAQAAAGCgAwAEAAAAAQAAAGAAAAAAMjAyNjowMToyNCAxNjoyMTozOABbbVCuAAAACXBIWXMAAAsTAAALEwEAmpwYAAACo2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpJcHRjNHhtcEV4dD0iaHR0cDovL2lwdGMub3JnL3N0ZC9JcHRjNHhtcEV4dC8yMDA4LTAyLTI5LyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPElwdGM0eG1wRXh0OkRpZ2l0YWxTb3VyY2VUeXBlPmh0dHA6Ly9jdi5pcHRjLm9yZy9uZXdzY29kZXMvZGlnaXRhbHNvdXJjZXR5cGUvdHJhaW5lZEFsZ29yaXRobWljTWVkaWE8L0lwdGM0eG1wRXh0OkRpZ2l0YWxTb3VyY2VUeXBlPgogICAgICAgICA8SXB0YzR4bXBFeHQ6RGlnSW1hZ2VHVUlEPmZjNzJlN2Q2LTYyYTEtNDE1ZS04MjY5LWM2NjA4MjY0OWRiMDwvSXB0YzR4bXBFeHQ6RGlnSW1hZ2VHVUlEPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAyNi0wMS0yNFQxNjoyMTozODwveG1wOkNyZWF0ZURhdGU+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgri4oBIAAAq4ElEQVR4Ae19B3gd1bXuPzOnnyPpqFfLstxkuQM22MZgmsGAacFAILQb4F4ghRJqCp0ESEIgkAAJCRACOBhw6MTEFhgwxrhhIxdZltWt3s7R6bPfv+ZIhst79/ueLTlw82nj0Wkze/Zea+1V/rX2AIy0EQqMUGCEAiMUGKHACAVGKDBCgREKjFBghAIjFBihwAgFRigwQoERCoxQYIQCIxT4BlJAKWgLFiyw5ebmetPT09PkyMjISC0pKXHdfvvtugK0b+Cw/8chfaMHK8RM8fmy4/H4lLhSM8x4fIIJjIOpcqHg5azsPGQO/BphHkFoWqNuaLsMw9hh0/WNDodjR09PTxd/+0a2byQDnCnOiWbUXBSPm4tUQs0AVM4g9dxODaluwMNXF8mvawoJkj8SA/ojQG9IIRQdPNt6bdQM41Ob3fa6z+3+R2dnZ72m8aJvSPvGMKCgoMDT3t5+asxMXKzi5tGkj9dmABPyNcwao2H2GGDKKIXiLCDdo8Fpo/jzIHNAtWQxIRzX0BkE6tqBrQ3AJ7uBdbsVdu4lkxJyrtZtGPq7Npfx5JxZc96tqKiIy7dfZ/vaGSC6nFJ5QSyR+B5Vy1QhxqElGs48TMMplP2powCDmr29B6huA3a1aqjtANp6NQTCJuKUfruRXBXZaQqjMjWM43oZm62QmQbE4zq21AGvbwJeWqewuVa0FVlhM9a67PaHysvLl61fv57r5+tpXysDDIfjrEQs/jOK8HSHXcPpM3VceazCgkkmopTYD6t0vLNFw+odJnY2K3QE/v81R1aKhokFOo6aqOHk6cCc8bzWVHj3c+CxVTre2GQiFqdFt+mrPV7XnYHuwD+/SarpoIqDy+UqpV5+kTdRMumzDjPU+jt0pZ7T1M5f6uqWxYaakG85NELxgYOf7Q4Fj08hNUNp/iyl8VVP8Sff+ynyfA+3V8HG82Dp+eS1vMfkUbq641u62vMb3ucFQ318u00tnmkMnKcn7E774zk5ObkHdeL/j87/5SuAXsnZ0Xj8IZhmwZQiHb84h6pmlsLWGuCBN3W89KmJIFWL1QwqebcXmtsHuGh5bQ4gFoEK9AIhKnuTmsM0oeWXQLnoFClex88w49BE6UfFKndChfv3Td3v1XHuHB3Xn2hifCGw/BMdt/xNYXuTCd1m7Ezxeq+m1/Tuvgv+jd4Yus12JyUzIVJ/9fE2FXhCV52/19U1i2zK6xSJT0q75vYoLbtQYfREhTHlCmMnK23MJKWlU8oHzsnwu6g/KOVycCUgI9e6RisYo7SSiUorLOVqSd13/n9bEewj1a2pm7jSev+gqZ4/6Oq/jrPxXOlPDzndzh8qpf7lwnnweF1U5NYN/RmZYKZPV3+9yrDUzfJrbGpsrqiBATUj6iOvOEl0IXhWHpkwwTo0D3/jeWXjstRLjy5Ux88t+OI6fi9M1XX2w1fN4eRvuvI4DfUfS8rU334zX334l6PUO0/MUffdMF0dOTufvydV1KQiXb19E8ez1FB//k+bSvcmVZ/T6XxIAr6DR5R/Vc/0cjRDe0WINz7PUOvu0lXiL5r60ck2EmxA6u1OpeUUkfCTrEMrLVcaJVqu0VxuHh7r/eITxqnWisVq92OjVGaaU1149hT1zAML1BoS9/n7pqtZ5SnWeXLdZBJ2zR+mKrXmcKXeyFPqlVSllqcptaJIxT84VL308Bw1tiTdOp9elPrpWSIUvOYOQ43JSdoGh8vxzKJFi5wHk1QHdZmNGzfOWVNT81wikThrVqmBF78PpNKGXvx7Ha9tsBxzhrppUOn0G20UNtHnGoeUiEM17aEP+YV3uPDIYrx0x1h469fQx1foHXci5k0MALXb8btXu3Hv8ggaO5N9FmXqqPiZHSW5bnQ19cBF04GEAlcIxKxo9Lgc2emoUaU4/64mfLy+yaLxkiMM/OlyE02ddIMf0lDZYMLhsj8994i5lx2smOGgMUBwmTvvuutx0zQv06gZhAGZVMlVnOuulqSRpQcDMyufFCFlTCEeBVLe08gaHY1YNCsVr6/tRVlJGlbePwZZ3VsRi8ZhS/XBkZGCxk3NuGmZDSvqXcjP8yIcU6hv7EOuN4ynLzMw3m6iizzqYiDWTTvcm9CQR6GfUMJgjgssbtrRnjUd86+rQiMZJe2oSTqW/YAM7tdw6i81bG824XQ7Hgz3h68XNWedNIx/DhoDbDbbrfFE4h4rTB0YsM1uh/j7URKRMAO/5e1dHmjpWV94McKA1iYUp4Tx5nXpuOQ3rbjuuyU4p6QBkTC9Gl1Lwg9KR3V7DvZ683HoWB3pqXa6+Rp2ksF3P9uE5f+sx5WzNSzKNrGqQcPT28mMiAYfbe25ZRquPhY0L0BHLAV3vuvGE8tbOByOh2H13AkGXrueK6FLx8L7FJq7FHw+79WBQOB3w0h7q6uDwgC6mudEo9FneQd7yahUfOe0Uhw/JwfFeS5GrSY6emJYu7kNS1+twsr1fcmBpGUkVZHIWGMdjiwz8colOvbUxeDPtSHDEYKbwZUykwwQHMKeXwyjdy86a4NoIf3e3g68ulNHVbcNjR1UX5zdfLq6H9PFPDY/A4sK/WiPxPFsdSt+cFgYly7S8Wa1gWtfSKC1JwFNxhAJEdYLYeE0Ha9er1BRqeOMX0tgqPX7/f7jGbWvsQY8TH+ItgxvI/HPJ/GfYq+Oqy+ahmd/MROLZ8dR4miCP1KLlEgT8p1dOHSaAxefWoBpRSbWVobRTRBHE3+9l8BlPITZE2w4sTQBm6yWQAKp2RROaikbFbq4+wL+mP1d6G6No6ndg5veceGRj6II6U40d8Zw6SQN3znEjj9uimNhQSauL89Hjs+JsSkuTErxoLI3gPKMOFx+A799l5AQDYRGlcgAz4oxqpvi2NtD5pxiwsZV+e5W005UdnZpaelfyQQuxeFpw8oAj8czKxKJLKN343ngljm4+7t+uJo+RbRmF2JtHUj09iHWHUR3XS96atphi/dh2oxsLJoax8rNMbRxXlk+Ez8604NbznDwvCgSUfEsNdTXiwGlCskwoMgUk6oioRvo69GQku7G/GNKaFwNjCEWdMWZY/CPLWH0tIewp8/AjVMKkEObkZmfCXeaFy4ae7sWQboviFZiRS+so/FnwKcyGQizT83JoK+/Dxt2J5CbauCaRSY+3mUQDonnhkIhGxmxYnjIz9sNV0clTIhwcL9lAOO7/vIZuP4MhfCm9xBpbIMZlsiUn3sVAp2cLAng0E1EWvsQ3LEbE/39ePwcHX5CzKfPcODHR8WQr/UiGk6gjoTvoH0sKNaRkkk9Hxr0jKiOQiY21Tpw5oP9uOqubTCiJHhbDIm2Pfj9TWOwNubHKKcdo9M88GenwbDrsBNG9ef4ke4yQAwPNfR4rCZEF51FvIhWF3SDra9vZZS8jTbkwQsU/B4d4Ujke1lZWYckLxr632FbAf39/WfR3bxm2qRcPHtTNsxtn5BYcU6a86HkbqYEvbmJS3kzoeJdxO+7NRgEw9yOBD0bwje9CZgBDRU7EjhxTAJpmYrf6yS8Bg/DAJcLSCHaaYVsVAliq3W66xOpqtriduyqi6PcFkJjSwxvb0vgRws6cfoJE7BiC79nAmF0rt+CrGU10TNDf38dMjKieIWA3+Z6rrJMusL0UcVjs/4JQxIxhAMhC4G99mQKEMdTsc20c54FXAUv3HHHHUPmwLAxgCO/nbq5/J4rRmFaYgeizIrYHZyOZuCO13R8/8UECaNjXaOOt/eYPBQiQQ2FFLogYZ1gSIOd9q8ppGPRTOJqqSS4HISBfHx1kAEW8QemLA5LLKqhqTqOYjJib9yGm8/UsJCoZzZtRbDXxLyyTkw7ohx3vt6M2Vmp8FDke6kC+3rbYRiNiHsM3LcygQA8gD+T/ZMRX+pfc/L7YC+qmxMoyzdw4TyFpWs1tPeZ4x5+6KFV4XC4bqgcGBYGZGdn+4LB/ruz0+3+86Yl0FLbh7HFNJh0GW9+UcMj7+i4dFw+rhifgzOKM7AgLw2SPHluZxhdJPwUxgd9dIbi/eICEkaeKBkv6ni6lXuJ+1Mr0+kR2Rwkj3iMmoX1NzcSc+s3kWZXKKJBzyF6UUZ1dfPLGqHsBM6Z2YeMsaW494XtmEFG9Qf6YOq1SM+I4c/bDayuYq+5BfTXHBYthbHJ2/CNwTvLUusPYFuzhquO50qlsX77M6VzaKnxWOzFoa6CYbEBRA9PVMosKWAC5Ml3++DOoq7lZKuov5//ELhtZhFOL/ajMN3DQMiLsiwfrpmUj++V5eLlnQov79Jgo/RJWjHbT2KSISu2GTjhVxqm/kThmmUGmSFskJb8y9OpqknsqWQYXcYT55pw854S8XbGDdRrLvzlY2DBT7pwypgWTDkyG09V7UZmVi186WG8WGfHU2tomzKyGYNQ0kX381+y/+Q9rBjGx0lRHUlU/NwaHZfMJ6Np6KOR6CIKHiOJobVhWQEcwj00vpN6ggo9TI3fuIj5REpwxUZKdVcWTipOR2puOtJpCH30Qjw0igaN43iXDb30y1+p6ccJo5lmZEel4whJVxr49mMms+wO3HZpFi5a6EUKPxFFGpjtIIFkJVAqKf02yQ9zNqap02bYcfmSApxwRBpeWRtDe3Mb7v1uLh5YFcGezn78dYeBlzYloMTlFNUz2OtAt4OfOSd2Snsjy4JeUUO3ju8tZJzI1w93mnbakk7agorB8w/kdcgrwOv15nEgR4vkhGP0bHjQtlrIgh514OicVHjTffDR97bmx98MLusUMiK9MAsXluUh1XCgnioom/T4lDbiqmcSmDnRjY8ezMYPju7H6GgbYoEYiTsQhA0ag336guqJOsFy6qj2tHgUPZuqaYta8eataehTHti7avCTi/Px/FaFDQ2cdt4oEp83FCLLwb6UqBse/JRs8pmjVl4aIbsTG2tMvL9Nw7ePYG6ImBLzGmdNnjw5qbsGr9nP1yGvAErHSfQKLl40zUBeqoaqFoUzpuvIohMRbLXT189GZl4G50XCJFlgTUrGyUoFGkYDlS2dmFkQRo5Xw72reJ1uw9t3+lFidqDyk37sJIzQRHXW1SYJMeZo6A7uI5L1TohvsZf5Y2DPLqq/HQqtjCM8tPALaNSNRBQzSgys2WPH7mbGUVl5MgSL4JbuYaJHpFwSOOiRg4nnvm4rKrZQPGE2A0UHXdnLFii8uoEOQKfKjETCrzP2aUp2tv9/hcVDaiT+sdLB2bOAJYdrlqu3spLBJF1KpzsCNwMrwYCEYGJECdxbgioMiVLpN3X0Yk5xFMTbrDxwKz2ia053YSyj5c3roqivE1CU11BK+5gT3rGFDOqzerLoNkj4Qd6KKpffI2ENSwkj3PmWQsPOGFLJXCPYjh+dTvUHRr4ScVPCtQCJ3FBN+GM3HPR4nERi/V4fRpdOxNiJk5GfmQVnT3uSIZzDu1xBYqsWThGGKyMWi1nz54cDalxIB96WLFliLFv20uE2unezShX9ZVlQJv70kcKx9ETSXXF0m00I9GRaul8n8ROEEITw/YEIQc9Oxgl1OLwwbAFpqcR65ky1Y8khJtqJAbW1Ul2xxzAFM0Ekk+oY8bDCbmI+5YfwgzTSQUghHCZ7rXP8XIlLP1R4YpuwXcPWlymxo4Gi/DiOLQ1h/ow0VGyihIeDUME+5JRMwMyjTyLW5EdRSSkJnEBzYx0XQCeR8RgrwVgQUFeFqvUfMtCL4LMGA8eWKfz8NbrCscR82or7qQnkZvvdhsSAlStXMtOhxhamJ0tBnlqdhJnrOkz8fi3zriSSbutBd8dWruxCrggPcRxKUH+YUHCAsHITHFrUWhWMjWgngMuOYdTrCmPPbgWTBVZiE97bS+3A34uZ9j02j5LMubYRYs4pIMm/NG1ZXfJRYqodXEkiDN+58ELMmn8cHnvxCvxiSRR6pA/nz01BxQaKcTCGqUefjMmHH01mNyN7VAn2trZhy0cr0VK5Af1cJYp5Ck9aOsZMm4VDFy3B2jdexsdVIZzP1e6n89Qdipfn5eXxHavyDqANiNEBXMlLent7aclU6rhcDW66MJvrZPrJYykn+OhGGmbCxt7Ubno9OxjGb2M0WQXlqIHDX0upjlJViJchl9GTYR+zi+PQhUkM0rZ0GLhns8I/iWau2WtiabWJG9eY2BWgPaCtsbwU634yft5X/tEYe7kCNJe1LvD5559jyVmnYQdmoLaVsUUshiPyyHz+PP2401A6bTa2fvohsotKsKdqO1Yve5qS/h665x2C6IJ5MN1uhEIRbK54C500ROVHLsRjK0WVGhjLefOeBWYoxEDiwNqQVgCX3WgucW08YZMoBUoKpqRp9J1NQrp/pg6vqCImP8ZAWXoCKa4gXMTjJWMbploNhDSMyqNo85/HzViAoxGiircTITyxfA8ZQb/e4hC/n3vkfMyeMw+/fepBjCGMUEw742EW0kJHhYvCAPZlZ84hK00YoLBxw3rMOWwm2trasabYjuLCBJZ9EoUrt5Su8ShsWPUGckonoam2BrvWVqC1qwH6XT9BzhGHwUWorGn9BuCRP8ITSMWujWswbcEp2B4rJqxSj8mFOtbXJJz9iQTpgCqZ+/62ITGA7meR3LCE3lwPYYQOSqY0lZLOlBP1QHcbanr68LuNCet7B9ebg6KXQsWeR6N4PiHjEvr2QjSCkUgl0UwhOP910YjuZCLEwiDEQ2EbXVKCB+//OWtAY1j+j19hykRW6PKapBpKElwuFlV07GQdf9pByQh2oHbPHuv69XU2TKq149EKE6MO44r4fAMcPj/8GZmoqdyMvTXboN11K0rnz8Ebk48gbO7AVf4M/IXlL/p9j8GRnoc9W9YRGi/Ga5tqMTE/ST46IhYdrJvs558hqSDeK1smnEMPpqefeppSa0mrWEsJ7bMLoRWNocuXT1DHj6jdgwA9muaQwgVHGTiqhJ4NVY3430Eyz+EiUsr+pBRRWBZhilGuE29F2kt/W4pfPPAAIeowPmgG2uktDmYybTzFQ/fUQfeXNpsJIIUbFgYwejT9Vvb6y/Nc+NX1U7B6lx1dWhY9K+Yg2lsIb2cj0NeL1sqN0BedADXvcOzlYO6v3YFH6quxLUAodvpUJKZPoO/vIDTUA6lZ3dbqtFasjIuCOODTyqf9a0NaAVQXMjsaI2IsTPdFB9SFRgYQmkiORIqpUh0kQXpSUlsbYA/3Ymoh1Ut7spiNZKYtYOqvXkMpsSChvp96isEtG/+WTAYBJkTpJt5y443Wt0UpOvrIdEXr7XGwsKqdaOt2Dz6qT0NjkPlh9pFp68MJTNwffaIHS6ZEEGvcidfXhwhrj0Owi/kIFnN5vF50ULeHEmFoZ51CqJzgHMf+x8Zqds6RSfzCojBzWjnURmoZCpaKhdATcxOLElZbLXPwzf6+Do0BlpdIf580klpOi+YccLINvlL+kjqCTKB8k2BplFQXz6umzUilsUyl8ZWJNtbSzeQq2t3CmlCmCifQICutHn1aF5p9NnQHZSXwRuxnIjVcSTEha66Yn1f48fimInTH/eyfxkhFMX3esYgzen3+vdUY7V9PD8xES1eEkktcKSXBTFoT0gpG02010MMbm+PHQi8ZLf6uDMXyfgaGnRx3Ku0aJ6izT8VYgbk6ir6IDs/VkoJofdjPP0NiwOC9BgRF6MLGQSXHNfhz8lW+o/souEp30MRZT9KXzyPEO4GFbc6kHSCMw7JEA94CA5fP0HH/pNE0qC4EG3exGpr+d7Mdz3xgQ09zHA8voR4v1bF8ows/fp6BlY9Bg07LPtA2vfcWr3Wgv7kZReSw0uMsXWdcEibmT7DPpH8v9AsSHQ11tUGbewy9M5KD2JSEeTIVce1FqOS9ouqRb4VhyalQVUqQwkaZsmae/LR/f4fEAA6HM2ctJ22km6tAYADZLGFxwBr1wHt5sYbIP2SAFEQsZGXCVdMZlAWkSjlpgIvGU4fTUmf6ojA1Ds3uY9arn54TY4AUk/ncBE4tt7EsVKceNtBojkE5wbsTx9fgnR2MaGUAkubiPQIBRrok8oIyN46ZWYqOSBtC4RYwxoKDEmyNjJSMRSKISyLen2oNmzI+kCbkj0JpLgcVJ2ra0MyYhpNUdJP56jLoSdHbksYUbETW5YE0WdMH3Lj0aKGATrqDqYSGrQGJyAyu3f+2FDjYSD8UsfUjmcX61VlUH1wJcY5c3MbsQqoC1uCY/QmpQCDt4ohVb0K8eaeV0pTzJIegwjF47IykbZmI6W74/A789srRuGWhC+OpiW0E4uQ+1GUoy2UccWEB1Y8Nq5kbsFKSlFp6LdCYqpPVKE3yyyocZkVEbN931g/8XeodwXy2Vl0Lg7C18JcZZeS4Q5ZHJ+fRFg444NZV+/VnSCvAMLS9LERm/QzzpfQ+5AgSjk66JsnJJcWI3/GjIrilc/g/PEZDF4nNUEGKnaU0CHtrE5gyQ97TAyIDLOGzlrhcaFrCLUDYXibhrWuyksioSWK605245sLRuOjkMHY1hFHPvHDlli6cc1Iuxo9LoXEPYt32Xhy1mIbZQ5iBy0AkLx5l0p9GV5wGsEoCTY30j2lciF2xd55Arrd3QG2vgq2hBba0HMTCPfTcgjh0XByBSFIHMUlDpXhgTcZxwI2LtU4IXN3CgIheS54V/LC7GKVQpGuQB3IHwRr6CS1n65jKfG9drZxGWEFWNX/OpsvOzXXkHSNjfh7QwlYfUkLaTcb+4AUNh90FHH0fsPajbtiZs+VOF2vBiQ7wZXhw2KHZ+PbCXGQwrmhu7EZ8byeeea0RxbkJqjaFaazLjYm0czxhgRrIXIcEIc0t1PMBqJ3VUHvqkJCjqpoMaIde8QFXtxeJUB/v50SovRGncDNJNdFZaVwBpMOBtSExgNVve0ihRBXtn9B7It19q9FPT5JVPiXJaVkzGohCv4ZcYkdO1uk7WfDsoBckxqybSY4WgrpSuymXSH/WpWSP+N2fMZ/c38gEfkShtodZspf7serN3Qjubke8N0T1wVIV5qEjLb1Ys6Iaf6tUeGVnOn765xYktDDOn014ulFhdo5JNUiDSqmPEYwLUyichKZVJYOwAOEcjlH19HK19lnM0d/7CK7Pd8NGhDRChkVMA7PzezC/DKi0QGgtwlqoGpnpgTRO7cAbkzGRcDhyMeeecvnRVJV9koelVAj1JJU30ISW9NUsfD2FZf02loYU2akG+N0AsIwQ88FpZI6fQbRJXa8LWGM1rgp2WZCuMIMRdykhi0+44hoJTa/YFUfNnj70NnSjtbYb27d14JX32/HEVh/O+/GDOPV7d+PV19/CDybspeHWsLtaIZcMX9PALBmTRTqlX5H7zlQ/wvV7uProwk5nzEFPR+/qgfHWP+H8ZCuc/myEGIc4GRQGmhvw41PiGMcVe8dyy2nak5OdfR9xsQPSQkOyAd1s3Gr0eUfALPiMWaZ54wUOJsFkZ4pUNks0PGiQRc8yYPi8IYqt9TqOm8GEBv1OJ6sXwiS+kDtCbKizXZhC15SrRIA1g3le6UIKFFJyNExgbvZxRrWXLYuzXiiO5bu5y2U3bYRGA87zSiZNw/X3/wz9PT247fv/gYy+nUgQ1miWHALFzc3jSu4bu3dzF3pZnCsuqIvlF/5xU9BBaddaGKDxZkZbFwzWM8kcggzK3MyehXsJKpr9rMo2sL6WZoMQrWEzNjc0NNCaHVgbkgqSW9oN4wOh0IpKDdNGAWOySUpL3wswlJRi0iXZHBJxATOKFZ7fbeDql3iGRD1s8jdAIrWxcrqLEfLeBhZNsWJBcgjymxhmVrLDRkM/yojhjiVueiE2zM7ORxnh4gEICXuqt+GHl12IG6/6Lta+/0+U5Qg7uaI4U+lJapCmjTKQw9yDQBrhzmb0EYq2U7ozx8+EY3cD4hs3IdrciFBPKxL9vfBk5iFCByJMbGsCy1PKGcW//ZmMWtSjUSHvDrQNSQXJTan/wvF44tJgVNOvPB7ck6tZe3MtnT+ghoSAQgQrIiacYGcJ4bMfJxAkMc6bTSmnXs/KpjHlie0kfoSwBu0kyw651VS8Ha4CbvKgtFm9oLbGxNyJZESpHbHWQtx/6HE4gxLcSuN/Ym4x44UM7KG+ZjSBa4k51TCfkE7vSmKVOJn2TK2BVVUsc2e1g92TgkhXK6I8X1SMJ68YLlZrO8lUR2qGtYKDbY10mbkvje2S+TqOLweup0PQ0YeI2+26mbWwbdaPB/BnyAwoKSlp7+ruPbu918w+ldHrlAKFpz7guCV4Ee9C1BDJL/+orqBxItsbY/TwFJPaCoexFLxslI4Ei6Si3XFrX53klqQSnSqaRbvEmejWZ5AR4rd7fBoLq+i21iWw+Ah2ndODR9buRbGWh+8fciSza8W4aOwM9FEp5JR14JzxJpYzBphF2HtLD4u33gdW7xR1TayJApI3ZTZcGfno62hFsLmGFXvtlHYaW+aEQ50thMW5KVAyRcwHU27w2++IkAG/fpuRsM1Yd9rixQ9UVlbuW+T7y4MhM4CVwgmH3ZYTiycWOBnFXn6sYmGsjnpmxTShoPcLYyzGTSoWxE2VSmRuFEADY4gQk/ABIqSFrBe1OentUFSdDJclN0A+WgQXAUxhooVJNcLHOm0FPcf6BI6ZquOYoxJYzbz4q7t2YVtLG95oroSjrAW/ODOGVR8GUMfYoYdlhT95j/v96OYfOoYl7PTc4lxmPfT9jQTVJccl7imfR4GEN4WJGEbhLFe3KieCjDcZkR9XbuCG04CfLWOpZR3dV7v915999tma/SX6l88X7TDklpKSMqEvENxIWNqz9R5gVSVw7qMi8vyXX5IsfBJmsGkCAzB4Uk4XtNZGbjmlt0HJPvdwHfcdp+G2VTpWVJn43akaMlkFLYkZ5mcss+LgYsrM1bkhkl0Q1t6xjUaQfY4fzxLHCV70s2SiJWqH1GcVEKlcs7IHV/9dquqALe3clsqCqrU/ZbwVNDDjNhKQnta1i5044xBeQNT25bUKD7xCbCiVN5B6IbHq4lI31Vjq8/VrdUv/T2cfXGFd6en+aRRAWqsDb0NeAXJr6sAOw26bGuhPTEmjf38FV8Hbn+ncs8VVIAS3bMEAr8UaWkWwvJAhsHwr0WxjRxxtCRueXB21vIt1zSJ8ditTJviSoK1SPyqVIr0MgHqpmrpYR7qqQQpzGajVh1kVTT+eR/P2Hjz/Thg/ZupwZ7eJZn4ttJxOBpw0RuH+d4EN9azau8qB/5wfRQZd08K5C3DM3ExU7WzB5h1cpXRNRU1pHS10z8I4htJ/9zkm7lzOHDWT/Xan4+lgIPA8TxpSG6DKkPqwLk5NTT28t69vdb5fs2+8mxPczT1WD9I15My17AJmjsXBJxXEGLAlb0xXU7wcYguquTbpuhJ714jTC/ookIbLmQT6uL/dsgkpNKQzcjXMK2RMwGppxiBY16pjeyeLZhkb9LBkvY36v1uSOdaNeCcyXeO9jx+l4ZxxDOJoo8oYczx3HhO6tBEGsSjNk864ALjuxSgefZNvSkutkhXV0gAHxXTVrQZy00wcSuln3Nfv9XpmccsS1/rQGhfn8DTWh37icDqXNXdFv33337nr5BLuxTrcwPNrCO/Sy7AAHysu+PL9yBxhCtFFLa/YUkdiGxQxd9G9Gg1imMYwTC9psHWSuLXcZ/B35ppTeFoK1ZKdtqOfbmoHfyPP2Oi+MjWmJN0p8QhX2GRCINfOMrFshybFEOihA7B9hyAQTOLTTBnohGeUCys2c7mJfaJNUCL9ZPx3j7ZhbnkCFzysM/OXoBdnf3o4iC8jHXIcIJ1Io4ei3C7XbQzxu/9YYeLD7Tp+eb4UsvIW4hF10HXgZP6vJktBvhfmpLNQVrAIftaoa5RUpwkxyRCby8cYIIXVFVwhcg6h5z5qiibGDgJNtBHWNi0snNcSYDJcKdY1yftpKCdNBcn8hDQlgApJ5T20XcOuDkFegfxiA+/ssWEnDbuWmgKtvdlyFsqYm7j3XBOvr9Ox9GP2reuttHn3Jvsd+t9hsQGDw2CJXqfT5TAjkcQJG2s1XHk8q5fzNSz7lNExcXdLh3iIuw+oIblO4t7BJrwQGEOjzlXtTfzAQMeVahFeJwgmjLBeuVlAZz2pQSnXaTw18a5EzfC9SL4wSxInonoU4QVFyHYqGRAi+LeCuj+NDLh1pgRkrLQ4QkMZ/Xpfhovem42b8gQdpbpj1OuhR7b0ajoDHPLZD3OFUcVxy+r1gd7AqsExD/V1WBkggymbWPZpZ1fnvKbOxJg2Jk5uOI06lrVBUq5IrMHy5VmvyA8kvEg6CT7YhBXWpzYSn66q4fR+SYqTZ1nnCJMGiK5T2oUxBpliMHtmMUSS+AN9S8LfrSKYQxzpM0p7E2GJENXUIYQ1yohLRVjRvZe1/x0NCm/wsThbGKOIzy8jefhCA986wsSljxv4gDt3CD6+fsZpZ9w4FL9/cK6Dr8POgLa2toTP6/2YZdtL1u9WPj+fbnXjYoWWbgOf1pB8fMqJRXNJAgwQfx8P5I0UyLI41iBsYfNSbEnIJFcEqqY9sfD7wb0CnIZwRNoXfEx+HviOaRiM88UwPS2O1TRFDkKroqk2Mf7IZVDnEW1GQ17JB0H9/tOEtdlbLuUjc3DTWSbuflnHIyuYJ9P1OjoaZ/PhTt1f3GDo74adATIkcUvdbvd2BmdnV1QqY2I+V8KpzAGw0m2TPLGKQY1UH1ilzkJ0ITKbtRqIt4j0u+jsK64cmlX5RX6mro4wUGIQR6m2VMxXqS6nSVfymrwk2Se/LPFEsZbBWzYjbgHuGhjYVXChhZSNldzcRvVhAm39yXFce5IN919o4s8rWV75nHX/kMfjPo+I5yb2PKztoDBARsiq4Sqnx90VicRP5pYePnpMww3cc9veZ0tiRaKOJBcrMKfkWtk0sYaSIKd68eSMIv4SGFwkdGdNBl8sHeF/1ioQWENUzb7lY3WR/DNAfKtP/t7HbE2WI4Z66nA3C4hsZIi4lj4GYt8eq+GNahMbiUEJ125ZnCT+0g8Z1T/JfDUdKZfLeSV3gBI6HP520BggQ2Ud5jqHyxULhRPHvboRhAGojk434SVk8T5dwHiEbgwxBjGg1gOZBG/gYSfsafOmIy6/WQQmcklPSgkDxLCKeNO11L/MhEGp/xLxZTWYXGkJQh5u6hkBA2u4GzNEHCpCt5Ub9lHRCGzv4vYmbih88AIDt5xNLIvR+OVPclckfyfYdiM34z06/KT/F/VIPEdzuB03UboUN9qp+85nSPW8pt650bAeX8NhiOgpAnfM6jOzz/dEJJWveJJypOUopz+PR67SXSwCFVjU4H4kh8865DtHavbAOXLel460XGXz8tFmTl5n9ymfw1CsrFY5fFCTuMzkrHUvuV95oa5W3ZJ8XM3dS+zKsB6joyWoRq+T8fOc//3N5fFcQfGle6Gpi+YbqutxQ3U8ZrOeVCWM4Qz3He7cIuXJHZMkaHq+cpKYmoN4svisEjwbLIUjEzRn8uBqUfaULIsZwhAhvO5K5TUD58griXocGTA9Q1fEnqx7cf+y+v5Cm+rhk7vaH9PVeXOId3N8ZE7A5XVd8r+f6l+ZgTfNewLVRo0QexKl7i3rSVW6+uBnNnXCVIHQhDDJg66lsnv9JH6ORVgGVwMMEAIJE+xJAgtxBw9Ku0j8vs/yvZ2PP9NJWEvqB5msqZOmGWrNbfIAP129dp08JDB5f46vyufzLfjK0P99Pvrz/CVM4vxdCM30pbr4KEPtfpCE+KuuVtxsU2ccZlN8Oi4ZMUAsRkWabIMUtTCwAvYRkyrJIvAgAxze5GebK7lKRGVZDJW+GKk7NHXGobp692a5n6aqfmmoC+bZkiqJv3NcL2ZmZhb++1D7f5jJ7XyYEx/scSUTNDSBfEqNj48wO9XgIyWph/lIye0P2NRdS2zq8HEGn/v2JWYMMsUi6pe+l9BVDgtO+9L3PM/l0NWsUl3d9S1D7bxf7I+uqh801DUn2VSaJ8kgel21Lq/3kq9D33+tBoaPKx7V0dVxQyQUu5T+ii+NQdtibmu66Eg+uWoiw35CBjVEOtcwNyyPId5az8cSd8gDXJOl8FJmKGkGcZQkWyW7dDK472AU8yjlhfLIY7BQgPmCfNk+y+dQEPt5erXGp+iaxPNlkWldDqftj2mpab9mAEmw6l/fvlYGDE6Xj5+fHAwG/ysSjZ1LimaTMBibpzEDpeGEKeAGQNaGZlLISWTGaNZehF7mSeRh3QKmyn4CNyFlPgoIaUzaS+JG4rz6Tnl2tIZ/fK5h5ecmC8iE6GysamE26zk+QPYJBle7kl9+PX+/EQwYnHphYWERM0xnMog7m480m0X5JjmZ1SRhi5lMGZ+XjCWKMpjEZ1WDj99bmzmYMpPtTm0scWnoYtl7K3dsEvWU1WKVSiZvEDBs+hoW1i7N9Nte3bs3cMCJ9MHxDsfrN4oBgxMSXcxn8kxk9LkgEosdlYgnZhCXKObvzPJ/tVmqhF8OSLf1szUt1hFqtXabsYH/L4H3aGDfZ86i2ooBvtrF1/j5G8mAr9JDHn9JHV3EYLhUqVgpYYkCVjinUv1zo73hTMQSIaISQbqQfMweGoha1krZ5NixYxu/ziejf3UeI59HKDBCgREKjFBghAIjFBihwAgFRigwQoERCoxQYIQCIxQYocAIBUYoMEKBEQqMUGCEAl8TBf4Psyet2W9C97cAAAAASUVORK5CYII=";
|
|
4422
4495
|
|
|
4423
4496
|
// src/BugBearPanel.tsx
|
|
4424
|
-
var
|
|
4497
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
4425
4498
|
function BugBearIcon({ size = 24 }) {
|
|
4426
|
-
return /* @__PURE__ */ (0,
|
|
4499
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
4427
4500
|
"img",
|
|
4428
4501
|
{
|
|
4429
4502
|
src: BUGBEAR_LOGO_BASE64,
|
|
@@ -4588,37 +4661,37 @@ function BugBearPanel({
|
|
|
4588
4661
|
const renderScreen = () => {
|
|
4589
4662
|
switch (currentScreen.name) {
|
|
4590
4663
|
case "HOME":
|
|
4591
|
-
return /* @__PURE__ */ (0,
|
|
4664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(HomeScreen, { nav });
|
|
4592
4665
|
case "TEST_DETAIL":
|
|
4593
|
-
return /* @__PURE__ */ (0,
|
|
4666
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TestDetailScreen, { testId: currentScreen.testId, nav });
|
|
4594
4667
|
case "TEST_LIST":
|
|
4595
|
-
return /* @__PURE__ */ (0,
|
|
4668
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TestListScreen, { nav });
|
|
4596
4669
|
case "TEST_FEEDBACK":
|
|
4597
|
-
return /* @__PURE__ */ (0,
|
|
4670
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TestFeedbackScreen, { status: currentScreen.status, assignmentId: currentScreen.assignmentId, nav });
|
|
4598
4671
|
case "REPORT":
|
|
4599
|
-
return /* @__PURE__ */ (0,
|
|
4672
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ReportScreen, { nav, prefill: currentScreen.prefill });
|
|
4600
4673
|
case "REPORT_SUCCESS":
|
|
4601
|
-
return /* @__PURE__ */ (0,
|
|
4674
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ReportSuccessScreen, { nav });
|
|
4602
4675
|
case "MESSAGE_LIST":
|
|
4603
|
-
return /* @__PURE__ */ (0,
|
|
4676
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(MessageListScreen, { nav });
|
|
4604
4677
|
case "THREAD_DETAIL":
|
|
4605
|
-
return /* @__PURE__ */ (0,
|
|
4678
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ThreadDetailScreen, { thread: currentScreen.thread, nav });
|
|
4606
4679
|
case "COMPOSE_MESSAGE":
|
|
4607
|
-
return /* @__PURE__ */ (0,
|
|
4680
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ComposeMessageScreen, { nav });
|
|
4608
4681
|
case "ISSUE_LIST":
|
|
4609
|
-
return /* @__PURE__ */ (0,
|
|
4682
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(IssueListScreen, { nav, category: currentScreen.category });
|
|
4610
4683
|
case "ISSUE_DETAIL":
|
|
4611
|
-
return /* @__PURE__ */ (0,
|
|
4684
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(IssueDetailScreen, { nav, issue: currentScreen.issue });
|
|
4612
4685
|
case "PROFILE":
|
|
4613
|
-
return /* @__PURE__ */ (0,
|
|
4686
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ProfileScreen, { nav });
|
|
4614
4687
|
default:
|
|
4615
|
-
return /* @__PURE__ */ (0,
|
|
4688
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(HomeScreen, { nav });
|
|
4616
4689
|
}
|
|
4617
4690
|
};
|
|
4618
4691
|
if (typeof document === "undefined") return null;
|
|
4619
4692
|
const headerTitle = getHeaderTitle();
|
|
4620
4693
|
return (0, import_react_dom.createPortal)(
|
|
4621
|
-
/* @__PURE__ */ (0,
|
|
4694
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
4622
4695
|
"div",
|
|
4623
4696
|
{
|
|
4624
4697
|
ref: panelRef,
|
|
@@ -4637,7 +4710,7 @@ function BugBearPanel({
|
|
|
4637
4710
|
},
|
|
4638
4711
|
onMouseDown: handleMouseDown,
|
|
4639
4712
|
children: [
|
|
4640
|
-
collapsed && /* @__PURE__ */ (0,
|
|
4713
|
+
collapsed && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
4641
4714
|
"button",
|
|
4642
4715
|
{
|
|
4643
4716
|
onClick: () => setCollapsed(false),
|
|
@@ -4659,9 +4732,9 @@ function BugBearPanel({
|
|
|
4659
4732
|
fontWeight: 500
|
|
4660
4733
|
},
|
|
4661
4734
|
children: [
|
|
4662
|
-
/* @__PURE__ */ (0,
|
|
4663
|
-
/* @__PURE__ */ (0,
|
|
4664
|
-
badgeCount > 0 && /* @__PURE__ */ (0,
|
|
4735
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BugBearIcon, { size: 24 }),
|
|
4736
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: "BugBear" }),
|
|
4737
|
+
badgeCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { style: {
|
|
4665
4738
|
backgroundColor: "#fff",
|
|
4666
4739
|
color: colors.blue,
|
|
4667
4740
|
fontSize: "0.75rem",
|
|
@@ -4672,7 +4745,7 @@ function BugBearPanel({
|
|
|
4672
4745
|
]
|
|
4673
4746
|
}
|
|
4674
4747
|
),
|
|
4675
|
-
!collapsed && /* @__PURE__ */ (0,
|
|
4748
|
+
!collapsed && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { style: {
|
|
4676
4749
|
width: PANEL_WIDTH,
|
|
4677
4750
|
backgroundColor: colors.bg,
|
|
4678
4751
|
borderRadius: 12,
|
|
@@ -4680,7 +4753,7 @@ function BugBearPanel({
|
|
|
4680
4753
|
overflow: "hidden",
|
|
4681
4754
|
boxShadow: "0 25px 50px -12px rgba(0,0,0,0.5)"
|
|
4682
4755
|
}, children: [
|
|
4683
|
-
/* @__PURE__ */ (0,
|
|
4756
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
4684
4757
|
"div",
|
|
4685
4758
|
{
|
|
4686
4759
|
"data-drag-handle": true,
|
|
@@ -4696,7 +4769,7 @@ function BugBearPanel({
|
|
|
4696
4769
|
cursor: draggable ? isDragging ? "grabbing" : "grab" : "default"
|
|
4697
4770
|
},
|
|
4698
4771
|
children: [
|
|
4699
|
-
/* @__PURE__ */ (0,
|
|
4772
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { style: { display: "flex", alignItems: "center", gap: 8, flex: 1, minWidth: 0 }, children: canGoBack ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
4700
4773
|
"button",
|
|
4701
4774
|
{
|
|
4702
4775
|
onClick: pop,
|
|
@@ -4712,14 +4785,14 @@ function BugBearPanel({
|
|
|
4712
4785
|
},
|
|
4713
4786
|
children: "\u2190 Back"
|
|
4714
4787
|
}
|
|
4715
|
-
) : /* @__PURE__ */ (0,
|
|
4716
|
-
/* @__PURE__ */ (0,
|
|
4717
|
-
/* @__PURE__ */ (0,
|
|
4718
|
-
/* @__PURE__ */ (0,
|
|
4719
|
-
/* @__PURE__ */ (0,
|
|
4720
|
-
draggable && /* @__PURE__ */ (0,
|
|
4788
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
|
|
4789
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BugBearIcon, { size: 28 }),
|
|
4790
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { children: [
|
|
4791
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
|
|
4792
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { style: { fontWeight: 600, fontSize: "0.875rem" }, children: "BugBear" }),
|
|
4793
|
+
draggable && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { style: { color: colors.textMuted, fontSize: "0.75rem" }, title: "Drag to move, double-click to reset", children: "\u22EE\u22EE" })
|
|
4721
4794
|
] }),
|
|
4722
|
-
testerInfo && /* @__PURE__ */ (0,
|
|
4795
|
+
testerInfo && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
4723
4796
|
"button",
|
|
4724
4797
|
{
|
|
4725
4798
|
onClick: () => push({ name: "PROFILE" }),
|
|
@@ -4737,13 +4810,13 @@ function BugBearPanel({
|
|
|
4737
4810
|
},
|
|
4738
4811
|
children: [
|
|
4739
4812
|
testerInfo.name,
|
|
4740
|
-
/* @__PURE__ */ (0,
|
|
4813
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { style: { fontSize: "0.625rem" }, children: "\u270E" })
|
|
4741
4814
|
]
|
|
4742
4815
|
}
|
|
4743
4816
|
)
|
|
4744
4817
|
] })
|
|
4745
4818
|
] }) }),
|
|
4746
|
-
headerTitle ? /* @__PURE__ */ (0,
|
|
4819
|
+
headerTitle ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { style: {
|
|
4747
4820
|
fontSize: "0.8125rem",
|
|
4748
4821
|
fontWeight: 600,
|
|
4749
4822
|
color: colors.textSecondary,
|
|
@@ -4753,7 +4826,7 @@ function BugBearPanel({
|
|
|
4753
4826
|
textOverflow: "ellipsis",
|
|
4754
4827
|
whiteSpace: "nowrap"
|
|
4755
4828
|
}, children: headerTitle }) : null,
|
|
4756
|
-
/* @__PURE__ */ (0,
|
|
4829
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
4757
4830
|
"button",
|
|
4758
4831
|
{
|
|
4759
4832
|
onClick: handleClose,
|
|
@@ -4777,13 +4850,13 @@ function BugBearPanel({
|
|
|
4777
4850
|
]
|
|
4778
4851
|
}
|
|
4779
4852
|
),
|
|
4780
|
-
/* @__PURE__ */ (0,
|
|
4853
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { style: {
|
|
4781
4854
|
padding: 16,
|
|
4782
4855
|
maxHeight: 400,
|
|
4783
4856
|
overflowY: "auto",
|
|
4784
4857
|
backgroundColor: colors.bg,
|
|
4785
4858
|
color: colors.textSecondary
|
|
4786
|
-
}, children: isLoading ? /* @__PURE__ */ (0,
|
|
4859
|
+
}, children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { style: { padding: "60px 0", textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { style: { color: colors.textMuted, fontSize: "0.875rem" }, children: "Loading..." }) }) : renderScreen() })
|
|
4787
4860
|
] })
|
|
4788
4861
|
]
|
|
4789
4862
|
}
|
|
@@ -4795,7 +4868,7 @@ function BugBearPanel({
|
|
|
4795
4868
|
// src/BugBearErrorBoundary.tsx
|
|
4796
4869
|
var import_react15 = require("react");
|
|
4797
4870
|
var import_core2 = require("@bbearai/core");
|
|
4798
|
-
var
|
|
4871
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
4799
4872
|
var BugBearErrorBoundary = class extends import_react15.Component {
|
|
4800
4873
|
constructor(props) {
|
|
4801
4874
|
super(props);
|
|
@@ -4840,7 +4913,7 @@ var BugBearErrorBoundary = class extends import_react15.Component {
|
|
|
4840
4913
|
if (fallback) {
|
|
4841
4914
|
return fallback;
|
|
4842
4915
|
}
|
|
4843
|
-
return /* @__PURE__ */ (0,
|
|
4916
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
4844
4917
|
"div",
|
|
4845
4918
|
{
|
|
4846
4919
|
style: {
|
|
@@ -4852,13 +4925,13 @@ var BugBearErrorBoundary = class extends import_react15.Component {
|
|
|
4852
4925
|
fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'
|
|
4853
4926
|
},
|
|
4854
4927
|
children: [
|
|
4855
|
-
/* @__PURE__ */ (0,
|
|
4856
|
-
/* @__PURE__ */ (0,
|
|
4857
|
-
/* @__PURE__ */ (0,
|
|
4928
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: "8px", marginBottom: "12px" }, children: [
|
|
4929
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("img", { src: BUGBEAR_LOGO_BASE64, alt: "BugBear", width: 28, height: 28, style: { objectFit: "contain" } }),
|
|
4930
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("h3", { style: { margin: 0, color: "#991b1b", fontSize: "16px" }, children: "Something went wrong" })
|
|
4858
4931
|
] }),
|
|
4859
|
-
/* @__PURE__ */ (0,
|
|
4860
|
-
/* @__PURE__ */ (0,
|
|
4861
|
-
/* @__PURE__ */ (0,
|
|
4932
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { style: { color: "#7f1d1d", fontSize: "14px", margin: "0 0 12px 0" }, children: error.message }),
|
|
4933
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { style: { display: "flex", gap: "8px" }, children: [
|
|
4934
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
4862
4935
|
"button",
|
|
4863
4936
|
{
|
|
4864
4937
|
onClick: this.reset,
|
|
@@ -4875,7 +4948,7 @@ var BugBearErrorBoundary = class extends import_react15.Component {
|
|
|
4875
4948
|
children: "Try Again"
|
|
4876
4949
|
}
|
|
4877
4950
|
),
|
|
4878
|
-
/* @__PURE__ */ (0,
|
|
4951
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
4879
4952
|
"button",
|
|
4880
4953
|
{
|
|
4881
4954
|
onClick: () => window.location.reload(),
|
|
@@ -4893,7 +4966,7 @@ var BugBearErrorBoundary = class extends import_react15.Component {
|
|
|
4893
4966
|
}
|
|
4894
4967
|
)
|
|
4895
4968
|
] }),
|
|
4896
|
-
/* @__PURE__ */ (0,
|
|
4969
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { style: { color: "#9ca3af", fontSize: "12px", marginTop: "12px" }, children: "The error has been captured by BugBear" })
|
|
4897
4970
|
]
|
|
4898
4971
|
}
|
|
4899
4972
|
);
|