Refactor Footer component to integrate OuterClick for better shortcut management; add SelectFloorPlan component with preset options
This commit is contained in:
parent
b7f74c975c
commit
a5cd65898d
|
@ -10,14 +10,19 @@ import {
|
||||||
import ShortcutHelper from "./shortcutHelper";
|
import ShortcutHelper from "./shortcutHelper";
|
||||||
import { useShortcutStore } from "../../store/builder/store";
|
import { useShortcutStore } from "../../store/builder/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();
|
||||||
const lastLog = logs.length > 0 ? logs[logs.length - 1] : null;
|
const lastLog = logs.length > 0 ? logs[logs.length - 1] : null;
|
||||||
|
|
||||||
const { showShortcuts } = useShortcutStore();
|
const { showShortcuts, setShowShortcuts } = useShortcutStore();
|
||||||
const { isPlaying } = usePlayButtonStore();
|
const { isPlaying } = usePlayButtonStore();
|
||||||
|
|
||||||
|
OuterClick({
|
||||||
|
contextClassName: ["shortcut-helper-overlay"],
|
||||||
|
setMenuVisible: () => setShowShortcuts(false),
|
||||||
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="footer-container">
|
<div className="footer-container">
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
import React, { useState } from "react";
|
||||||
|
|
||||||
|
const SelectFloorPlan: React.FC = () => {
|
||||||
|
const [preset, setPreset] = useState("");
|
||||||
|
return (
|
||||||
|
<div className="select-floorplane-wrapper">
|
||||||
|
Don't have an idea? Use these presets!
|
||||||
|
<div className="presets-container">
|
||||||
|
<button
|
||||||
|
className={`preset ${preset === "1" ? "active" : ""}`}
|
||||||
|
onClick={() => {
|
||||||
|
setPreset("1");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Preset 1
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
className={`preset ${preset === "2" ? "active" : ""}`}
|
||||||
|
onClick={() => {
|
||||||
|
setPreset("2");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Preset 2
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default SelectFloorPlan;
|
|
@ -27,3 +27,13 @@
|
||||||
.pointer-none {
|
.pointer-none {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// temp
|
||||||
|
.select-floorplane-wrapper{
|
||||||
|
.presets-container{
|
||||||
|
.preset{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue