feat: implement main application dashboard UI with service management and project configuration features

This commit is contained in:
Ümit Tunç
2026-03-30 07:27:10 +03:00
parent c2339b35c7
commit ab452604ef
+18 -45
View File
@@ -1071,14 +1071,6 @@ function App(): JSX.Element {
label={`PHP ${project.phpVersion}`}
sx={{ bgcolor: 'rgba(71, 74, 255, 0.1)', color: '#777bb4', fontWeight: 600, border: '1px solid rgba(71, 74, 255, 0.2)' }}
/>
{project.mySqlVersion && (
<Chip
size="small"
icon={<MySQLIcon sx={{ fontSize: '1rem !important' }} />}
label={`MySQL ${project.mySqlVersion}`}
sx={{ bgcolor: 'rgba(242, 145, 17, 0.1)', color: '#f29111', fontWeight: 600, border: '1px solid rgba(242, 145, 17, 0.2)' }}
/>
)}
</Box>
<Paper variant="outlined" sx={{
@@ -1278,42 +1270,23 @@ function App(): JSX.Element {
value={newProject.host}
onChange={(e) => setNewProject({ ...newProject, host: e.target.value })}
/>
<Stack direction="row" spacing={2} sx={{ width: '100%' }}>
<FormControl fullWidth disabled={installedPhpVersions.length === 0}>
<InputLabel id="php-version-label">PHP Sürümü</InputLabel>
<Select
labelId="php-version-label"
value={newProject.phpVersion}
label="PHP Sürümü"
onChange={(e) => setNewProject({ ...newProject, phpVersion: e.target.value })}
>
{installedPhpVersions.length > 0 ? (
installedPhpVersions.map(v => (
<MenuItem key={v.id} value={v.version}>PHP {v.version}</MenuItem>
))
) : (
<MenuItem disabled value="">Önce PHP sürümü indirmelisiniz</MenuItem>
)}
</Select>
</FormControl>
<FormControl fullWidth disabled={mySqlVersions.filter(v => v.status === 'installed').length === 0}>
<InputLabel id="mysql-version-label">MySQL Sürümü</InputLabel>
<Select
labelId="mysql-version-label"
value={newProject.mySqlVersion || ''}
label="MySQL Sürümü"
onChange={(e) => setNewProject({ ...newProject, mySqlVersion: e.target.value })}
>
{mySqlVersions.filter(v => v.status === 'installed').length > 0 ? (
mySqlVersions.filter(v => v.status === 'installed').map(v => (
<MenuItem key={v.id} value={v.version}>MySQL {v.version}</MenuItem>
))
) : (
<MenuItem disabled value="">Önce MySQL sürümü indirmelisiniz</MenuItem>
)}
</Select>
</FormControl>
</Stack>
<FormControl fullWidth disabled={installedPhpVersions.length === 0}>
<InputLabel id="php-version-label">PHP Sürümü</InputLabel>
<Select
labelId="php-version-label"
value={newProject.phpVersion}
label="PHP Sürümü"
onChange={(e) => setNewProject({ ...newProject, phpVersion: e.target.value })}
>
{installedPhpVersions.length > 0 ? (
installedPhpVersions.map(v => (
<MenuItem key={v.id} value={v.version}>PHP {v.version}</MenuItem>
))
) : (
<MenuItem disabled value="">Önce PHP sürümü indirmelisiniz</MenuItem>
)}
</Select>
</FormControl>
</Box>
</DialogContent>
<DialogActions>
@@ -1324,7 +1297,7 @@ function App(): JSX.Element {
<Button
onClick={handleAddProject}
variant="contained"
disabled={!newProject.name || !newProject.path || installedPhpVersions.length === 0 || mySqlVersions.filter(v => v.status === 'installed').length === 0}
disabled={!newProject.name || !newProject.path || installedPhpVersions.length === 0}
>
{newProject.id ? 'Güncelle' : 'Ekle'}
</Button>