Enhance Footer component to toggle shortcut visibility with Escape key; integrate OuterClick for improved interaction
This commit is contained in:
parent
b623bff6dd
commit
f2bb79f61c
|
@ -1,4 +1,4 @@
|
||||||
import React, { useEffect } from "react";
|
import React, { useEffect, useRef } from "react";
|
||||||
import { HelpIcon } from "../icons/DashboardIcon";
|
import { HelpIcon } from "../icons/DashboardIcon";
|
||||||
import { useLogger } from "../ui/log/LoggerContext";
|
import { useLogger } from "../ui/log/LoggerContext";
|
||||||
import { GetLogIcon } from "./getLogIcons";
|
import { GetLogIcon } from "./getLogIcons";
|
||||||
|
@ -10,6 +10,7 @@ import {
|
||||||
import ShortcutHelper from "./shortcutHelper";
|
import ShortcutHelper from "./shortcutHelper";
|
||||||
import { useShortcutStore } from "../../store/store";
|
import { useShortcutStore } from "../../store/store";
|
||||||
import { usePlayButtonStore } from "../../store/usePlayButtonStore";
|
import { usePlayButtonStore } from "../../store/usePlayButtonStore";
|
||||||
|
import OuterClick from "../../utils/outerClick";
|
||||||
|
|
||||||
const Footer: React.FC = () => {
|
const Footer: React.FC = () => {
|
||||||
const { logs, setIsLogListVisible } = useLogger();
|
const { logs, setIsLogListVisible } = useLogger();
|
||||||
|
@ -29,12 +30,20 @@ const Footer: React.FC = () => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
setShowShortcuts(!showShortcuts); // toggle visibility directly
|
setShowShortcuts(!showShortcuts); // toggle visibility directly
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (e.key === "Escape") {
|
||||||
|
setShowShortcuts(false);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
window.addEventListener("keydown", handleKeyDown);
|
window.addEventListener("keydown", handleKeyDown);
|
||||||
return () => window.removeEventListener("keydown", handleKeyDown);
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
||||||
}, [showShortcuts, setShowShortcuts]);
|
}, [showShortcuts, setShowShortcuts]);
|
||||||
|
|
||||||
|
OuterClick({
|
||||||
|
contextClassName: ["shortcut-helper-overlay"],
|
||||||
|
setMenuVisible: () => setShowShortcuts(false),
|
||||||
|
});
|
||||||
return (
|
return (
|
||||||
<div className="footer-container">
|
<div className="footer-container">
|
||||||
<div className="footer-wrapper">
|
<div className="footer-wrapper">
|
||||||
|
|
|
@ -10,6 +10,7 @@ import RenameInput from "../../../ui/inputs/RenameInput";
|
||||||
|
|
||||||
const VersionHistory = () => {
|
const VersionHistory = () => {
|
||||||
const userName = localStorage.getItem("userName") ?? "Anonymous";
|
const userName = localStorage.getItem("userName") ?? "Anonymous";
|
||||||
|
|
||||||
const initialVersions = [
|
const initialVersions = [
|
||||||
{
|
{
|
||||||
versionName: "v1.0",
|
versionName: "v1.0",
|
||||||
|
|
Loading…
Reference in New Issue