// Based on https://github.com/isiah-lloyd/radiyo-steam-deck/blob/main/src/TextFieldModal.tsx import { ModalRoot, ModalRootProps, Router, TextField, Focusable, DialogButton } from 'decky-frontend-lib'; import { useEffect, useRef, useState } from 'react'; import { HiCheck, HiX } from "react-icons/hi"; type props = ModalRootProps & { label: string, placeholder: string, onClosed: (inputText: string) => void; } export const TextFieldModal = ({ closeModal, onClosed, label, placeholder }: props) => { const [inputText, setInputText] = useState(''); const handleText = (e: React.ChangeEvent) => { setInputText(e.target.value); }; const textField = useRef(); useEffect(() => { Router.CloseSideMenus(); //This will open up the virtual keyboard textField.current?.element?.click(); }, []); const submit = () => onClosed(inputText); return (
{ submit() }} > { if (closeModal) { closeModal() } }} >
); };