refactor: move modelsToEntries and entriesToModels to modelInputListUtils for better organization

This commit is contained in:
Supra4E8C
2026-01-31 16:43:46 +08:00
parent b4d08dd0d7
commit 1053e91fe4
14 changed files with 54 additions and 50 deletions

View File

@@ -29,14 +29,8 @@ const PROVIDERS: ProviderNavItem[] = [
export function ProviderNav() {
const resolvedTheme = useThemeStore((state) => state.resolvedTheme);
const [activeProvider, setActiveProvider] = useState<ProviderId | null>(null);
const [mounted, setMounted] = useState(false);
const scrollContainerRef = useRef<HTMLElement | null>(null);
useEffect(() => {
setMounted(true);
return () => setMounted(false);
}, []);
const getScrollContainer = useCallback(() => {
if (scrollContainerRef.current) return scrollContainerRef.current;
const container = document.querySelector('.content') as HTMLElement | null;
@@ -74,7 +68,6 @@ export function ProviderNav() {
const container = getScrollContainer();
if (!container) return;
handleScroll();
container.addEventListener('scroll', handleScroll, { passive: true });
return () => container.removeEventListener('scroll', handleScroll);
}, [handleScroll, getScrollContainer]);
@@ -120,7 +113,7 @@ export function ProviderNav() {
</div>
);
if (!mounted) return null;
if (typeof document === 'undefined') return null;
return createPortal(navContent, document.body);
}