Feat: Add popup to notify users when they can't use a shortcut.

This commit is contained in:
igorrCarvalho 2024-03-07 19:17:26 -03:00
commit eed3dcb574

View file

@ -98,6 +98,7 @@ export default function NodeToolbarComponent({
); );
const setSuccessData = useAlertStore(state => state.setSuccessData); const setSuccessData = useAlertStore(state => state.setSuccessData);
const setNoticeData = useAlertStore(state => state.setNoticeData);
useEffect(() => { useEffect(() => {
setFlowComponent(createFlowComponent(cloneDeep(data), version)); setFlowComponent(createFlowComponent(cloneDeep(data), version));
@ -261,13 +262,16 @@ export default function NodeToolbarComponent({
} }
if ( if (
selected && selected &&
isMinimal &&
(event.ctrlKey || event.metaKey) && (event.ctrlKey || event.metaKey) &&
event.key === "q" event.key === "q"
) { ) {
event.preventDefault(); event.preventDefault();
setShowState(show => !show) if (isMinimal) {
setShowNode(data.showNode ?? true ? false : true); setShowState(show => !show)
setShowNode(data.showNode ?? true ? false : true);
return
}
setNoticeData({title: "Minimization are only available for nodes with one handle or fewer."});
} }
if ( if (
selected && selected &&
@ -276,7 +280,8 @@ export default function NodeToolbarComponent({
event.key === "C" event.key === "C"
) { ) {
event.preventDefault(); event.preventDefault();
setOpenModal((state) => !state); if (hasCode) return setOpenModal((state) => !state);
setNoticeData({title: `You can not access ${data.id} code`})
} }
if ( if (
selected && selected &&
@ -304,13 +309,15 @@ export default function NodeToolbarComponent({
} }
if ( if (
selected && selected &&
data.node?.documentation &&
(event.ctrlKey || event.metaKey) && (event.ctrlKey || event.metaKey) &&
event.shiftKey && event.shiftKey &&
event.key === "D" event.key === "D"
) { ) {
event.preventDefault(); event.preventDefault();
openInNewTab(data.node?.documentation); if (data.node?.documentation) {
return openInNewTab(data.node?.documentation);
}
setNoticeData({title: `${data.id} docs is not available at the moment.`})
} }
} }
@ -342,7 +349,7 @@ export default function NodeToolbarComponent({
<ShadTooltip content={"Save"} side="top"> <ShadTooltip content={"Save"} side="top">
<button <button
className={classNames( className={classNames(
"relative -ml-px inline-flex items-center bg-background px-2 py-2 text-foreground shadow-md ring-1 ring-inset ring-ring transition-all duration-500 ease-in-out hover:bg-muted focus:z-10" "relative -ml-px inline-flex items-center bg-background px-2 py-2 text-foreground shadow-md ring-1 ring-inset ring-ring transition-all duration-500 ease-in-out hover:bg-muted focus:z-10", (hasCode ? " " : " rounded-l-md ")
)} )}
onClick={(event) => { onClick={(event) => {
event.preventDefault(); event.preventDefault();
@ -458,7 +465,7 @@ export default function NodeToolbarComponent({
) : ( ) : (
<span className="absolute right-[1.15rem] top-[0.40em] stroke-2">Ctrl + </span> <span className="absolute right-[1.15rem] top-[0.40em] stroke-2">Ctrl + </span>
)} )}
<span className="absolute right-2 top-[0.5em]">C</span> <span className="absolute right-2 top-[0.4em]">C</span>
</div> </div>
</SelectItem> </SelectItem>
{hasStore && ( {hasStore && (
@ -594,9 +601,13 @@ export default function NodeToolbarComponent({
index={6} index={6}
onConfirm={(index, user) => { onConfirm={(index, user) => {
saveComponent(cloneDeep(data), true); saveComponent(cloneDeep(data), true);
setSuccessData({title: `${data.id} successfully overridden!`})
}} }}
onClose={setShowOverrideModal} onClose={setShowOverrideModal}
onCancel={() => saveComponent(cloneDeep(data), false)} onCancel={() => {
saveComponent(cloneDeep(data), false)
setSuccessData({title: "New node successfully saved!"})
}}
> >
<ConfirmationModal.Content> <ConfirmationModal.Content>
<span> <span>