@bbearai/react-native 0.5.4 → 0.5.5

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.
Files changed (3) hide show
  1. package/dist/index.js +366 -198
  2. package/dist/index.mjs +346 -178
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -11746,6 +11746,8 @@ var BugBearClient = class {
11746
11746
  title: report.title || this.generateTitle(report),
11747
11747
  description: report.description,
11748
11748
  severity: report.severity,
11749
+ category: report.category,
11750
+ // Bug category (ui, performance, crash, etc.)
11749
11751
  failed_at_step: report.failedAtStep,
11750
11752
  voice_audio_url: report.voiceAudioUrl,
11751
11753
  voice_transcript: report.voiceTranscript,
@@ -13361,8 +13363,8 @@ function BugBearProvider({ config, children, appVersion, enabled = true }) {
13361
13363
  }
13362
13364
 
13363
13365
  // src/BugBearButton.tsx
13364
- var import_react18 = __toESM(require("react"));
13365
- var import_react_native17 = require("react-native");
13366
+ var import_react19 = __toESM(require("react"));
13367
+ var import_react_native18 = require("react-native");
13366
13368
 
13367
13369
  // src/widget/logo.ts
13368
13370
  var BUGBEAR_LOGO_BASE64 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAAAXNSR0IArs4c6QAAAJhlWElmTU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAABIAAAAAQAAAEgAAAABAASQBAACAAAAFAAAAISgAQADAAAAAQABAACgAgAEAAAAAQAAAGCgAwAEAAAAAQAAAGAAAAAAMjAyNjowMToyNCAxNjoyMTozOABbbVCuAAAACXBIWXMAAAsTAAALEwEAmpwYAAACo2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpJcHRjNHhtcEV4dD0iaHR0cDovL2lwdGMub3JnL3N0ZC9JcHRjNHhtcEV4dC8yMDA4LTAyLTI5LyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPElwdGM0eG1wRXh0OkRpZ2l0YWxTb3VyY2VUeXBlPmh0dHA6Ly9jdi5pcHRjLm9yZy9uZXdzY29kZXMvZGlnaXRhbHNvdXJjZXR5cGUvdHJhaW5lZEFsZ29yaXRobWljTWVkaWE8L0lwdGM0eG1wRXh0OkRpZ2l0YWxTb3VyY2VUeXBlPgogICAgICAgICA8SXB0YzR4bXBFeHQ6RGlnSW1hZ2VHVUlEPmZjNzJlN2Q2LTYyYTEtNDE1ZS04MjY5LWM2NjA4MjY0OWRiMDwvSXB0YzR4bXBFeHQ6RGlnSW1hZ2VHVUlEPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAyNi0wMS0yNFQxNjoyMTozODwveG1wOkNyZWF0ZURhdGU+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+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";
@@ -14698,20 +14700,185 @@ var styles6 = import_react_native8.StyleSheet.create({
14698
14700
  });
14699
14701
 
14700
14702
  // src/widget/screens/ReportScreen.tsx
14703
+ var import_react11 = __toESM(require("react"));
14704
+ var import_react_native10 = require("react-native");
14705
+
14706
+ // src/widget/CategoryPicker.tsx
14701
14707
  var import_react10 = __toESM(require("react"));
14702
14708
  var import_react_native9 = require("react-native");
14709
+ var categoryOptions = [
14710
+ { value: "ui_ux", label: "UI/UX", icon: "\u{1F3A8}" },
14711
+ { value: "functional", label: "Functional", icon: "\u2699\uFE0F" },
14712
+ { value: "crash", label: "Crash", icon: "\u{1F4A5}" },
14713
+ { value: "security", label: "Security", icon: "\u{1F510}" },
14714
+ { value: "other", label: "Other", icon: "\u{1F4DD}" }
14715
+ ];
14716
+ function CategoryPicker({ value, onChange, optional = true }) {
14717
+ const [modalVisible, setModalVisible] = (0, import_react10.useState)(false);
14718
+ const selectedOption = value ? categoryOptions.find((o) => o.value === value) : null;
14719
+ const handleSelect = (category) => {
14720
+ onChange(category);
14721
+ setModalVisible(false);
14722
+ };
14723
+ return /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(
14724
+ import_react_native9.TouchableOpacity,
14725
+ {
14726
+ style: styles7.trigger,
14727
+ onPress: () => setModalVisible(true)
14728
+ },
14729
+ /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: selectedOption ? styles7.triggerTextSelected : styles7.triggerTextPlaceholder }, selectedOption ? `${selectedOption.icon} ${selectedOption.label}` : optional ? "Select category (optional)" : "Select category"),
14730
+ /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.chevron }, "\u25BC")
14731
+ ), /* @__PURE__ */ import_react10.default.createElement(
14732
+ import_react_native9.Modal,
14733
+ {
14734
+ visible: modalVisible,
14735
+ transparent: true,
14736
+ animationType: "fade",
14737
+ onRequestClose: () => setModalVisible(false)
14738
+ },
14739
+ /* @__PURE__ */ import_react10.default.createElement(
14740
+ import_react_native9.TouchableOpacity,
14741
+ {
14742
+ style: styles7.overlay,
14743
+ activeOpacity: 1,
14744
+ onPress: () => setModalVisible(false)
14745
+ },
14746
+ /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.modal, onStartShouldSetResponder: () => true }, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.modalTitle }, "Select Category"), optional && /* @__PURE__ */ import_react10.default.createElement(
14747
+ import_react_native9.TouchableOpacity,
14748
+ {
14749
+ style: [styles7.option, !value && styles7.optionSelected],
14750
+ onPress: () => handleSelect(null)
14751
+ },
14752
+ /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.optionText }, "\u2014 None \u2014")
14753
+ ), categoryOptions.map(({ value: optValue, label, icon }) => /* @__PURE__ */ import_react10.default.createElement(
14754
+ import_react_native9.TouchableOpacity,
14755
+ {
14756
+ key: optValue,
14757
+ style: [styles7.option, value === optValue && styles7.optionSelected],
14758
+ onPress: () => handleSelect(optValue)
14759
+ },
14760
+ /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.optionIcon }, icon),
14761
+ /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.optionText }, label),
14762
+ value === optValue && /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.checkmark }, "\u2713")
14763
+ )), /* @__PURE__ */ import_react10.default.createElement(
14764
+ import_react_native9.TouchableOpacity,
14765
+ {
14766
+ style: styles7.cancelButton,
14767
+ onPress: () => setModalVisible(false)
14768
+ },
14769
+ /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.cancelText }, "Cancel")
14770
+ ))
14771
+ )
14772
+ ));
14773
+ }
14774
+ var styles7 = import_react_native9.StyleSheet.create({
14775
+ trigger: {
14776
+ flexDirection: "row",
14777
+ alignItems: "center",
14778
+ justifyContent: "space-between",
14779
+ backgroundColor: colors.card,
14780
+ borderWidth: 1,
14781
+ borderColor: colors.border,
14782
+ borderRadius: 8,
14783
+ paddingHorizontal: 12,
14784
+ paddingVertical: 10
14785
+ },
14786
+ triggerTextSelected: {
14787
+ fontSize: 14,
14788
+ color: colors.textPrimary
14789
+ },
14790
+ triggerTextPlaceholder: {
14791
+ fontSize: 14,
14792
+ color: colors.textMuted
14793
+ },
14794
+ chevron: {
14795
+ fontSize: 10,
14796
+ color: colors.textMuted
14797
+ },
14798
+ overlay: {
14799
+ flex: 1,
14800
+ backgroundColor: "rgba(0, 0, 0, 0.6)",
14801
+ justifyContent: "center",
14802
+ alignItems: "center",
14803
+ padding: 24
14804
+ },
14805
+ modal: {
14806
+ width: "100%",
14807
+ maxWidth: 300,
14808
+ backgroundColor: colors.card,
14809
+ borderRadius: 16,
14810
+ padding: 8,
14811
+ borderWidth: 1,
14812
+ borderColor: colors.border
14813
+ },
14814
+ modalTitle: {
14815
+ fontSize: 16,
14816
+ fontWeight: "600",
14817
+ color: colors.textPrimary,
14818
+ textAlign: "center",
14819
+ paddingVertical: 12,
14820
+ borderBottomWidth: 1,
14821
+ borderBottomColor: colors.border,
14822
+ marginBottom: 4
14823
+ },
14824
+ option: {
14825
+ flexDirection: "row",
14826
+ alignItems: "center",
14827
+ paddingVertical: 14,
14828
+ paddingHorizontal: 16,
14829
+ borderRadius: 8
14830
+ },
14831
+ optionSelected: {
14832
+ backgroundColor: colors.blue + "20"
14833
+ },
14834
+ optionIcon: {
14835
+ fontSize: 18,
14836
+ marginRight: 12
14837
+ },
14838
+ optionText: {
14839
+ flex: 1,
14840
+ fontSize: 15,
14841
+ color: colors.textPrimary
14842
+ },
14843
+ checkmark: {
14844
+ fontSize: 16,
14845
+ color: colors.blue,
14846
+ fontWeight: "600"
14847
+ },
14848
+ cancelButton: {
14849
+ marginTop: 8,
14850
+ paddingVertical: 12,
14851
+ borderTopWidth: 1,
14852
+ borderTopColor: colors.border
14853
+ },
14854
+ cancelText: {
14855
+ fontSize: 15,
14856
+ color: colors.textMuted,
14857
+ textAlign: "center"
14858
+ }
14859
+ });
14860
+
14861
+ // src/widget/screens/ReportScreen.tsx
14703
14862
  function ReportScreen({ nav, prefill }) {
14704
14863
  const { client, getDeviceInfo, uploadImage, refreshAssignments } = useBugBear();
14705
- const [reportType, setReportType] = (0, import_react10.useState)(prefill?.type || "bug");
14706
- const [severity, setSeverity] = (0, import_react10.useState)("medium");
14707
- const [description, setDescription] = (0, import_react10.useState)("");
14708
- const [affectedScreen, setAffectedScreen] = (0, import_react10.useState)("");
14709
- const [submitting, setSubmitting] = (0, import_react10.useState)(false);
14710
- const [error, setError] = (0, import_react10.useState)(null);
14711
- const submittingRef = (0, import_react10.useRef)(false);
14864
+ const [reportType, setReportType] = (0, import_react11.useState)(prefill?.type || "bug");
14865
+ const [severity, setSeverity] = (0, import_react11.useState)("medium");
14866
+ const [category, setCategory] = (0, import_react11.useState)(null);
14867
+ const [description, setDescription] = (0, import_react11.useState)("");
14868
+ const [affectedScreen, setAffectedScreen] = (0, import_react11.useState)("");
14869
+ const [submitting, setSubmitting] = (0, import_react11.useState)(false);
14870
+ const [error, setError] = (0, import_react11.useState)(null);
14871
+ const submittingRef = (0, import_react11.useRef)(false);
14712
14872
  const images = useImageAttachments(uploadImage, 5, "screenshots");
14713
14873
  const isRetestFailure = prefill?.type === "test_fail";
14714
14874
  const isBugType = reportType === "bug" || reportType === "test_fail";
14875
+ (0, import_react11.useEffect)(() => {
14876
+ if (reportType === "feedback" || reportType === "suggestion") {
14877
+ setCategory("other");
14878
+ } else {
14879
+ setCategory(null);
14880
+ }
14881
+ }, [reportType]);
14715
14882
  const handleSubmit = async () => {
14716
14883
  if (!client || !description.trim()) return;
14717
14884
  if (submittingRef.current) return;
@@ -14729,6 +14896,7 @@ function ReportScreen({ nav, prefill }) {
14729
14896
  type: reportType,
14730
14897
  description: description.trim(),
14731
14898
  severity: isBugType ? severity : void 0,
14899
+ category: category || void 0,
14732
14900
  assignmentId: prefill?.assignmentId,
14733
14901
  testCaseId: prefill?.testCaseId,
14734
14902
  appContext,
@@ -14753,23 +14921,23 @@ function ReportScreen({ nav, prefill }) {
14753
14921
  submittingRef.current = false;
14754
14922
  }
14755
14923
  };
14756
- return /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, null, isRetestFailure ? /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.retestBanner }, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.retestIcon }, "\u{1F504}"), /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, null, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.retestTitle }, "Bug Still Present"), /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.retestSubtitle }, "The fix did not resolve this issue"))), /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.section }, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: shared.label }, "Severity"), /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.severityRow }, [
14924
+ return /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, null, isRetestFailure ? /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.retestBanner }, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: styles8.retestIcon }, "\u{1F504}"), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, null, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: styles8.retestTitle }, "Bug Still Present"), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: styles8.retestSubtitle }, "The fix did not resolve this issue"))), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.section }, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: shared.label }, "Severity"), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.severityRow }, [
14757
14925
  { sev: "critical", color: "#ef4444" },
14758
14926
  { sev: "high", color: "#f97316" },
14759
14927
  { sev: "medium", color: "#eab308" },
14760
14928
  { sev: "low", color: "#6b7280" }
14761
- ].map(({ sev, color }) => /* @__PURE__ */ import_react10.default.createElement(
14762
- import_react_native9.TouchableOpacity,
14929
+ ].map(({ sev, color }) => /* @__PURE__ */ import_react11.default.createElement(
14930
+ import_react_native10.TouchableOpacity,
14763
14931
  {
14764
14932
  key: sev,
14765
- style: [styles7.sevButton, severity === sev && { backgroundColor: `${color}30`, borderColor: color }],
14933
+ style: [styles8.sevButton, severity === sev && { backgroundColor: `${color}30`, borderColor: color }],
14766
14934
  onPress: () => setSeverity(sev)
14767
14935
  },
14768
- /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: [styles7.sevText, severity === sev && { color }] }, sev)
14769
- )))), /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.section }, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: shared.label }, "What went wrong?"), /* @__PURE__ */ import_react10.default.createElement(
14770
- import_react_native9.TextInput,
14936
+ /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: [styles8.sevText, severity === sev && { color }] }, sev)
14937
+ )))), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.section }, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: shared.label }, "Category (optional)"), /* @__PURE__ */ import_react11.default.createElement(CategoryPicker, { value: category, onChange: setCategory, optional: true })), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.section }, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: shared.label }, "What went wrong?"), /* @__PURE__ */ import_react11.default.createElement(
14938
+ import_react_native10.TextInput,
14771
14939
  {
14772
- style: styles7.descInput,
14940
+ style: styles8.descInput,
14773
14941
  value: description,
14774
14942
  onChangeText: setDescription,
14775
14943
  placeholder: "Describe what you observed. What still doesn't work?",
@@ -14778,7 +14946,7 @@ function ReportScreen({ nav, prefill }) {
14778
14946
  numberOfLines: 4,
14779
14947
  textAlignVertical: "top"
14780
14948
  }
14781
- )), /* @__PURE__ */ import_react10.default.createElement(
14949
+ )), /* @__PURE__ */ import_react11.default.createElement(
14782
14950
  ImagePickerButtons,
14783
14951
  {
14784
14952
  images: images.images,
@@ -14788,44 +14956,44 @@ function ReportScreen({ nav, prefill }) {
14788
14956
  onRemove: images.removeImage,
14789
14957
  label: "Attachments (optional)"
14790
14958
  }
14791
- ), error && /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.errorBanner }, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.errorText }, error)), /* @__PURE__ */ import_react10.default.createElement(
14792
- import_react_native9.TouchableOpacity,
14959
+ ), error && /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.errorBanner }, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: styles8.errorText }, error)), /* @__PURE__ */ import_react11.default.createElement(
14960
+ import_react_native10.TouchableOpacity,
14793
14961
  {
14794
- style: [shared.primaryButton, styles7.retestSubmitButton, (!description.trim() || submitting || images.isUploading) && shared.primaryButtonDisabled, { marginTop: 20 }],
14962
+ style: [shared.primaryButton, styles8.retestSubmitButton, (!description.trim() || submitting || images.isUploading) && shared.primaryButtonDisabled, { marginTop: 20 }],
14795
14963
  onPress: handleSubmit,
14796
14964
  disabled: !description.trim() || submitting || images.isUploading
14797
14965
  },
14798
- /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: shared.primaryButtonText }, images.isUploading ? "Uploading images..." : submitting ? "Submitting..." : error ? "Retry" : "Submit Failed Retest")
14799
- )) : /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: shared.label }, "What are you reporting?"), /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.typeRow }, [
14966
+ /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: shared.primaryButtonText }, images.isUploading ? "Uploading images..." : submitting ? "Submitting..." : error ? "Retry" : "Submit Failed Retest")
14967
+ )) : /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: shared.label }, "What are you reporting?"), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.typeRow }, [
14800
14968
  { type: "bug", label: "Bug", icon: "\u{1F41B}" },
14801
14969
  { type: "feedback", label: "Feedback", icon: "\u{1F4A1}" },
14802
14970
  { type: "suggestion", label: "Idea", icon: "\u2728" }
14803
- ].map(({ type, label, icon }) => /* @__PURE__ */ import_react10.default.createElement(
14804
- import_react_native9.TouchableOpacity,
14971
+ ].map(({ type, label, icon }) => /* @__PURE__ */ import_react11.default.createElement(
14972
+ import_react_native10.TouchableOpacity,
14805
14973
  {
14806
14974
  key: type,
14807
- style: [styles7.typeCard, reportType === type && styles7.typeCardActive],
14975
+ style: [styles8.typeCard, reportType === type && styles8.typeCardActive],
14808
14976
  onPress: () => setReportType(type)
14809
14977
  },
14810
- /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.typeIcon }, icon),
14811
- /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: [styles7.typeLabel, reportType === type && styles7.typeLabelActive] }, label)
14812
- ))), isBugType && /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.section }, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: shared.label }, "Severity"), /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.severityRow }, [
14978
+ /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: styles8.typeIcon }, icon),
14979
+ /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: [styles8.typeLabel, reportType === type && styles8.typeLabelActive] }, label)
14980
+ ))), isBugType && /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.section }, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: shared.label }, "Severity"), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.severityRow }, [
14813
14981
  { sev: "critical", color: "#ef4444" },
14814
14982
  { sev: "high", color: "#f97316" },
14815
14983
  { sev: "medium", color: "#eab308" },
14816
14984
  { sev: "low", color: "#6b7280" }
14817
- ].map(({ sev, color }) => /* @__PURE__ */ import_react10.default.createElement(
14818
- import_react_native9.TouchableOpacity,
14985
+ ].map(({ sev, color }) => /* @__PURE__ */ import_react11.default.createElement(
14986
+ import_react_native10.TouchableOpacity,
14819
14987
  {
14820
14988
  key: sev,
14821
- style: [styles7.sevButton, severity === sev && { backgroundColor: `${color}30`, borderColor: color }],
14989
+ style: [styles8.sevButton, severity === sev && { backgroundColor: `${color}30`, borderColor: color }],
14822
14990
  onPress: () => setSeverity(sev)
14823
14991
  },
14824
- /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: [styles7.sevText, severity === sev && { color }] }, sev)
14825
- )))), /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.section }, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: shared.label }, "What happened?"), /* @__PURE__ */ import_react10.default.createElement(
14826
- import_react_native9.TextInput,
14992
+ /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: [styles8.sevText, severity === sev && { color }] }, sev)
14993
+ )))), isBugType && /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.section }, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: shared.label }, "Category (optional)"), /* @__PURE__ */ import_react11.default.createElement(CategoryPicker, { value: category, onChange: setCategory, optional: true })), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.section }, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: shared.label }, "What happened?"), /* @__PURE__ */ import_react11.default.createElement(
14994
+ import_react_native10.TextInput,
14827
14995
  {
14828
- style: styles7.descInput,
14996
+ style: styles8.descInput,
14829
14997
  value: description,
14830
14998
  onChangeText: setDescription,
14831
14999
  placeholder: "Describe the issue...",
@@ -14834,16 +15002,16 @@ function ReportScreen({ nav, prefill }) {
14834
15002
  numberOfLines: 4,
14835
15003
  textAlignVertical: "top"
14836
15004
  }
14837
- )), isBugType && /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.section }, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: shared.label }, "Which screen?"), /* @__PURE__ */ import_react10.default.createElement(
14838
- import_react_native9.TextInput,
15005
+ )), isBugType && /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.section }, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: shared.label }, "Which screen?"), /* @__PURE__ */ import_react11.default.createElement(
15006
+ import_react_native10.TextInput,
14839
15007
  {
14840
- style: styles7.screenInput,
15008
+ style: styles8.screenInput,
14841
15009
  value: affectedScreen,
14842
15010
  onChangeText: setAffectedScreen,
14843
15011
  placeholder: "e.g. Reservations, Settings...",
14844
15012
  placeholderTextColor: colors.textMuted
14845
15013
  }
14846
- ), /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.screenHint }, "Which screen or area was the bug on? (optional)")), /* @__PURE__ */ import_react10.default.createElement(
15014
+ ), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: styles8.screenHint }, "Which screen or area was the bug on? (optional)")), /* @__PURE__ */ import_react11.default.createElement(
14847
15015
  ImagePickerButtons,
14848
15016
  {
14849
15017
  images: images.images,
@@ -14853,17 +15021,17 @@ function ReportScreen({ nav, prefill }) {
14853
15021
  onRemove: images.removeImage,
14854
15022
  label: "Screenshots (optional)"
14855
15023
  }
14856
- ), error && /* @__PURE__ */ import_react10.default.createElement(import_react_native9.View, { style: styles7.errorBanner }, /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: styles7.errorText }, error)), /* @__PURE__ */ import_react10.default.createElement(
14857
- import_react_native9.TouchableOpacity,
15024
+ ), error && /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.errorBanner }, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: styles8.errorText }, error)), /* @__PURE__ */ import_react11.default.createElement(
15025
+ import_react_native10.TouchableOpacity,
14858
15026
  {
14859
15027
  style: [shared.primaryButton, (!description.trim() || submitting || images.isUploading) && shared.primaryButtonDisabled, { marginTop: 20 }],
14860
15028
  onPress: handleSubmit,
14861
15029
  disabled: !description.trim() || submitting || images.isUploading
14862
15030
  },
14863
- /* @__PURE__ */ import_react10.default.createElement(import_react_native9.Text, { style: shared.primaryButtonText }, images.isUploading ? "Uploading images..." : submitting ? "Submitting..." : error ? "Retry" : "Submit Report")
15031
+ /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: shared.primaryButtonText }, images.isUploading ? "Uploading images..." : submitting ? "Submitting..." : error ? "Retry" : "Submit Report")
14864
15032
  )));
14865
15033
  }
14866
- var styles7 = import_react_native9.StyleSheet.create({
15034
+ var styles8 = import_react_native10.StyleSheet.create({
14867
15035
  typeRow: { flexDirection: "row", gap: 10, marginBottom: 20 },
14868
15036
  typeCard: { flex: 1, alignItems: "center", paddingVertical: 16, borderRadius: 12, backgroundColor: colors.card, borderWidth: 1, borderColor: colors.border },
14869
15037
  typeCardActive: { borderColor: colors.blue, backgroundColor: "#172554" },
@@ -14887,16 +15055,16 @@ var styles7 = import_react_native9.StyleSheet.create({
14887
15055
  });
14888
15056
 
14889
15057
  // src/widget/screens/ReportSuccessScreen.tsx
14890
- var import_react11 = __toESM(require("react"));
14891
- var import_react_native10 = require("react-native");
15058
+ var import_react12 = __toESM(require("react"));
15059
+ var import_react_native11 = require("react-native");
14892
15060
  function ReportSuccessScreen({ nav }) {
14893
- (0, import_react11.useEffect)(() => {
15061
+ (0, import_react12.useEffect)(() => {
14894
15062
  const timer = setTimeout(() => nav.reset(), 2e3);
14895
15063
  return () => clearTimeout(timer);
14896
15064
  }, [nav]);
14897
- return /* @__PURE__ */ import_react11.default.createElement(import_react_native10.View, { style: styles8.container }, /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: styles8.emoji }, "\u{1F389}"), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: styles8.title }, "Report submitted!"), /* @__PURE__ */ import_react11.default.createElement(import_react_native10.Text, { style: styles8.subtitle }, "Thank you for your feedback"));
15065
+ return /* @__PURE__ */ import_react12.default.createElement(import_react_native11.View, { style: styles9.container }, /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.emoji }, "\u{1F389}"), /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.title }, "Report submitted!"), /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.subtitle }, "Thank you for your feedback"));
14898
15066
  }
14899
- var styles8 = import_react_native10.StyleSheet.create({
15067
+ var styles9 = import_react_native11.StyleSheet.create({
14900
15068
  container: { alignItems: "center", paddingVertical: 60 },
14901
15069
  emoji: { fontSize: 48, marginBottom: 16 },
14902
15070
  title: { fontSize: 22, fontWeight: "700", color: colors.textPrimary, marginBottom: 6 },
@@ -14904,29 +15072,29 @@ var styles8 = import_react_native10.StyleSheet.create({
14904
15072
  });
14905
15073
 
14906
15074
  // src/widget/screens/MessageListScreen.tsx
14907
- var import_react12 = __toESM(require("react"));
14908
- var import_react_native11 = require("react-native");
15075
+ var import_react13 = __toESM(require("react"));
15076
+ var import_react_native12 = require("react-native");
14909
15077
  function MessageListScreen({ nav }) {
14910
15078
  const { threads, unreadCount, refreshThreads } = useBugBear();
14911
- return /* @__PURE__ */ import_react12.default.createElement(import_react_native11.View, null, /* @__PURE__ */ import_react12.default.createElement(
14912
- import_react_native11.TouchableOpacity,
15079
+ return /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, null, /* @__PURE__ */ import_react13.default.createElement(
15080
+ import_react_native12.TouchableOpacity,
14913
15081
  {
14914
- style: styles9.newMsgButton,
15082
+ style: styles10.newMsgButton,
14915
15083
  onPress: () => nav.push({ name: "COMPOSE_MESSAGE" })
14916
15084
  },
14917
- /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.newMsgText }, "\u2709\uFE0F New Message")
14918
- ), threads.length === 0 ? /* @__PURE__ */ import_react12.default.createElement(import_react_native11.View, { style: shared.emptyState }, /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: shared.emptyEmoji }, "\u{1F4AC}"), /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: shared.emptyTitle }, "No messages yet"), /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: shared.emptySubtitle }, "Start a conversation or wait for messages from admins")) : /* @__PURE__ */ import_react12.default.createElement(import_react_native11.View, null, threads.map((thread) => /* @__PURE__ */ import_react12.default.createElement(
14919
- import_react_native11.TouchableOpacity,
15085
+ /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.newMsgText }, "\u2709\uFE0F New Message")
15086
+ ), threads.length === 0 ? /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: shared.emptyState }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: shared.emptyEmoji }, "\u{1F4AC}"), /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: shared.emptyTitle }, "No messages yet"), /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: shared.emptySubtitle }, "Start a conversation or wait for messages from admins")) : /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, null, threads.map((thread) => /* @__PURE__ */ import_react13.default.createElement(
15087
+ import_react_native12.TouchableOpacity,
14920
15088
  {
14921
15089
  key: thread.id,
14922
- style: [styles9.threadItem, thread.unreadCount > 0 && styles9.threadItemUnread],
15090
+ style: [styles10.threadItem, thread.unreadCount > 0 && styles10.threadItemUnread],
14923
15091
  onPress: () => nav.push({ name: "THREAD_DETAIL", thread })
14924
15092
  },
14925
- /* @__PURE__ */ import_react12.default.createElement(import_react_native11.View, { style: styles9.threadLeft }, /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.threadIcon }, getThreadTypeIcon(thread.threadType)), /* @__PURE__ */ import_react12.default.createElement(import_react_native11.View, { style: styles9.threadInfo }, /* @__PURE__ */ import_react12.default.createElement(import_react_native11.View, { style: styles9.threadTitleRow }, thread.isPinned && /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.pinIcon }, "\u{1F4CC}"), /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.threadSubject, numberOfLines: 1 }, thread.subject || "No subject")), thread.lastMessage && /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.threadPreview, numberOfLines: 1 }, thread.lastMessage.senderName, ": ", thread.lastMessage.content))),
14926
- /* @__PURE__ */ import_react12.default.createElement(import_react_native11.View, { style: styles9.threadRight }, /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.threadTime }, formatRelativeTime(thread.lastMessageAt)), thread.unreadCount > 0 && /* @__PURE__ */ import_react12.default.createElement(import_react_native11.View, { style: styles9.unreadBadge }, /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.unreadText }, thread.unreadCount)), thread.priority !== "normal" && /* @__PURE__ */ import_react12.default.createElement(import_react_native11.View, { style: [styles9.priorityDot, { backgroundColor: getPriorityColor(thread.priority) }] }))
14927
- ))), /* @__PURE__ */ import_react12.default.createElement(import_react_native11.View, { style: styles9.footer }, /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.footerText }, threads.length, " thread", threads.length !== 1 ? "s" : "", " \xB7 ", unreadCount, " unread"), /* @__PURE__ */ import_react12.default.createElement(import_react_native11.TouchableOpacity, { onPress: refreshThreads }, /* @__PURE__ */ import_react12.default.createElement(import_react_native11.Text, { style: styles9.refreshText }, "\u21BB Refresh"))));
15093
+ /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.threadLeft }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.threadIcon }, getThreadTypeIcon(thread.threadType)), /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.threadInfo }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.threadTitleRow }, thread.isPinned && /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.pinIcon }, "\u{1F4CC}"), /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.threadSubject, numberOfLines: 1 }, thread.subject || "No subject")), thread.lastMessage && /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.threadPreview, numberOfLines: 1 }, thread.lastMessage.senderName, ": ", thread.lastMessage.content))),
15094
+ /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.threadRight }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.threadTime }, formatRelativeTime(thread.lastMessageAt)), thread.unreadCount > 0 && /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.unreadBadge }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.unreadText }, thread.unreadCount)), thread.priority !== "normal" && /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: [styles10.priorityDot, { backgroundColor: getPriorityColor(thread.priority) }] }))
15095
+ ))), /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.footer }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.footerText }, threads.length, " thread", threads.length !== 1 ? "s" : "", " \xB7 ", unreadCount, " unread"), /* @__PURE__ */ import_react13.default.createElement(import_react_native12.TouchableOpacity, { onPress: refreshThreads }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.refreshText }, "\u21BB Refresh"))));
14928
15096
  }
14929
- var styles9 = import_react_native11.StyleSheet.create({
15097
+ var styles10 = import_react_native12.StyleSheet.create({
14930
15098
  newMsgButton: { backgroundColor: colors.blue, paddingVertical: 12, borderRadius: 12, alignItems: "center", marginBottom: 16 },
14931
15099
  newMsgText: { fontSize: 15, fontWeight: "600", color: "#fff" },
14932
15100
  threadItem: { flexDirection: "row", justifyContent: "space-between", paddingVertical: 12, paddingHorizontal: 12, borderRadius: 10, marginBottom: 4, backgroundColor: colors.card },
@@ -14949,17 +15117,17 @@ var styles9 = import_react_native11.StyleSheet.create({
14949
15117
  });
14950
15118
 
14951
15119
  // src/widget/screens/ThreadDetailScreen.tsx
14952
- var import_react13 = __toESM(require("react"));
14953
- var import_react_native12 = require("react-native");
15120
+ var import_react14 = __toESM(require("react"));
15121
+ var import_react_native13 = require("react-native");
14954
15122
  function ThreadDetailScreen({ thread, nav }) {
14955
15123
  const { getThreadMessages, sendMessage, markAsRead, uploadImage } = useBugBear();
14956
- const [messages, setMessages] = (0, import_react13.useState)([]);
14957
- const [loading, setLoading] = (0, import_react13.useState)(true);
14958
- const [replyText, setReplyText] = (0, import_react13.useState)("");
14959
- const [sending, setSending] = (0, import_react13.useState)(false);
14960
- const [sendError, setSendError] = (0, import_react13.useState)(false);
15124
+ const [messages, setMessages] = (0, import_react14.useState)([]);
15125
+ const [loading, setLoading] = (0, import_react14.useState)(true);
15126
+ const [replyText, setReplyText] = (0, import_react14.useState)("");
15127
+ const [sending, setSending] = (0, import_react14.useState)(false);
15128
+ const [sendError, setSendError] = (0, import_react14.useState)(false);
14961
15129
  const replyImages = useImageAttachments(uploadImage, 3, "discussion-attachments");
14962
- (0, import_react13.useEffect)(() => {
15130
+ (0, import_react14.useEffect)(() => {
14963
15131
  (async () => {
14964
15132
  setLoading(true);
14965
15133
  const msgs = await getThreadMessages(thread.id);
@@ -14991,20 +15159,20 @@ function ThreadDetailScreen({ thread, nav }) {
14991
15159
  }
14992
15160
  setSending(false);
14993
15161
  };
14994
- return /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.container }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.header }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.headerIcon }, getThreadTypeIcon(thread.threadType)), /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.headerSubject, numberOfLines: 2 }, thread.subject || "No subject")), loading ? /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.loadingContainer }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.loadingText }, "Loading messages...")) : /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.messagesContainer }, messages.map((msg) => /* @__PURE__ */ import_react13.default.createElement(
14995
- import_react_native12.View,
15162
+ return /* @__PURE__ */ import_react14.default.createElement(import_react_native13.View, { style: styles11.container }, /* @__PURE__ */ import_react14.default.createElement(import_react_native13.View, { style: styles11.header }, /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: styles11.headerIcon }, getThreadTypeIcon(thread.threadType)), /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: styles11.headerSubject, numberOfLines: 2 }, thread.subject || "No subject")), loading ? /* @__PURE__ */ import_react14.default.createElement(import_react_native13.View, { style: styles11.loadingContainer }, /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: styles11.loadingText }, "Loading messages...")) : /* @__PURE__ */ import_react14.default.createElement(import_react_native13.View, { style: styles11.messagesContainer }, messages.map((msg) => /* @__PURE__ */ import_react14.default.createElement(
15163
+ import_react_native13.View,
14996
15164
  {
14997
15165
  key: msg.id,
14998
- style: [styles10.bubble, msg.senderType === "tester" ? styles10.bubbleTester : styles10.bubbleAdmin]
15166
+ style: [styles11.bubble, msg.senderType === "tester" ? styles11.bubbleTester : styles11.bubbleAdmin]
14999
15167
  },
15000
- /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: [styles10.sender, msg.senderType === "tester" && styles10.senderTester] }, msg.senderType === "tester" ? "You" : msg.senderName),
15001
- /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: [styles10.content, msg.senderType === "tester" && styles10.contentTester] }, msg.content),
15002
- msg.attachments && msg.attachments.length > 0 && /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.attachments }, msg.attachments.filter((a) => a.type === "image").map((att, idx) => /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Image, { key: idx, source: { uri: att.url }, style: styles10.attachmentImage, resizeMode: "cover" }))),
15003
- /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: [styles10.time, msg.senderType === "tester" && styles10.timeTester] }, formatMessageTime(msg.createdAt))
15004
- ))), sendError && /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.errorBar }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.errorText }, "Failed to send. Tap Send to retry.")), replyImages.images.length > 0 && /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.replyPreview }, /* @__PURE__ */ import_react13.default.createElement(ImagePreviewStrip, { images: replyImages.images, onRemove: replyImages.removeImage })), /* @__PURE__ */ import_react13.default.createElement(import_react_native12.View, { style: styles10.composer }, IMAGE_PICKER_AVAILABLE && /* @__PURE__ */ import_react13.default.createElement(import_react_native12.TouchableOpacity, { style: styles10.attachBtn, onPress: replyImages.pickFromGallery, disabled: replyImages.images.length >= 3 }, /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.attachBtnText }, "\u{1F4CE}")), /* @__PURE__ */ import_react13.default.createElement(
15005
- import_react_native12.TextInput,
15168
+ /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: [styles11.sender, msg.senderType === "tester" && styles11.senderTester] }, msg.senderType === "tester" ? "You" : msg.senderName),
15169
+ /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: [styles11.content, msg.senderType === "tester" && styles11.contentTester] }, msg.content),
15170
+ msg.attachments && msg.attachments.length > 0 && /* @__PURE__ */ import_react14.default.createElement(import_react_native13.View, { style: styles11.attachments }, msg.attachments.filter((a) => a.type === "image").map((att, idx) => /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Image, { key: idx, source: { uri: att.url }, style: styles11.attachmentImage, resizeMode: "cover" }))),
15171
+ /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: [styles11.time, msg.senderType === "tester" && styles11.timeTester] }, formatMessageTime(msg.createdAt))
15172
+ ))), sendError && /* @__PURE__ */ import_react14.default.createElement(import_react_native13.View, { style: styles11.errorBar }, /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: styles11.errorText }, "Failed to send. Tap Send to retry.")), replyImages.images.length > 0 && /* @__PURE__ */ import_react14.default.createElement(import_react_native13.View, { style: styles11.replyPreview }, /* @__PURE__ */ import_react14.default.createElement(ImagePreviewStrip, { images: replyImages.images, onRemove: replyImages.removeImage })), /* @__PURE__ */ import_react14.default.createElement(import_react_native13.View, { style: styles11.composer }, IMAGE_PICKER_AVAILABLE && /* @__PURE__ */ import_react14.default.createElement(import_react_native13.TouchableOpacity, { style: styles11.attachBtn, onPress: replyImages.pickFromGallery, disabled: replyImages.images.length >= 3 }, /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: styles11.attachBtnText }, "\u{1F4CE}")), /* @__PURE__ */ import_react14.default.createElement(
15173
+ import_react_native13.TextInput,
15006
15174
  {
15007
- style: styles10.replyInput,
15175
+ style: styles11.replyInput,
15008
15176
  value: replyText,
15009
15177
  onChangeText: setReplyText,
15010
15178
  placeholder: "Type a reply...",
@@ -15012,17 +15180,17 @@ function ThreadDetailScreen({ thread, nav }) {
15012
15180
  multiline: true,
15013
15181
  maxLength: 1e3
15014
15182
  }
15015
- ), /* @__PURE__ */ import_react13.default.createElement(
15016
- import_react_native12.TouchableOpacity,
15183
+ ), /* @__PURE__ */ import_react14.default.createElement(
15184
+ import_react_native13.TouchableOpacity,
15017
15185
  {
15018
- style: [styles10.sendBtn, (!replyText.trim() || sending || replyImages.isUploading) && styles10.sendBtnDisabled],
15186
+ style: [styles11.sendBtn, (!replyText.trim() || sending || replyImages.isUploading) && styles11.sendBtnDisabled],
15019
15187
  onPress: handleSend,
15020
15188
  disabled: !replyText.trim() || sending || replyImages.isUploading
15021
15189
  },
15022
- /* @__PURE__ */ import_react13.default.createElement(import_react_native12.Text, { style: styles10.sendBtnText }, sending ? "..." : "Send")
15190
+ /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: styles11.sendBtnText }, sending ? "..." : "Send")
15023
15191
  )));
15024
15192
  }
15025
- var styles10 = import_react_native12.StyleSheet.create({
15193
+ var styles11 = import_react_native13.StyleSheet.create({
15026
15194
  container: { flex: 1 },
15027
15195
  header: { flexDirection: "row", alignItems: "center", gap: 8, marginBottom: 16, paddingBottom: 12, borderBottomWidth: 1, borderBottomColor: colors.border },
15028
15196
  headerIcon: { fontSize: 20 },
@@ -15054,13 +15222,13 @@ var styles10 = import_react_native12.StyleSheet.create({
15054
15222
  });
15055
15223
 
15056
15224
  // src/widget/screens/ComposeMessageScreen.tsx
15057
- var import_react14 = __toESM(require("react"));
15058
- var import_react_native13 = require("react-native");
15225
+ var import_react15 = __toESM(require("react"));
15226
+ var import_react_native14 = require("react-native");
15059
15227
  function ComposeMessageScreen({ nav }) {
15060
15228
  const { createThread, uploadImage } = useBugBear();
15061
- const [subject, setSubject] = (0, import_react14.useState)("");
15062
- const [message, setMessage] = (0, import_react14.useState)("");
15063
- const [sending, setSending] = (0, import_react14.useState)(false);
15229
+ const [subject, setSubject] = (0, import_react15.useState)("");
15230
+ const [message, setMessage] = (0, import_react15.useState)("");
15231
+ const [sending, setSending] = (0, import_react15.useState)(false);
15064
15232
  const images = useImageAttachments(uploadImage, 3, "discussion-attachments");
15065
15233
  const handleSend = async () => {
15066
15234
  if (!subject.trim() || !message.trim()) return;
@@ -15076,20 +15244,20 @@ function ComposeMessageScreen({ nav }) {
15076
15244
  nav.pop();
15077
15245
  }
15078
15246
  };
15079
- return /* @__PURE__ */ import_react14.default.createElement(import_react_native13.View, null, /* @__PURE__ */ import_react14.default.createElement(import_react_native13.View, { style: styles11.header }, /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: styles11.title }, "New Message"), /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: styles11.subtitle }, "Send a message to the QA team")), /* @__PURE__ */ import_react14.default.createElement(import_react_native13.View, { style: styles11.form }, /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: shared.label }, "Subject"), /* @__PURE__ */ import_react14.default.createElement(
15080
- import_react_native13.TextInput,
15247
+ return /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, null, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.header }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.title }, "New Message"), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.subtitle }, "Send a message to the QA team")), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.form }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.label }, "Subject"), /* @__PURE__ */ import_react15.default.createElement(
15248
+ import_react_native14.TextInput,
15081
15249
  {
15082
- style: styles11.subjectInput,
15250
+ style: styles12.subjectInput,
15083
15251
  value: subject,
15084
15252
  onChangeText: setSubject,
15085
15253
  placeholder: "What's this about?",
15086
15254
  placeholderTextColor: colors.textMuted,
15087
15255
  maxLength: 100
15088
15256
  }
15089
- ), /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: [shared.label, { marginTop: 16 }] }, "Message"), /* @__PURE__ */ import_react14.default.createElement(
15090
- import_react_native13.TextInput,
15257
+ ), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: [shared.label, { marginTop: 16 }] }, "Message"), /* @__PURE__ */ import_react15.default.createElement(
15258
+ import_react_native14.TextInput,
15091
15259
  {
15092
- style: styles11.messageInput,
15260
+ style: styles12.messageInput,
15093
15261
  value: message,
15094
15262
  onChangeText: setMessage,
15095
15263
  placeholder: "Write your message...",
@@ -15099,7 +15267,7 @@ function ComposeMessageScreen({ nav }) {
15099
15267
  textAlignVertical: "top",
15100
15268
  maxLength: 2e3
15101
15269
  }
15102
- ), /* @__PURE__ */ import_react14.default.createElement(
15270
+ ), /* @__PURE__ */ import_react15.default.createElement(
15103
15271
  ImagePickerButtons,
15104
15272
  {
15105
15273
  images: images.images,
@@ -15108,17 +15276,17 @@ function ComposeMessageScreen({ nav }) {
15108
15276
  onPickCamera: images.pickFromCamera,
15109
15277
  onRemove: images.removeImage
15110
15278
  }
15111
- ), /* @__PURE__ */ import_react14.default.createElement(
15112
- import_react_native13.TouchableOpacity,
15279
+ ), /* @__PURE__ */ import_react15.default.createElement(
15280
+ import_react_native14.TouchableOpacity,
15113
15281
  {
15114
15282
  style: [shared.primaryButton, (!subject.trim() || !message.trim() || sending || images.isUploading) && shared.primaryButtonDisabled, { marginTop: 20 }],
15115
15283
  onPress: handleSend,
15116
15284
  disabled: !subject.trim() || !message.trim() || sending || images.isUploading
15117
15285
  },
15118
- /* @__PURE__ */ import_react14.default.createElement(import_react_native13.Text, { style: shared.primaryButtonText }, images.isUploading ? "Uploading..." : sending ? "Sending..." : "Send Message")
15286
+ /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.primaryButtonText }, images.isUploading ? "Uploading..." : sending ? "Sending..." : "Send Message")
15119
15287
  )));
15120
15288
  }
15121
- var styles11 = import_react_native13.StyleSheet.create({
15289
+ var styles12 = import_react_native14.StyleSheet.create({
15122
15290
  header: { marginBottom: 20 },
15123
15291
  title: { fontSize: 20, fontWeight: "600", color: colors.textPrimary, marginBottom: 4 },
15124
15292
  subtitle: { fontSize: 14, color: colors.textMuted },
@@ -15128,20 +15296,20 @@ var styles11 = import_react_native13.StyleSheet.create({
15128
15296
  });
15129
15297
 
15130
15298
  // src/widget/screens/ProfileScreen.tsx
15131
- var import_react15 = __toESM(require("react"));
15132
- var import_react_native14 = require("react-native");
15299
+ var import_react16 = __toESM(require("react"));
15300
+ var import_react_native15 = require("react-native");
15133
15301
  function ProfileScreen({ nav }) {
15134
15302
  const { testerInfo, assignments, updateTesterProfile, refreshTesterInfo } = useBugBear();
15135
- const [editing, setEditing] = (0, import_react15.useState)(false);
15136
- const [name, setName] = (0, import_react15.useState)(testerInfo?.name || "");
15137
- const [additionalEmails, setAdditionalEmails] = (0, import_react15.useState)(testerInfo?.additionalEmails || []);
15138
- const [newEmailInput, setNewEmailInput] = (0, import_react15.useState)("");
15139
- const [platforms, setPlatforms] = (0, import_react15.useState)(testerInfo?.platforms || []);
15140
- const [saving, setSaving] = (0, import_react15.useState)(false);
15141
- const [saved, setSaved] = (0, import_react15.useState)(false);
15142
- const [showDetails, setShowDetails] = (0, import_react15.useState)(false);
15303
+ const [editing, setEditing] = (0, import_react16.useState)(false);
15304
+ const [name, setName] = (0, import_react16.useState)(testerInfo?.name || "");
15305
+ const [additionalEmails, setAdditionalEmails] = (0, import_react16.useState)(testerInfo?.additionalEmails || []);
15306
+ const [newEmailInput, setNewEmailInput] = (0, import_react16.useState)("");
15307
+ const [platforms, setPlatforms] = (0, import_react16.useState)(testerInfo?.platforms || []);
15308
+ const [saving, setSaving] = (0, import_react16.useState)(false);
15309
+ const [saved, setSaved] = (0, import_react16.useState)(false);
15310
+ const [showDetails, setShowDetails] = (0, import_react16.useState)(false);
15143
15311
  const completedCount = assignments.filter((a) => a.status === "passed" || a.status === "failed").length;
15144
- (0, import_react15.useEffect)(() => {
15312
+ (0, import_react16.useEffect)(() => {
15145
15313
  if (testerInfo) {
15146
15314
  setName(testerInfo.name);
15147
15315
  setAdditionalEmails(testerInfo.additionalEmails || []);
@@ -15175,19 +15343,19 @@ function ProfileScreen({ nav }) {
15175
15343
  }
15176
15344
  };
15177
15345
  if (saved) {
15178
- return /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: shared.emptyState }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.emptyEmoji }, "\u2705"), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.emptyTitle }, "Profile saved!"));
15346
+ return /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: shared.emptyState }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: shared.emptyEmoji }, "\u2705"), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: shared.emptyTitle }, "Profile saved!"));
15179
15347
  }
15180
15348
  if (!testerInfo) {
15181
- return /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: shared.emptyState }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.emptyEmoji }, "\u{1F464}"), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.emptyTitle }, "No profile found"));
15349
+ return /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: shared.emptyState }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: shared.emptyEmoji }, "\u{1F464}"), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: shared.emptyTitle }, "No profile found"));
15182
15350
  }
15183
15351
  if (editing) {
15184
- return /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, null, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.editHeader }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.editTitle }, "Edit Profile"), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.TouchableOpacity, { onPress: () => {
15352
+ return /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, null, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.editHeader }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.editTitle }, "Edit Profile"), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.TouchableOpacity, { onPress: () => {
15185
15353
  setEditing(false);
15186
15354
  setNewEmailInput("");
15187
- } }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.cancelText }, "Cancel"))), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.field }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.label }, "Name"), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.TextInput, { style: styles12.input, value: name, onChangeText: setName, placeholder: "Your name", placeholderTextColor: colors.textMuted })), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.field }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.label }, "Primary Email"), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.emailFixed }, testerInfo.email)), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.field }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.label }, "Additional Emails"), additionalEmails.map((email) => /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { key: email, style: styles12.emailRow }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.emailText }, email), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.TouchableOpacity, { onPress: () => setAdditionalEmails(additionalEmails.filter((e) => e !== email)) }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.removeEmail }, "\u2715")))), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.addEmailRow }, /* @__PURE__ */ import_react15.default.createElement(
15188
- import_react_native14.TextInput,
15355
+ } }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.cancelText }, "Cancel"))), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.field }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: shared.label }, "Name"), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.TextInput, { style: styles13.input, value: name, onChangeText: setName, placeholder: "Your name", placeholderTextColor: colors.textMuted })), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.field }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: shared.label }, "Primary Email"), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.emailFixed }, testerInfo.email)), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.field }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: shared.label }, "Additional Emails"), additionalEmails.map((email) => /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { key: email, style: styles13.emailRow }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.emailText }, email), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.TouchableOpacity, { onPress: () => setAdditionalEmails(additionalEmails.filter((e) => e !== email)) }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.removeEmail }, "\u2715")))), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.addEmailRow }, /* @__PURE__ */ import_react16.default.createElement(
15356
+ import_react_native15.TextInput,
15189
15357
  {
15190
- style: [styles12.input, { flex: 1, marginRight: 8 }],
15358
+ style: [styles13.input, { flex: 1, marginRight: 8 }],
15191
15359
  value: newEmailInput,
15192
15360
  onChangeText: setNewEmailInput,
15193
15361
  placeholder: "Add email",
@@ -15195,26 +15363,26 @@ function ProfileScreen({ nav }) {
15195
15363
  keyboardType: "email-address",
15196
15364
  autoCapitalize: "none"
15197
15365
  }
15198
- ), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.TouchableOpacity, { style: styles12.addButton, onPress: handleAddEmail }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.addButtonText }, "Add")))), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.field }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.label }, "Testing Platforms"), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.platformRow }, [{ key: "ios", label: "\u{1F4F1} iOS" }, { key: "android", label: "\u{1F916} Android" }, { key: "web", label: "\u{1F310} Web" }].map(({ key, label }) => /* @__PURE__ */ import_react15.default.createElement(
15199
- import_react_native14.TouchableOpacity,
15366
+ ), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.TouchableOpacity, { style: styles13.addButton, onPress: handleAddEmail }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.addButtonText }, "Add")))), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.field }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: shared.label }, "Testing Platforms"), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.platformRow }, [{ key: "ios", label: "\u{1F4F1} iOS" }, { key: "android", label: "\u{1F916} Android" }, { key: "web", label: "\u{1F310} Web" }].map(({ key, label }) => /* @__PURE__ */ import_react16.default.createElement(
15367
+ import_react_native15.TouchableOpacity,
15200
15368
  {
15201
15369
  key,
15202
- style: [styles12.platformBtn, platforms.includes(key) && styles12.platformBtnActive],
15370
+ style: [styles13.platformBtn, platforms.includes(key) && styles13.platformBtnActive],
15203
15371
  onPress: () => setPlatforms((prev) => prev.includes(key) ? prev.filter((p) => p !== key) : [...prev, key])
15204
15372
  },
15205
- /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: [styles12.platformText, platforms.includes(key) && styles12.platformTextActive] }, label)
15206
- )))), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.TouchableOpacity, { style: [shared.primaryButton, { marginTop: 20 }], onPress: handleSave, disabled: saving }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.primaryButtonText }, saving ? "Saving..." : "Save Profile")));
15373
+ /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: [styles13.platformText, platforms.includes(key) && styles13.platformTextActive] }, label)
15374
+ )))), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.TouchableOpacity, { style: [shared.primaryButton, { marginTop: 20 }], onPress: handleSave, disabled: saving }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: shared.primaryButtonText }, saving ? "Saving..." : "Save Profile")));
15207
15375
  }
15208
- return /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, null, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.profileCard }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.avatar }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.avatarText }, testerInfo.name.charAt(0).toUpperCase())), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.profileName }, testerInfo.name), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.profileEmail }, testerInfo.email)), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.statsRow }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.statItem }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.statNumber }, completedCount), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.statLabel }, "Completed")), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.statDivider }), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.statItem }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.statNumber }, assignments.length), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.statLabel }, "Total Assigned"))), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.TouchableOpacity, { onPress: () => setShowDetails(!showDetails), style: styles12.detailsToggle }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.detailsToggleText }, showDetails ? "\u25BC" : "\u25B6", " Details")), showDetails && /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.detailsSection }, additionalEmails.length > 0 && /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.detailBlock }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.detailLabel }, "Additional Emails"), additionalEmails.map((e) => /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { key: e, style: styles12.detailValue }, e))), platforms.length > 0 && /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.detailBlock }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.detailLabel }, "Platforms"), /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { style: styles12.platformTags }, platforms.map((p) => /* @__PURE__ */ import_react15.default.createElement(import_react_native14.View, { key: p, style: styles12.platformTag }, /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: styles12.platformTagText }, p === "ios" ? "\u{1F4F1} iOS" : p === "android" ? "\u{1F916} Android" : "\u{1F310} Web")))))), /* @__PURE__ */ import_react15.default.createElement(
15209
- import_react_native14.TouchableOpacity,
15376
+ return /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, null, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.profileCard }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.avatar }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.avatarText }, testerInfo.name.charAt(0).toUpperCase())), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.profileName }, testerInfo.name), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.profileEmail }, testerInfo.email)), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.statsRow }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.statItem }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.statNumber }, completedCount), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.statLabel }, "Completed")), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.statDivider }), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.statItem }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.statNumber }, assignments.length), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.statLabel }, "Total Assigned"))), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.TouchableOpacity, { onPress: () => setShowDetails(!showDetails), style: styles13.detailsToggle }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.detailsToggleText }, showDetails ? "\u25BC" : "\u25B6", " Details")), showDetails && /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.detailsSection }, additionalEmails.length > 0 && /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.detailBlock }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.detailLabel }, "Additional Emails"), additionalEmails.map((e) => /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { key: e, style: styles13.detailValue }, e))), platforms.length > 0 && /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.detailBlock }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.detailLabel }, "Platforms"), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.platformTags }, platforms.map((p) => /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { key: p, style: styles13.platformTag }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.platformTagText }, p === "ios" ? "\u{1F4F1} iOS" : p === "android" ? "\u{1F916} Android" : "\u{1F310} Web")))))), /* @__PURE__ */ import_react16.default.createElement(
15377
+ import_react_native15.TouchableOpacity,
15210
15378
  {
15211
15379
  style: [shared.primaryButton, { marginTop: 20 }],
15212
15380
  onPress: () => setEditing(true)
15213
15381
  },
15214
- /* @__PURE__ */ import_react15.default.createElement(import_react_native14.Text, { style: shared.primaryButtonText }, "Edit Profile")
15382
+ /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: shared.primaryButtonText }, "Edit Profile")
15215
15383
  ));
15216
15384
  }
15217
- var styles12 = import_react_native14.StyleSheet.create({
15385
+ var styles13 = import_react_native15.StyleSheet.create({
15218
15386
  profileCard: { alignItems: "center", backgroundColor: colors.card, borderRadius: 16, padding: 24, marginBottom: 16 },
15219
15387
  avatar: { width: 64, height: 64, borderRadius: 32, backgroundColor: colors.blue, justifyContent: "center", alignItems: "center", marginBottom: 12 },
15220
15388
  avatarText: { fontSize: 28, fontWeight: "700", color: "#fff" },
@@ -15255,8 +15423,8 @@ var styles12 = import_react_native14.StyleSheet.create({
15255
15423
  });
15256
15424
 
15257
15425
  // src/widget/screens/IssueListScreen.tsx
15258
- var import_react16 = __toESM(require("react"));
15259
- var import_react_native15 = require("react-native");
15426
+ var import_react17 = __toESM(require("react"));
15427
+ var import_react_native16 = require("react-native");
15260
15428
  var CATEGORY_CONFIG = {
15261
15429
  open: { label: "Open Issues", accent: "#f97316", emptyIcon: "\u2705", emptyText: "No open issues" },
15262
15430
  done: { label: "Done", accent: "#22c55e", emptyIcon: "\u{1F389}", emptyText: "No completed issues yet" },
@@ -15270,10 +15438,10 @@ var SEVERITY_COLORS = {
15270
15438
  };
15271
15439
  function IssueListScreen({ nav, category }) {
15272
15440
  const { client } = useBugBear();
15273
- const [issues, setIssues] = (0, import_react16.useState)([]);
15274
- const [loading, setLoading] = (0, import_react16.useState)(true);
15441
+ const [issues, setIssues] = (0, import_react17.useState)([]);
15442
+ const [loading, setLoading] = (0, import_react17.useState)(true);
15275
15443
  const config = CATEGORY_CONFIG[category];
15276
- (0, import_react16.useEffect)(() => {
15444
+ (0, import_react17.useEffect)(() => {
15277
15445
  let cancelled = false;
15278
15446
  setLoading(true);
15279
15447
  (async () => {
@@ -15289,26 +15457,26 @@ function IssueListScreen({ nav, category }) {
15289
15457
  };
15290
15458
  }, [client, category]);
15291
15459
  if (loading) {
15292
- return /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.emptyContainer }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.ActivityIndicator, { size: "small", color: colors.textMuted }), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.emptyText }, "Loading..."));
15460
+ return /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.emptyContainer }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.ActivityIndicator, { size: "small", color: colors.textMuted }), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.emptyText }, "Loading..."));
15293
15461
  }
15294
15462
  if (issues.length === 0) {
15295
- return /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.emptyContainer }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.emptyIcon }, config.emptyIcon), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.emptyText }, config.emptyText));
15463
+ return /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.emptyContainer }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.emptyIcon }, config.emptyIcon), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.emptyText }, config.emptyText));
15296
15464
  }
15297
- return /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, null, issues.map((issue) => /* @__PURE__ */ import_react16.default.createElement(
15298
- import_react_native15.TouchableOpacity,
15465
+ return /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, null, issues.map((issue) => /* @__PURE__ */ import_react17.default.createElement(
15466
+ import_react_native16.TouchableOpacity,
15299
15467
  {
15300
15468
  key: issue.id,
15301
- style: styles13.issueCard,
15469
+ style: styles14.issueCard,
15302
15470
  onPress: () => nav.push({ name: "ISSUE_DETAIL", issue }),
15303
15471
  activeOpacity: 0.7
15304
15472
  },
15305
- /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.topRow }, issue.severity && /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: [styles13.severityDot, { backgroundColor: SEVERITY_COLORS[issue.severity] || colors.textDim }] }), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.issueTitle, numberOfLines: 1 }, issue.title)),
15306
- /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.bottomRow }, issue.route && /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.routeText, numberOfLines: 1 }, issue.route), /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.timeText }, formatRelativeTime(issue.updatedAt))),
15307
- category === "done" && issue.verifiedByName && /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.verifiedBadge }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.verifiedBadgeText }, "\u2714", " Verified by ", issue.verifiedByName)),
15308
- category === "reopened" && issue.originalBugTitle && /* @__PURE__ */ import_react16.default.createElement(import_react_native15.View, { style: styles13.reopenedBadge }, /* @__PURE__ */ import_react16.default.createElement(import_react_native15.Text, { style: styles13.reopenedBadgeText, numberOfLines: 1 }, "\u{1F504}", " Retest of: ", issue.originalBugTitle))
15473
+ /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.topRow }, issue.severity && /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: [styles14.severityDot, { backgroundColor: SEVERITY_COLORS[issue.severity] || colors.textDim }] }), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.issueTitle, numberOfLines: 1 }, issue.title)),
15474
+ /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.bottomRow }, issue.route && /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.routeText, numberOfLines: 1 }, issue.route), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.timeText }, formatRelativeTime(issue.updatedAt))),
15475
+ category === "done" && issue.verifiedByName && /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.verifiedBadge }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.verifiedBadgeText }, "\u2714", " Verified by ", issue.verifiedByName)),
15476
+ category === "reopened" && issue.originalBugTitle && /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.reopenedBadge }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.reopenedBadgeText, numberOfLines: 1 }, "\u{1F504}", " Retest of: ", issue.originalBugTitle))
15309
15477
  )));
15310
15478
  }
15311
- var styles13 = import_react_native15.StyleSheet.create({
15479
+ var styles14 = import_react_native16.StyleSheet.create({
15312
15480
  emptyContainer: {
15313
15481
  alignItems: "center",
15314
15482
  paddingVertical: 40
@@ -15399,8 +15567,8 @@ var styles13 = import_react_native15.StyleSheet.create({
15399
15567
  });
15400
15568
 
15401
15569
  // src/widget/screens/IssueDetailScreen.tsx
15402
- var import_react17 = __toESM(require("react"));
15403
- var import_react_native16 = require("react-native");
15570
+ var import_react18 = __toESM(require("react"));
15571
+ var import_react_native17 = require("react-native");
15404
15572
  var STATUS_LABELS = {
15405
15573
  new: { label: "New", bg: "#1e3a5f", color: "#60a5fa" },
15406
15574
  triaging: { label: "Triaging", bg: "#1e3a5f", color: "#60a5fa" },
@@ -15424,9 +15592,9 @@ var SEVERITY_CONFIG = {
15424
15592
  function IssueDetailScreen({ nav, issue }) {
15425
15593
  const statusConfig = STATUS_LABELS[issue.status] || { label: issue.status, bg: "#27272a", color: "#a1a1aa" };
15426
15594
  const severityConfig = issue.severity ? SEVERITY_CONFIG[issue.severity] : null;
15427
- return /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, null, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.badgeRow }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: [styles14.badge, { backgroundColor: statusConfig.bg }] }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: [styles14.badgeText, { color: statusConfig.color }] }, statusConfig.label)), severityConfig && /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: [styles14.badge, { backgroundColor: severityConfig.bg }] }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: [styles14.badgeText, { color: severityConfig.color }] }, severityConfig.label))), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.title }, issue.title), issue.route && /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.route }, issue.route), issue.description && /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.descriptionCard }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.descriptionText }, issue.description)), issue.verifiedByName && /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.verifiedCard }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.verifiedHeader }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.verifiedIcon }, "\u2705"), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.verifiedTitle }, "Retesting Proof")), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.verifiedBody }, "Verified by ", issue.verifiedByName, issue.verifiedAt && ` on ${new Date(issue.verifiedAt).toLocaleDateString(void 0, { month: "short", day: "numeric", year: "numeric" })}`)), issue.originalBugTitle && /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.originalBugCard }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.originalBugHeader }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.originalBugIcon }, "\u{1F504}"), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.originalBugTitle }, "Original Bug")), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.originalBugBody }, "Retest of: ", issue.originalBugTitle)), issue.screenshotUrls && issue.screenshotUrls.length > 0 && /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.screenshotSection }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.screenshotLabel }, "Screenshots (", issue.screenshotUrls.length, ")"), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.screenshotRow }, issue.screenshotUrls.map((url, i) => /* @__PURE__ */ import_react17.default.createElement(import_react_native16.TouchableOpacity, { key: i, onPress: () => import_react_native16.Linking.openURL(url), activeOpacity: 0.7 }, /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Image, { source: { uri: url }, style: styles14.screenshotThumb }))))), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.View, { style: styles14.metaSection }, issue.reporterName && /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.metaText }, "Reported by ", issue.reporterName), /* @__PURE__ */ import_react17.default.createElement(import_react_native16.Text, { style: styles14.metaTextSmall }, "Created ", formatRelativeTime(issue.createdAt), " ", "\xB7", " Updated ", formatRelativeTime(issue.updatedAt))));
15595
+ return /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, null, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.badgeRow }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: [styles15.badge, { backgroundColor: statusConfig.bg }] }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: [styles15.badgeText, { color: statusConfig.color }] }, statusConfig.label)), severityConfig && /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: [styles15.badge, { backgroundColor: severityConfig.bg }] }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: [styles15.badgeText, { color: severityConfig.color }] }, severityConfig.label))), /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.title }, issue.title), issue.route && /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.route }, issue.route), issue.description && /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.descriptionCard }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.descriptionText }, issue.description)), issue.verifiedByName && /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.verifiedCard }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.verifiedHeader }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.verifiedIcon }, "\u2705"), /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.verifiedTitle }, "Retesting Proof")), /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.verifiedBody }, "Verified by ", issue.verifiedByName, issue.verifiedAt && ` on ${new Date(issue.verifiedAt).toLocaleDateString(void 0, { month: "short", day: "numeric", year: "numeric" })}`)), issue.originalBugTitle && /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.originalBugCard }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.originalBugHeader }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.originalBugIcon }, "\u{1F504}"), /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.originalBugTitle }, "Original Bug")), /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.originalBugBody }, "Retest of: ", issue.originalBugTitle)), issue.screenshotUrls && issue.screenshotUrls.length > 0 && /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.screenshotSection }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.screenshotLabel }, "Screenshots (", issue.screenshotUrls.length, ")"), /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.screenshotRow }, issue.screenshotUrls.map((url, i) => /* @__PURE__ */ import_react18.default.createElement(import_react_native17.TouchableOpacity, { key: i, onPress: () => import_react_native17.Linking.openURL(url), activeOpacity: 0.7 }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Image, { source: { uri: url }, style: styles15.screenshotThumb }))))), /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.metaSection }, issue.reporterName && /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.metaText }, "Reported by ", issue.reporterName), /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.metaTextSmall }, "Created ", formatRelativeTime(issue.createdAt), " ", "\xB7", " Updated ", formatRelativeTime(issue.updatedAt))));
15428
15596
  }
15429
- var styles14 = import_react_native16.StyleSheet.create({
15597
+ var styles15 = import_react_native17.StyleSheet.create({
15430
15598
  badgeRow: {
15431
15599
  flexDirection: "row",
15432
15600
  gap: 8,
@@ -15557,8 +15725,8 @@ var styles14 = import_react_native16.StyleSheet.create({
15557
15725
  });
15558
15726
 
15559
15727
  // src/BugBearButton.tsx
15560
- var screenWidth = import_react_native17.Dimensions.get("window").width;
15561
- var screenHeight = import_react_native17.Dimensions.get("window").height;
15728
+ var screenWidth = import_react_native18.Dimensions.get("window").width;
15729
+ var screenHeight = import_react_native18.Dimensions.get("window").height;
15562
15730
  function BugBearButton({
15563
15731
  position = "bottom-right",
15564
15732
  buttonStyle,
@@ -15570,7 +15738,7 @@ function BugBearButton({
15570
15738
  }) {
15571
15739
  const { shouldShowWidget, testerInfo, isLoading, unreadCount, assignments } = useBugBear();
15572
15740
  const { currentScreen, canGoBack, push, pop, replace, reset } = useNavigation();
15573
- const [modalVisible, setModalVisible] = (0, import_react18.useState)(false);
15741
+ const [modalVisible, setModalVisible] = (0, import_react19.useState)(false);
15574
15742
  const getInitialPosition = () => {
15575
15743
  const buttonSize = 56;
15576
15744
  const margin = 16;
@@ -15582,10 +15750,10 @@ function BugBearButton({
15582
15750
  return { x, y };
15583
15751
  };
15584
15752
  const initialPos = getInitialPosition();
15585
- const pan = (0, import_react18.useRef)(new import_react_native17.Animated.ValueXY(initialPos)).current;
15586
- const isDragging = (0, import_react18.useRef)(false);
15587
- const panResponder = (0, import_react18.useRef)(
15588
- import_react_native17.PanResponder.create({
15753
+ const pan = (0, import_react19.useRef)(new import_react_native18.Animated.ValueXY(initialPos)).current;
15754
+ const isDragging = (0, import_react19.useRef)(false);
15755
+ const panResponder = (0, import_react19.useRef)(
15756
+ import_react_native18.PanResponder.create({
15589
15757
  onStartShouldSetPanResponder: () => draggable,
15590
15758
  onMoveShouldSetPanResponder: (_, gs) => draggable && (Math.abs(gs.dx) > 5 || Math.abs(gs.dy) > 5),
15591
15759
  onPanResponderGrant: () => {
@@ -15600,7 +15768,7 @@ function BugBearButton({
15600
15768
  if (Math.abs(gs.dx) > 5 || Math.abs(gs.dy) > 5) {
15601
15769
  isDragging.current = true;
15602
15770
  }
15603
- import_react_native17.Animated.event(
15771
+ import_react_native18.Animated.event(
15604
15772
  [null, { dx: pan.x, dy: pan.y }],
15605
15773
  { useNativeDriver: false }
15606
15774
  )(_, gs);
@@ -15613,7 +15781,7 @@ function BugBearButton({
15613
15781
  const margin = 16;
15614
15782
  const snapX = currentX < screenWidth / 2 ? margin : screenWidth - buttonSize - margin;
15615
15783
  const snapY = Math.max(minY, Math.min(currentY, screenHeight - maxYOffset));
15616
- import_react_native17.Animated.spring(pan, {
15784
+ import_react_native18.Animated.spring(pan, {
15617
15785
  toValue: { x: snapX, y: snapY },
15618
15786
  useNativeDriver: false,
15619
15787
  friction: 7,
@@ -15660,24 +15828,24 @@ function BugBearButton({
15660
15828
  }
15661
15829
  };
15662
15830
  const handleClose = () => {
15663
- import_react_native17.Keyboard.dismiss();
15831
+ import_react_native18.Keyboard.dismiss();
15664
15832
  setModalVisible(false);
15665
15833
  };
15666
15834
  const nav = {
15667
15835
  push: (screen) => {
15668
- import_react_native17.Keyboard.dismiss();
15836
+ import_react_native18.Keyboard.dismiss();
15669
15837
  push(screen);
15670
15838
  },
15671
15839
  pop: () => {
15672
- import_react_native17.Keyboard.dismiss();
15840
+ import_react_native18.Keyboard.dismiss();
15673
15841
  pop();
15674
15842
  },
15675
15843
  replace: (screen) => {
15676
- import_react_native17.Keyboard.dismiss();
15844
+ import_react_native18.Keyboard.dismiss();
15677
15845
  replace(screen);
15678
15846
  },
15679
15847
  reset: () => {
15680
- import_react_native17.Keyboard.dismiss();
15848
+ import_react_native18.Keyboard.dismiss();
15681
15849
  reset();
15682
15850
  },
15683
15851
  canGoBack,
@@ -15686,77 +15854,77 @@ function BugBearButton({
15686
15854
  const renderScreen = () => {
15687
15855
  switch (currentScreen.name) {
15688
15856
  case "HOME":
15689
- return /* @__PURE__ */ import_react18.default.createElement(HomeScreen, { nav });
15857
+ return /* @__PURE__ */ import_react19.default.createElement(HomeScreen, { nav });
15690
15858
  case "TEST_DETAIL":
15691
- return /* @__PURE__ */ import_react18.default.createElement(TestDetailScreen, { testId: currentScreen.testId, nav });
15859
+ return /* @__PURE__ */ import_react19.default.createElement(TestDetailScreen, { testId: currentScreen.testId, nav });
15692
15860
  case "TEST_LIST":
15693
- return /* @__PURE__ */ import_react18.default.createElement(TestListScreen, { nav });
15861
+ return /* @__PURE__ */ import_react19.default.createElement(TestListScreen, { nav });
15694
15862
  case "TEST_FEEDBACK":
15695
- return /* @__PURE__ */ import_react18.default.createElement(TestFeedbackScreen, { status: currentScreen.status, assignmentId: currentScreen.assignmentId, nav });
15863
+ return /* @__PURE__ */ import_react19.default.createElement(TestFeedbackScreen, { status: currentScreen.status, assignmentId: currentScreen.assignmentId, nav });
15696
15864
  case "REPORT":
15697
- return /* @__PURE__ */ import_react18.default.createElement(ReportScreen, { nav, prefill: currentScreen.prefill });
15865
+ return /* @__PURE__ */ import_react19.default.createElement(ReportScreen, { nav, prefill: currentScreen.prefill });
15698
15866
  case "REPORT_SUCCESS":
15699
- return /* @__PURE__ */ import_react18.default.createElement(ReportSuccessScreen, { nav });
15867
+ return /* @__PURE__ */ import_react19.default.createElement(ReportSuccessScreen, { nav });
15700
15868
  case "MESSAGE_LIST":
15701
- return /* @__PURE__ */ import_react18.default.createElement(MessageListScreen, { nav });
15869
+ return /* @__PURE__ */ import_react19.default.createElement(MessageListScreen, { nav });
15702
15870
  case "THREAD_DETAIL":
15703
- return /* @__PURE__ */ import_react18.default.createElement(ThreadDetailScreen, { thread: currentScreen.thread, nav });
15871
+ return /* @__PURE__ */ import_react19.default.createElement(ThreadDetailScreen, { thread: currentScreen.thread, nav });
15704
15872
  case "COMPOSE_MESSAGE":
15705
- return /* @__PURE__ */ import_react18.default.createElement(ComposeMessageScreen, { nav });
15873
+ return /* @__PURE__ */ import_react19.default.createElement(ComposeMessageScreen, { nav });
15706
15874
  case "ISSUE_LIST":
15707
- return /* @__PURE__ */ import_react18.default.createElement(IssueListScreen, { nav, category: currentScreen.category });
15875
+ return /* @__PURE__ */ import_react19.default.createElement(IssueListScreen, { nav, category: currentScreen.category });
15708
15876
  case "ISSUE_DETAIL":
15709
- return /* @__PURE__ */ import_react18.default.createElement(IssueDetailScreen, { nav, issue: currentScreen.issue });
15877
+ return /* @__PURE__ */ import_react19.default.createElement(IssueDetailScreen, { nav, issue: currentScreen.issue });
15710
15878
  case "PROFILE":
15711
- return /* @__PURE__ */ import_react18.default.createElement(ProfileScreen, { nav });
15879
+ return /* @__PURE__ */ import_react19.default.createElement(ProfileScreen, { nav });
15712
15880
  default:
15713
- return /* @__PURE__ */ import_react18.default.createElement(HomeScreen, { nav });
15881
+ return /* @__PURE__ */ import_react19.default.createElement(HomeScreen, { nav });
15714
15882
  }
15715
15883
  };
15716
- return /* @__PURE__ */ import_react18.default.createElement(import_react18.default.Fragment, null, /* @__PURE__ */ import_react18.default.createElement(
15717
- import_react_native17.Animated.View,
15884
+ return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(
15885
+ import_react_native18.Animated.View,
15718
15886
  {
15719
- style: [styles15.fabContainer, { transform: pan.getTranslateTransform() }, buttonStyle],
15887
+ style: [styles16.fabContainer, { transform: pan.getTranslateTransform() }, buttonStyle],
15720
15888
  ...panResponder.panHandlers
15721
15889
  },
15722
- /* @__PURE__ */ import_react18.default.createElement(
15723
- import_react_native17.TouchableOpacity,
15890
+ /* @__PURE__ */ import_react19.default.createElement(
15891
+ import_react_native18.TouchableOpacity,
15724
15892
  {
15725
- style: styles15.fab,
15893
+ style: styles16.fab,
15726
15894
  onPress: () => setModalVisible(true),
15727
15895
  activeOpacity: draggable ? 1 : 0.7
15728
15896
  },
15729
- /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Image, { source: { uri: BUGBEAR_LOGO_BASE64 }, style: styles15.fabIcon }),
15730
- badgeCount > 0 && /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.badge }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.badgeText }, badgeCount > 9 ? "9+" : badgeCount))
15897
+ /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Image, { source: { uri: BUGBEAR_LOGO_BASE64 }, style: styles16.fabIcon }),
15898
+ badgeCount > 0 && /* @__PURE__ */ import_react19.default.createElement(import_react_native18.View, { style: styles16.badge }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.badgeText }, badgeCount > 9 ? "9+" : badgeCount))
15731
15899
  )
15732
- ), /* @__PURE__ */ import_react18.default.createElement(
15733
- import_react_native17.Modal,
15900
+ ), /* @__PURE__ */ import_react19.default.createElement(
15901
+ import_react_native18.Modal,
15734
15902
  {
15735
15903
  visible: modalVisible,
15736
15904
  animationType: "slide",
15737
15905
  transparent: true,
15738
15906
  onRequestClose: handleClose
15739
15907
  },
15740
- /* @__PURE__ */ import_react18.default.createElement(
15741
- import_react_native17.KeyboardAvoidingView,
15908
+ /* @__PURE__ */ import_react19.default.createElement(
15909
+ import_react_native18.KeyboardAvoidingView,
15742
15910
  {
15743
- behavior: import_react_native17.Platform.OS === "ios" ? "padding" : "height",
15744
- style: styles15.modalOverlay
15911
+ behavior: import_react_native18.Platform.OS === "ios" ? "padding" : "height",
15912
+ style: styles16.modalOverlay
15745
15913
  },
15746
- /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.modalContainer }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.header }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.headerLeft }, canGoBack ? /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.headerNavRow }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.TouchableOpacity, { onPress: () => nav.pop(), style: styles15.backButton }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.backText }, "\u2190 Back")), /* @__PURE__ */ import_react18.default.createElement(import_react_native17.TouchableOpacity, { onPress: () => nav.reset(), style: styles15.homeButton }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.homeText }, "\u{1F3E0}"))) : /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.headerTitleRow }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.headerTitle }, "BugBear"), testerInfo && /* @__PURE__ */ import_react18.default.createElement(import_react_native17.TouchableOpacity, { onPress: () => push({ name: "PROFILE" }) }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.headerName }, testerInfo.name, " \u270E")))), getHeaderTitle() ? /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.headerScreenTitle, numberOfLines: 1 }, getHeaderTitle()) : null, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.TouchableOpacity, { onPress: handleClose, style: styles15.closeButton }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.closeText }, "\u2715"))), /* @__PURE__ */ import_react18.default.createElement(
15747
- import_react_native17.ScrollView,
15914
+ /* @__PURE__ */ import_react19.default.createElement(import_react_native18.View, { style: styles16.modalContainer }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.View, { style: styles16.header }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.View, { style: styles16.headerLeft }, canGoBack ? /* @__PURE__ */ import_react19.default.createElement(import_react_native18.View, { style: styles16.headerNavRow }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.TouchableOpacity, { onPress: () => nav.pop(), style: styles16.backButton }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.backText }, "\u2190 Back")), /* @__PURE__ */ import_react19.default.createElement(import_react_native18.TouchableOpacity, { onPress: () => nav.reset(), style: styles16.homeButton }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.homeText }, "\u{1F3E0}"))) : /* @__PURE__ */ import_react19.default.createElement(import_react_native18.View, { style: styles16.headerTitleRow }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.headerTitle }, "BugBear"), testerInfo && /* @__PURE__ */ import_react19.default.createElement(import_react_native18.TouchableOpacity, { onPress: () => push({ name: "PROFILE" }) }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.headerName }, testerInfo.name, " \u270E")))), getHeaderTitle() ? /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.headerScreenTitle, numberOfLines: 1 }, getHeaderTitle()) : null, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.TouchableOpacity, { onPress: handleClose, style: styles16.closeButton }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.closeText }, "\u2715"))), /* @__PURE__ */ import_react19.default.createElement(
15915
+ import_react_native18.ScrollView,
15748
15916
  {
15749
- style: styles15.content,
15750
- contentContainerStyle: styles15.contentContainer,
15917
+ style: styles16.content,
15918
+ contentContainerStyle: styles16.contentContainer,
15751
15919
  keyboardShouldPersistTaps: "handled",
15752
15920
  showsVerticalScrollIndicator: false
15753
15921
  },
15754
- isLoading ? /* @__PURE__ */ import_react18.default.createElement(import_react_native17.View, { style: styles15.loadingContainer }, /* @__PURE__ */ import_react18.default.createElement(import_react_native17.ActivityIndicator, { size: "large", color: colors.blue }), /* @__PURE__ */ import_react18.default.createElement(import_react_native17.Text, { style: styles15.loadingText }, "Loading...")) : renderScreen()
15922
+ isLoading ? /* @__PURE__ */ import_react19.default.createElement(import_react_native18.View, { style: styles16.loadingContainer }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.ActivityIndicator, { size: "large", color: colors.blue }), /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.loadingText }, "Loading...")) : renderScreen()
15755
15923
  ))
15756
15924
  )
15757
15925
  ));
15758
15926
  }
15759
- var styles15 = import_react_native17.StyleSheet.create({
15927
+ var styles16 = import_react_native18.StyleSheet.create({
15760
15928
  // FAB
15761
15929
  fabContainer: {
15762
15930
  position: "absolute",
@@ -15898,9 +16066,9 @@ var styles15 = import_react_native17.StyleSheet.create({
15898
16066
  });
15899
16067
 
15900
16068
  // src/BugBearErrorBoundary.tsx
15901
- var import_react19 = __toESM(require("react"));
15902
- var import_react_native18 = require("react-native");
15903
- var BugBearErrorBoundary = class extends import_react19.Component {
16069
+ var import_react20 = __toESM(require("react"));
16070
+ var import_react_native19 = require("react-native");
16071
+ var BugBearErrorBoundary = class extends import_react20.Component {
15904
16072
  constructor(props) {
15905
16073
  super(props);
15906
16074
  this.reset = () => {
@@ -15944,7 +16112,7 @@ var BugBearErrorBoundary = class extends import_react19.Component {
15944
16112
  if (fallback) {
15945
16113
  return fallback;
15946
16114
  }
15947
- return /* @__PURE__ */ import_react19.default.createElement(import_react_native18.View, { style: styles16.container }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.title }, "Something went wrong"), /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.message }, error.message), /* @__PURE__ */ import_react19.default.createElement(import_react_native18.TouchableOpacity, { style: styles16.button, onPress: this.reset }, /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.buttonText }, "Try Again")), /* @__PURE__ */ import_react19.default.createElement(import_react_native18.Text, { style: styles16.caption }, "The error has been captured by BugBear"));
16115
+ return /* @__PURE__ */ import_react20.default.createElement(import_react_native19.View, { style: styles17.container }, /* @__PURE__ */ import_react20.default.createElement(import_react_native19.Text, { style: styles17.title }, "Something went wrong"), /* @__PURE__ */ import_react20.default.createElement(import_react_native19.Text, { style: styles17.message }, error.message), /* @__PURE__ */ import_react20.default.createElement(import_react_native19.TouchableOpacity, { style: styles17.button, onPress: this.reset }, /* @__PURE__ */ import_react20.default.createElement(import_react_native19.Text, { style: styles17.buttonText }, "Try Again")), /* @__PURE__ */ import_react20.default.createElement(import_react_native19.Text, { style: styles17.caption }, "The error has been captured by BugBear"));
15948
16116
  }
15949
16117
  return children;
15950
16118
  }
@@ -15955,7 +16123,7 @@ function useErrorContext() {
15955
16123
  getEnhancedContext: () => contextCapture.getEnhancedContext()
15956
16124
  };
15957
16125
  }
15958
- var styles16 = import_react_native18.StyleSheet.create({
16126
+ var styles17 = import_react_native19.StyleSheet.create({
15959
16127
  container: {
15960
16128
  padding: 20,
15961
16129
  margin: 20,