@bbearai/react-native 0.8.1 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -16044,17 +16044,23 @@ function TestListScreen({ nav }) {
16044
16044
  const keyMatch = a.testCase.testKey.toLowerCase().includes(q);
16045
16045
  if (!titleMatch && !keyMatch) return false;
16046
16046
  }
16047
- if (filter === "pending") return a.status === "pending" || a.status === "in_progress";
16048
- if (filter === "done") return a.status === "passed";
16049
- if (filter === "reopened") return a.status === "failed";
16047
+ if (filter === "todo") {
16048
+ return !a.isVerification && (a.status === "pending" || a.status === "in_progress" || a.status === "failed");
16049
+ }
16050
+ if (filter === "retest") {
16051
+ return !!a.isVerification && (a.status === "pending" || a.status === "in_progress");
16052
+ }
16053
+ if (filter === "done") {
16054
+ return a.status === "passed" || a.status === "skipped" || a.status === "blocked";
16055
+ }
16050
16056
  return true;
16051
16057
  }, [platformFilter, roleFilter, trackFilter, searchQuery, filter]);
16052
16058
  if (isLoading) return /* @__PURE__ */ import_react6.default.createElement(TestListScreenSkeleton, null);
16053
16059
  return /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, null, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles5.filterBar }, [
16054
16060
  { key: "all", label: "All", count: assignments.length },
16055
- { key: "pending", label: "To Do", count: assignments.filter((a) => a.status === "pending" || a.status === "in_progress").length },
16056
- { key: "done", label: "Done", count: assignments.filter((a) => a.status === "passed").length },
16057
- { key: "reopened", label: "Re Opened", count: assignments.filter((a) => a.status === "failed").length }
16061
+ { key: "todo", label: "To Do", count: assignments.filter((a) => !a.isVerification && (a.status === "pending" || a.status === "in_progress" || a.status === "failed")).length },
16062
+ { key: "retest", label: "Retest", count: assignments.filter((a) => !!a.isVerification && (a.status === "pending" || a.status === "in_progress")).length },
16063
+ { key: "done", label: "Done", count: assignments.filter((a) => a.status === "passed" || a.status === "skipped" || a.status === "blocked").length }
16058
16064
  ].map((f) => /* @__PURE__ */ import_react6.default.createElement(import_react_native6.TouchableOpacity, { key: f.key, style: [styles5.filterBtn, filter === f.key && styles5.filterBtnActive], onPress: () => setFilter(f.key) }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: [styles5.filterBtnText, filter === f.key && styles5.filterBtnTextActive] }, f.label, " (", f.count, ")")))), availableRoles.length >= 2 && /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles5.roleSection }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.ScrollView, { horizontal: true, showsHorizontalScrollIndicator: false, style: styles5.roleBar }, /* @__PURE__ */ import_react6.default.createElement(
16059
16065
  import_react_native6.TouchableOpacity,
16060
16066
  {
@@ -16157,7 +16163,13 @@ function TestListScreen({ nav }) {
16157
16163
  onPress: () => nav.push({ name: "TEST_DETAIL", testId: assignment.id })
16158
16164
  },
16159
16165
  /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: styles5.testBadge }, badge.icon),
16160
- /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles5.testInfo }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: styles5.testTitle, numberOfLines: 1 }, assignment.testCase.title), /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles5.testMetaRow }, assignment.isVerification && /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles5.retestTag }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: styles5.retestTagText }, "Retest")), /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: styles5.testMeta }, assignment.testCase.testKey, " \xB7 ", assignment.testCase.priority), assignment.testCase.role && /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles5.roleBadgeRow }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: styles5.testMeta }, " \xB7 "), /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: [styles5.roleBadgeDot, { backgroundColor: assignment.testCase.role.color }] }), /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: [styles5.testMeta, { color: assignment.testCase.role.color, fontWeight: "500" }] }, assignment.testCase.role.name)))),
16166
+ /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles5.testInfo }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: styles5.testTitle, numberOfLines: 1 }, assignment.testCase.title), /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles5.testMetaRow }, assignment.isVerification && /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: [
16167
+ styles5.retestTag,
16168
+ assignment.status === "passed" && { backgroundColor: colors.greenDark, borderColor: colors.greenBorder }
16169
+ ] }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: [
16170
+ styles5.retestTagText,
16171
+ assignment.status === "passed" && { color: colors.greenLight }
16172
+ ] }, assignment.status === "passed" ? "Verified" : "Retest")), /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: styles5.testMeta }, assignment.testCase.testKey, " \xB7 ", assignment.testCase.priority), assignment.testCase.role && /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles5.roleBadgeRow }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: styles5.testMeta }, " \xB7 "), /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: [styles5.roleBadgeDot, { backgroundColor: assignment.testCase.role.color }] }), /* @__PURE__ */ import_react6.default.createElement(import_react_native6.Text, { style: [styles5.testMeta, { color: assignment.testCase.role.color, fontWeight: "500" }] }, assignment.testCase.role.name)))),
16161
16173
  /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: [
16162
16174
  styles5.statusPill,
16163
16175
  {
package/dist/index.mjs CHANGED
@@ -16026,17 +16026,23 @@ function TestListScreen({ nav }) {
16026
16026
  const keyMatch = a.testCase.testKey.toLowerCase().includes(q);
16027
16027
  if (!titleMatch && !keyMatch) return false;
16028
16028
  }
16029
- if (filter === "pending") return a.status === "pending" || a.status === "in_progress";
16030
- if (filter === "done") return a.status === "passed";
16031
- if (filter === "reopened") return a.status === "failed";
16029
+ if (filter === "todo") {
16030
+ return !a.isVerification && (a.status === "pending" || a.status === "in_progress" || a.status === "failed");
16031
+ }
16032
+ if (filter === "retest") {
16033
+ return !!a.isVerification && (a.status === "pending" || a.status === "in_progress");
16034
+ }
16035
+ if (filter === "done") {
16036
+ return a.status === "passed" || a.status === "skipped" || a.status === "blocked";
16037
+ }
16032
16038
  return true;
16033
16039
  }, [platformFilter, roleFilter, trackFilter, searchQuery, filter]);
16034
16040
  if (isLoading) return /* @__PURE__ */ React5.createElement(TestListScreenSkeleton, null);
16035
16041
  return /* @__PURE__ */ React5.createElement(View5, null, /* @__PURE__ */ React5.createElement(View5, { style: styles5.filterBar }, [
16036
16042
  { key: "all", label: "All", count: assignments.length },
16037
- { key: "pending", label: "To Do", count: assignments.filter((a) => a.status === "pending" || a.status === "in_progress").length },
16038
- { key: "done", label: "Done", count: assignments.filter((a) => a.status === "passed").length },
16039
- { key: "reopened", label: "Re Opened", count: assignments.filter((a) => a.status === "failed").length }
16043
+ { key: "todo", label: "To Do", count: assignments.filter((a) => !a.isVerification && (a.status === "pending" || a.status === "in_progress" || a.status === "failed")).length },
16044
+ { key: "retest", label: "Retest", count: assignments.filter((a) => !!a.isVerification && (a.status === "pending" || a.status === "in_progress")).length },
16045
+ { key: "done", label: "Done", count: assignments.filter((a) => a.status === "passed" || a.status === "skipped" || a.status === "blocked").length }
16040
16046
  ].map((f) => /* @__PURE__ */ React5.createElement(TouchableOpacity3, { key: f.key, style: [styles5.filterBtn, filter === f.key && styles5.filterBtnActive], onPress: () => setFilter(f.key) }, /* @__PURE__ */ React5.createElement(Text3, { style: [styles5.filterBtnText, filter === f.key && styles5.filterBtnTextActive] }, f.label, " (", f.count, ")")))), availableRoles.length >= 2 && /* @__PURE__ */ React5.createElement(View5, { style: styles5.roleSection }, /* @__PURE__ */ React5.createElement(ScrollView, { horizontal: true, showsHorizontalScrollIndicator: false, style: styles5.roleBar }, /* @__PURE__ */ React5.createElement(
16041
16047
  TouchableOpacity3,
16042
16048
  {
@@ -16139,7 +16145,13 @@ function TestListScreen({ nav }) {
16139
16145
  onPress: () => nav.push({ name: "TEST_DETAIL", testId: assignment.id })
16140
16146
  },
16141
16147
  /* @__PURE__ */ React5.createElement(Text3, { style: styles5.testBadge }, badge.icon),
16142
- /* @__PURE__ */ React5.createElement(View5, { style: styles5.testInfo }, /* @__PURE__ */ React5.createElement(Text3, { style: styles5.testTitle, numberOfLines: 1 }, assignment.testCase.title), /* @__PURE__ */ React5.createElement(View5, { style: styles5.testMetaRow }, assignment.isVerification && /* @__PURE__ */ React5.createElement(View5, { style: styles5.retestTag }, /* @__PURE__ */ React5.createElement(Text3, { style: styles5.retestTagText }, "Retest")), /* @__PURE__ */ React5.createElement(Text3, { style: styles5.testMeta }, assignment.testCase.testKey, " \xB7 ", assignment.testCase.priority), assignment.testCase.role && /* @__PURE__ */ React5.createElement(View5, { style: styles5.roleBadgeRow }, /* @__PURE__ */ React5.createElement(Text3, { style: styles5.testMeta }, " \xB7 "), /* @__PURE__ */ React5.createElement(View5, { style: [styles5.roleBadgeDot, { backgroundColor: assignment.testCase.role.color }] }), /* @__PURE__ */ React5.createElement(Text3, { style: [styles5.testMeta, { color: assignment.testCase.role.color, fontWeight: "500" }] }, assignment.testCase.role.name)))),
16148
+ /* @__PURE__ */ React5.createElement(View5, { style: styles5.testInfo }, /* @__PURE__ */ React5.createElement(Text3, { style: styles5.testTitle, numberOfLines: 1 }, assignment.testCase.title), /* @__PURE__ */ React5.createElement(View5, { style: styles5.testMetaRow }, assignment.isVerification && /* @__PURE__ */ React5.createElement(View5, { style: [
16149
+ styles5.retestTag,
16150
+ assignment.status === "passed" && { backgroundColor: colors.greenDark, borderColor: colors.greenBorder }
16151
+ ] }, /* @__PURE__ */ React5.createElement(Text3, { style: [
16152
+ styles5.retestTagText,
16153
+ assignment.status === "passed" && { color: colors.greenLight }
16154
+ ] }, assignment.status === "passed" ? "Verified" : "Retest")), /* @__PURE__ */ React5.createElement(Text3, { style: styles5.testMeta }, assignment.testCase.testKey, " \xB7 ", assignment.testCase.priority), assignment.testCase.role && /* @__PURE__ */ React5.createElement(View5, { style: styles5.roleBadgeRow }, /* @__PURE__ */ React5.createElement(Text3, { style: styles5.testMeta }, " \xB7 "), /* @__PURE__ */ React5.createElement(View5, { style: [styles5.roleBadgeDot, { backgroundColor: assignment.testCase.role.color }] }), /* @__PURE__ */ React5.createElement(Text3, { style: [styles5.testMeta, { color: assignment.testCase.role.color, fontWeight: "500" }] }, assignment.testCase.role.name)))),
16143
16155
  /* @__PURE__ */ React5.createElement(View5, { style: [
16144
16156
  styles5.statusPill,
16145
16157
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bbearai/react-native",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "BugBear React Native components for mobile apps",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",