chore(react): add back Ctrl+Enter for markdown import

This commit is contained in:
Elian Doran
2025-08-03 19:06:21 +03:00
parent 77818d5453
commit 1229c26098
10 changed files with 10963 additions and 10919 deletions

View File

@@ -0,0 +1,37 @@
import { useEffect, useRef } from "preact/hooks";
import shortcuts from "../../services/shortcuts";
interface ButtonProps {
text: string;
className?: string;
keyboardShortcut?: string;
onClick: () => void;
}
export default function Button({ className, text, onClick, keyboardShortcut }: ButtonProps) {
const classes: string[] = ["btn"];
classes.push("btn-primary");
if (className) {
classes.push(className);
}
const buttonRef = useRef<HTMLButtonElement>(null);
const splitShortcut = (keyboardShortcut ?? "").split("+");
return (
<button
className={classes.join(" ")}
type="button"
onClick={onClick}
ref={buttonRef}
>
{text} {keyboardShortcut && (
splitShortcut.map((key, index) => (
<>
<kbd key={index}>{key.toUpperCase()}</kbd>{ index < splitShortcut.length - 1 ? "+" : "" }
</>
))
)}
</button>
);
}