Skip to content

Commit 8c054e0

Browse files
committed
Automatically close browser connection status after reconnection if previously dismissed
- when closed at least once, any further 'connected' status should auto-close after 3s ├── apps │ └── editor │ └── src │ └── views │ └── prompt │ └── frontend │ └── Main │ └── MainView │ └── components │ └── BrowserConnectionStatus │ ├── BrowserConnectionStatus.tsx │ └── index.ts └── packages └── ui └── src └── components └── editor └── prompt └── StatusBar ├── StatusBar.module.scss ├── StatusBar.tsx └── index.ts
1 parent 8148698 commit 8c054e0

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

‎apps/editor/src/views/prompt/frontend/Main/MainView/components/BrowserConnectionStatus/BrowserConnectionStatus.tsx‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,26 @@ type Props = {
1515

1616
export const BrowserConnectionStatus: React.FC<Props> = (props) => {
1717
const [is_closed, setIsClosed] = useState(false)
18+
const [has_been_closed, setHasBeenClosed] = useState(false)
1819

1920
useEffect(() => {
2021
if (props.has_responses) {
2122
setIsClosed(true)
23+
setHasBeenClosed(true)
2224
} else if (!props.is_connected) {
2325
setIsClosed(false)
2426
}
2527
}, [props.has_responses, props.is_connected])
2628

29+
useEffect(() => {
30+
if (props.is_connected && !is_closed && has_been_closed) {
31+
const timer = setTimeout(() => {
32+
setIsClosed(true)
33+
}, 3000)
34+
return () => clearTimeout(timer)
35+
}
36+
}, [props.is_connected, is_closed, has_been_closed])
37+
2738
if (is_closed || props.has_responses) {
2839
return null
2940
}
@@ -43,7 +54,10 @@ export const BrowserConnectionStatus: React.FC<Props> = (props) => {
4354
icon: 'codicon-close-small',
4455
label: props.translations.hide,
4556
title: props.translations.hide,
46-
on_click: () => setIsClosed(true)
57+
on_click: () => {
58+
setIsClosed(true)
59+
setHasBeenClosed(true)
60+
}
4761
})
4862
}
4963

0 commit comments

Comments
 (0)