|
@@ -44,6 +44,8 @@ export const CustomNavDropdown = (props: CustomNavDropdownProps): JSX.Element =>
|
|
|
|
|
|
|
|
const [isDropdownOpen, setIsDropdownOpen] = useState(false);
|
|
const [isDropdownOpen, setIsDropdownOpen] = useState(false);
|
|
|
|
|
|
|
|
|
|
+ const dropdownButtonRef = useRef<HTMLButtonElement>(null);
|
|
|
|
|
+
|
|
|
const handleDropdownToggle = () => {
|
|
const handleDropdownToggle = () => {
|
|
|
setIsDropdownOpen(prev => !prev);
|
|
setIsDropdownOpen(prev => !prev);
|
|
|
};
|
|
};
|
|
@@ -52,12 +54,17 @@ export const CustomNavDropdown = (props: CustomNavDropdownProps): JSX.Element =>
|
|
|
if (onNavSelected != null) {
|
|
if (onNavSelected != null) {
|
|
|
onNavSelected(key);
|
|
onNavSelected(key);
|
|
|
}
|
|
}
|
|
|
|
|
+ // Manually close the dropdown
|
|
|
setIsDropdownOpen(false);
|
|
setIsDropdownOpen(false);
|
|
|
|
|
+ if (dropdownButtonRef.current) {
|
|
|
|
|
+ dropdownButtonRef.current.classList.remove('show');
|
|
|
|
|
+ }
|
|
|
}, [onNavSelected]);
|
|
}, [onNavSelected]);
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
<div className="btn-group">
|
|
<div className="btn-group">
|
|
|
<button
|
|
<button
|
|
|
|
|
+ ref={dropdownButtonRef}
|
|
|
className="btn btn-outline-primary btn-lg dropdown-toggle text-end"
|
|
className="btn btn-outline-primary btn-lg dropdown-toggle text-end"
|
|
|
type="button"
|
|
type="button"
|
|
|
data-bs-toggle="dropdown"
|
|
data-bs-toggle="dropdown"
|