import { useState, useEffect } from 'react'; // Добавляем определение типа Config interface Config { username: string; password: string; memory: number; comfortVersion: string; accessToken: string; clientToken: string; uuid?: string; // Добавляем uuid, который используется для авторизации } const useConfig = () => { const [config, setConfig] = useState({ username: '', password: '', memory: 4096, comfortVersion: '', accessToken: '', clientToken: '', }); const loadInitialConfig = () => { try { const savedConfig = localStorage.getItem('launcher_config'); if (savedConfig) { return JSON.parse(savedConfig); } } catch (error) { console.log('Ошибка загрузки конфигурации:', error); } return { username: '', password: '', comfortVersion: '', accessToken: '', clientToken: '', }; }; useEffect(() => { const savedConfig = loadInitialConfig(); setConfig(savedConfig); }, []); const saveConfig = (newConfig: Partial) => { const updatedConfig = { ...config, ...newConfig }; setConfig(updatedConfig); localStorage.setItem('launcher_config', JSON.stringify(updatedConfig)); }; const handleInputChange = (e: React.ChangeEvent) => { const { name, value } = e.target; setConfig((prev) => ({ ...prev, [name]: value })); }; return { config, setConfig, saveConfig, handleInputChange }; }; export default useConfig;