diff options
Diffstat (limited to 'src/client/components/EditDeckModal.tsx')
| -rw-r--r-- | src/client/components/EditDeckModal.tsx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/client/components/EditDeckModal.tsx b/src/client/components/EditDeckModal.tsx index 9a79de8..e9c2b7b 100644 --- a/src/client/components/EditDeckModal.tsx +++ b/src/client/components/EditDeckModal.tsx @@ -1,5 +1,7 @@ +import { useAtomValue } from "jotai"; import { type FormEvent, useCallback, useEffect, useState } from "react"; import { ApiClientError, apiClient } from "../api"; +import { isOnlineAtom } from "../atoms"; interface Deck { id: string; @@ -35,6 +37,7 @@ export function EditDeckModal({ const [isLoadingNoteTypes, setIsLoadingNoteTypes] = useState(false); const [error, setError] = useState<string | null>(null); const [isSubmitting, setIsSubmitting] = useState(false); + const isOnline = useAtomValue(isOnlineAtom); const fetchNoteTypes = useCallback(async () => { setIsLoadingNoteTypes(true); @@ -216,7 +219,8 @@ export function EditDeckModal({ </button> <button type="submit" - disabled={isSubmitting || !name.trim()} + disabled={isSubmitting || !name.trim() || !isOnline} + title={!isOnline ? "Reconnect to save changes" : undefined} className="px-4 py-2 bg-primary hover:bg-primary-dark text-white font-medium rounded-lg transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed" > {isSubmitting ? "Saving..." : "Save Changes"} |
