diff options
| -rw-r--r-- | apps/web/app/(dash)/menu.tsx | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/apps/web/app/(dash)/menu.tsx b/apps/web/app/(dash)/menu.tsx index f9363efb..b8bd25cc 100644 --- a/apps/web/app/(dash)/menu.tsx +++ b/apps/web/app/(dash)/menu.tsx @@ -31,10 +31,20 @@ import ComboboxWithCreate from "@repo/ui/shadcn/combobox"; import { StoredSpace } from "@repo/db/schema"; import useMeasure from "react-use-measure"; import { useKeyPress } from "@/lib/useKeyPress"; +import { useFormStatus } from "react-dom"; function Menu() { const [spaces, setSpaces] = useState<StoredSpace[]>([]); + function SubmitButton() { + const status = useFormStatus(); + return ( + <Button disabled={status.pending} variant={"secondary"} type="submit"> + Save {autoDetectedType != "none" && autoDetectedType} + </Button> + ); + } + useEffect(() => { (async () => { let spaces = await getSpaces(); @@ -319,13 +329,7 @@ function Menu() { </div> <DialogFooter> - <Button - disabled={autoDetectedType === "none"} - variant={"secondary"} - type="submit" - > - Save {autoDetectedType != "none" && autoDetectedType} - </Button> + <SubmitButton /> </DialogFooter> </form> </DialogContent> |