Spaces:
Running
Running
Commit Β·
529f0aa
1
Parent(s): 4fa42d6
commit 10
Browse files- src/FileUploadForm.js +48 -46
src/FileUploadForm.js
CHANGED
|
@@ -56,7 +56,6 @@ const FileUploadForm = () => {
|
|
| 56 |
const blob = new Blob([response.data], { type: "application/zip" });
|
| 57 |
setZipBlob(blob);
|
| 58 |
|
| 59 |
-
// Parse file names from inside the ZIP blob using JSZip (client-side)
|
| 60 |
const JSZip = (await import("jszip")).default;
|
| 61 |
const zip = await JSZip.loadAsync(blob);
|
| 62 |
const filenames = Object.keys(zip.files);
|
|
@@ -96,10 +95,11 @@ const FileUploadForm = () => {
|
|
| 96 |
>
|
| 97 |
<Paper elevation={6} sx={{ padding: 4, backgroundColor: "#1e1e1e", maxWidth: 600, width: "100%" }}>
|
| 98 |
<Box textAlign="center" my={4}>
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
</Box>
|
|
|
|
| 103 |
<Typography variant="h5" gutterBottom color="primary">
|
| 104 |
π Generate Full-Stack Project from Requirements (TXT or PDF)
|
| 105 |
</Typography>
|
|
@@ -124,48 +124,50 @@ const FileUploadForm = () => {
|
|
| 124 |
</Button>
|
| 125 |
</Grid>
|
| 126 |
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
</
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
</
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
| 166 |
-
|
| 167 |
-
</
|
|
|
|
| 168 |
|
|
|
|
| 169 |
<Grid item xs={12}>
|
| 170 |
<Button
|
| 171 |
type="submit"
|
|
|
|
| 56 |
const blob = new Blob([response.data], { type: "application/zip" });
|
| 57 |
setZipBlob(blob);
|
| 58 |
|
|
|
|
| 59 |
const JSZip = (await import("jszip")).default;
|
| 60 |
const zip = await JSZip.loadAsync(blob);
|
| 61 |
const filenames = Object.keys(zip.files);
|
|
|
|
| 95 |
>
|
| 96 |
<Paper elevation={6} sx={{ padding: 4, backgroundColor: "#1e1e1e", maxWidth: 600, width: "100%" }}>
|
| 97 |
<Box textAlign="center" my={4}>
|
| 98 |
+
<Typography variant="h4" component="h1">
|
| 99 |
+
π§ AI Project Generator
|
| 100 |
+
</Typography>
|
| 101 |
+
</Box>
|
| 102 |
+
|
| 103 |
<Typography variant="h5" gutterBottom color="primary">
|
| 104 |
π Generate Full-Stack Project from Requirements (TXT or PDF)
|
| 105 |
</Typography>
|
|
|
|
| 124 |
</Button>
|
| 125 |
</Grid>
|
| 126 |
|
| 127 |
+
{/* π Updated: Stack dropdowns one below the other */}
|
| 128 |
+
<Grid item xs={12}>
|
| 129 |
+
<FormControl fullWidth>
|
| 130 |
+
<InputLabel>Frontend</InputLabel>
|
| 131 |
+
<Select value={frontend} onChange={(e) => setFrontend(e.target.value)} label="Frontend">
|
| 132 |
+
<MenuItem value="React">React</MenuItem>
|
| 133 |
+
<MenuItem value="Angular">Angular</MenuItem>
|
| 134 |
+
<MenuItem value="Vue">Vue</MenuItem>
|
| 135 |
+
<MenuItem value="Next.js">Next.js</MenuItem>
|
| 136 |
+
<MenuItem value="Svelte">Svelte</MenuItem>
|
| 137 |
+
<MenuItem value="HTML/CSS/JS">HTML/CSS/JS</MenuItem>
|
| 138 |
+
</Select>
|
| 139 |
+
</FormControl>
|
| 140 |
+
</Grid>
|
| 141 |
+
|
| 142 |
+
<Grid item xs={12}>
|
| 143 |
+
<FormControl fullWidth>
|
| 144 |
+
<InputLabel>Backend</InputLabel>
|
| 145 |
+
<Select value={backend} onChange={(e) => setBackend(e.target.value)} label="Backend">
|
| 146 |
+
<MenuItem value="Flask">Flask</MenuItem>
|
| 147 |
+
<MenuItem value="Node.js">Node.js</MenuItem>
|
| 148 |
+
<MenuItem value="Django">Django</MenuItem>
|
| 149 |
+
<MenuItem value="Express.js">Express.js</MenuItem>
|
| 150 |
+
<MenuItem value="Spring Boot">Spring Boot</MenuItem>
|
| 151 |
+
<MenuItem value="FastAPI">FastAPI</MenuItem>
|
| 152 |
+
</Select>
|
| 153 |
+
</FormControl>
|
| 154 |
+
</Grid>
|
| 155 |
+
|
| 156 |
+
<Grid item xs={12}>
|
| 157 |
+
<FormControl fullWidth>
|
| 158 |
+
<InputLabel>Database</InputLabel>
|
| 159 |
+
<Select value={database} onChange={(e) => setDatabase(e.target.value)} label="Database">
|
| 160 |
+
<MenuItem value="PostgreSQL">PostgreSQL</MenuItem>
|
| 161 |
+
<MenuItem value="MongoDB">MongoDB</MenuItem>
|
| 162 |
+
<MenuItem value="MySQL">MySQL</MenuItem>
|
| 163 |
+
<MenuItem value="SQLite">SQLite</MenuItem>
|
| 164 |
+
<MenuItem value="Firebase">Firebase</MenuItem>
|
| 165 |
+
<MenuItem value="Supabase">Supabase</MenuItem>
|
| 166 |
+
</Select>
|
| 167 |
+
</FormControl>
|
| 168 |
+
</Grid>
|
| 169 |
|
| 170 |
+
{/* π Button now comes after selects */}
|
| 171 |
<Grid item xs={12}>
|
| 172 |
<Button
|
| 173 |
type="submit"
|