mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-07 04:50:57 +08:00
29 lines
795 B
TypeScript
29 lines
795 B
TypeScript
import { useEffect, useState } from 'react';
|
|
import { getSystemConfig, type SystemConfig } from '../lib/config';
|
|
|
|
export function useSystemConfig() {
|
|
const [config, setConfig] = useState<SystemConfig | null>(null);
|
|
const [loading, setLoading] = useState(true);
|
|
const [error, setError] = useState<string | null>(null);
|
|
|
|
useEffect(() => {
|
|
let mounted = true;
|
|
getSystemConfig()
|
|
.then((data) => {
|
|
if (!mounted) return;
|
|
setConfig(data);
|
|
setLoading(false);
|
|
})
|
|
.catch((err: Error) => {
|
|
if (!mounted) return;
|
|
console.error('Failed to fetch system config:', err);
|
|
setError(err.message);
|
|
setLoading(false);
|
|
});
|
|
return () => {
|
|
mounted = false;
|
|
};
|
|
}, []);
|
|
|
|
return { config, loading, error };
|
|
} |