Fix: shortcuts not saving properly

This commit is contained in:
igorrCarvalho 2024-06-09 12:27:08 -03:00
commit b99a82e81f
3 changed files with 21 additions and 6 deletions

View file

@ -20,8 +20,10 @@ import { cn } from "../../../../utils/utils";
import IconComponent from "../../../genericIconComponent"; import IconComponent from "../../../genericIconComponent";
import ShadTooltip from "../../../shadTooltipComponent"; import ShadTooltip from "../../../shadTooltipComponent";
import { Button } from "../../../ui/button"; import { Button } from "../../../ui/button";
import { useShortcutsStore } from "../../../../stores/shortcuts";
export const MenuBar = ({}: {}): JSX.Element => { export const MenuBar = ({}: {}): JSX.Element => {
const shortcuts = useShortcutsStore((state) => state.shortcuts);
const addFlow = useFlowsManagerStore((state) => state.addFlow); const addFlow = useFlowsManagerStore((state) => state.addFlow);
const currentFlow = useFlowsManagerStore((state) => state.currentFlow); const currentFlow = useFlowsManagerStore((state) => state.currentFlow);
const setErrorData = useAlertStore((state) => state.setErrorData); const setErrorData = useAlertStore((state) => state.setErrorData);
@ -144,10 +146,12 @@ export const MenuBar = ({}: {}): JSX.Element => {
/> />
) : ( ) : (
<span className="absolute right-[1.15rem] top-[0.40em] stroke-2"> <span className="absolute right-[1.15rem] top-[0.40em] stroke-2">
Ctrl +{" "} {
shortcuts.find((s) => s.name.toLowerCase() === "undo")
?.shortcut
}
</span> </span>
)} )}
<span className="absolute right-2 top-[0.4em]">Z</span>
</DropdownMenuItem> </DropdownMenuItem>
<DropdownMenuItem <DropdownMenuItem
onClick={() => { onClick={() => {
@ -164,10 +168,12 @@ export const MenuBar = ({}: {}): JSX.Element => {
/> />
) : ( ) : (
<span className="absolute right-[1.15rem] top-[0.40em] stroke-2"> <span className="absolute right-[1.15rem] top-[0.40em] stroke-2">
Ctrl +{" "} {
shortcuts.find((s) => s.name.toLowerCase() === "redo")
?.shortcut
}
</span> </span>
)} )}
<span className="absolute right-2 top-[0.4em]">Y</span>
</DropdownMenuItem> </DropdownMenuItem>
</DropdownMenuContent> </DropdownMenuContent>
</DropdownMenu> </DropdownMenu>

View file

@ -27,11 +27,13 @@ export default function ToolbarSelectItem({
<div className={`flex ${style}`} data-testid={dataTestId}> <div className={`flex ${style}`} data-testid={dataTestId}>
<ForwardedIconComponent <ForwardedIconComponent
name={icon} name={icon}
className={`relative top-0.5 mr-2 h-4 w-4 ${ className={` top-0.5 mr-2 ${icon === "Share3" ? "absolute left-2 top-[0.2em] h-6 w-6" : "h-4 w-4"} ${
ping && "animate-pulse text-green-500" ping && "animate-pulse text-green-500"
}`} }`}
/> />
<span>{value}</span> <span className={`${icon === "Share3" ? "ml-[1.8em]" : " "}`}>
{value}
</span>
<span className={`absolute right-2 top-[0.43em] flex `}> <span className={`absolute right-2 top-[0.43em] flex `}>
{hasShift ? ( {hasShift ? (
<> <>

View file

@ -39,6 +39,13 @@ export const useShortcutsStore = create<shortcutsStoreType>((set, get) => ({
if (localStorage.getItem("langflow-shortcuts")) { if (localStorage.getItem("langflow-shortcuts")) {
const savedShortcuts = localStorage.getItem("langflow-shortcuts"); const savedShortcuts = localStorage.getItem("langflow-shortcuts");
const savedUShortcuts = localStorage.getItem("langflow-UShortcuts"); const savedUShortcuts = localStorage.getItem("langflow-UShortcuts");
const savedArr = JSON.parse(savedShortcuts!);
savedArr.forEach(({ name, shortcut }) => {
let shortcutName = name.split(" ")[0].toLowerCase();
set({
[shortcutName]: shortcut,
});
});
get().setShortcuts( get().setShortcuts(
JSON.parse(savedShortcuts!), JSON.parse(savedShortcuts!),
JSON.parse(savedUShortcuts!), JSON.parse(savedUShortcuts!),