@bbearai/react-native 0.10.0 → 0.10.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 +58 -49
- package/dist/index.mjs +58 -49
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -12838,7 +12838,7 @@ var BugBearClient = class {
|
|
|
12838
12838
|
} : {
|
|
12839
12839
|
// Standalone verification assignment (bug reported without a test case)
|
|
12840
12840
|
id: item.original_report_id || item.id,
|
|
12841
|
-
title: item.notes || "Bug Verification",
|
|
12841
|
+
title: item.notes?.replace(/^Verification:\s*/i, "") || "Bug Verification",
|
|
12842
12842
|
testKey: "VERIFY",
|
|
12843
12843
|
description: "Verify that the reported bug has been fixed",
|
|
12844
12844
|
steps: [],
|
|
@@ -15388,7 +15388,8 @@ var s = import_react_native3.StyleSheet.create({
|
|
|
15388
15388
|
|
|
15389
15389
|
// src/widget/screens/HomeScreen.tsx
|
|
15390
15390
|
function HomeScreen({ nav }) {
|
|
15391
|
-
const { assignments, unreadCount, threads, refreshAssignments, refreshThreads, issueCounts, refreshIssueCounts, dashboardUrl, isLoading, activeSession, sessionFindings, refreshSession, widgetMode, widgetColorScheme } = useBugBear();
|
|
15391
|
+
const { client, assignments, unreadCount, threads, refreshAssignments, refreshThreads, issueCounts, refreshIssueCounts, dashboardUrl, isLoading, activeSession, sessionFindings, refreshSession, widgetMode, widgetColorScheme } = useBugBear();
|
|
15392
|
+
const [tasks, setTasks] = (0, import_react4.useState)([]);
|
|
15392
15393
|
const styles7 = (0, import_react4.useMemo)(() => createStyles(), [widgetColorScheme]);
|
|
15393
15394
|
const [sessionElapsed, setSessionElapsed] = (0, import_react4.useState)(0);
|
|
15394
15395
|
const timerRef = (0, import_react4.useRef)(null);
|
|
@@ -15409,6 +15410,10 @@ function HomeScreen({ nav }) {
|
|
|
15409
15410
|
if (widgetMode === "qa") {
|
|
15410
15411
|
refreshAssignments();
|
|
15411
15412
|
refreshSession();
|
|
15413
|
+
if (client?.getTasks) {
|
|
15414
|
+
client.getTasks().then(setTasks).catch(() => {
|
|
15415
|
+
});
|
|
15416
|
+
}
|
|
15412
15417
|
}
|
|
15413
15418
|
refreshThreads();
|
|
15414
15419
|
refreshIssueCounts();
|
|
@@ -15554,27 +15559,38 @@ function HomeScreen({ nav }) {
|
|
|
15554
15559
|
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.View, { style: styles7.sessionDot }),
|
|
15555
15560
|
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.View, { style: styles7.sessionCardContent }, /* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.sessionCardTitle, numberOfLines: 1 }, activeSession.focusArea || "QA Session"), /* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.sessionCardMeta }, formatTimer(sessionElapsed), " \xB7 ", sessionFindings.length, " finding", sessionFindings.length !== 1 ? "s" : "")),
|
|
15556
15561
|
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.sessionCardAction }, "Resume \u2192")
|
|
15557
|
-
) : /* @__PURE__ */ import_react4.default.createElement(
|
|
15562
|
+
) : /* @__PURE__ */ import_react4.default.createElement(import_react_native4.View, { style: styles7.sessionRow }, /* @__PURE__ */ import_react4.default.createElement(
|
|
15558
15563
|
import_react_native4.TouchableOpacity,
|
|
15559
15564
|
{
|
|
15560
|
-
style: styles7.
|
|
15565
|
+
style: styles7.sessionTileBlue,
|
|
15561
15566
|
onPress: () => nav.push({ name: "SESSION_START" }),
|
|
15562
15567
|
activeOpacity: 0.7
|
|
15563
15568
|
},
|
|
15564
|
-
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.
|
|
15565
|
-
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.
|
|
15566
|
-
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.
|
|
15567
|
-
),
|
|
15569
|
+
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.tileIcon }, "\u{1F50D}"),
|
|
15570
|
+
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.tileTitle }, "Focused Session"),
|
|
15571
|
+
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.tileSub }, "Set focus area & track before starting")
|
|
15572
|
+
), nav.startAdHoc && /* @__PURE__ */ import_react4.default.createElement(
|
|
15568
15573
|
import_react_native4.TouchableOpacity,
|
|
15569
15574
|
{
|
|
15570
|
-
style: styles7.
|
|
15575
|
+
style: styles7.sessionTileGreen,
|
|
15571
15576
|
onPress: () => nav.startAdHoc?.(),
|
|
15572
15577
|
activeOpacity: 0.7
|
|
15573
15578
|
},
|
|
15574
|
-
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.
|
|
15575
|
-
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.
|
|
15576
|
-
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.
|
|
15577
|
-
), /* @__PURE__ */ import_react4.default.createElement(import_react_native4.View, { style:
|
|
15579
|
+
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.tileIcon }, "\u26A1"),
|
|
15580
|
+
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.tileTitle }, "Quick Test"),
|
|
15581
|
+
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: styles7.tileSub }, "Jump straight in \u2014 no setup needed")
|
|
15582
|
+
)), !activeSession && tasks.length > 0 && /* @__PURE__ */ import_react4.default.createElement(import_react_native4.View, { style: { marginBottom: 20 } }, /* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: { fontSize: 12, fontWeight: "600", color: colors.textSecondary, textTransform: "uppercase", letterSpacing: 0.5, marginBottom: 8 } }, "Task Checklist"), tasks.map((task) => /* @__PURE__ */ import_react4.default.createElement(
|
|
15583
|
+
import_react_native4.TouchableOpacity,
|
|
15584
|
+
{
|
|
15585
|
+
key: task.id,
|
|
15586
|
+
style: { backgroundColor: colors.card, borderWidth: 1, borderColor: colors.border, borderRadius: 10, padding: 12, paddingHorizontal: 14, flexDirection: "row", alignItems: "center", gap: 10, marginBottom: 4 },
|
|
15587
|
+
onPress: () => nav.startAdHoc?.(task.id, task.title),
|
|
15588
|
+
activeOpacity: 0.7
|
|
15589
|
+
},
|
|
15590
|
+
task.priority === "high" && /* @__PURE__ */ import_react4.default.createElement(import_react_native4.View, { style: { width: 6, height: 6, borderRadius: 3, backgroundColor: colors.red } }),
|
|
15591
|
+
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.View, { style: { flex: 1 } }, /* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: { fontSize: 13, fontWeight: "500", color: colors.textPrimary }, numberOfLines: 1 }, task.title), task.description ? /* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: { fontSize: 11, color: colors.textMuted, marginTop: 2 }, numberOfLines: 1 }, task.description) : null),
|
|
15592
|
+
/* @__PURE__ */ import_react4.default.createElement(import_react_native4.Text, { style: { fontSize: 11, fontWeight: "600", color: colors.blue } }, "Go")
|
|
15593
|
+
))), /* @__PURE__ */ import_react4.default.createElement(import_react_native4.View, { style: styles7.actionGrid }, /* @__PURE__ */ import_react4.default.createElement(
|
|
15578
15594
|
import_react_native4.TouchableOpacity,
|
|
15579
15595
|
{
|
|
15580
15596
|
style: styles7.actionCard,
|
|
@@ -15887,7 +15903,7 @@ function createStyles() {
|
|
|
15887
15903
|
fontSize: 13,
|
|
15888
15904
|
color: colors.blue
|
|
15889
15905
|
},
|
|
15890
|
-
// Session card
|
|
15906
|
+
// Session card (active — running session)
|
|
15891
15907
|
sessionCardActive: {
|
|
15892
15908
|
flexDirection: "row",
|
|
15893
15909
|
alignItems: "center",
|
|
@@ -15924,59 +15940,50 @@ function createStyles() {
|
|
|
15924
15940
|
fontWeight: "600",
|
|
15925
15941
|
color: colors.blue
|
|
15926
15942
|
},
|
|
15927
|
-
|
|
15943
|
+
sessionCardArrow: {
|
|
15944
|
+
fontSize: 13,
|
|
15945
|
+
color: colors.textMuted
|
|
15946
|
+
},
|
|
15947
|
+
// Session start row — two side-by-side tiles
|
|
15948
|
+
sessionRow: {
|
|
15928
15949
|
flexDirection: "row",
|
|
15929
|
-
|
|
15950
|
+
gap: 10,
|
|
15951
|
+
marginBottom: 16
|
|
15952
|
+
},
|
|
15953
|
+
sessionTileBlue: {
|
|
15954
|
+
flex: 1,
|
|
15930
15955
|
backgroundColor: colors.card,
|
|
15931
15956
|
borderWidth: 1,
|
|
15932
15957
|
borderColor: colors.border,
|
|
15958
|
+
borderTopWidth: 3,
|
|
15959
|
+
borderTopColor: colors.blue,
|
|
15933
15960
|
borderRadius: 12,
|
|
15934
15961
|
padding: 12,
|
|
15935
|
-
|
|
15936
|
-
gap: 12,
|
|
15937
|
-
marginBottom: 16
|
|
15938
|
-
},
|
|
15939
|
-
sessionCardIcon: {
|
|
15940
|
-
fontSize: 22
|
|
15962
|
+
gap: 4
|
|
15941
15963
|
},
|
|
15942
|
-
|
|
15964
|
+
sessionTileGreen: {
|
|
15943
15965
|
flex: 1,
|
|
15944
|
-
fontSize: 14,
|
|
15945
|
-
fontWeight: "500",
|
|
15946
|
-
color: colors.textPrimary
|
|
15947
|
-
},
|
|
15948
|
-
sessionCardArrow: {
|
|
15949
|
-
fontSize: 13,
|
|
15950
|
-
color: colors.textMuted
|
|
15951
|
-
},
|
|
15952
|
-
// Quick Test card
|
|
15953
|
-
quickTestCard: {
|
|
15954
|
-
flexDirection: "row",
|
|
15955
|
-
alignItems: "center",
|
|
15956
15966
|
backgroundColor: colors.card,
|
|
15957
15967
|
borderWidth: 1,
|
|
15958
15968
|
borderColor: colors.border,
|
|
15969
|
+
borderTopWidth: 3,
|
|
15970
|
+
borderTopColor: colors.green,
|
|
15959
15971
|
borderRadius: 12,
|
|
15960
15972
|
padding: 12,
|
|
15961
|
-
|
|
15962
|
-
gap: 12,
|
|
15963
|
-
marginBottom: 16
|
|
15964
|
-
},
|
|
15965
|
-
quickTestIcon: {
|
|
15966
|
-
fontSize: 22
|
|
15973
|
+
gap: 4
|
|
15967
15974
|
},
|
|
15968
|
-
|
|
15969
|
-
|
|
15975
|
+
tileIcon: {
|
|
15976
|
+
fontSize: 20
|
|
15970
15977
|
},
|
|
15971
|
-
|
|
15972
|
-
fontSize:
|
|
15978
|
+
tileTitle: {
|
|
15979
|
+
fontSize: 13,
|
|
15973
15980
|
fontWeight: "600",
|
|
15974
15981
|
color: colors.textPrimary
|
|
15975
15982
|
},
|
|
15976
|
-
|
|
15977
|
-
fontSize:
|
|
15983
|
+
tileSub: {
|
|
15984
|
+
fontSize: 11,
|
|
15978
15985
|
color: colors.textMuted,
|
|
15979
|
-
|
|
15986
|
+
lineHeight: 16
|
|
15980
15987
|
}
|
|
15981
15988
|
});
|
|
15982
15989
|
}
|
|
@@ -18869,7 +18876,9 @@ function SessionActiveScreen({ nav }) {
|
|
|
18869
18876
|
const [elapsed, setElapsed] = (0, import_react21.useState)(0);
|
|
18870
18877
|
const timerRef = (0, import_react21.useRef)(null);
|
|
18871
18878
|
(0, import_react21.useEffect)(() => {
|
|
18872
|
-
|
|
18879
|
+
if (!activeSession) {
|
|
18880
|
+
refreshSession();
|
|
18881
|
+
}
|
|
18873
18882
|
}, []);
|
|
18874
18883
|
(0, import_react21.useEffect)(() => {
|
|
18875
18884
|
if (timerRef.current) clearInterval(timerRef.current);
|
package/dist/index.mjs
CHANGED
|
@@ -12805,7 +12805,7 @@ var BugBearClient = class {
|
|
|
12805
12805
|
} : {
|
|
12806
12806
|
// Standalone verification assignment (bug reported without a test case)
|
|
12807
12807
|
id: item.original_report_id || item.id,
|
|
12808
|
-
title: item.notes || "Bug Verification",
|
|
12808
|
+
title: item.notes?.replace(/^Verification:\s*/i, "") || "Bug Verification",
|
|
12809
12809
|
testKey: "VERIFY",
|
|
12810
12810
|
description: "Verify that the reported bug has been fixed",
|
|
12811
12811
|
steps: [],
|
|
@@ -15370,7 +15370,8 @@ var s = StyleSheet2.create({
|
|
|
15370
15370
|
|
|
15371
15371
|
// src/widget/screens/HomeScreen.tsx
|
|
15372
15372
|
function HomeScreen({ nav }) {
|
|
15373
|
-
const { assignments, unreadCount, threads, refreshAssignments, refreshThreads, issueCounts, refreshIssueCounts, dashboardUrl, isLoading, activeSession, sessionFindings, refreshSession, widgetMode, widgetColorScheme } = useBugBear();
|
|
15373
|
+
const { client, assignments, unreadCount, threads, refreshAssignments, refreshThreads, issueCounts, refreshIssueCounts, dashboardUrl, isLoading, activeSession, sessionFindings, refreshSession, widgetMode, widgetColorScheme } = useBugBear();
|
|
15374
|
+
const [tasks, setTasks] = useState2([]);
|
|
15374
15375
|
const styles7 = useMemo(() => createStyles(), [widgetColorScheme]);
|
|
15375
15376
|
const [sessionElapsed, setSessionElapsed] = useState2(0);
|
|
15376
15377
|
const timerRef = useRef3(null);
|
|
@@ -15391,6 +15392,10 @@ function HomeScreen({ nav }) {
|
|
|
15391
15392
|
if (widgetMode === "qa") {
|
|
15392
15393
|
refreshAssignments();
|
|
15393
15394
|
refreshSession();
|
|
15395
|
+
if (client?.getTasks) {
|
|
15396
|
+
client.getTasks().then(setTasks).catch(() => {
|
|
15397
|
+
});
|
|
15398
|
+
}
|
|
15394
15399
|
}
|
|
15395
15400
|
refreshThreads();
|
|
15396
15401
|
refreshIssueCounts();
|
|
@@ -15536,27 +15541,38 @@ function HomeScreen({ nav }) {
|
|
|
15536
15541
|
/* @__PURE__ */ React3.createElement(View3, { style: styles7.sessionDot }),
|
|
15537
15542
|
/* @__PURE__ */ React3.createElement(View3, { style: styles7.sessionCardContent }, /* @__PURE__ */ React3.createElement(Text, { style: styles7.sessionCardTitle, numberOfLines: 1 }, activeSession.focusArea || "QA Session"), /* @__PURE__ */ React3.createElement(Text, { style: styles7.sessionCardMeta }, formatTimer(sessionElapsed), " \xB7 ", sessionFindings.length, " finding", sessionFindings.length !== 1 ? "s" : "")),
|
|
15538
15543
|
/* @__PURE__ */ React3.createElement(Text, { style: styles7.sessionCardAction }, "Resume \u2192")
|
|
15539
|
-
) : /* @__PURE__ */ React3.createElement(
|
|
15544
|
+
) : /* @__PURE__ */ React3.createElement(View3, { style: styles7.sessionRow }, /* @__PURE__ */ React3.createElement(
|
|
15540
15545
|
TouchableOpacity,
|
|
15541
15546
|
{
|
|
15542
|
-
style: styles7.
|
|
15547
|
+
style: styles7.sessionTileBlue,
|
|
15543
15548
|
onPress: () => nav.push({ name: "SESSION_START" }),
|
|
15544
15549
|
activeOpacity: 0.7
|
|
15545
15550
|
},
|
|
15546
|
-
/* @__PURE__ */ React3.createElement(Text, { style: styles7.
|
|
15547
|
-
/* @__PURE__ */ React3.createElement(Text, { style: styles7.
|
|
15548
|
-
/* @__PURE__ */ React3.createElement(Text, { style: styles7.
|
|
15549
|
-
),
|
|
15551
|
+
/* @__PURE__ */ React3.createElement(Text, { style: styles7.tileIcon }, "\u{1F50D}"),
|
|
15552
|
+
/* @__PURE__ */ React3.createElement(Text, { style: styles7.tileTitle }, "Focused Session"),
|
|
15553
|
+
/* @__PURE__ */ React3.createElement(Text, { style: styles7.tileSub }, "Set focus area & track before starting")
|
|
15554
|
+
), nav.startAdHoc && /* @__PURE__ */ React3.createElement(
|
|
15550
15555
|
TouchableOpacity,
|
|
15551
15556
|
{
|
|
15552
|
-
style: styles7.
|
|
15557
|
+
style: styles7.sessionTileGreen,
|
|
15553
15558
|
onPress: () => nav.startAdHoc?.(),
|
|
15554
15559
|
activeOpacity: 0.7
|
|
15555
15560
|
},
|
|
15556
|
-
/* @__PURE__ */ React3.createElement(Text, { style: styles7.
|
|
15557
|
-
/* @__PURE__ */ React3.createElement(
|
|
15558
|
-
/* @__PURE__ */ React3.createElement(Text, { style: styles7.
|
|
15559
|
-
), /* @__PURE__ */ React3.createElement(View3, { style:
|
|
15561
|
+
/* @__PURE__ */ React3.createElement(Text, { style: styles7.tileIcon }, "\u26A1"),
|
|
15562
|
+
/* @__PURE__ */ React3.createElement(Text, { style: styles7.tileTitle }, "Quick Test"),
|
|
15563
|
+
/* @__PURE__ */ React3.createElement(Text, { style: styles7.tileSub }, "Jump straight in \u2014 no setup needed")
|
|
15564
|
+
)), !activeSession && tasks.length > 0 && /* @__PURE__ */ React3.createElement(View3, { style: { marginBottom: 20 } }, /* @__PURE__ */ React3.createElement(Text, { style: { fontSize: 12, fontWeight: "600", color: colors.textSecondary, textTransform: "uppercase", letterSpacing: 0.5, marginBottom: 8 } }, "Task Checklist"), tasks.map((task) => /* @__PURE__ */ React3.createElement(
|
|
15565
|
+
TouchableOpacity,
|
|
15566
|
+
{
|
|
15567
|
+
key: task.id,
|
|
15568
|
+
style: { backgroundColor: colors.card, borderWidth: 1, borderColor: colors.border, borderRadius: 10, padding: 12, paddingHorizontal: 14, flexDirection: "row", alignItems: "center", gap: 10, marginBottom: 4 },
|
|
15569
|
+
onPress: () => nav.startAdHoc?.(task.id, task.title),
|
|
15570
|
+
activeOpacity: 0.7
|
|
15571
|
+
},
|
|
15572
|
+
task.priority === "high" && /* @__PURE__ */ React3.createElement(View3, { style: { width: 6, height: 6, borderRadius: 3, backgroundColor: colors.red } }),
|
|
15573
|
+
/* @__PURE__ */ React3.createElement(View3, { style: { flex: 1 } }, /* @__PURE__ */ React3.createElement(Text, { style: { fontSize: 13, fontWeight: "500", color: colors.textPrimary }, numberOfLines: 1 }, task.title), task.description ? /* @__PURE__ */ React3.createElement(Text, { style: { fontSize: 11, color: colors.textMuted, marginTop: 2 }, numberOfLines: 1 }, task.description) : null),
|
|
15574
|
+
/* @__PURE__ */ React3.createElement(Text, { style: { fontSize: 11, fontWeight: "600", color: colors.blue } }, "Go")
|
|
15575
|
+
))), /* @__PURE__ */ React3.createElement(View3, { style: styles7.actionGrid }, /* @__PURE__ */ React3.createElement(
|
|
15560
15576
|
TouchableOpacity,
|
|
15561
15577
|
{
|
|
15562
15578
|
style: styles7.actionCard,
|
|
@@ -15869,7 +15885,7 @@ function createStyles() {
|
|
|
15869
15885
|
fontSize: 13,
|
|
15870
15886
|
color: colors.blue
|
|
15871
15887
|
},
|
|
15872
|
-
// Session card
|
|
15888
|
+
// Session card (active — running session)
|
|
15873
15889
|
sessionCardActive: {
|
|
15874
15890
|
flexDirection: "row",
|
|
15875
15891
|
alignItems: "center",
|
|
@@ -15906,59 +15922,50 @@ function createStyles() {
|
|
|
15906
15922
|
fontWeight: "600",
|
|
15907
15923
|
color: colors.blue
|
|
15908
15924
|
},
|
|
15909
|
-
|
|
15925
|
+
sessionCardArrow: {
|
|
15926
|
+
fontSize: 13,
|
|
15927
|
+
color: colors.textMuted
|
|
15928
|
+
},
|
|
15929
|
+
// Session start row — two side-by-side tiles
|
|
15930
|
+
sessionRow: {
|
|
15910
15931
|
flexDirection: "row",
|
|
15911
|
-
|
|
15932
|
+
gap: 10,
|
|
15933
|
+
marginBottom: 16
|
|
15934
|
+
},
|
|
15935
|
+
sessionTileBlue: {
|
|
15936
|
+
flex: 1,
|
|
15912
15937
|
backgroundColor: colors.card,
|
|
15913
15938
|
borderWidth: 1,
|
|
15914
15939
|
borderColor: colors.border,
|
|
15940
|
+
borderTopWidth: 3,
|
|
15941
|
+
borderTopColor: colors.blue,
|
|
15915
15942
|
borderRadius: 12,
|
|
15916
15943
|
padding: 12,
|
|
15917
|
-
|
|
15918
|
-
gap: 12,
|
|
15919
|
-
marginBottom: 16
|
|
15920
|
-
},
|
|
15921
|
-
sessionCardIcon: {
|
|
15922
|
-
fontSize: 22
|
|
15944
|
+
gap: 4
|
|
15923
15945
|
},
|
|
15924
|
-
|
|
15946
|
+
sessionTileGreen: {
|
|
15925
15947
|
flex: 1,
|
|
15926
|
-
fontSize: 14,
|
|
15927
|
-
fontWeight: "500",
|
|
15928
|
-
color: colors.textPrimary
|
|
15929
|
-
},
|
|
15930
|
-
sessionCardArrow: {
|
|
15931
|
-
fontSize: 13,
|
|
15932
|
-
color: colors.textMuted
|
|
15933
|
-
},
|
|
15934
|
-
// Quick Test card
|
|
15935
|
-
quickTestCard: {
|
|
15936
|
-
flexDirection: "row",
|
|
15937
|
-
alignItems: "center",
|
|
15938
15948
|
backgroundColor: colors.card,
|
|
15939
15949
|
borderWidth: 1,
|
|
15940
15950
|
borderColor: colors.border,
|
|
15951
|
+
borderTopWidth: 3,
|
|
15952
|
+
borderTopColor: colors.green,
|
|
15941
15953
|
borderRadius: 12,
|
|
15942
15954
|
padding: 12,
|
|
15943
|
-
|
|
15944
|
-
gap: 12,
|
|
15945
|
-
marginBottom: 16
|
|
15946
|
-
},
|
|
15947
|
-
quickTestIcon: {
|
|
15948
|
-
fontSize: 22
|
|
15955
|
+
gap: 4
|
|
15949
15956
|
},
|
|
15950
|
-
|
|
15951
|
-
|
|
15957
|
+
tileIcon: {
|
|
15958
|
+
fontSize: 20
|
|
15952
15959
|
},
|
|
15953
|
-
|
|
15954
|
-
fontSize:
|
|
15960
|
+
tileTitle: {
|
|
15961
|
+
fontSize: 13,
|
|
15955
15962
|
fontWeight: "600",
|
|
15956
15963
|
color: colors.textPrimary
|
|
15957
15964
|
},
|
|
15958
|
-
|
|
15959
|
-
fontSize:
|
|
15965
|
+
tileSub: {
|
|
15966
|
+
fontSize: 11,
|
|
15960
15967
|
color: colors.textMuted,
|
|
15961
|
-
|
|
15968
|
+
lineHeight: 16
|
|
15962
15969
|
}
|
|
15963
15970
|
});
|
|
15964
15971
|
}
|
|
@@ -18851,7 +18858,9 @@ function SessionActiveScreen({ nav }) {
|
|
|
18851
18858
|
const [elapsed, setElapsed] = useState16(0);
|
|
18852
18859
|
const timerRef = useRef6(null);
|
|
18853
18860
|
useEffect11(() => {
|
|
18854
|
-
|
|
18861
|
+
if (!activeSession) {
|
|
18862
|
+
refreshSession();
|
|
18863
|
+
}
|
|
18855
18864
|
}, []);
|
|
18856
18865
|
useEffect11(() => {
|
|
18857
18866
|
if (timerRef.current) clearInterval(timerRef.current);
|