Magnet input: keydown

This commit is contained in:
Igor Katson 2023-12-14 12:42:22 +00:00
parent 5a30b3fb0c
commit 74ae3cfca2
No known key found for this signature in database
GPG key ID: B4EC22B66D61A3F5
9 changed files with 59 additions and 49 deletions

View file

@ -12,6 +12,12 @@ export const MagnetInput = ({ className }: { className?: string }) => {
const [inputValue, setInputValue] = useState("");
const [modalIsOpen, setModalIsOpen] = useState(false);
const submit = () => {
setMagnet(inputValue);
setInputValue("");
setModalIsOpen(false);
};
const clear = () => {
setModalIsOpen(false);
setMagnet(null);
@ -38,6 +44,11 @@ export const MagnetInput = ({ className }: { className?: string }) => {
value={inputValue}
name="magnet"
onChange={(e) => setInputValue(e.target.value)}
onKeyDown={(e) => {
if (e.key === "Enter" && !!inputValue) {
submit();
}
}}
placeholder="magnet:?xt=urn:btih:..."
help="Enter magnet or HTTP(S) URL to the .torrent"
/>
@ -47,15 +58,7 @@ export const MagnetInput = ({ className }: { className?: string }) => {
<Button variant="cancel" onClick={clear}>
Cancel
</Button>
<Button
disabled={!inputValue}
variant="primary"
onClick={() => {
setMagnet(inputValue);
setInputValue("");
setModalIsOpen(false);
}}
>
<Button disabled={!inputValue} variant="primary" onClick={submit}>
Add
</Button>
</ModalFooter>