Skip to content

Commit

Permalink
fix: layerTab tool now works as expected in superkeys and layout editors
Browse files Browse the repository at this point in the history
Signed-off-by: Alejandro Parcet <alexpargon@gmail.com>
  • Loading branch information
alexpargon committed Oct 23, 2024
1 parent 5688f8f commit 8074148
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions src/renderer/modules/KeysTabs/LayersTab.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ const LayersTab = ({
}: LayersTabProps) => {
const [disableOneShotButtons, setDisableOneShotButtons] = useState<boolean>(false);
const [openKeysPopover, setOpenKeysPopover] = useState<boolean>(false);
const [activeLayerNumber, setActiveLayerNumber] = useState<number>(findLayerType(keyCode.base + keyCode.modified)?.layer);
const [activeLayerTab, setActiveLayerTab] = useState<string>(findLayerType(keyCode.base + keyCode.modified)?.type);
const [KC, setKC] = useState<number>(0);

const layers = useMemo(
Expand Down Expand Up @@ -95,9 +97,6 @@ const LayersTab = ({
keyNumInternal = 0;
}

const [activeLayerNumber, setActiveLayerNumber] = useState<number>(0);
const [activeLayerTab, setActiveLayerTab] = useState<string>("");

const handleLayer = (layerNumber: number) => {
const layerItem = findLayerType(undefined, activeLayerTab, layerNumber);
// console.log("Layer inside handle: ", layerItem);
Expand All @@ -114,6 +113,12 @@ const LayersTab = ({
}
};

const handleSetActiveLayerTab = (value: "layerLock" | "layerShift" | "layerShot" | "layerDual") => {
setActiveLayerTab(value);
const layerItem = findLayerType(undefined, value, activeLayerNumber);
onKeySelect(layerItem.keynum);
};

const handleDual = (keyBase: number) => {
const layerItem = findLayerType(undefined, activeLayerTab, activeLayerNumber);
if (layerItem && layerItem.type === "layerDual") {
Expand All @@ -127,9 +132,6 @@ const LayersTab = ({
if (macros && activeTab === "macro" && layerItem && triggerDeleteLastItem) {
triggerDeleteLastItem.timelineEditorForm.current.timelineEditorMacroTable.current.onDeleteRow(macros.actions.length - 1);
}
if (layerItem && layerItem.type !== "layerDual") {
onKeySelect(layerItem.keynum);
}
// eslint-disable-next-line
}, [activeLayerTab]);

Expand Down Expand Up @@ -284,9 +286,9 @@ const LayersTab = ({
<div className="pl-0.5">Turn into layer lock</div>
</>
}
onClick={() => {
onClick={value => {
if (activeLayerNumber > 0) {
setActiveLayerTab(previous => (previous === "layerLock" ? "layerShift" : "layerLock"));
handleSetActiveLayerTab(value ? "layerLock" : "layerShift");
} else {
triggerToast();
}
Expand Down Expand Up @@ -314,9 +316,9 @@ const LayersTab = ({
<CustomRadioCheckBox
label={<div className="pl-0.5">Add a key on tap</div>}
disabled={activeLayerNumber >= 9}
onClick={() => {
onClick={value => {
if (activeLayerNumber > 0 && activeLayerNumber <= 8) {
setActiveLayerTab(previous => (previous === "layerDual" ? "layerShift" : "layerDual"));
handleSetActiveLayerTab(value ? "layerDual" : "layerShift");
setOpenKeysPopover(true);
} else if (activeLayerNumber >= 9) {
triggerToastOneShot();
Expand Down Expand Up @@ -351,9 +353,9 @@ const LayersTab = ({
<CustomRadioCheckBox
label={<div className="pl-0.5">Turn into OneShot layer</div>}
disabled={activeLayerNumber >= 9}
onClick={() => {
onClick={value => {
if (activeLayerNumber > 0 && activeLayerNumber <= 8) {
setActiveLayerTab(previous => (previous === "layerShot" ? "layerShift" : "layerShot"));
handleSetActiveLayerTab(value ? "layerShot" : "layerShift");
setDisableOneShotButtons(true);
} else if (activeLayerNumber >= 9) {
triggerToastOneShot();
Expand Down

0 comments on commit 8074148

Please sign in to comment.