From 5dc427ce0082c20d689777ae6c6a1431052d13b3 Mon Sep 17 00:00:00 2001 From: LordMathis Date: Sun, 11 May 2025 12:37:28 +0200 Subject: [PATCH] Migrate useFileNavigation hook --- ...eFileNavigation.js => useFileNavigation.ts} | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) rename app/src/hooks/{useFileNavigation.js => useFileNavigation.ts} (67%) diff --git a/app/src/hooks/useFileNavigation.js b/app/src/hooks/useFileNavigation.ts similarity index 67% rename from app/src/hooks/useFileNavigation.js rename to app/src/hooks/useFileNavigation.ts index ed4ff76..37a3ce6 100644 --- a/app/src/hooks/useFileNavigation.js +++ b/app/src/hooks/useFileNavigation.ts @@ -1,16 +1,22 @@ import { useState, useCallback, useEffect } from 'react'; -import { DEFAULT_FILE } from '../utils/constants'; +import { DEFAULT_FILE } from '../types/file'; import { useWorkspace } from '../contexts/WorkspaceContext'; import { useLastOpenedFile } from './useLastOpenedFile'; -export const useFileNavigation = () => { - const [selectedFile, setSelectedFile] = useState(DEFAULT_FILE.path); - const [isNewFile, setIsNewFile] = useState(true); +interface UseFileNavigationResult { + selectedFile: string; + isNewFile: boolean; + handleFileSelect: (filePath: string | null) => Promise; +} + +export const useFileNavigation = (): UseFileNavigationResult => { + const [selectedFile, setSelectedFile] = useState(DEFAULT_FILE.path); + const [isNewFile, setIsNewFile] = useState(true); const { currentWorkspace } = useWorkspace(); const { loadLastOpenedFile, saveLastOpenedFile } = useLastOpenedFile(); const handleFileSelect = useCallback( - async (filePath) => { + async (filePath: string | null): Promise => { const newPath = filePath || DEFAULT_FILE.path; setSelectedFile(newPath); setIsNewFile(!filePath); @@ -24,7 +30,7 @@ export const useFileNavigation = () => { // Load last opened file when workspace changes useEffect(() => { - const initializeFile = async () => { + const initializeFile = async (): Promise => { setSelectedFile(DEFAULT_FILE.path); setIsNewFile(true);