From dc04435c9c1dfaebd8b3930094e387401afced93 Mon Sep 17 00:00:00 2001 From: Jonny Date: Thu, 28 Nov 2024 01:20:00 +0000 Subject: [PATCH 1/2] Adding context & API mappings --- .env.example | 4 + .gitignore | 40 ++ LICENSE | 21 + README.md | 140 ++++ api/callSpark.js | 39 ++ app/components/Dashboard.js | 262 ++++++++ app/components/ErrorBoundary.js | 56 ++ app/components/MultiStepForm.js | 184 ++++++ app/components/ProjectDashboard.js | 789 +++++++++++++++++++++++ app/components/ProjectFolderStructure.js | 413 ++++++++++++ app/components/steps/ApiStep.js | 94 +++ app/components/steps/PagePlanStep.js | 237 +++++++ app/components/steps/SchemaStep.js | 167 +++++ app/components/steps/StylingStep.js | 53 ++ app/favicon.ico | Bin 0 -> 174158 bytes app/globals.css | 66 ++ app/layout.js | 21 + app/page.js | 72 +++ app/utils/api.js | 163 +++++ app/utils/folderStructure.js | 247 +++++++ jsconfig.json | 10 + next.config.mjs | 4 + package.json | 41 ++ postcss.config.mjs | 8 + public/github-banner.png | Bin 0 -> 238760 bytes public/logo-github.ico | Bin 0 -> 174158 bytes public/logo.png | Bin 0 -> 120395 bytes public/next.svg | 1 + public/vercel.svg | 1 + spark.config.json | 24 + tailwind.config.js | 18 + vercel.json | 7 + 32 files changed, 3182 insertions(+) create mode 100755 .env.example create mode 100755 .gitignore create mode 100755 LICENSE create mode 100644 README.md create mode 100644 api/callSpark.js create mode 100644 app/components/Dashboard.js create mode 100644 app/components/ErrorBoundary.js create mode 100644 app/components/MultiStepForm.js create mode 100644 app/components/ProjectDashboard.js create mode 100644 app/components/ProjectFolderStructure.js create mode 100644 app/components/steps/ApiStep.js create mode 100644 app/components/steps/PagePlanStep.js create mode 100644 app/components/steps/SchemaStep.js create mode 100644 app/components/steps/StylingStep.js create mode 100644 app/favicon.ico create mode 100644 app/globals.css create mode 100644 app/layout.js create mode 100644 app/page.js create mode 100644 app/utils/api.js create mode 100644 app/utils/folderStructure.js create mode 100755 jsconfig.json create mode 100755 next.config.mjs create mode 100644 package.json create mode 100755 postcss.config.mjs create mode 100644 public/github-banner.png create mode 100644 public/logo-github.ico create mode 100644 public/logo.png create mode 100755 public/next.svg create mode 100755 public/vercel.svg create mode 100644 spark.config.json create mode 100755 tailwind.config.js create mode 100644 vercel.json diff --git a/.env.example b/.env.example new file mode 100755 index 0000000..9a9a702 --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +SPARK_API_KEY= +SUPABASE_DB_URL= +VERCEL_TOKEN= +NGROK_DEPLOYER_URL= \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..c901764 --- /dev/null +++ b/.gitignore @@ -0,0 +1,40 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env +.env.local + +# vercel +.vercel + +#next +.next + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/LICENSE b/LICENSE new file mode 100755 index 0000000..8dba939 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Spark Engine Open Source Projects + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..d5d0d83 --- /dev/null +++ b/README.md @@ -0,0 +1,140 @@ +![GitHub Banner](./public/github-banner.png) + +# Fullstack Next.js Builder + +[![GitHub](https://img.shields.io/badge/GitHub-Open%20Source-blue?logo=github)](https://github.com/spark-engine-opensource-projects) +[![Discord](https://img.shields.io/badge/Join%20Our%20Community-Discord-blue?logo=discord)](https://discord.gg/VAQA5c32jM) + +## Overview + +Next.js Builder is a robust and intuitive application designed to streamline the process of creating and managing web applications built with Next.js. This tool empowers users to generate pages, APIs, and database schemas interactively through a multi-step interface. Additionally, it seamlessly integrates with a backend deployment server to automatically deploy projects to Vercel and manage databases using Supabase. + +## Table of Contents + +- [Prerequisites](#prerequisites) +- [Installation](#installation) +- [Usage](#usage) +- [Environment Variables](#environment-variables) +- [Deployment Workflow](#deployment-workflow) +- [Important Notes](#important-notes) +- [License](#license) +- [Related Links](#related-links) + +## Prerequisites + +Before using this application, ensure you have the following prerequisites installed and configured: + +- **Node.js** (v14.x or higher) and npm/yarn. +- Accounts with [Vercel](https://vercel.com/) and [Supabase](https://supabase.com/). +- A [ngrok](https://ngrok.com/) account for tunneling (for the deployment server). +- A **Spark API Key** which you can obtain by signing up at [Spark Engine](https://sparkengine.ai) and navigating to `Account > API Keys`. + +## Installation + +To set up the project, follow these steps: + +1. **Clone the Repository:** + + ```bash + git clone https://github.com/spark-engine-opensource-projects/fullstack-nextjs-app-generator.git + cd fullstack-nextjs-app-generator + ``` + +2. **Install Dependencies:** + + ```bash + npm install + # or + yarn install + ``` + +3. **Deploy the Application to Vercel:** + + **Note:** The Next.js Builder application must be deployed on Vercel to function correctly. Follow these steps to deploy it: + + - Install the Vercel CLI: + ```bash + npm install -g vercel + ``` + + - Log in to Vercel: + ```bash + vercel login + ``` + + - Deploy the application: + ```bash + vercel --prod + ``` + + After deployment, ensure you update the `NGROK_DEPLOYER_URL` in your Vercel configuration with the URL provided by ngrok (as described in the [Important Notes](#important-notes) section below). + +4. **Set Up Environment Variables:** + + Navigate to your created project in Vercel and configure the following environment variables: + + ```bash + SPARK_API_KEY=your-spark-api-key + NGROK_DEPLOYER_URL=your-ngrok-deployer-url + ``` + +## Usage + +### Project Creation + +1. **Start a New Project:** Use the multi-step form to enter your project's details, including its name, type (single or multiple pages), colors, logos, and purpose. + +2. **Generate Pages and Components:** Define the pages and their components. Customize the styling as needed. + +3. **Create and Manage APIs:** Automatically generate and manage serverless APIs based on your project’s specifications. + +4. **Define Database Schema:** Review and modify the database schema generated by the application to ensure it aligns with your project requirements. + +### Deployment + +Once your project is ready, you can deploy it directly using the integrated deployment server. The server manages the deployment process, integrates with Vercel, and handles environment variables and database setup on Supabase. + +### Environment Variables + +- **SPARK_API_KEY:** Your Spark API key for code generation. +- **NGROK_DEPLOYER_URL:** The URL of the deployment server managed via ngrok. + +Ensure these variables are set in Vercel for the application to function correctly. + +### Deployment Workflow + +1. **Create and Customize Your Project:** Follow the step-by-step process in the application to create and customize your Next.js project. +2. **Deploy Using the Backend Server:** Once the project is ready, use the `/deploy` endpoint of the backend server to deploy the project to Vercel and manage the Supabase database. The backend server handles the deployment process, including managing environment variables and executing SQL scripts. +3. **Monitor and Update:** Use the application’s dashboard to monitor and update your project as needed, with options to regenerate components and redeploy. + +## Important Notes + +1. **Cloning the Backend Deployment Server:** + If you want to automatically deploy your projects to Vercel and manage databases with Supabase, you will need to clone and set up the backend deployment server. Follow these steps: + + - Clone the Backend Deployment Server Repository: + + ```bash + git clone https://github.com/spark-engine-opensource-projects/Automated-NextJS-deployer-to-vercel-and-supabase.git + cd Automated-NextJS-deployer-to-vercel-and-supabase + ``` + + - **Set Up and Start the Server:** + Follow the instructions in the backend server's README to install dependencies, set environment variables, and start the server. + + - **Update the NGROK_DEPLOYER_URL:** + Once the backend server is running and ngrok is tunneling, update the `NGROK_DEPLOYER_URL` in your Next.js Builder Vercel configuration with the URL provided by ngrok. + +2. **Deployment Requirement for Frontend Next.js Builder:** + The frontend Next.js Builder application must be deployed to Vercel to function properly. This is because the application relies on Vercel's infrastructure for dynamic API generation and hosting. Follow the deployment instructions provided above to ensure the application is correctly hosted. + +## License + +This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details. + +## Related Links + +- **Original GitHub Repository:** [Spark Engine AI](https://github.com/spark-engine-ai) +- **Explore Spark Engine Projects:** [Spark Engine Projects](https://sparkengine.ai/search) + +[![Spark Engine](https://github.com/spark-engine-opensource-projects/fullstack-nextjs-app-generator/blob/main/public/logo.png)](https://sparkengine.ai/search) \ No newline at end of file diff --git a/api/callSpark.js b/api/callSpark.js new file mode 100644 index 0000000..c27e347 --- /dev/null +++ b/api/callSpark.js @@ -0,0 +1,39 @@ +export default async function handler(req, res) { + const { projectId, prompt } = req.body; + + try { + const response = await fetch('https://sparkengine.ai/api/engine/completion', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + api_key: process.env.SPARK_API_KEY, + project_id: projectId, + prompt: prompt, + }), + }); + + if (!response.ok) { + throw new Error('Network response was not ok'); + } + + let responseData = await response.json(); + + // Sanitize the outputs to remove backticks + if (responseData.data) { + responseData.data = responseData.data.map((item) => { + if (item.output && typeof item.output === 'string') { + // Remove backticks if they exist at the start or end + item.output = item.output.replace(/^```|```$/g, '').trim(); + } + return item; + }); + } + console.log(responseData.data) + res.status(200).json(responseData.data); + } catch (error) { + console.error('Error:', error); + res.status(500).json({ error: 'An error occurred while processing your request.' }); + } +} \ No newline at end of file diff --git a/app/components/Dashboard.js b/app/components/Dashboard.js new file mode 100644 index 0000000..2b3f01e --- /dev/null +++ b/app/components/Dashboard.js @@ -0,0 +1,262 @@ +import React, { useState, useEffect } from 'react'; +import PagePlanStep from './steps/PagePlanStep'; +import StylingStep from './steps/StylingStep'; +import ApiStep from './steps/ApiStep'; +import SchemaStep from './steps/SchemaStep'; +import { + generateSinglePagePlan, + generateMultiplePagePlan, + generateStylingPlan, + generateApiPlan, + generateSchema, + modifySchema, + generateComponentContext, + mapComponentsToAPIs, +} from '../utils/api'; + +export default function Dashboard({ formData, onSubmit }) { + const [currentStep, setCurrentStep] = useState(1); + const [data, setData] = useState(formData); + const [apiResult, setApiResult] = useState({ + pages: [], + context: {}, + styling: { colors: { primary: '#FFC400', secondary: '#FFD7BE', accent: '#8B4513' } }, + apis: [], + apiMappings: {}, // Add apiMappings field to store the results + databaseSchema: [], + }); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchData = async () => { + setLoading(true); + setError(null); + + try { + if (currentStep === 1) { + const result = + data.appType === 'single' + ? await generateSinglePagePlan(data) + : await generateMultiplePagePlan(data); + setApiResult((prev) => ({ ...prev, pages: result.pages })); + } + } catch (err) { + setError('Failed to fetch data. Please try again.'); + } finally { + setLoading(false); + } + }; + + if (currentStep === 1) { + fetchData(); + } + }, [currentStep, data]); + + const handleNextStep = async () => { + setLoading(true); + setError(null); + + try { + if (currentStep === 1) { + const styling = await generateStylingPlan(data); + setApiResult((prev) => ({ ...prev, styling })); + } else if (currentStep === 2) { + const apis = await generateApiPlan( + `Purpose: ${data.purpose}, Page details: ${JSON.stringify(apiResult.pages)}` + ); + setApiResult((prev) => ({ ...prev, apis })); + } else if (currentStep === 3) { + // Generate API Mappings + const prompt = { + APIs: apiResult.apis, + components: apiResult.context, + }; + const apiMappings = await mapComponentsToAPIs(prompt); + setApiResult((prev) => ({ ...prev, apiMappings })); + } else if (currentStep === 4) { + const schema = await generateSchema( + `Purpose: ${data.purpose}, API details: ${JSON.stringify(apiResult.apis)}` + ); + setApiResult((prev) => ({ ...prev, databaseSchema: schema })); + } + + setCurrentStep((prevStep) => prevStep + 1); + } catch (err) { + setError('Failed to load the next step. Please try again.'); + } finally { + setLoading(false); + } + }; + + const handleRegenerate = async () => { + setLoading(true); + setError(null); + + try { + if (currentStep === 1) { + const result = + data.appType === 'single' + ? await generateSinglePagePlan(data) + : await generateMultiplePagePlan(data); + setApiResult((prev) => ({ ...prev, pages: result.pages })); + } else if (currentStep === 2) { + const styling = await generateStylingPlan(data); + setApiResult((prev) => ({ ...prev, styling })); + } else if (currentStep === 3) { + const apis = await generateApiPlan( + `Purpose: ${data.purpose}, Page details: ${JSON.stringify(apiResult.pages)}` + ); + setApiResult((prev) => ({ ...prev, apis })); + } else if (currentStep === 4) { + const schema = await generateSchema( + `Purpose: ${data.purpose}, API details: ${JSON.stringify(apiResult.apis)}` + ); + setApiResult((prev) => ({ ...prev, databaseSchema: schema })); + } + } catch (err) { + setError('Failed to regenerate data. Please try again.'); + } finally { + setLoading(false); + } + }; + + const handlePhaseComplete = (phaseData) => { + // Merge the completed phase data into the apiResult + setApiResult((prev) => ({ ...prev, ...phaseData })); + handleNextStep() + }; + + const handleSave = () => { + const combinedData = { + ...data, + ...apiResult, + }; + onSubmit(combinedData); + }; + + const renderDashboardOverview = () => ( +
+

Dashboard Overview

+
+ {apiResult.pages.map((page, pageIndex) => ( +
+

{page.name}

+

{page.purpose}

+
+ {page.components.map((component, componentIndex) => ( +
+

{component}

+

+ API: {apiResult.apiMappings[component] || 'No API'} +

+
+ ))} +
+
+ ))} +
+
+ ); + + const renderStep = () => { + switch (currentStep) { + case 1: + return ( + setApiResult((prev) => ({ ...prev, pages: updatedPages }))} + onAddPage={(newPage) => + setApiResult((prev) => ({ ...prev, pages: [...prev.pages, newPage] })) + } + onDeletePage={(index) => + setApiResult((prev) => ({ + ...prev, + pages: prev.pages.filter((_, i) => i !== index), + })) + } + onRegenerate={handleRegenerate} + onContextCreate={generateComponentContext} + onPhaseComplete={(phaseData) => + handlePhaseComplete({ pages: phaseData.pages, context: phaseData.context }) + } + /> + ); + case 2: + return ( + setApiResult((prev) => ({ ...prev, styling: updatedStyling }))} + onRegenerate={handleRegenerate} + /> + ); + case 3: + return ( + setApiResult((prev) => ({ ...prev, apis: updatedApis }))} + onAddApi={(newApi) => + setApiResult((prev) => ({ ...prev, apis: [...prev.apis, newApi] })) + } + onDeleteApi={(index) => + setApiResult((prev) => ({ + ...prev, + apis: prev.apis.filter((_, i) => i !== index), + })) + } + onRegenerate={handleRegenerate} + /> + ); + case 4: + return renderDashboardOverview(); // Render the dashboard overview after mappings + default: + return null; + } + }; + + return ( +
+
+ {loading ? ( +
Loading...
+ ) : ( + <> + {error && ( +
+

{error}

+ +
+ )} + {renderStep()} +
+ {currentStep < 4 && ( + + )} + {currentStep === 4 && ( + + )} +
+ + )} +
+
+ ); +} diff --git a/app/components/ErrorBoundary.js b/app/components/ErrorBoundary.js new file mode 100644 index 0000000..57fde25 --- /dev/null +++ b/app/components/ErrorBoundary.js @@ -0,0 +1,56 @@ +import React from 'react'; + +class ErrorBoundary extends React.Component { + constructor(props) { + super(props); + this.state = { hasError: false }; + } + + state = { hasError: false, error: null, errorInfo: null }; + + static getDerivedStateFromError(error) { + return { hasError: true }; + } + + componentDidCatch(error, errorInfo) { + this.setState({ error, errorInfo }); + console.error("Error caught by ErrorBoundary: ", error, errorInfo); + } + + handleRegenerate = async () => { + try { + // Wait for the async regenerate function to complete + await this.props.onRegenerate(); + // Reset the error state + this.setState({ hasError: false }); + } catch (error) { + console.error('Error during regeneration:', error); + // Optionally, you could keep the error state or add additional error handling here + } + }; + + render() { + if (this.state.hasError) { + return ( +
+

Something went wrong.

+

We are unable to display this component.

+ {this.state.error && ( +
+ {this.state.error.toString()} +
+ {this.state.errorInfo.componentStack} +
+ )} + +
+ ); + } + + return this.props.children; + } +} + +export default ErrorBoundary; diff --git a/app/components/MultiStepForm.js b/app/components/MultiStepForm.js new file mode 100644 index 0000000..9470cad --- /dev/null +++ b/app/components/MultiStepForm.js @@ -0,0 +1,184 @@ +// components/MultiStepForm.js +import { useState } from 'react'; + +export default function MultiStepForm({ onComplete }) { + const [step, setStep] = useState(1); + const [formData, setFormData] = useState({ + projectName: '', + appType: '', + colors: '', + logo: null, + purpose: '', + additionalInfo: '' + }); + + const handleChange = (e) => { + const { name, value, files } = e.target; + if (name === 'logo') { + setFormData({ ...formData, [name]: files[0] }); + } else { + setFormData({ ...formData, [name]: value }); + } + }; + + const handleNext = () => setStep(step + 1); + const handlePrev = () => setStep(step - 1); + + const handleComplete = () => { + onComplete(formData); + }; + + const handleKeyPress = (e) => { + if (e.key === 'Enter') { + e.preventDefault(); // Prevent the default form submission + if (step < 6) { + handleNext(); + } else { + handleComplete(); + } + } + }; + + return ( +
+
+

Step {step} of 6

+

Please provide the following details

+
+ {step === 1 && ( +
+ + +
+ +
+
+ )} + {step === 2 && ( +
+ +
+ + Single Page +
+
+ + Multiple Pages +
+
+ + +
+
+ )} + {step === 3 && ( +
+ + +
+ + +
+
+ )} + {step === 4 && ( +
+ +
+ + + {formData.logo ? formData.logo.name : 'No file chosen'} + +
+
+ + +
+
+ )} + {step === 5 && ( +
+ + +
+ + +
+
+ )} + {step === 6 && ( +
+ + +
+ + +
+
+ )} +
+ ); +} + +// Utility classes for buttons +const btnBase = "py-2 px-4 rounded-lg font-semibold text-white focus:outline-none focus:ring-2 focus:ring-offset-2"; +const btnPrimary = `${btnBase} bg-blue-500 hover:bg-blue-600 focus:ring-blue-500`; +const btnSecondary = `${btnBase} bg-gray-500 hover:bg-gray-600 focus:ring-gray-500`; + +// Using the utility classes in JSX +const btnPrimaryClass = "py-2 px-4 bg-blue-500 text-white rounded-lg hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2"; +const btnSecondaryClass = "py-2 px-4 bg-gray-500 text-white rounded-lg hover:bg-gray-600 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2"; diff --git a/app/components/ProjectDashboard.js b/app/components/ProjectDashboard.js new file mode 100644 index 0000000..12dbd7f --- /dev/null +++ b/app/components/ProjectDashboard.js @@ -0,0 +1,789 @@ +import React, { useState, useEffect } from 'react'; +import { generateDynamicallyRenderingReactComponent, generateServerlessApi, generateSQLDatabaseQuery } from '../utils/api'; +import ErrorBoundary from './ErrorBoundary'; +import ProjectFolderStructure from './ProjectFolderStructure'; +import useGenerateFolderStructure from '../utils/folderStructure'; + +//Is okay +import styled from 'styled-components'; + +//Chakra +//Thoughts it looks super basic +// import * as Chakra from '@chakra-ui/react'; + +//MUI +//Thoughts takes ages to load, not flexible in terms of code generation +// import * as Mui from '@mui/material'; +// import * as MuiIcons from '@mui/icons-material'; +// import * as MuiSystem from '@mui/system'; +// import * as MuiLab from '@mui/lab'; +// import * as MuiBase from '@mui/base'; +// import * as MuiUtils from '@mui/utils'; +// import * as MuiDataGrid from '@mui/x-data-grid'; +// import * as MuiDatePickers from '@mui/x-date-pickers'; +// import * as MuiTreeView from '@mui/x-tree-view'; +// import * as EmotionReact from '@emotion/react'; +// import * as EmotionStyled from '@emotion/styled'; +// import * as MuiJoy from '@mui/joy'; + +export default function ProjectDashboard({ projectData }) { + const [loading, setLoading] = useState(true); + const [projectComponents, setProjectComponents] = useState(null); + const [selectedTab, setSelectedTab] = useState('pages'); + const [selectedPage, setSelectedPage] = useState(null); + const [viewMode, setViewMode] = useState('rendered'); // 'rendered' or 'code' + const [showFolderStructure, setShowFolderStructure] = useState(false); // State to control visibility of folder structure + const [serverlessApis, setServerlessApis] = useState([]); // State to hold serverless API details + const [editingApiIndex, setEditingApiIndex] = useState(-1); // State to manage which API is being edited + const [newPrompt, setNewPrompt] = useState(''); // State to manage the new prompt for regeneration + const [showPromptDialog, setShowPromptDialog] = useState(false); // State to toggle prompt dialog visibility + const [regeneratePrompt, setRegeneratePrompt] = useState(''); // State to manage the prompt for regenerating all components + const [showRegenerateAllDialog, setShowRegenerateAllDialog] = useState(false); // State to toggle the regenerate all dialog visibility + const [folderStructure, setFolderStructure] = useState(null); // State for folder structure + const [componentStatus, setComponentStatus] = useState(() => { + const initialStatus = {}; + projectData.pages.forEach(page => { + page.components.forEach(component => { + initialStatus[component] = 'generating'; + }); + }); + return initialStatus; + }); + const [apiStatus, setApiStatus] = useState(() => { + const initialStatus = {}; + projectData.apis.forEach(api => { + initialStatus[api.name] = 'generating'; + }); + return initialStatus; + }); // State for tracking API generation status + const [sqlStatus, setSqlStatus] = useState('idle'); // State for tracking SQL generation status + + const [sqlCode, setSqlCode] = useState(''); // New state for SQL code + + const initialFolderStructure = useGenerateFolderStructure(projectData, projectComponents, serverlessApis, sqlCode); // Initial folder structure + + useEffect(() => { + setFolderStructure(initialFolderStructure); + }, [initialFolderStructure]); + + const handleShowFolderStructure = () => { + setShowFolderStructure(prev => !prev); + }; + + useEffect(() => { + const generateComponents = async () => { + try { + if (projectData.pages && projectData.pages.length > 0) { + if (!selectedPage) { + setSelectedPage(projectData.pages[0].name); + } + + const uniqueComponents = new Set(); + projectData.pages.forEach(page => { + page.components.forEach(component => { + uniqueComponents.add(component); + }); + }); + + const componentMap = {}; + for (const component of uniqueComponents) { + updateComponentStatus(component, 'generating'); + const generatedComponent = await generateComponent(component, JSON.stringify(projectData.styling)); + componentMap[component] = generatedComponent; + } + + const generatedPages = projectData.pages.map(page => { + const generatedComponents = page.components.map(component => componentMap[component]); + return { ...page, components: generatedComponents }; + }); + + setProjectComponents({ + ...projectData, + pages: generatedPages, + }); + } + + if (projectData.apis && projectData.apis.length > 0) { + const generatedApis = await Promise.all( + projectData.apis.map(async (api, index) => { + updateApiStatus(api.name, 'generating'); + const prompt = constructApiPrompt(api, projectData.databaseSchema); + const apiCode = await retryApiGeneration(prompt, api.name); + return { ...api, code: apiCode }; + }) + ); + setServerlessApis(generatedApis); + } + + // Generate the SQL code for the database schema + if (projectData.databaseSchema) { + setSqlStatus('generating'); + const generatedSQL = await generateSQLDatabaseQuery(JSON.stringify(projectData.databaseSchema)); + setSqlCode(generatedSQL); + setSqlStatus('success'); + } + } catch (error) { + console.error('Error generating components:', error); + setSqlStatus('failed'); + } finally { + setLoading(false); + } + }; + + generateComponents(); + }, [projectData]); + + const updateComponentStatus = (componentName, status) => { + setComponentStatus(prevStatus => ({ + ...prevStatus, + [componentName]: status + })); + }; + + const updateApiStatus = (apiName, status) => { + setApiStatus(prevStatus => ({ + ...prevStatus, + [apiName]: status + })); + }; + + const retryApiGeneration = async (prompt, apiName, retries = 3) => { + for (let attempt = 0; attempt < retries; attempt++) { + try { + const apiCode = await generateServerlessApi(prompt); + if (apiCode && typeof apiCode === 'string' && apiCode.trim()) { + updateApiStatus(apiName, 'success'); + return apiCode; + } + } catch (error) { + console.error(`API generation failed on attempt ${attempt + 1}:`, error); + } + } + updateApiStatus(apiName, 'failed'); + throw new Error('Failed to generate API after multiple attempts'); + }; + + const generateComponent = async (componentName, pagePurpose, stylingGuide) => { + let retryCount = 0; + const maxRetries = 3; + + while (retryCount < maxRetries) { + try { + const prompt = `Generate a React component named ${componentName} for a page with the following purpose: ${pagePurpose}. Follow this styling guide: ${stylingGuide}`; + const result = await generateDynamicallyRenderingReactComponent(prompt); + + const code = typeof result === 'string' ? result : result?.code; + + if (typeof code !== 'string' || !code.trim()) { + throw new Error(`Invalid code generated for component ${componentName}`); + } + + new Function('React', 'styled', `return ${code}`) + + updateComponentStatus(componentName, 'success'); + + return { name: componentName, code }; + } catch (error) { + console.error(`Error generating component '${componentName}' on attempt ${retryCount + 1}:`, error); + retryCount += 1; + updateComponentStatus(componentName, `retrying (${retryCount})`); + } + } + + updateComponentStatus(componentName, 'failed'); + + return { name: componentName, code: `() =>
Error generating ${componentName} after ${maxRetries} attempts
` }; + }; + + const handleApiCodeChange = (index, newCode) => { + const updatedApis = [...serverlessApis]; + updatedApis[index].code = newCode; + setServerlessApis(updatedApis); + + updateFolderStructure(updatedApis); + }; + + const handleSaveApiCode = (index) => { + setEditingApiIndex(-1); + }; + + const handleOpenPromptDialog = (index) => { + setEditingApiIndex(index); + setShowPromptDialog(true); + }; + + const handleClosePromptDialog = () => { + setShowPromptDialog(false); + setNewPrompt(''); + }; + + const handleRegenerateApiWithPrompt = async () => { + if (newPrompt.trim() === '') return; + + try { + const prompt = constructApiPrompt(serverlessApis[editingApiIndex], projectData.databaseSchema); + const regeneratedApiCode = await generateServerlessApi(`${prompt}\n${newPrompt}`); + + const updatedApis = [...serverlessApis]; + updatedApis[editingApiIndex].code = regeneratedApiCode; + setServerlessApis(updatedApis); + + updateFolderStructure(updatedApis); + } catch (error) { + console.error('Error regenerating API code:', error); + } finally { + handleClosePromptDialog(); + } + }; + + function constructApiPrompt(api, databaseSchema) { + const { name, method, endpoint } = api; + + // Start constructing the prompt with API details + let prompt = `Generate a serverless API function named "${name}" with the following details:\n`; + prompt += `- HTTP Method: ${method}\n`; + prompt += `- Endpoint: ${endpoint}\n`; + + // Since there's always a database schema, include its details + prompt += `\nThis API should interact with the following database schema:\n`; + databaseSchema.forEach(table => { + prompt += `- Table: ${table.tableName}\n`; + prompt += ` - Columns:\n`; + table.columns.forEach(column => { + prompt += ` - ${column.name} (${column.type})\n`; + }); + if (table.relationships && table.relationships.length > 0) { + prompt += ` - Relationships:\n`; + table.relationships.forEach(relationship => { + prompt += ` - ${relationship.type} relationship with ${relationship.relatedTable} via ${relationship.column}\n`; + }); + } + }); + + // Add any additional instructions or context for the API generation + prompt += `\nEnsure that the API follows best practices for security and performance. The API should handle all necessary error cases and edge cases gracefully.`; + + return prompt; + } + + + const handleRegenerateApiWithoutPrompt = async (index) => { + try { + const prompt = constructApiPrompt(serverlessApis[index], projectData.databaseSchema); + const regeneratedApiCode = await generateServerlessApi(prompt); + + const updatedApis = [...serverlessApis]; + updatedApis[index].code = regeneratedApiCode; + setServerlessApis(updatedApis); + + updateFolderStructure(updatedApis); + } catch (error) { + console.error('Error regenerating API code:', error); + } + }; + + const handleRegenerateAllComponents = async () => { + if (regeneratePrompt.trim() === '') return; + + try { + const newComponents = await Promise.all( + projectComponents.pages.map(async (page) => { + const updatedComponents = await Promise.all( + page.components.map(async (component) => { + const newComponent = await generateComponent( + component.name, + `${page.purpose}. ${regeneratePrompt}`, + JSON.stringify(projectData.styling) + ); + return newComponent; + }) + ); + + return { + ...page, + components: updatedComponents + }; + }) + ); + + setProjectComponents({ + ...projectComponents, + pages: newComponents + }); + } catch (error) { + console.error('Error regenerating all components:', error); + } finally { + setShowRegenerateAllDialog(false); + setRegeneratePrompt(''); + } + }; + + const handleRegenerateHeader = async () => { + try { + const pagesList = projectComponents.pages.map(page => page.name).join(', '); + const prompt = `Generate a React Header component that includes links to the following pages: ${pagesList}. Ensure that the Header is responsive and follows the styling guide. ${JSON.stringify(projectData.styling)}`; + + const regeneratedHeader = await generateDynamicallyRenderingReactComponent(prompt); + + const updatedPages = projectComponents.pages.map(page => ({ + ...page, + components: page.components.map(component => + component.name === 'Header' ? { name: 'Header', code: regeneratedHeader } : component + ), + })); + + setProjectComponents({ + ...projectComponents, + pages: updatedPages, + }); + } catch (error) { + console.error('Error regenerating Header component:', error); + } + }; + + const updateFolderStructure = (updatedApis) => { + const newFolderStructure = useGenerateFolderStructure(projectData, projectComponents, updatedApis, sqlCode); + setFolderStructure(newFolderStructure); + }; + + const handleTabChange = (tab) => { + setSelectedTab(tab); + }; + + const handlePageChange = (page) => { + setSelectedPage(page); + }; + + const handleViewModeChange = (mode) => { + setViewMode(mode); + }; + + const renderPageTabs = () => { + return projectComponents?.pages?.map((page) => ( + + )); + }; + + const DynamicComponent = React.memo(({ component }) => { + try { + const Component = new Function('React', 'styled', `return ${component.code}`)(React,styled); + return ; + } catch (error) { + console.error(`Error in DynamicComponent: ${component.name}`, error); + throw error; + } + }); + + const renderComponents = () => { + if (!projectComponents?.pages || !selectedPage) return null; + + const page = projectComponents.pages.find((p) => p.name === selectedPage); + + if (!page || !page.components) return null; + + if (viewMode === 'rendered') { + return ( +
+ {page.components.map((component, index) => { + const status = componentStatus[component.name]; + + if (typeof component.code !== 'string' || !component.code.trim()) { + console.error(`Component code for ${component.name} is invalid or empty:`, component.code); + return ( +
+

+ {component.name} - + Error +

+ +
+ ); + } + + try { + const Component = new Function('React', 'styled', `return ${component.code}`)(React, styled); + + if (typeof Component !== 'function') { + throw new Error(`Generated code did not return a valid React component function.`); + } + + const handleRegenerate = () => { + // Prompt the user for input regarding the component regeneration + const userModification = prompt(`Please provide details on how you'd like to modify the component "${component.name}"`); + + if (userModification) { + // If the user provides input, include it in the prompt for generating the component + generateComponent( + component.name, + `${page.purpose}. ${userModification}`, + JSON.stringify(projectData.styling) + ).then((newComponent) => { + const updatedPages = projectComponents.pages.map((p) => ({ + ...p, + components: p.components.map((c) => + c.name === component.name ? newComponent : c + ), + })); + + setProjectComponents({ ...projectComponents, pages: updatedPages }); + }).catch(error => { + console.error(`Error regenerating component '${component.name}':`, error); + }); + } else { + alert('Component regeneration was canceled.'); + } + }; + + + return ( +
+ handleRegenerate(component, index)}> + + +
+ ); + } catch (error) { + console.error(`Failed to render component: ${component.name}`, error); + return ( +
+

+ Failed to display component: {component.name} - + Error +

+ +
+ ); + } + })} +
+ ); + } else if (viewMode === 'code') { + return ( +
+ {page.components.map((component, index) => ( +
+

{component.name} - + + {componentStatus[component.name] || 'Unknown'} + +

+
{typeof component.code === 'string' ? component.code : 'Error: Invalid code'}
+
+ ))} +
+ ); + } + }; + + const renderSQLCode = () => { + return ( +
+

Generated SQL Code

+

Status: + {sqlStatus.charAt(0).toUpperCase() + sqlStatus.slice(1)} +

+ {sqlStatus === 'success' ? ( +
{sqlCode}
+ ) : sqlStatus === 'failed' ? ( +

Failed to generate SQL code. Please check the project schema.

+ ) : ( +

Generating SQL code...

+ )} +
+ ); + }; + + return ( +
+ {loading ? ( +
+

Generating Project Components...

+
+

Components

+
    + {Object.entries(componentStatus).map(([name, status]) => ( +
  • + {name}: + {status.charAt(0).toUpperCase() + status.slice(1)} + +
  • + ))} +
+
+
+

APIs

+
    + {Object.entries(apiStatus).map(([name, status]) => ( +
  • + {name}: + {status.charAt(0).toUpperCase() + status.slice(1)} + +
  • + ))} +
+
+
+

SQL

+

Status: + {sqlStatus.charAt(0).toUpperCase() + sqlStatus.slice(1)} +

+
+
+ ) : ( + <> +
+ + + + + + +
+ + {selectedTab === 'pages' && ( +
+
+ {renderPageTabs()} +
+
+ + +
+
+ {renderComponents()} +
+
+ )} + + {selectedTab === 'apis' && ( +
+

APIs

+ {serverlessApis.length > 0 && ( +
+

Vercel Serverless APIs

+
    + {serverlessApis.map((api, index) => ( +
  • +
    + API {index + 1}: {api.name} ({api.method} {api.endpoint}) + +
    + {editingApiIndex === index ? ( +
    + +
    + + +
    +
    +
+ )} + + {showRegenerateAllDialog && ( +
+
+

Regenerate All Components

+ +
+ + +
+
+
+ )} + + )} +
+ ); +} diff --git a/app/components/ProjectFolderStructure.js b/app/components/ProjectFolderStructure.js new file mode 100644 index 0000000..5c5d3a5 --- /dev/null +++ b/app/components/ProjectFolderStructure.js @@ -0,0 +1,413 @@ +import React, { useState, useEffect } from 'react'; +import { FaFolder, FaFolderOpen, FaFile } from 'react-icons/fa'; +import { MdCircle } from 'react-icons/md'; +import { generateNormalReactPage, generateSQLDatabaseQuery, generateServerlessApi } from '../utils/api'; +import JSZip from 'jszip'; +import { saveAs } from 'file-saver'; +import axios from 'axios'; + +const extractEnvVariables = (code) => { + const regex = /process\.env\.([A-Z_]+)|const\s*{\s*([^}]+)\s*}\s*=\s*process\.env/g; + const matches = new Set(); + let match; + + while ((match = regex.exec(code)) !== null) { + // Match for process.env.VAR_NAME + if (match[1]) { + matches.add(match[1]); + } + + // Match for destructuring: const { var1, var2 } = process.env + if (match[2]) { + const vars = match[2].split(',').map(variable => variable.trim()); + vars.forEach(variable => matches.add(variable)); + } + } + + return Array.from(matches); +}; + +const ProjectFolderStructure = ({ structure, projectData, sqlCode }) => { + const [openNodes, setOpenNodes] = useState({}); + const [visibleCode, setVisibleCode] = useState({}); + const [deploying, setDeploying] = useState(false); + const [deployError, setDeployError] = useState(null); + const [projectName, setProjectName] = useState(''); + const [requiredEnvVars, setRequiredEnvVars] = useState([]); + const [envVariables, setEnvVariables] = useState({}); + const [keys, setKeys] = useState({ + SUPABASE_DB_URL: '', + VERCEL_TOKEN: '' + }); + + useEffect(() => { + const extractRequiredEnvVars = () => { + const allEnvVars = new Set(); + + const traverseStructure = (node) => { + if (node.content) { + const envVars = extractEnvVariables(node.content); + envVars.forEach((envVar) => allEnvVars.add(envVar)); + } + + if (node.children && node.children.length > 0) { + node.children.forEach(traverseStructure); + } + }; + + traverseStructure(structure); + setRequiredEnvVars(Array.from(allEnvVars)); + }; + + extractRequiredEnvVars(); + }, [structure]); + + const toggleOpen = (nodeName) => { + setOpenNodes((prev) => ({ + ...prev, + [nodeName]: !prev[nodeName], + })); + }; + + const toggleCodeVisibility = (nodeName) => { + setVisibleCode((prev) => ({ + ...prev, + [nodeName]: !prev[nodeName], + })); + }; + + const regeneratePageContent = async (node, path) => { + try { + let newContent; + const jsconfigFile = structure.children.find((child) => child.name === 'jsconfig.json'); + const jsconfig = jsconfigFile ? JSON.parse(jsconfigFile.content) : {}; + + if (path.includes('/api')) { + const prompt = `Generate a Vercel serverless API for ${node.name}. Here is the jsconfig.json file for reference: ${JSON.stringify(jsconfig)}.`; + newContent = await generateServerlessApi(prompt); + } else { + const pageComponents = node.components?.join(', ') || 'none'; + const prompt = `Generate a Next.js page for ${node.name}. Include the following components: ${pageComponents}. Here is the jsconfig.json file for reference: ${JSON.stringify(jsconfig)}.`; + newContent = await generateNormalReactPage(prompt); + } + + node.content = newContent; + toggleCodeVisibility(`${path}/${node.name}`); + } catch (error) { + console.error(`Error regenerating content for ${node.name}:`, error); + node.content = '// Error regenerating content'; + } + }; + + const allChildrenHaveContent = (children) => { + return children.every((child) => { + if (child.children && child.children.length > 0) { + return allChildrenHaveContent(child.children); + } + return child.content && typeof child.content === 'string' && child.content.trim().length > 0; + }); + }; + + const renderStructure = (node, path = '') => { + if (!node) return null; + + const nodePath = `${path}/${node.name}`; + const isOpen = openNodes[nodePath]; + const hasChildren = node.children && node.children.length > 0; + const isContentFilled = typeof node.content === 'string' && node.content.trim().length > 0; + const isCodeVisible = visibleCode[nodePath]; + + const folderIsGreen = hasChildren && allChildrenHaveContent(node.children); + + return ( +
    +
  • +
    hasChildren && toggleOpen(nodePath)} + > + {hasChildren ? ( + isOpen ? ( + + ) : ( + + ) + ) : ( + + )} + {node.name} + + + {!hasChildren && ( + + )} + + {!hasChildren && isContentFilled && ( + + )} +
    + {isOpen && hasChildren && ( +
    + {node.children.map((child, index) => ( +
    {renderStructure(child, nodePath)}
    + ))} +
    + )} + {isCodeVisible && node.content && ( +
    +                            {node.content}
    +                        
    + )} +
  • +
+ ); + }; + + const handleDeploy = async () => { + setDeploying(true); + setDeployError(null); + + try { + const collectedData = await collectProjectData(structure); + + const response = await axios.post(`${process.env.NGROK_DEPLOYER_URL}/deploy`, { + structure: collectedData, + }); + + if (response.status === 200) { + console.log('Deployment started successfully'); + } else { + setDeployError('Deployment failed. Please check the logs for more details.'); + } + } catch (error) { + console.error('Deployment failed:', error); + setDeployError('Deployment failed. Please try again.'); + } finally { + setDeploying(false); + } + }; + + const collectProjectData = async (structure) => { + const collectedData = { + files: [], + packageJson: '', + jsConfigCode: '', + nextConfigJs: '', + postcssConfig: '', + tailwindConfig: '', + globalsCss: '', + envVariables: [], + sqlCode: '', + keys: {}, + projectName: '', + }; + + const traverseStructure = (node, parentPath = '') => { + const nodePath = `${parentPath}/${node.name}`; + + if (node.children && node.children.length > 0) { + node.children.forEach((child) => traverseStructure(child, nodePath)); + } else if (node.content) { + const fileInfo = { + fileName: node.name, + content: node.content, + }; + + if (parentPath.includes('/api')) { + collectedData.files.push({ ...fileInfo, type: 'api' }); + } else if (parentPath.includes('/pages')) { + collectedData.files.push({ ...fileInfo, type: 'page' }); + } else if (parentPath.includes('/middleware')) { + collectedData.files.push({ ...fileInfo, type: 'middleware' }); + } else if (parentPath.includes('/components')) { + collectedData.files.push({ ...fileInfo, type: 'component' }); + } else if (node.name === 'package.json') { + collectedData.packageJson = node.content; + } else if (node.name === 'jsconfig.json') { + collectedData.jsConfigCode = node.content; + } else if (node.name === 'next.config.js') { + collectedData.nextConfigJs = node.content; + } else if (node.name === 'postcss.config.js') { + collectedData.postcssConfig = node.content; + } else if (node.name === 'tailwind.config.js') { + collectedData.tailwindConfig = node.content; + } else if (node.name === 'globals.css') { + collectedData.globalsCss = node.content; + } + } + }; + + traverseStructure(structure); + + collectedData.envVariables = requiredEnvVars.map((key) => ({ + key, + type: 'plain', + value: envVariables[key] || '', + target: ['production', 'preview', 'development'], + })); + + collectedData.sqlCode = sqlCode; + + collectedData.keys = { + SUPABASE_DB_URL: keys.SUPABASE_DB_URL || '', + VERCEL_TOKEN: keys.VERCEL_TOKEN || '', + }; + + collectedData.projectName = projectName; + + return JSON.stringify(collectedData); + }; + + const generateZipFile = (structure) => { + const zip = new JSZip(); + + const traverseStructure = (node, parentPath = '') => { + const nodePath = `${parentPath}/${node.name}`; + + if (node.children && node.children.length > 0) { + node.children.forEach((child) => traverseStructure(child, nodePath)); + } else if (node.content) { + // Check if the file is inside the 'pages' folder and name it 'index.js' + if (parentPath.includes('/pages') && !node.name.includes('.')) { + // This condition assumes that node.name without an extension is a folder (i.e., a page directory) + zip.file(`${parentPath}/index.js`, node.content); + } else { + zip.file(nodePath.startsWith('/') ? nodePath.slice(1) : nodePath, node.content); + } + } + }; + + traverseStructure(structure); + return zip; + }; + + const handleDownload = async () => { + const zip = generateZipFile(structure); + + const content = await zip.generateAsync({ type: 'blob' }); + saveAs(content, `${projectName || 'project'}.zip`); + }; + + const handleEnvVarChange = (key, value) => { + setEnvVariables((prev) => ({ + ...prev, + [key]: value, + })); + }; + + const handleKeyChange = (key, value) => { + setKeys((prev) => ({ + ...prev, + [key]: value, + })); + }; + + return ( +
+

Project Folder Structure

+ +
+ + setProjectName(e.target.value)} + className="border rounded px-2 py-1" + placeholder="Enter project name" + /> +
+ + {requiredEnvVars.map((key) => ( +
+ + handleEnvVarChange(key, e.target.value)} + className="border rounded px-2 py-1" + placeholder={`Enter value for ${key}`} + /> +
+ ))} + +
+ + handleKeyChange('SUPABASE_DB_URL', e.target.value)} + className="border rounded px-2 py-1" + placeholder="Enter SUPABASE_DB_URL" + /> +
+ +
+ + handleKeyChange('VERCEL_TOKEN', e.target.value)} + className="border rounded px-2 py-1" + placeholder="Enter VERCEL_TOKEN" + /> +
+ + {renderStructure(structure)} + +
+ + {deployError &&

{deployError}

} + + +
+
+ ); +}; + +export default ProjectFolderStructure; diff --git a/app/components/steps/ApiStep.js b/app/components/steps/ApiStep.js new file mode 100644 index 0000000..7c8f032 --- /dev/null +++ b/app/components/steps/ApiStep.js @@ -0,0 +1,94 @@ +import React from 'react'; + +export default function ApiStep({ apis, onUpdate, onAddApi, onDeleteApi, onRegenerate }) { + const handleApiChange = (index, e) => { + const { name, value } = e.target; + const updatedApis = [...apis]; + updatedApis[index][name] = value; + onUpdate(updatedApis); + }; + + const handleAddApi = () => { + const newApi = { name: '', endpoint: '', method: 'GET' }; + onAddApi(newApi); + }; + + return ( +
+

API Management

+ +
+ {apis.map((api, index) => ( +
+
+
+ + handleApiChange(index, e)} + className="border border-gray-300 p-2 w-full rounded focus:outline-none focus:ring-2 focus:ring-blue-500" + placeholder="Enter API Name" + /> +
+
+ + handleApiChange(index, e)} + className="border border-gray-300 p-2 w-full rounded focus:outline-none focus:ring-2 focus:ring-blue-500" + placeholder="Enter API Endpoint" + /> +
+
+ + +
+
+ + +
+ ))} +
+ +
+ + +
+
+ ); +} diff --git a/app/components/steps/PagePlanStep.js b/app/components/steps/PagePlanStep.js new file mode 100644 index 0000000..4d1a447 --- /dev/null +++ b/app/components/steps/PagePlanStep.js @@ -0,0 +1,237 @@ +import React, { useState } from 'react'; +import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd'; + +export default function PagePlanStep({ + data, + onUpdate, + onAddPage, + onDeletePage, + onRegenerate, + onContextCreate, + onPhaseComplete, // New prop for notifying the dashboard +}) { + const [newPage, setNewPage] = useState({ name: '', purpose: '' }); + const [isConfirmed, setIsConfirmed] = useState(false); + const [componentContext, setComponentContext] = useState({}); + const [loadingContext, setLoadingContext] = useState(false); + const [contextError, setContextError] = useState(null); + const [isContextConfirmed, setIsContextConfirmed] = useState(false); // Track context confirmation + + const handlePageChange = (index, e) => { + const { name, value } = e.target; + const updatedPages = [...data]; + updatedPages[index][name] = value; + onUpdate(updatedPages); + }; + + const handleAddComponent = (pageIndex, newComponent) => { + const updatedPages = [...data]; + updatedPages[pageIndex].components.push(newComponent); + onUpdate(updatedPages); + }; + + const handleDeleteComponent = (pageIndex, componentIndex) => { + const updatedPages = [...data]; + updatedPages[pageIndex].components.splice(componentIndex, 1); + onUpdate(updatedPages); + }; + + const handleComponentChange = (pageIndex, componentIndex, e) => { + const { value } = e.target; + const updatedPages = [...data]; + updatedPages[pageIndex].components[componentIndex] = value; + onUpdate(updatedPages); + }; + + const handleDragEnd = (result, pageIndex) => { + if (!result.destination) return; + + const updatedPages = [...data]; + const [reorderedItem] = updatedPages[pageIndex].components.splice(result.source.index, 1); + updatedPages[pageIndex].components.splice(result.destination.index, 0, reorderedItem); + onUpdate(updatedPages); + }; + + const handleAddPage = () => { + if (newPage.name.trim() && newPage.purpose.trim()) { + onAddPage({ ...newPage, components: [] }); + setNewPage({ name: '', purpose: '' }); // Clear form + } + }; + + const confirmPagePlan = async () => { + setIsConfirmed(true); + await generateComponentContext(); // Automatically generate context after confirmation + }; + + const generateComponentContext = async () => { + setLoadingContext(true); + setContextError(null); + + try { + const response = await onContextCreate(`Page Plan: ${JSON.stringify(data)}`); + setComponentContext(response); // Store the returned context data + setLoadingContext(false); + } catch (error) { + setContextError('Failed to generate component context. Please try again.'); + setLoadingContext(false); + } + }; + + const handleContextFieldChange = (component, field, value) => { + setComponentContext((prev) => ({ + ...prev, + [component]: { + ...prev[component], + [field]: value, + }, + })); + }; + + const confirmContext = () => { + setIsContextConfirmed(true); + onPhaseComplete({ pages: data, context: componentContext }); // Pass data to parent and proceed + }; + + return ( +
+

Page Plan

+ + + {data.map((page, pageIndex) => ( +
+
+
+ + handlePageChange(pageIndex, e)} + disabled={isConfirmed} + className="border border-gray-300 p-2 w-full rounded" + /> + + +
+ {!isConfirmed && ( + + )} +
+ + + handleDragEnd(result, pageIndex)}> + + {(provided) => ( +
+ {page.components.map((component, componentIndex) => ( + + {(provided) => ( +
+
+ + handleComponentChange( + pageIndex, + componentIndex, + e + ) + } + disabled={isConfirmed} + className="border p-2 rounded w-full" + /> +
+ + {/* Display Editable Component Context */} + {componentContext[component] && ( +
+

+ {component} Context +

+ {Object.entries(componentContext[component]).map( + ([key, value]) => ( +
+ + + handleContextFieldChange( + component, + key, + e.target.value + ) + } + className="border p-2 rounded w-full" + /> +
+ ) + )} +
+ )} +
+ )} +
+ ))} + {provided.placeholder} +
+ )} +
+
+
+ ))} + + {isConfirmed && !isContextConfirmed && ( +
+ {loadingContext ? ( +

Generating Component Context...

+ ) : contextError ? ( +

{contextError}

+ ) : ( + + )} +
+ )} + + {!isConfirmed && ( + + )} +
+ ); +} diff --git a/app/components/steps/SchemaStep.js b/app/components/steps/SchemaStep.js new file mode 100644 index 0000000..3d629ca --- /dev/null +++ b/app/components/steps/SchemaStep.js @@ -0,0 +1,167 @@ +import React, { useState } from 'react'; + +export default function SchemaStep({ schema, onUpdate, onModifySchema, onRegenerate }) { + const [editableSchema, setEditableSchema] = useState(schema); + + const handleTableNameChange = (index, value) => { + const updatedSchema = [...editableSchema]; + updatedSchema[index].tableName = value; + setEditableSchema(updatedSchema); + }; + + const handleColumnChange = (tableIndex, columnIndex, field, value) => { + const updatedSchema = [...editableSchema]; + updatedSchema[tableIndex].columns[columnIndex][field] = value; + setEditableSchema(updatedSchema); + }; + + const handleAddColumn = (tableIndex) => { + const updatedSchema = [...editableSchema]; + updatedSchema[tableIndex].columns.push({ name: '', type: '' }); + setEditableSchema(updatedSchema); + }; + + const handleDeleteColumn = (tableIndex, columnIndex) => { + const updatedSchema = [...editableSchema]; + updatedSchema[tableIndex].columns.splice(columnIndex, 1); + setEditableSchema(updatedSchema); + }; + + const handleAddTable = () => { + const updatedSchema = [ + ...editableSchema, + { tableName: '', columns: [{ name: '', type: '' }] }, + ]; + setEditableSchema(updatedSchema); + }; + + const handleDeleteTable = (tableIndex) => { + const updatedSchema = [...editableSchema]; + updatedSchema.splice(tableIndex, 1); + setEditableSchema(updatedSchema); + }; + + const handleSaveChanges = () => { + onUpdate(editableSchema); + }; + + return ( +
+

Database Schema

+ + {editableSchema.map((table, tableIndex) => ( +
+
+ handleTableNameChange(tableIndex, e.target.value)} + placeholder="Table Name" + className="text-xl font-bold text-gray-800 border p-2 rounded w-2/3 focus:outline-none focus:ring-2 focus:ring-blue-500" + /> + +
+ + + + + + + + + + {table.columns.map((column, columnIndex) => ( + + + + + + ))} + +
Column NameTypeActions
+ + handleColumnChange( + tableIndex, + columnIndex, + 'name', + e.target.value + ) + } + placeholder="Column Name" + className="border p-2 rounded w-full focus:outline-none focus:ring-2 focus:ring-blue-500" + /> + + + handleColumnChange( + tableIndex, + columnIndex, + 'type', + e.target.value + ) + } + placeholder="Column Type" + className="border p-2 rounded w-full focus:outline-none focus:ring-2 focus:ring-blue-500" + /> + + +
+ +
+ ))} + + + +
+ + + +
+
+ ); +} diff --git a/app/components/steps/StylingStep.js b/app/components/steps/StylingStep.js new file mode 100644 index 0000000..ec8b08c --- /dev/null +++ b/app/components/steps/StylingStep.js @@ -0,0 +1,53 @@ +import React from 'react'; + +export default function StylingStep({ styling, onUpdate, onRegenerate }) { + const handleColorChange = (colorName, value) => { + const updatedColors = { ...styling.colors, [colorName]: value }; + onUpdate({ colors: updatedColors }); + }; + + return ( +
+

Styling Plan

+ + {/* Regenerate Button */} +
+ +
+ + {/* Colors Section */} +
+

Color Palette

+ {Object.entries(styling.colors).map(([colorName, colorValue]) => ( +
+
+ {colorName}: +
+
+ handleColorChange(colorName, e.target.value)} + className="border-2 border-gray-300 rounded-lg mr-2" + /> + handleColorChange(colorName, e.target.value)} + className="border p-2 rounded w-36" + placeholder="#FFFFFF" + /> +
+ ))} +
+
+ ); +} diff --git a/app/favicon.ico b/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c8c32ee331a714841788957aa310c21f8354d2ff GIT binary patch literal 174158 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�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 + + {/* */} + {children} + {/* */} + + + ); +} diff --git a/app/page.js b/app/page.js new file mode 100644 index 0000000..7bb4ef5 --- /dev/null +++ b/app/page.js @@ -0,0 +1,72 @@ +"use client"; + +import { useState } from 'react'; +import MultiStepForm from './components/MultiStepForm'; +import Dashboard from './components/Dashboard'; +import ProjectDashboard from './components/ProjectDashboard'; +import ErrorBoundary from './components/ErrorBoundary'; +import { IconBrandDiscord, IconBrandGithub } from '@tabler/icons-react'; + +export default function Home() { + const [formData, setFormData] = useState(null); + const [isFormComplete, setIsFormComplete] = useState(false); + const [isDashboardComplete, setIsDashboardComplete] = useState(false); + const [finalData, setFinalData] = useState(null); + + const handleFormComplete = (data) => { + setFormData(data); + setIsFormComplete(true); + }; + + const handleSaveData = (data) => { + setFinalData(data); + setIsDashboardComplete(true); + console.log('Final data:', data); + }; + + return ( +
+ {/* Header */} +
+
+ + Logo + +
+ +
+ + {/* Title */} +

+ Fullstack Next.js Application Builder +

+ + {/* Main Content */} +
+
+ {!isFormComplete ? ( + + ) : !isDashboardComplete ? ( + + ) : ( + + + + )} +
+
+ + {/* Footer */} +
+ © 2024 Spark Engine. All rights reserved. +
+
+ ); +} diff --git a/app/utils/api.js b/app/utils/api.js new file mode 100644 index 0000000..2bbb532 --- /dev/null +++ b/app/utils/api.js @@ -0,0 +1,163 @@ +import axios from 'axios'; +import sparkConfig from '../../spark.config.json'; + + +// Check if running locally or on Vercel +const isLocalEnvironment = typeof window !== 'undefined' + ? window.location.hostname === 'localhost' + : process.env.VERCEL_ENV !== 'production'; + +// Utility function to evaluate and replace expressions within strings +const evaluateExpressions = (str, context) => { + return str.replace(/'([^']*)'\s*\+\s*([\w.]+)/g, (match, p1, p2) => { + const value = context[p2]; + return `"${p1}${value || ''}"`; + }); +}; + +// Safe JSON parser with context-based evaluation +const safeParse = (data, context) => { + try { + console.log('Raw Data:', data); + + let fixedData = evaluateExpressions(data, context) + .replace(/\\'/g, '\\u0027') // Temporarily replace escaped apostrophes with a Unicode character + .replace(/'/g, '"') // Replace non-escaped apostrophes with double quotes + .replace(/\\u0027/g, '\'') // Restore the escaped apostrophes + .replace(/(\w+):/g, '"$1":') // Add double quotes around keys + .replace(/,(\s*[}\]])/g, '$1'); // Remove trailing commas before closing brackets or braces + + return JSON.parse(fixedData); + } catch (parseError) { + console.error('Error parsing JSON:', parseError); + throw parseError; + } +}; + +// Direct Spark API call for local environment +const callSparkDirectly = async (projectId, prompt) => { + const payload = { + api_key: process.env.SPARK_API_KEY, + project_id: projectId, + prompt: prompt, + }; + + try { + const response = await axios.post('https://sparkengine.ai/api/engine/completion', payload, { + headers: { + 'Content-Type': 'application/json', + }, + }); + + // Process and sanitize the response + const data = response.data.data.map((item) => { + if (item.output && typeof item.output === 'string') { + // Remove backticks if they exist at the start or end + item.output = item.output.replace(/^```|```$/g, '').trim(); + } + return item; + }); + + return data; + } catch (error) { + console.error('Error calling Spark API directly:', error.message); + throw error; + } +}; + +// Function to decide between local direct call or serverless function +export const callSpark = async (projectId, prompt) => { + if (isLocalEnvironment) { + return await callSparkDirectly(projectId, prompt); + } + + // Use the serverless function in production + try { + const response = await axios.post('/api/callSpark', { projectId, prompt }); + return response.data; + } catch (error) { + console.error('Error calling Spark API through serverless function:', error.message); + throw error; + } +}; + +export const generateSinglePagePlan = async (form) => { + let prompt = `Name: ${form.projectName}, Purpose: ${form.purpose}` + let data = await callSpark(sparkConfig.projectIDs.generateSinglePagePlan, prompt); + return {pages: safeParse(data[0].output)} +}; + +export const generateMultiplePagePlan = async (form) => { + let prompt = `Name: ${form.projectName}, Purpose: ${form.purpose}` + let data = await callSpark(sparkConfig.projectIDs.generateMultiplePagePlan, prompt); + return {pages: safeParse(data[0].output)} +}; + +export const generateStylingPlan = async (form) => { + let data = await callSpark(sparkConfig.projectIDs.generateStylingPlan, form.colors); + return safeParse(data[0].output) +}; + +export const generateApiPlan = async (prompt) => { + let data = await callSpark(sparkConfig.projectIDs.generateApiPlan, prompt); + return safeParse(data[0].output) +}; + +export const generateServerlessApi = async (prompt) => { + let data = await callSpark(sparkConfig.projectIDs.generateVercelServerlessAPI, prompt); + return data[0].output +}; + +export const generateSQLDatabaseQuery = async (prompt) => { + let data = await callSpark(sparkConfig.projectIDs.generateSQLExecutionCode, prompt); + return data[0].output +}; + +export const generateSchema = async (prompt) => { + let data = await callSpark(sparkConfig.projectIDs.generateSchema, prompt); + return safeParse(data[0].output) +}; + +export const generateDynamicallyRenderingReactComponent = async (prompt) => { + let data = await callSpark(sparkConfig.projectIDs.generateDynamicallyRenderingReactComponentWithStyledComponents, prompt); + return data[0].output +}; + +export const generateNormalReactComponent = async (prompt) => { + return await callSpark(sparkConfig.projectIDs.generateNormalReactComponent, prompt); +}; + +export const generateNormalReactPage = async (prompt) => { + let data = await callSpark(sparkConfig.projectIDs.generateNormalReactPage, prompt); + return data[0].output +}; + +export const modifySinglePagePlan = async (prompt) => { + return await callSpark(sparkConfig.projectIDs.modifySinglePagePlan, prompt); +}; + +export const modifyMultiplePagePlan = async (prompt) => { + return await callSpark(sparkConfig.projectIDs.modifyMultiplePagePlan, prompt); +}; + +export const modifyApiPlan = async (prompt) => { + return await callSpark(sparkConfig.projectIDs.modifyApiPlan, prompt); +}; + +export const modifySchema = async (prompt) => { + return await callSpark(sparkConfig.projectIDs.modifySchema, prompt); +}; + +export const modifyReactComponent = async (prompt) => { + return await callSpark(sparkConfig.projectIDs.modifyReactComponent, prompt); +}; + +export const generateComponentContext = async (prompt) => { + let data = await callSpark(sparkConfig.projectIDs.generateComponentContext, prompt) + return JSON.parse(data[0].output) +} + +export const mapComponentsToAPIs = async (prompt) => { + let data = await callSpark(sparkConfig.projectIDs.mapComponentsToAPIs, prompt) + return JSON.parse(data[0].output) +} \ No newline at end of file diff --git a/app/utils/folderStructure.js b/app/utils/folderStructure.js new file mode 100644 index 0000000..412ae23 --- /dev/null +++ b/app/utils/folderStructure.js @@ -0,0 +1,247 @@ +import { useEffect, useState, useCallback, useRef, useMemo } from 'react'; +import { generateNormalReactPage } from '../utils/api'; // Import the generateNormalReactPage function + +const generateFolderStructureJson = async (projectData, projectComponents, jsconfig, serverlessApis) => { + if (!projectData || !projectComponents || !jsconfig || !serverlessApis) return null; + + const structure = { + name: 'project-root', + children: [] + }; + + // Helper function to safely add children + const addChildren = (parentArray, childrenData, childTransform) => { + if (Array.isArray(childrenData)) { + parentArray.push(...childrenData.map(childTransform)); + } + }; + + // Function to modify the component code + function modifyComponentCode(code) { + const reactImport = `import React from 'react';\n`; + const styledImport = `import styled from 'styled-components';\n`; + + // Insert import statements at the beginning + let modifiedCode = `${reactImport}${styledImport}${code}`; + + // Add 'export default' to the start of the function definition + modifiedCode = modifiedCode.replace(/function\s+(\w+)/, 'export default function $1'); + + return modifiedCode; + } + + // Pages + if (projectData.pages) { + structure.children.push({ + name: 'pages', + children: [] + }); + + // Generate the content for each page using generateNormalReactPage + for (const page of projectData.pages) { + const strippedName = (page.name || 'unnamed_page').replace(/\s+/g, ''); + let pageContent = ''; + + try { + const prompt = `Generate a Next.js page for ${page.name}. Include the following components: ${page.components?.join(', ') || 'none'}. + Here is the jsconfig.json file for reference: ${JSON.stringify(jsconfig)}.`; + pageContent = await generateNormalReactPage(prompt); // Fetch page content + + // Ensuring that the code block returned by the AI is valid and without comments + pageContent = pageContent.replace(/```[\s\S]*?```/g, (match) => match.replace(/```/g, '').trim()); + } catch (error) { + console.error(`Error generating page content for ${page.name}:`, error); + pageContent = `// Error generating page content for ${page.name}`; + } + + structure.children[0].children.push({ + name: strippedName, + originalName: page.name || 'unnamed_page', // Keeping a reference to the original page name + children: [{ name: strippedName, content: pageContent || '' }] + }); + } + } + + // APIs + // if (projectData.apis) { + // structure.children.push({ + // name: 'api', + // children: [] + // }); + // addChildren(structure.children[structure.children.length - 1].children, projectData.apis, api => ({ + // name: `${api.name || 'unnamed_api'}.js`, + // content: api.content || '', + // })); + // } + + // Serverless APIs (newly added section) + if (serverlessApis && serverlessApis.length > 0) { + structure.children.push({ + name: 'api', // Serverless APIs usually reside in the `/api` folder in Next.js + children: [] + }); + + addChildren(structure.children[structure.children.length - 1].children, serverlessApis, api => ({ + name: `${api.name || 'unnamed_serverless_api'}.js`, + content: api.code || '', // Use the code from serverlessApis + })); + } + + // Components + const components = new Map(); // Use a Map to ensure unique components by name + + if (projectComponents.pages) { + projectComponents.pages.forEach(page => { + if (page.components) { + page.components.forEach(component => { + // Use the component name as the key to ensure uniqueness + const componentName = component.name || 'unnamed_component'; + if (!components.has(componentName)) { + // Modify the component code as per your requirements + const modifiedCode = modifyComponentCode(component.code); + components.set(componentName, { + ...component, + code: modifiedCode + }); + } + }); + } + }); + } + + if (components.size > 0) { + structure.children.push({ + name: 'components', + children: [] + }); + + addChildren(structure.children[structure.children.length - 1].children, Array.from(components.values()), component => ({ + name: `${component.name || 'unnamed_component'}.js`, + content: component.code || '', + })); + } + + // Middleware + if (projectData.middleware) { + structure.children.push({ + name: 'middleware', + children: [] + }); + addChildren(structure.children[structure.children.length - 1].children, projectData.middleware, middleware => ({ + name: `${middleware.name || 'unnamed_middleware'}.js`, + content: middleware.code || '', + })); + } + + // Add other static folders/files + structure.children.push( + { + name: 'package.json', + content: JSON.stringify({ + "name": "nextjs-builder", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "next": "14.2.5", + "react": "^18", + "react-dom": "^18", + "styled-components": "^6.1.12" + }, + "devDependencies": { + "postcss": "^8", + "tailwindcss": "^3.4.1" + } + }) + }, + { + name: 'next.config.js', + content: '/** @type {import("next").NextConfig} */\nconst nextConfig = {};\nmodule.exports = nextConfig;' + }, + { + name: 'jsconfig.json', + content: JSON.stringify(jsconfig, null, 2) + }, + { + name: 'globals.css', + content: "@tailwind base;\n@tailwind components;\n@tailwind utilities;" + }, + { + name: 'postcss.config.js', + content: `/** @type {import('postcss-load-config').Config} */ + const config = { + plugins: { + tailwindcss: {}, + }, + }; + + export default config;` + }, + { + name: 'tailwind.config.js', + content: `/** @type {import('tailwindcss').Config} */ + module.exports = { + content: [ + "./pages/**/*.{js,ts,jsx,tsx,mdx}", + "./components/**/*.{js,ts,jsx,tsx,mdx}", + "./app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + backgroundImage: { + "gradient-radial": "radial-gradient(var(--tw-gradient-stops))", + "gradient-conic": + "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))", + }, + }, + }, + plugins: [], + };` + } + ); + + /* styles/globals.css */ + + return structure; +}; + +const useGenerateFolderStructure = (projectData, projectComponents, serverlessApis) => { + const [folderStructure, setFolderStructure] = useState(null); + const isGeneratedRef = useRef(false); // Use ref to avoid unnecessary re-renders + + const jsconfig = useMemo(() => ({ + compilerOptions: { + baseUrl: ".", + paths: { + "@components/*": ["components/*"], + "@pages/*": ["pages/*"] + } + } + }), []); // Memoize to avoid unnecessary recalculations + + const generateStructure = useCallback(async () => { + if (projectData && projectComponents && jsconfig && !isGeneratedRef.current) { + try { + const structure = await generateFolderStructureJson(projectData, projectComponents, jsconfig, serverlessApis); + setFolderStructure(structure); + isGeneratedRef.current = true; // Mark as generated + } catch (error) { + console.error('Error generating folder structure:', error); + setFolderStructure(null); + } + } + }, [projectData, projectComponents, jsconfig, serverlessApis]); + + useEffect(() => { + generateStructure(); + }, [generateStructure]); + + return folderStructure; +}; + +export default useGenerateFolderStructure; diff --git a/jsconfig.json b/jsconfig.json new file mode 100755 index 0000000..cf63729 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./*"] + }, + "skipLibCheck": true, // Skip type checking of declaration files + "checkJs": false // Disable type checking for JavaScript files + } +} diff --git a/next.config.mjs b/next.config.mjs new file mode 100755 index 0000000..4678774 --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,4 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = {}; + +export default nextConfig; diff --git a/package.json b/package.json new file mode 100644 index 0000000..29f4598 --- /dev/null +++ b/package.json @@ -0,0 +1,41 @@ +{ + "name": "nextjs-builder", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@tabler/icons-react": "^3.14.0", + "autoprefixer": "^10.4.19", + "axios": "^1.7.4", + "file-saver": "^2.0.5", + "framer-motion": "^11.3.31", + "jszip": "^3.10.1", + "next": "14.2.5", + "react": "^18", + "react-beautiful-dnd": "^13.1.1", + "react-dom": "^18", + "react-icons": "^5.3.0", + "react-json-tree": "^0.19.0", + "styled-components": "^6.1.12" + }, + "devDependencies": { + "@types/hoist-non-react-statics": "^3.3.5", + "@types/json5": "^2.2.0", + "@types/lodash": "^4.17.7", + "@types/lodash.mergewith": "^4.6.9", + "@types/parse-json": "^4.0.2", + "@types/react": "^18.3.5", + "@types/react-redux": "^7.1.33", + "@types/react-transition-group": "^4.4.11", + "@types/stylis": "^4.2.6", + "eslint": "8.57.0", + "eslint-config-next": "14.2.7", + "postcss": "^8", + "tailwindcss": "^3.4.1" + } +} diff --git a/postcss.config.mjs b/postcss.config.mjs new file mode 100755 index 0000000..1a69fd2 --- /dev/null +++ b/postcss.config.mjs @@ -0,0 +1,8 @@ +/** @type {import('postcss-load-config').Config} */ +const config = { + plugins: { + tailwindcss: {}, + }, +}; + +export default config; diff --git a/public/github-banner.png b/public/github-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..f92eb4916ce796fb387c4cc1374ce39f6f1240a0 GIT binary patch literal 238760 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 z z#w<*RX32D>v8S=S_Pg{nhiwhjl9g*h3Sa+Tvn3MNe{Yp=NzPy%&;Qg1t?%mVhD$rl z`}XCa7jJxPkGayY=u;p%(j(U&Gm}Ql;BWg&ER2PT*+|W~BCegSQB`|3rRCnW4eFNL z%YQ^SM!<9a`>vB;Rkc^IWQ33Gm&W|OvzEvE;oZzrZL_fL(7UBI`=8BvtPnFi6IEoT zTFmnY85zQXkA7Vn$K~V|M$Bv=4^nh~ecF*Yd?9u&H~py27FBb@k9YmcE`t%NrZF*g zm&A_Wx5ThC(@p(3h5X`h&VQHXe}6HG`tL~o_j`x|)W5a=f4--}My&YvkC2X-EIOOE}4YPyDimb711?05{b27;k6teib#cbe_(}$`XO8Z)(b`8N8N{=7|6N zOge-8pI;IARl=4`=hjkd{2pL$m-jiZUcc7=(@*<@D^;z3iQ-!(N=$77b2>&tb~;1K zzj;*D5B2A2_mTAdyXt@6=Fe9rND*`;D=Zp;AZ1CKogSSns9mg? zv!o^bYn3(PQ~&2@|Nb_gI-Kk8@6wt0y1cz^aUB*G>)~UyuIL3e@A2KLqrx%7YMEl! zJQ-11>B*0m!;=qXub$FW*w7hpGumXUFD8~UX!1*IC$j1JXh+L{MG7pu&}BEJ?N#`8 zG9cDSE3ki3&L;cMM<|5-`>6kO6h=`Uf3GPbj2P~4qcJfbF#=`7d*tuGQK9?qum8`_ zVAMMP&!7JN)(QBh|Nj@9+`mP$gk$lYnLTdG`w4SS<5RG)FVO~rRlM=t`8wZ`hM?KV z{$(|#FC%Ap>Es_O_?n4&yEhs7@hm*NcPjR+7)qx_SjcuDI4eu*8;us`$)}n>cN8Pj z@$d7Jk0_Vz>kC;jEJoT2Rx4}8QXrV3{TI6Q|NedcrGF7DhQhlBzELIcQsaTf2C;mSnVVU~xDdqn^p1uMq%Jhx*qlZw5K~frNB?Sa2 z3F(j&kOl>%OF%#vm2Lr%kPeYD=$0-OB?JT{l#rCJ`^^6Dy_~aW_w2fJnD=|XCx5{W z{M{z!sk)t&(Y~POgGGkoJz4kpThHDBGiMx3*scfxDd9RS@UYNWkgq{p#_Ju1fEojf zd-#D({rG3sdDr$?_Hzk9oDyY}bjNrwoqz5GKaP&`&0-%ubb;8bcv63<^KvqZ5V+YeghT$`ziPrV zO0g|q_Xd$%vg`g8;>3K~^@%8|K)$B7Pn6~b4G#Z3s3c}fq(~z9s)dYwKW%fqTw1|j zaNl*yR|o@YMtxC<2Thb4OgaFJ0ZJFx@qkV2jgLm7qTC3^<*=etIG8S4SRLH&zP zHt@K(Fmu_~(Vo>ue`$ zfQC4=vh1#i`Z71a1`wsY=)0z-^?^6dxzW5clZuZU+aGvzc2m3(ce!%6!E?v?bnoH| zQc5m`u*7;FmwTu`yjlt-r$O2D?Y6ph>qbW}k+g_D%EaK5JveiF0H8gb0o3 z7uu8KLRsJsId5{>Ev5jRcs(e{hn^yhLiKG`&_sn*dpAY<4T`}h1^1TaVXT5o!wmw!l_a7-Q`#D^O?Zm9(d3e61#l^aY{+k*+DP3TI)xK=-rp2mFwfydl zg~jKhK{QhEwr0;~etzemUGAjX1KTHyw3DxAr|W#o{3ev)ib>!5XpcZRMCM>V5m4Fp zz;~94>-6{cQL|iMu^0V790dW0J6k!=5N_HQMSb*=2b#jypXl+=PH>z7(u(wiL3 z@6S-#po_LXM)AiW-S+JC1hy9%2Zh60QV%Edf#$iC4`zdvOAY!JByCBiiIDE>EIlS;^-F()>j!bWKitWd$87WM}su#<;L?|}dssewGe8wot>UO_TA zW1V%nJIk@0J+K|YvMC^lO#>W*>0wo9OfQAlC4(`iRO{YyKDdQ}Fz3WdRscxA1&+kY zZpVHGoOc@mIaKepat#99%t~(7mE5jq`lsr|U$Ff6HQ&2V7|xT(k%EPe-WPm9$8!vR zJFA;1&C-7i1I~U)f@0D3&<&r%xYp*wg{$A|4R4M3K3K`5UiX?y)*+|FNgr(_e zBfMbB?N{{6%h!$%hAxnutSvSA?SjThv)f=}ksUBm*X~;KeDP{@__8*OC21?A_LFhn zqk0HuC!ee-#JQL311|->~+PfRczM!u<@Guvk7gjD^jB`M&b>rpiKCT8tifUy*O` z(f}`g^iMdzsd}HY6^k?a7P(~5T7v}l>ME#V!@oTeP`}f=>UNuO?fqIpo;OVlGk>9( z81F5+z!6ARvhatpr*E9(kH4elCLs+Lf@6ITc~M5h=9!AxSF+L_-x_dun)Y{Tg5%lq zZO8Z%BI%2X;qJo7Sir$Ta=7flrjIsrm1Qfg5sBw+!6+fCDj>2VV|gksxAeVbxk_Nw z;e5N!`1W z1tAP3`Gw_o0CZ=i8a)t<^V%0X;s;5#-|$*_jt*bE&Z`n~T#}nw_2}K5rho&$XRiZW zWX89=a31mtlb~e_godSRmSW-`bBmU3bC+f9?$G_DjO3vC;2-xv|B)4KCms+f;X#}I$&;JIN)Bp4TkX$sFDs7o_T<|bvdkP z?csI+$4=kGtJuf93F~(cNo3$;UwADGRFz|Bg?>S#CVTBbi_8;XZv;pb?F%R{Mu?ZF zy0&5QH=sWdpK3hO@(z_kGqFk28)G_U1iN zI~c*bOH$mE$<48sI9`Cd0pP=Q7LPx4yp={A{~4Yf?)7bUdnUR~)p?OLWSYVf7L>{Z zhDf&b$PHJoE&NNawjW3X`~+5(*Rh1Ju&gh>Ve!uRUM%@9_%M1QYfP+s5vY^4AUZq& zAcL9}bXq&D_bJ<#s0BhG-r84FGM9$UPT)L$2F0=f-Osv`IR&{OgQ6vKU|a6QLn&si zYhdsl(pxOa8Q?cy*|HCR6X}#LX=A^vnU*(3823Whe-eT=pTw7+cnTu|vyhzhJhZWE zdzGimpy;zZ5#+XOl6$OKW-18Q+h?r=G}1fY5=oZzL?$8ctq=G(Pyt|9<%U=88vIXX zD?eXk(TTOsO2IFCK*z4)JXZ1Z#n*{!{rACOWJUa2_EsF_`F{U`}ajEvQ>k| zLXF!Tx^%d=bj6*u+|=;tzgSTz0gI+d7kT8h9QMmg15qe2GA_&-PmXR~Es@`>W&`Xl zuQoAaE4^V|$e#sCyhTN{-#nGFWFAW|M?k5Kb%%i3X*b7}KqF0bDPDzX(=@`q0Dr^H zqhg~=la6SZJ1QpQ`X!Hkp_j3`!}otqF;zdDIBXPAmXUm1cW8Nd1&mYy4Bi2MJsqXy znGo9n(Z3qKL8yRlTr%mXEv70;HywfZRcf(e`q#wW>a6dh1L%~pznj2u>=qgw$gB988CE$Z7};|)OF)9<^1Q7tuX@71-2?Ljb# zIT9dHSlF*A#+X{)CF^dL)Ym1nboo{aH+mn$2C4%ar7}C3w!huh{^_&cm}xlcMQHgd zsPVLp@BFiskw>pKzc-S#Jk{aVT{W8p+A|YmLeSZX;IVCgwnOr3`8}wg2iIID=Kg_0 zK7)@eq@>FUE!5?KYEl=}8r!mG+p<3mbj!?BaJrH77o#q1b(KKm7v83c0q1)RdE`SvPpUEhh|SyG`fdWCO+vnrc3urF86J@4i5+kaznz@lwzN z&E4v&S<(9sG48U~Wpw9kb*g?3bmeqbhe(hPJi_3u!pcfFkar1GkH-~6eC44S)ehWB zv^IMQPZR$x*8{amKC<>2P{KOhN@=b!E@);1{5Is%?a@@-H@M1s6@Z5f!A-{#*@^?mP!W3xyMA&1){RzA)Jzo8Sp3IRvK~b6tXE4f zrI^nrzxGV>8RZ;?cMKZT$=LGur}C(WlQo-A^8AoO{B*}utGl@O!%@>!4Ly0aJ zYIW`skY1ENuzm9A3|qgOs1O9*tgI??-5gLuxxuw2;;@g2IL zxa-I|3~NE3=L&C3FMR?dK@qZZQ1^l9vNyI3SLO23+8dpuKBJo-ay`a=;KMgb2I+~@ z$BU!T!}R@*T6Df`v!Lm6v6otGGYG5n53SB`f5ZP3hQ*lb21r)sAQ4q2+sl`|LfP$9 zW?*@C3v?Y%pa47&AVB7EXp!D5AV?kxC^+h`Asas?`0gDaf?ObkC{hUuNZa2$^%&O;Ono_-$tTpZ+nt--^}WfB+h~(otq4Jb4WQbWqT2o3)yR z@5W5brHQEou9q?gpEO)AiM_iT3_2XgJLR!x@3J(Giycxz_~X$x{_87v>RP$~9~NLj zzuWXD0Kq_1(c7o5G_K4eAthFcU^jLE6mjugNT8h~3>J2P(ZZ9dxcsjO`Iy#57|4|a z9r0Z-RrY_~8caX5<^Su|%sh726B?fD1ddvS- z$3@U2b~4JEa;Z&gQ%ouRChl`XL2HKhRunKpWiT@c0OdpMdRXnk|mc<$uWK-Wa~|Wg?L5)Urw>g(UmLJg;^TFg}x-C^JcO zhs4phuW^sM>;W7N;*`_J$+(C+ECuWaK?DEzBC7!JO~hcvW(mmg6SW==O%C$dz;sf9 zzJ15M^4^!6tdmuTGBmX@z}5UfpJ`_&d0|f3&UHJ1#qKx@{~LzIM}43Ue&;u34Q%w$ zb$TFF2HaK-qw>6X+7p6c-y~EZ|{dG>A7A|4%B=HslIl=+OqPsn`Y!D}#kCWL1fPY{Y zRb2cAmsvfk5>y!%{Vzi2*0O?$PAhZetXc-5!qxiKD$M?u1(nB-PvAJvM)b#B=N$NN zCV8Z9gr5}Sx`e;%QK~IgCXj52_HP48rK`33IhL2pHo~T+13ZS9&sfSmFt^Q)+_qUx z_mYH`MoSGIB4g0JAFW?aVxzzavC*Z;399XvZX3@$@Zh-H_Km!Y>s*YL+s{GXM?{Fi zpRBWff1j{4rj?0m<2~1Q!G@m=Y?Vftk2s4^|0{>6KjfJ-2R25oe2rMXj?wY*+UeoS zNTFad=dL!JrMbzsK4{19MjP6!G+O{{E z=V8SP)Pi=-2(Yg|X=__LzsnRi&zXE5v~yi8u$j!r-YWdD$O3`ZaY@@bggNN=3k(3Z zuIKA}^FRFAU?QKoq{IE~jZrzS7TN#4(Tm;Wy_DwTj<-3yZ&zR{aq||FUz^%WmMvgv zXRA?291NPdvA8*s4JX5>G;TR5pEZ3tXKslH5FbEbw(rFEfAvk$*BKSG!7w!@?w3U- zR>&EId5q?XWuUwzfq;Is?-?j>O^KSk6EsO9ua0aTCYOVm1_+zlR58;ezBQ=} z&_Iei@!2sxfB!j1goKh?pVqH0dPSrO@ShN&>!0b`M6ZFYMcK+hCiVZ)BJYNP3&2X@ za`H8$ldRS?L_MS)lkEX-`>WkCI*29Y!m5R*GsU zkB-E#?F)wHB;#AH$D)lPpPL-$otZ+jAjJ7UHz2NhPVJseXfzqXPx6PAA=r z(We8*YfXS-M6s^8(S%0sUq;2VoPqin=sNw)u&m|iab=@qnq(wqlI6zT+~@LtCZsEJ zggZ#X*W7(#$%?@qggOVFYn;vMn0jmJkTaLOX(g9{oco>V8U?$ig@r0&mX(Ry1m2f8 zknR-V$_8!qaAB|UI1ZlNBQ{Jb7|2ZP*%FZJ#Jp z&41cHXCS%Oe5YtB0^UoJPFkC%jVyG}upOk@cAqZ@c92TxqFOHrf>qRkkY=K!1Ih0O z>=Et#6*+f1kSy_K5;5gM>Trsb|`%)_9 zRr<^ROqxyRPCBY6F2`4MH$Rt}mFdy&%BR29|d| zI5keuzZkzs$8}7@%HegIb5QvZsGXYag6AGpi_xVFHIL!2^^{oA81>KvKQs)i6y6Jk zLfaesA=WYRT8;|ISO7 zN7!KzOdG$Ri0$rv)9C$f3C9YKN;9Arw`q!xbf1SroCwj^&i4la5mZ?NU-Q)g8R{-w zlOW|dUX>3BIXGLa41mU+Ma!mV#H_SFP3PS@f4x7uTXV5^DFTK8ufTrNjxqVY2F$l` z%l|^Q@&yTJg7kZmU+);je0wWY93650?Bz+$r&{h8T?3Gjb9LG2KZrWTTzsjK_hHbf_My;A~yqM2*#eO#B)efZF=+W zk2eMPJJF5>JevOYqD|BV6kQ$&y0@+=k!9XbGk$|!jb`I<0$EV(_Q z60bj_M$5{9NfmL>I&5YejQ@w=;RPo)v^|8%CT||b(mUAGj9IKkg1P>0=SAg++i9?6 z!$TSV0Bf#5@c60EH+U5OdrRzImw*O};-oF?9i?FmVq+Mjo0Fy&d)b4pK+7s0rcBI< z-&4^=OBEqhaO-r9(y=Z_Wr#^7_L^=8s=$~XmCuxtR0^ZR)1&o0y}DrVhOM;j00w%> zs7dmW$K9G%X0uYI5c{Hg&VFyrg@HbX4FfC-&?9U^vFGRl zV}$W5ap&$+&gnD5ay<(7Yz(cS;BYQJdz2b$?jn?SFkz9c;noP>ntk5q{r9jy>CMIT zO513n%c+1|Ffh7-b@L_ zdaGNq**T-y^rD`G-`spdb6X&p$CW(Q@AHfvaNuDo?3bw+Srvr<>qI^x%0|wLZ>1m_ z&8GJDs64L2q@{op^BK^Or?UPIOk7HC*G>yd>K(MbYm*o5j3qYG$P*0tlFRG16yb!H zb6nP?vguxlZ}?)N5k{Yw`sov2Soj`=SSOye&Sng^auVX-;vN}h*0)wQs^Rl}JvMVG zBjaVp(i=y=XNQ5837;)5J7lhvl>}z`WvUE|swT8G-RumCa{0&C;?N*mdm?+x6IJ5? zj#c~UyiIqK*S)=}jg2>2Ggwf9Z75aaHYAt=jIM2>grbdE{A@e4cy!dDF8#a0s>rNH zp@4q6Yt4oc>XgZfa@)85q#5(0x*<#$fp4MA4VnlB-$f(Hl~8@cN~q5*POk5Zoq-qt zrVe7$r}u`3EE#X)FXHn=hatCag1~o!`$Dg+x)sTJ3Z$e2oJ!xxM5YKyG7u|4epMZo z8BIF~38u1rIfjLK)9ffe??6D&?#nxZ*91VuQy?#VQ$&r6P zRL>72|G?3{GHI}WtOSp-{|Qk1@rwvCj(1vasbrU=73k7OHF5m_y*&%<_^{EBAFnlA zeD`p|P_fA8TK!}F_2P1fJUgOL-cwTW@%;uZReBx*s!z<|9bC(;5uv~X^{0WO+`0Yl z!LsC=x+gfA-yNtB)Qhi|bi6MXm!wVp$pUFb3pv!6kf9HEv21zPB_O${LhuH5^en*1c>3%5?RV@b)u3C@SBuXhQK0}V*=MKukc z;2IEf%DZS9>nne54gObnl^~>2;`5g;6sMzO1^@#zBCzzISZ=@X==e(~&K?9xq11in zhpx`IG%$!RNjTLH#Cf3?T||FLS}8BZa5YKiGs*z(HKC}O+_&HY!h3R@I4?>{;{9}k zc3jWyFb}vqVh-H5N}p6q(gT+E#eTjQpX$4%jDOg;p_d&5fjf8+g`XhsR4xvgg=Yvl zI&1pHrroVLpMU)D`<8a*2~YJw!Al)|rxp9xXgRzRoJ;Sct}rVtEG{M|C*P5Y!p%Os zyf$Na>oX}KB`TT1lUk;vySJD3O6IK{X8X;tg}#&^7<_4bQX`;$__FTst={33;=i<{ z*GAv+{4k!~`JU5Xn+tk9hkyRmdO|DN1k@!pV%FCkfubOcPAVhh$fMZi(v1+IjF?`^e!lzVR#aDlEJx)KIMS*@~ow zf;czgLzQohSrVeTMJqj#q?8l~TU%r4Ful+Dxg7Iv#J}$9PI=$}K@!1FJR_@;dNMSe zLg|@$MQwDJMuxeWo`$CnU4C{6Q~csq7*V?^-|oyDgPArC zxteN)>m%3u)CL|MHz4*lfEs-2idAlUM7)uJKBZ+#$p*K6Mt=4T_qQR-qLMn8l-sJa zl5@yOAYY?nVq#R79&wE8r9KUPr1W4`bO|Ak_%T^0Y0N!pOwoBKd|OvvQ}bNsV%P82 z1W(9IuA1@?sO?0b;d5upu|*Qr;V>I$r0Itv!9T`ny+C9^Fp*CvfrI+uMc#-6ew+u2 z2>u+Og7%YBqZ>4F@m48+#L?Lqmo8~bZ`K^Szsvr+VRe%7XD^{ZmM>f9`JZ|7Q)}o9e_EAH>)yrt1*uKarYOBYv!K(c6pjGuy z#C@jaG$?38euD@D77``83Ox7FD7t;T-L;d1rK(|T`;r+MypteN;~;`CLUdUCmIb@t zABFvH#-oxjT!irQp5@_5pbQ;@SrO9DIhve8ih$}6j>0G35n@)wSnZrTuHa7hs7DVv zn39q(xIrPs7ei%vYCIh{=5Rz2%{0hLxd)#k6n||HTgze)cg%%MHA|-<`6Wj zDNapI{WOJ=M60hZGE+w_T$UWQkLSM|03ymxqi>J+*;p?Sxx0G|h&nxdxN~$;`n0FJ zyQs9(b1b|FF*7w)5zX=M8Q<{e=eVcHMW7w z%_^MlY`82e(L22*1FJyL8>aNU>iEZ?EzCY&ari`)mR+s#u1aSrb*#d76MB;UKMtU= zSeW6R_A)u?D^@JR&vF3JXe76DxUnd++-nA>0ZmTa(*%c`UETxM!YI1b5x#BIC|h zWPcJ|La6_khP5+IgM+QlPfRFENLiTG(r4}gnS=pyrF`S)1jYKY`>>Bn%!oO9d-v=q z(6jC~)Z|q0LWFiNzPCpyMwTh$r$p!BS6?5{6IO^NAK;P9cSMxZ(K}!nqsDBrl)W} z>g_~rZS8FsVgrXz3}!AhmDsUjAWV#W)%IsqoH}E##(2NAChk+*wIggtqHx3;E@cJB z?!(OWSAm5g9co7zUR(#AYT2@|N4RT8jTgobr<-Ww3#~oIQ5(<9+05Z_mmz$kCJα(^4tMwYt5>Ow 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�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 \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg new file mode 100755 index 0000000..d2f8422 --- /dev/null +++ b/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/spark.config.json b/spark.config.json new file mode 100644 index 0000000..8674554 --- /dev/null +++ b/spark.config.json @@ -0,0 +1,24 @@ +{ + "projectIDs": { + "generateSinglePagePlan": "7c3b6d38-27fc-4379-acbf-b6094281e34f", + "generateMultiplePagePlan": "a04442d8-9a6b-4f20-aa3a-61dd32fe193a", + "generateStylingPlan": "fed28ad9-7cc4-45a3-88ea-aebd8ee6e2fe", + "generateApiPlan": "c4013107-5c9c-4562-9a41-3d775d772abe", + "generateSchema": "06981a2e-2b6f-4c7e-9028-95826c8b8d62", + "generateDynamicallyRenderingReactComponent": "52289de2-d82e-48b6-a3bf-56fd38f3111a", + "generateDynamicallyRenderingReactComponentWithStyledComponents": "4ffd4cd2-9144-48bf-b021-39d210c91226", + "generateDynamicallyRenderingReactComponentWithChakra": "931675f9-f1f3-4052-938c-4441881d7f06", + "generateDynamicallyRenderingReactComponentWithMui": "be51ca8e-35a0-45af-9666-31212bf0dd6d", + "generateNormalReactComponent": "", + "generateVercelServerlessAPI": "03494919-d0c9-465a-a532-3978e79f4429", + "generateSQLExecutionCode": "ebe9f9b3-8e05-4beb-9525-f55b532ee248", + "generateNormalReactPage": "c18b41c5-973c-4247-9186-82872ff4c63d", + "modifySinglePagePlan": "", + "modifyMultiplePagePlan": "", + "modifyApiPlan": "", + "modifySchema": "e2cdc59f-85c3-4188-acbf-dd90f4578518", + "modifyReactComponent": "", + "generateComponentContext": "f2a6aaa5-4f1e-40c8-a222-787b6d2cf2aa", + "mapComponentsToAPIs": "d027ff5d-696b-484c-a77b-560b538d024a" + } +} \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100755 index 0000000..78ebc4e --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,18 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + "./pages/**/*.{js,ts,jsx,tsx,mdx}", + "./components/**/*.{js,ts,jsx,tsx,mdx}", + "./app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + backgroundImage: { + "gradient-radial": "radial-gradient(var(--tw-gradient-stops))", + "gradient-conic": + "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))", + }, + }, + }, + plugins: [], +}; diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..bccb638 --- /dev/null +++ b/vercel.json @@ -0,0 +1,7 @@ +{ + "functions": { + "api/*.js": { + "maxDuration": 60 + } + } + } \ No newline at end of file From e8b0f929af2e7013c842c49a7cb7ba8c67873817 Mon Sep 17 00:00:00 2001 From: Jonny Date: Thu, 28 Nov 2024 19:55:10 +0000 Subject: [PATCH 2/2] Pushing changes --- app/components/Dashboard.js | 308 ++++++++------- app/components/steps/ApiStep.js | 218 +++++++++-- app/components/steps/DashboardOverview.js | 202 ++++++++++ app/components/steps/PagePlanStep.js | 390 ++++++++++++------- app/components/steps/SchemaStep.js | 433 +++++++++++++++------- app/components/steps/StylingStep.js | 142 +++++-- 6 files changed, 1206 insertions(+), 487 deletions(-) create mode 100644 app/components/steps/DashboardOverview.js diff --git a/app/components/Dashboard.js b/app/components/Dashboard.js index 2b3f01e..6147951 100644 --- a/app/components/Dashboard.js +++ b/app/components/Dashboard.js @@ -1,8 +1,9 @@ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect, useMemo, useCallback } from 'react'; import PagePlanStep from './steps/PagePlanStep'; import StylingStep from './steps/StylingStep'; import ApiStep from './steps/ApiStep'; import SchemaStep from './steps/SchemaStep'; +import DashboardOverview from './steps/DashboardOverview'; import { generateSinglePagePlan, generateMultiplePagePlan, @@ -14,208 +15,229 @@ import { mapComponentsToAPIs, } from '../utils/api'; +const INITIAL_STATE = { + pages: [], + context: {}, + styling: { colors: { primary: '#FFC400', secondary: '#FFD7BE', accent: '#8B4513' } }, + apis: [], + apiMappings: {}, + databaseSchema: [], +}; + export default function Dashboard({ formData, onSubmit }) { const [currentStep, setCurrentStep] = useState(1); const [data, setData] = useState(formData); - const [apiResult, setApiResult] = useState({ - pages: [], - context: {}, - styling: { colors: { primary: '#FFC400', secondary: '#FFD7BE', accent: '#8B4513' } }, - apis: [], - apiMappings: {}, // Add apiMappings field to store the results - databaseSchema: [], - }); + const [apiResult, setApiResult] = useState(INITIAL_STATE); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { const fetchData = async () => { + if (currentStep !== 1) return; setLoading(true); setError(null); - try { - if (currentStep === 1) { - const result = - data.appType === 'single' - ? await generateSinglePagePlan(data) - : await generateMultiplePagePlan(data); - setApiResult((prev) => ({ ...prev, pages: result.pages })); - } + const result = data.appType === 'single' + ? await generateSinglePagePlan(data) + : await generateMultiplePagePlan(data); + setApiResult(prev => ({ ...prev, pages: result.pages })); } catch (err) { + console.error('Fetch error:', err); setError('Failed to fetch data. Please try again.'); } finally { setLoading(false); } }; - - if (currentStep === 1) { - fetchData(); - } + fetchData(); }, [currentStep, data]); - const handleNextStep = async () => { + const handleNextStep = useCallback(async () => { setLoading(true); setError(null); - try { - if (currentStep === 1) { - const styling = await generateStylingPlan(data); - setApiResult((prev) => ({ ...prev, styling })); - } else if (currentStep === 2) { - const apis = await generateApiPlan( - `Purpose: ${data.purpose}, Page details: ${JSON.stringify(apiResult.pages)}` - ); - setApiResult((prev) => ({ ...prev, apis })); - } else if (currentStep === 3) { - // Generate API Mappings - const prompt = { - APIs: apiResult.apis, - components: apiResult.context, - }; - const apiMappings = await mapComponentsToAPIs(prompt); - setApiResult((prev) => ({ ...prev, apiMappings })); - } else if (currentStep === 4) { - const schema = await generateSchema( - `Purpose: ${data.purpose}, API details: ${JSON.stringify(apiResult.apis)}` - ); - setApiResult((prev) => ({ ...prev, databaseSchema: schema })); + let updates = {}; + switch (currentStep) { + case 1: { + const styleResult = await generateStylingPlan({ + purpose: data.purpose, + pages: apiResult.pages, + preferences: data.preferences + }); + updates = { styling: styleResult }; + break; + } + case 2: { + const apis = await generateApiPlan({ + purpose: data.purpose, + pages: apiResult.pages + }); + updates = { apis }; + break; + } + case 3: { + const schema = await generateSchema(JSON.stringify({ + purpose: data.purpose, + apis: apiResult.apis, + pages: apiResult.pages + })); + console.log(schema) + updates = { databaseSchema: schema }; + break; + } + case 4: { + const mappings = await mapComponentsToAPIs(JSON.stringify({ + APIs: apiResult.apis, + components: apiResult.context + })); + updates = { apiMappings: mappings }; + break; + } } - - setCurrentStep((prevStep) => prevStep + 1); + setApiResult(prev => ({ + ...prev, + ...updates + })); + setCurrentStep(prev => prev + 1); } catch (err) { - setError('Failed to load the next step. Please try again.'); + console.error('Step error:', err); + setError(`Failed to generate ${currentStep === 1 ? 'styling' : currentStep === 2 ? 'APIs' : currentStep === 3 ? 'mappings' : 'schema'}. Please retry.`); } finally { setLoading(false); } - }; + }, [currentStep, data, apiResult]); - const handleRegenerate = async () => { + const handleRegenerate = useCallback(async () => { setLoading(true); setError(null); - try { - if (currentStep === 1) { - const result = - data.appType === 'single' - ? await generateSinglePagePlan(data) - : await generateMultiplePagePlan(data); - setApiResult((prev) => ({ ...prev, pages: result.pages })); - } else if (currentStep === 2) { - const styling = await generateStylingPlan(data); - setApiResult((prev) => ({ ...prev, styling })); - } else if (currentStep === 3) { - const apis = await generateApiPlan( - `Purpose: ${data.purpose}, Page details: ${JSON.stringify(apiResult.pages)}` - ); - setApiResult((prev) => ({ ...prev, apis })); - } else if (currentStep === 4) { - const schema = await generateSchema( - `Purpose: ${data.purpose}, API details: ${JSON.stringify(apiResult.apis)}` - ); - setApiResult((prev) => ({ ...prev, databaseSchema: schema })); + let updates = {}; + switch (currentStep) { + case 1: { + const pages = await generateSinglePagePlan(data); + updates = { pages }; + break; + } + case 2: { + const styleResult = await generateStylingPlan({ + purpose: data.purpose, + pages: apiResult.pages, + preferences: data.preferences + }); + updates = { styling: { colors: styleResult } }; + break; + } + case 3: { + const apis = await generateApiPlan({ + purpose: data.purpose, + pages: apiResult.pages + }); + updates = { apis }; + break; + } + case 4: { + const schema = await generateSchema({ + purpose: data.purpose, + apis: apiResult.apis, + pages: apiResult.pages + }); + updates = { databaseSchema: schema }; + break; + } } + setApiResult(prev => ({ + ...prev, + ...updates + })); } catch (err) { + console.error('Regenerate error:', err); setError('Failed to regenerate data. Please try again.'); } finally { setLoading(false); } - }; + }, [currentStep, data, apiResult]); - const handlePhaseComplete = (phaseData) => { - // Merge the completed phase data into the apiResult - setApiResult((prev) => ({ ...prev, ...phaseData })); - handleNextStep() - }; - - const handleSave = () => { - const combinedData = { - ...data, - ...apiResult, + const renderStep = useMemo(() => { + const commonProps = { + onRegenerate: handleRegenerate }; - onSubmit(combinedData); - }; - const renderDashboardOverview = () => ( -
-

Dashboard Overview

-
- {apiResult.pages.map((page, pageIndex) => ( -
-

{page.name}

-

{page.purpose}

-
- {page.components.map((component, componentIndex) => ( -
-

{component}

-

- API: {apiResult.apiMappings[component] || 'No API'} -

-
- ))} -
-
- ))} -
-
- ); - - const renderStep = () => { switch (currentStep) { case 1: return ( setApiResult((prev) => ({ ...prev, pages: updatedPages }))} - onAddPage={(newPage) => - setApiResult((prev) => ({ ...prev, pages: [...prev.pages, newPage] })) - } - onDeletePage={(index) => - setApiResult((prev) => ({ - ...prev, - pages: prev.pages.filter((_, i) => i !== index), - })) - } - onRegenerate={handleRegenerate} + onUpdate={(updatedPages) => setApiResult(prev => ({ ...prev, pages: updatedPages }))} + onAddPage={(newPage) => setApiResult(prev => ({ + ...prev, + pages: [...prev.pages, { ...newPage, id: Date.now() }] + }))} + onDeletePage={(index) => setApiResult(prev => ({ + ...prev, + pages: prev.pages.filter((_, i) => i !== index) + }))} onContextCreate={generateComponentContext} - onPhaseComplete={(phaseData) => - handlePhaseComplete({ pages: phaseData.pages, context: phaseData.context }) - } + onPhaseComplete={(phaseData) => { + setApiResult(prev => ({ ...prev, ...phaseData })); + setTimeout(() => handleNextStep(), 0); + }} /> ); case 2: return ( setApiResult((prev) => ({ ...prev, styling: updatedStyling }))} - onRegenerate={handleRegenerate} + onUpdate={(updatedStyling) => { + setApiResult(prev => ({ ...prev, styling: updatedStyling })) + setTimeout(() => handleNextStep(), 0); + }} /> ); case 3: return ( setApiResult((prev) => ({ ...prev, apis: updatedApis }))} - onAddApi={(newApi) => - setApiResult((prev) => ({ ...prev, apis: [...prev.apis, newApi] })) - } - onDeleteApi={(index) => - setApiResult((prev) => ({ + onUpdate={(updatedApis) => { + setApiResult(prev => ({ ...prev, apis: updatedApis })) + setTimeout(() => handleNextStep(), 0); + }} + onAddApi={(newApi) => setApiResult(prev => ({ + ...prev, + apis: [...prev.apis, { ...newApi, id: Date.now() }] + }))} + onDeleteApi={(index) => setApiResult(prev => ({ + ...prev, + apis: prev.apis.filter((_, i) => i !== index) + }))} + /> + ); + case 4: + return ( + { + setApiResult(prev => ({ ...prev, - apis: prev.apis.filter((_, i) => i !== index), + databaseSchema: updatedSchema })) - } - onRegenerate={handleRegenerate} + setTimeout(() => handleNextStep(), 0); + }} + onModifySchema={(prompt) => modifySchema(apiResult.databaseSchema, prompt)} /> ); - case 4: - return renderDashboardOverview(); // Render the dashboard overview after mappings + case 5: + return ; default: return null; } - }; + }, [currentStep, apiResult, handleRegenerate]); return (
@@ -235,9 +257,9 @@ export default function Dashboard({ formData, onSubmit }) {
)} - {renderStep()} + {renderStep}
- {currentStep < 4 && ( + {currentStep < 5 && (

); -} +} \ No newline at end of file diff --git a/app/components/steps/ApiStep.js b/app/components/steps/ApiStep.js index 7c8f032..1d30f1d 100644 --- a/app/components/steps/ApiStep.js +++ b/app/components/steps/ApiStep.js @@ -1,21 +1,90 @@ -import React from 'react'; +import React, { useState, useCallback, useMemo } from 'react'; + +const METHOD_COLORS = { + GET: 'bg-blue-100 text-blue-800', + POST: 'bg-green-100 text-green-800', + PUT: 'bg-yellow-100 text-yellow-800', + DELETE: 'bg-red-100 text-red-800' +}; + +const validateEndpoint = endpoint => /^\/[a-zA-Z0-9\-\_\/{}]*$/.test(endpoint); +const validateName = name => /^[a-zA-Z0-9\-\_\s]{3,50}$/.test(name); export default function ApiStep({ apis, onUpdate, onAddApi, onDeleteApi, onRegenerate }) { - const handleApiChange = (index, e) => { + const [errors, setErrors] = useState({}); + const [showDocs, setShowDocs] = useState({}); + + const handleApiChange = useCallback((index, e) => { const { name, value } = e.target; + let isValid = true; + let errorMessage = ''; + + if (name === 'endpoint') { + isValid = validateEndpoint(value); + errorMessage = 'Endpoint must start with / and contain valid characters'; + } else if (name === 'name') { + isValid = validateName(value); + errorMessage = 'Name must be 3-50 characters and contain valid characters'; + } + + setErrors(prev => ({ + ...prev, + [`${index}-${name}`]: isValid ? null : errorMessage + })); + + if (isValid) { + const updatedApis = [...apis]; + updatedApis[index][name] = value; + onUpdate(updatedApis); + } + }, [apis, onUpdate]); + + const handleAddApi = useCallback(() => { + const newApi = { + name: '', + endpoint: '/', + method: 'GET', + description: '', + parameters: [] + }; + onAddApi(newApi); + }, [onAddApi]); + + const handleAddParameter = useCallback((apiIndex) => { const updatedApis = [...apis]; - updatedApis[index][name] = value; + if (!updatedApis[apiIndex].parameters) { + updatedApis[apiIndex].parameters = []; + } + updatedApis[apiIndex].parameters.push({ name: '', type: 'string', required: false }); onUpdate(updatedApis); - }; + }, [apis, onUpdate]); - const handleAddApi = () => { - const newApi = { name: '', endpoint: '', method: 'GET' }; - onAddApi(newApi); - }; + const toggleDocs = useCallback((index) => { + setShowDocs(prev => ({ ...prev, [index]: !prev[index] })); + }, []); + + const generateDocsPreview = useMemo(() => (api) => { + return ` + ${api.method} ${api.endpoint} + + ${api.description || 'No description provided'} + + Parameters: + ${api.parameters?.map(p => `- ${p.name} (${p.type})${p.required ? ' [Required]' : ''}`).join('\n') || 'None'} + `; + }, []); return (
-

API Management

+
+

API Management

+ +
{apis.map((api, index) => ( @@ -30,10 +99,16 @@ export default function ApiStep({ apis, onUpdate, onAddApi, onDeleteApi, onRegen name="name" value={api.name} onChange={(e) => handleApiChange(index, e)} - className="border border-gray-300 p-2 w-full rounded focus:outline-none focus:ring-2 focus:ring-blue-500" + className={`border p-2 w-full rounded focus:ring-2 focus:ring-blue-500 ${ + errors[`${index}-name`] ? 'border-red-500' : 'border-gray-300' + }`} placeholder="Enter API Name" /> + {errors[`${index}-name`] && ( +

{errors[`${index}-name`]}

+ )}
+
+
- +
+ + + disabled={state.isConfirmed} + className={`border p-2 w-full rounded h-24 ${state.isConfirmed ? 'bg-gray-100' : ''}`} + />
- {!isConfirmed && ( + {!state.isConfirmed && ( )} - + handleDragEnd(result, pageIndex)}> @@ -142,59 +228,55 @@ export default function PagePlanStep({ key={componentIndex} draggableId={`component-${pageIndex}-${componentIndex}`} index={componentIndex} + isDragDisabled={state.isConfirmed} > {(provided) => (
-
- - handleComponentChange( - pageIndex, - componentIndex, - e - ) - } - disabled={isConfirmed} - className="border p-2 rounded w-full" - /> -
- - {/* Display Editable Component Context */} - {componentContext[component] && ( -
-

- {component} Context -

- {Object.entries(componentContext[component]).map( - ([key, value]) => ( -
- - - handleContextFieldChange( - component, - key, - e.target.value - ) - } - className="border p-2 rounded w-full" - /> -
- ) +
+ +
+ {component} + {state.isConfirmed && state.componentContext[component] && ( +
+

{component} Context

+ {Object.entries(state.componentContext[component]).map(([key, value]) => ( +
+ + updateState({ + componentContext: { + ...state.componentContext, + [component]: { + ...state.componentContext[component], + [key]: e.target.value + } + } + })} + className="border p-2 rounded w-full" + /> +
+ ))} +
)}
- )} + {!state.isConfirmed && ( + + )} +
)} @@ -204,34 +286,62 @@ export default function PagePlanStep({ )} + + {!state.isConfirmed && ( +
+ updateState({ newComponent: e.target.value })} + placeholder="New Component" + className="border p-2 rounded flex-1" + /> + +
+ )}
))} - - {isConfirmed && !isContextConfirmed && ( + + {!state.isConfirmed && ( + + )} + + {state.isConfirmed && !state.isContextConfirmed && (
- {loadingContext ? ( + {state.loadingContext ? (

Generating Component Context...

- ) : contextError ? ( -

{contextError}

+ ) : state.contextError ? ( +
+

{state.contextError}

+ +
) : ( )}
)} - - {!isConfirmed && ( - - )} ); -} +} \ No newline at end of file diff --git a/app/components/steps/SchemaStep.js b/app/components/steps/SchemaStep.js index 3d629ca..f96d9f6 100644 --- a/app/components/steps/SchemaStep.js +++ b/app/components/steps/SchemaStep.js @@ -1,167 +1,334 @@ -import React, { useState } from 'react'; +import React, { useState, useCallback, useMemo } from 'react'; + +const DATA_TYPES = [ + 'VARCHAR', 'TEXT', 'INTEGER', 'FLOAT', 'DECIMAL', 'BOOLEAN', + 'DATE', 'TIMESTAMP', 'JSON', 'UUID' +]; export default function SchemaStep({ schema, onUpdate, onModifySchema, onRegenerate }) { const [editableSchema, setEditableSchema] = useState(schema); + const [errors, setErrors] = useState({}); + const [activeTable, setActiveTable] = useState(null); - const handleTableNameChange = (index, value) => { - const updatedSchema = [...editableSchema]; - updatedSchema[index].tableName = value; - setEditableSchema(updatedSchema); - }; + const validateField = useCallback((value, type) => { + switch (type) { + case 'tableName': + return /^[a-zA-Z][a-zA-Z0-9_]*$/.test(value) + ? null + : 'Table name must start with a letter and contain only letters, numbers, and underscores'; + case 'columnName': + return /^[a-zA-Z][a-zA-Z0-9_]*$/.test(value) + ? null + : 'Column name must start with a letter and contain only letters, numbers, and underscores'; + default: + return null; + } + }, []); - const handleColumnChange = (tableIndex, columnIndex, field, value) => { - const updatedSchema = [...editableSchema]; - updatedSchema[tableIndex].columns[columnIndex][field] = value; - setEditableSchema(updatedSchema); - }; + const handleTableNameChange = useCallback((index, value) => { + const error = validateField(value, 'tableName'); + setErrors(prev => ({ ...prev, [`table-${index}`]: error })); + + if (!error) { + const updatedSchema = [...editableSchema]; + updatedSchema[index].tableName = value; + setEditableSchema(updatedSchema); + } + }, [editableSchema, validateField]); - const handleAddColumn = (tableIndex) => { + const handleColumnChange = useCallback((tableIndex, columnIndex, field, value) => { const updatedSchema = [...editableSchema]; - updatedSchema[tableIndex].columns.push({ name: '', type: '' }); - setEditableSchema(updatedSchema); - }; + const error = field === 'name' ? validateField(value, 'columnName') : null; + + setErrors(prev => ({ + ...prev, + [`column-${tableIndex}-${columnIndex}`]: error + })); - const handleDeleteColumn = (tableIndex, columnIndex) => { + if (!error) { + updatedSchema[tableIndex].columns[columnIndex][field] = value; + setEditableSchema(updatedSchema); + } + }, [editableSchema, validateField]); + + const handleAddColumn = useCallback((tableIndex) => { const updatedSchema = [...editableSchema]; - updatedSchema[tableIndex].columns.splice(columnIndex, 1); + updatedSchema[tableIndex].columns.push({ + name: '', + type: 'VARCHAR', + length: null, + nullable: true, + primaryKey: false, + foreignKey: null + }); setEditableSchema(updatedSchema); - }; + }, [editableSchema]); - const handleAddTable = () => { - const updatedSchema = [ - ...editableSchema, - { tableName: '', columns: [{ name: '', type: '' }] }, - ]; + const handleAddForeignKey = useCallback((tableIndex, columnIndex) => { + const updatedSchema = [...editableSchema]; + updatedSchema[tableIndex].columns[columnIndex].foreignKey = { + table: '', + column: '', + onDelete: 'CASCADE' + }; setEditableSchema(updatedSchema); - }; + }, [editableSchema]); - const handleDeleteTable = (tableIndex) => { + const handleRemoveForeignKey = useCallback((tableIndex, columnIndex) => { const updatedSchema = [...editableSchema]; - updatedSchema.splice(tableIndex, 1); + updatedSchema[tableIndex].columns[columnIndex].foreignKey = null; setEditableSchema(updatedSchema); - }; + }, [editableSchema]); - const handleSaveChanges = () => { - onUpdate(editableSchema); - }; + const handleAddTable = useCallback(() => { + setEditableSchema(prev => [ + ...prev, + { + tableName: '', + columns: [{ + name: 'id', + type: 'INTEGER', + primaryKey: true, + nullable: false + }] + } + ]); + }, []); + + const canSave = useMemo(() => { + return Object.values(errors).every(error => !error) && + editableSchema.every(table => + table.tableName && + table.columns.every(column => column.name && column.type) + ); + }, [errors, editableSchema]); return (
-

Database Schema

- - {editableSchema.map((table, tableIndex) => ( -
-
- handleTableNameChange(tableIndex, e.target.value)} - placeholder="Table Name" - className="text-xl font-bold text-gray-800 border p-2 rounded w-2/3 focus:outline-none focus:ring-2 focus:ring-blue-500" - /> - -
- - - - - - - - - - {table.columns.map((column, columnIndex) => ( - - - - - - ))} - -
Column NameTypeActions
- - handleColumnChange( - tableIndex, - columnIndex, - 'name', - e.target.value - ) - } - placeholder="Column Name" - className="border p-2 rounded w-full focus:outline-none focus:ring-2 focus:ring-blue-500" - /> - - - handleColumnChange( - tableIndex, - columnIndex, - 'type', - e.target.value - ) - } - placeholder="Column Type" - className="border p-2 rounded w-full focus:outline-none focus:ring-2 focus:ring-blue-500" - /> - - -
+
+

Database Schema

+
+
- ))} +
- +
+ {editableSchema.map((table, tableIndex) => ( +
+
+
+ + handleTableNameChange(tableIndex, e.target.value)} + className={`border p-2 rounded w-full ${ + errors[`table-${tableIndex}`] ? 'border-red-500' : 'border-gray-300' + }`} + placeholder="Table Name" + /> + {errors[`table-${tableIndex}`] && ( +

{errors[`table-${tableIndex}`]}

+ )} +
+ +
-
- +
+ + + + + + + + + + + + {table.columns.map((column, columnIndex) => ( + + + + + + + + ))} + +
NameTypeConstraintsForeign KeyActions
+ handleColumnChange( + tableIndex, + columnIndex, + 'name', + e.target.value + )} + className={`border p-2 rounded w-full ${ + errors[`column-${tableIndex}-${columnIndex}`] + ? 'border-red-500' + : 'border-gray-300' + }`} + placeholder="Column Name" + /> + {errors[`column-${tableIndex}-${columnIndex}`] && ( +

+ {errors[`column-${tableIndex}-${columnIndex}`]} +

+ )} +
+ + +
+ + +
+
+ {column.foreignKey ? ( +
+ + +
+ ) : ( + + )} +
+ +
+
+ + +
+ ))} +
+ +
); -} +} \ No newline at end of file diff --git a/app/components/steps/StylingStep.js b/app/components/steps/StylingStep.js index ec8b08c..c7a06cd 100644 --- a/app/components/steps/StylingStep.js +++ b/app/components/steps/StylingStep.js @@ -1,53 +1,113 @@ -import React from 'react'; +import React, { useState, useCallback, useMemo } from 'react'; + +const isValidHexColor = color => /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(color); export default function StylingStep({ styling, onUpdate, onRegenerate }) { - const handleColorChange = (colorName, value) => { - const updatedColors = { ...styling.colors, [colorName]: value }; - onUpdate({ colors: updatedColors }); - }; + console.log(styling) + const [errors, setErrors] = useState({}); + const [previewMode, setPreviewMode] = useState(false); + + const handleColorChange = useCallback((colorName, value) => { + const isValid = isValidHexColor(value); + setErrors(prev => ({ ...prev, [colorName]: isValid ? null : 'Invalid hex color' })); + + if (isValid) { + const updatedColors = { ...styling.colors, [colorName]: value }; + onUpdate({ colors: updatedColors }); + } + }, [styling.colors, onUpdate]); + + const previewStyles = useMemo(() => ({ + backgroundColor: styling.colors.primary, + color: styling.colors.secondary, + borderColor: styling.colors.accent + }), [styling.colors]); return (
-

Styling Plan

- - {/* Regenerate Button */} -
- +
+

Styling Plan

+
+ + +
- {/* Colors Section */} -
-

Color Palette

- {Object.entries(styling.colors).map(([colorName, colorValue]) => ( -
-
- {colorName}: -
+
+
+

Color Palette

+ {Object.entries(styling.colors).map(([colorName, colorValue]) => ( +
+
+
+ +
+
+ handleColorChange(colorName, e.target.value)} + className="border-2 border-gray-300 rounded p-1" + /> + handleColorChange(colorName, e.target.value)} + className={`border p-2 rounded w-32 ${ + errors[colorName] ? 'border-red-500' : '' + }`} + /> +
+ {errors[colorName] && ( +

{errors[colorName]}

+ )} +
+
+
+ ))} +
+ + {previewMode && ( +
+

Preview

+
+

Sample Content

+

+ This is a preview of your selected color scheme. The background uses your primary color, + text uses your secondary color, and borders use your accent color. +

+
- handleColorChange(colorName, e.target.value)} - className="border-2 border-gray-300 rounded-lg mr-2" - /> - handleColorChange(colorName, e.target.value)} - className="border p-2 rounded w-36" - placeholder="#FFFFFF" - />
- ))} + )}
); -} +} \ No newline at end of file