Skip to content

Commit 8352185

Browse files
authored
Merge branch 'Significant-Gravitas:master' into master
2 parents 0b824d3 + e908068 commit 8352185

File tree

1 file changed

+25
-3
lines changed

1 file changed

+25
-3
lines changed

autogpt_platform/frontend/src/components/edit/control/SaveControl.tsx

+25-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from "react";
1+
import React, { useCallback, useEffect } from "react";
22
import {
33
Popover,
44
PopoverContent,
@@ -15,6 +15,7 @@ import {
1515
TooltipContent,
1616
TooltipTrigger,
1717
} from "@/components/ui/tooltip";
18+
import { useToast } from "@/components/ui/use-toast";
1819

1920
interface SaveControlProps {
2021
agentMeta: GraphMeta | null;
@@ -52,14 +53,35 @@ export const SaveControl = ({
5253

5354
// Determines if we're saving a template or an agent
5455
let isTemplate = agentMeta?.is_template ? true : undefined;
55-
const handleSave = () => {
56+
const handleSave = useCallback(() => {
5657
onSave(isTemplate);
57-
};
58+
}, [onSave, isTemplate]);
5859

5960
const getType = () => {
6061
return agentMeta?.is_template ? "template" : "agent";
6162
};
6263

64+
const { toast } = useToast();
65+
66+
useEffect(() => {
67+
const handleKeyDown = (event: KeyboardEvent) => {
68+
if ((event.ctrlKey || event.metaKey) && event.key === "s") {
69+
event.preventDefault(); // Stop the browser default action
70+
handleSave(); // Call your save function
71+
toast({
72+
duration: 2000,
73+
title: "All changes saved successfully!",
74+
});
75+
}
76+
};
77+
78+
window.addEventListener("keydown", handleKeyDown);
79+
80+
return () => {
81+
window.removeEventListener("keydown", handleKeyDown);
82+
};
83+
}, [handleSave]);
84+
6385
return (
6486
<Popover open={pinSavePopover ? true : undefined}>
6587
<Tooltip delayDuration={500}>

0 commit comments

Comments
 (0)