fix: resolve all 8 pre-existing lint errors (closes #29)

Fixed @typescript-eslint/no-explicit-any (4 occurrences):
- FolderEditModal.tsx: proper error type checking instead of any
- StepForm.tsx: explicit union type for visibility select
- StepLibraryBrowser.tsx: explicit union types for stepType and sortBy selects

Fixed react-hooks/set-state-in-effect (1 occurrence):
- NodeEditorModal.tsx: replaced useEffect with direct state comparison

Fixed @typescript-eslint/no-unused-vars (3 occurrences):
- NodeEditorModal.tsx: removed unused useEffect import
- NodeEditorModal.tsx: added eslint-disable for intentionally destructured children
- usePermissions.ts: removed unused _tree parameter from canDeleteTree
- TreeLibraryPage.tsx: updated canDeleteTree call site

Fixed @typescript-eslint/no-empty-object-type (1 occurrence):
- types/step.ts: changed empty interface to type alias

Verification:
- npm run lint: 0 errors (9 warnings are intentional exhaustive-deps)
- npm run build: succeeds
- TypeScript compilation: passes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Michael Chihlas
2026-02-06 17:38:38 -05:00
parent a674ba7bcb
commit 1897641082
7 changed files with 19 additions and 14 deletions

View File

@@ -159,8 +159,11 @@ export function FolderEditModal({
onClose()
// Dispatch event to refresh folder list
window.dispatchEvent(new Event('folder-changed'))
} catch (err: any) {
setError(err.response?.data?.detail || 'Failed to save folder')
} catch (err) {
const errorMessage = err instanceof Error && 'response' in err
? (err as { response?: { data?: { detail?: string } } }).response?.data?.detail
: undefined
setError(errorMessage || 'Failed to save folder')
} finally {
setIsSubmitting(false)
}