Add esc functionality
This commit is contained in:
parent
57443005cb
commit
4fb5dc4d07
|
|
@ -27,6 +27,35 @@ function App() {
|
||||||
const [isLoadingTransformedData, setIsLoadingTransformedData] = useState(false);
|
const [isLoadingTransformedData, setIsLoadingTransformedData] = useState(false);
|
||||||
const [transformedDataError, setTransformedDataError] = useState(null);
|
const [transformedDataError, setTransformedDataError] = useState(null);
|
||||||
|
|
||||||
|
// Close only the topmost open modal on Escape, preserving underlying modals
|
||||||
|
useEffect(() => {
|
||||||
|
const handleKeyDown = (e) => {
|
||||||
|
if (e.key === 'Escape') {
|
||||||
|
if (showDetailModal) {
|
||||||
|
setShowDetailModal(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (showWidgetsView) {
|
||||||
|
setShowWidgetsView(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (showTransformedDataModal) {
|
||||||
|
setShowTransformedDataModal(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (showResultsModal) {
|
||||||
|
setShowResultsModal(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (showAnalysisModal) {
|
||||||
|
setShowAnalysisModal(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
window.addEventListener('keydown', handleKeyDown);
|
||||||
|
return () => window.removeEventListener('keydown', handleKeyDown);
|
||||||
|
}, [showDetailModal, showWidgetsView, showTransformedDataModal, showResultsModal, showAnalysisModal]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
checkBackendStatus();
|
checkBackendStatus();
|
||||||
fetchCompanies();
|
fetchCompanies();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue