import React, { useState, useEffect } from 'react'; import Settings from './Settings.jsx'; export default function App() { const [folder, setFolder] = useState(''); const [repoName, setRepoName] = useState(''); const [platform, setPlatform] = useState('github'); const [status, setStatus] = useState(''); const [showSettings, setShowSettings] = useState(false); const [branches, setBranches] = useState([]); const [selectedBranch, setSelectedBranch] = useState('master'); const [logs, setLogs] = useState([]); const [progress, setProgress] = useState(0); async function selectFolder() { const selected = await window.electronAPI.selectFolder(); if (selected) setFolder(selected); // Branches laden if (selected) { const branchList = await window.electronAPI.getBranches({ folder: selected }); setBranches(branchList); if (branchList.includes('master')) setSelectedBranch('master'); } } async function createRepoHandler() { if (!repoName) return alert('Repo Name required!'); setStatus('Creating repository...'); const result = await window.electronAPI.createRepo({ name: repoName, platform }); setStatus(result ? 'Repository created!' : 'Failed to create repository.'); } async function pushProjectHandler() { if (!folder) return alert('Select a project folder first!'); setStatus('Pushing project...'); setProgress(0); const onProgress = (p) => setProgress(p); // Callback für Fortschritt const result = await window.electronAPI.pushProject({ folder, branch: selectedBranch, onProgress }); setStatus(result ? 'Project pushed!' : 'Failed to push project.'); if (result) { const logList = await window.electronAPI.getCommitLogs({ folder }); setLogs(logList); } } return (