mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-03 19:11:02 +08:00
account system、custom prompt
This commit is contained in:
29
web/src/hooks/useSystemConfig.ts
Normal file
29
web/src/hooks/useSystemConfig.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
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 };
|
||||
}
|
||||
Reference in New Issue
Block a user