import React, { useEffect } from 'react'; import { useServerActions } from '../../../hooks/useServerActions'; import { usePluginContext } from '../../../context/PluginContext/usePluginContext'; import Button from '../../common/Button/Button'; import ScanProgress from '../ScanProgress/ScanProgress'; import './ServerSelector.css'; export const ServerSelector: React.FC = () => { const { serverPath, isScanning, scanComplete, scanProgress, error, selectDirectory, scanForPlugins, lastScanResult } = useServerActions(); const { setPlugins } = usePluginContext(); // Effect to handle scan results useEffect(() => { if (lastScanResult && lastScanResult.plugins) { console.log("Setting plugins from lastScanResult in ServerSelector"); setPlugins(lastScanResult.plugins); } }, [lastScanResult, setPlugins]); const handleSelectDirectory = async () => { await selectDirectory(); }; const handleScanForPlugins = async () => { await scanForPlugins(); }; const handleResetSelection = () => { // Clear server path and plugins setPlugins([]); }; return (
{serverPath && !isScanning && ( )} {serverPath && scanComplete && ( )}
{isScanning && ( <> {/* Add debug info */}
Debug - scanProgress: {JSON.stringify(scanProgress, null, 2)}
)} {error && (

Error: {error}

)}
); }; export default ServerSelector;