From 44c3201cf0f9f7511cc6edba54c47652d07d65f2 Mon Sep 17 00:00:00 2001 From: emersoftware <87254036+emersoftware@users.noreply.github.com> Date: Wed, 7 May 2025 17:44:32 -0400 Subject: [PATCH 1/2] translate to english --- components/FormContainer.js | 2 +- components/FormField.js | 14 +++++++------- package-lock.json | 15 +-------------- pages/index.js | 8 ++++---- 4 files changed, 13 insertions(+), 26 deletions(-) diff --git a/components/FormContainer.js b/components/FormContainer.js index 38b1c96..166c79f 100644 --- a/components/FormContainer.js +++ b/components/FormContainer.js @@ -85,7 +85,7 @@ export default function FormContainer() { onClick={addFormField} className='inline-flex bg-gray-800 hover:bg-gray-200 items-center px-3 py-1 text-slate-50 rounded-md' > - Añadir campo + Add field diff --git a/components/FormField.js b/components/FormField.js index dcc1c03..24f56e3 100644 --- a/components/FormField.js +++ b/components/FormField.js @@ -32,9 +32,9 @@ export default function FormField({
- {field.type === "text" && } - {field.type === "number" && } - {field.type === "date" && } + {field.type === "text" && } + {field.type === "number" && } + {field.type === "date" && } {(field.type === "checkbox" || field.type === "radio") && (
@@ -53,7 +53,7 @@ export default function FormField({ className="text-red-600 hover:text-red-900" onClick={() => onDeleteOption(field.id, opt)} > - Eliminar opcion + Delete option
))} @@ -67,7 +67,7 @@ export default function FormField({ className="text-blue-900 hover:text-blue-600" onClick={() => onAddOption(field.id, option)} > - Añadir opción + Add option
@@ -101,7 +101,7 @@ export default function FormField({ className="text-blue-900 hover:text-blue-600" onClick={() => onAddOption(field.id, option)} > - Añadir opción + Add option @@ -112,7 +112,7 @@ export default function FormField({ className="bg-red-700 hover:bg-red-200 text-neutral-100 rounded-md px-3 py-1" onClick={() => onDelete(field.id)} > - Eliminar campo + Delete field diff --git a/package-lock.json b/package-lock.json index 9da4486..281f4b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "adestos-forms", "version": "0.1.0", "dependencies": { "@tailwindcss/forms": "^0.5.3", @@ -431,7 +432,6 @@ "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -745,19 +745,6 @@ "integrity": "sha512-l7bvmSeIwX5lp07WtIiP9u2ytZMv7jIeB8iacR28PuUEFG5j0HGAPnMqyG5kbZNBG2H7tRsrQ4HCjuMOPnANZw==", "dependencies": { "@next/env": "12.3.1", - "@next/swc-android-arm-eabi": "12.3.1", - "@next/swc-android-arm64": "12.3.1", - "@next/swc-darwin-arm64": "12.3.1", - "@next/swc-darwin-x64": "12.3.1", - "@next/swc-freebsd-x64": "12.3.1", - "@next/swc-linux-arm-gnueabihf": "12.3.1", - "@next/swc-linux-arm64-gnu": "12.3.1", - "@next/swc-linux-arm64-musl": "12.3.1", - "@next/swc-linux-x64-gnu": "12.3.1", - "@next/swc-linux-x64-musl": "12.3.1", - "@next/swc-win32-arm64-msvc": "12.3.1", - "@next/swc-win32-ia32-msvc": "12.3.1", - "@next/swc-win32-x64-msvc": "12.3.1", "@swc/helpers": "0.4.11", "caniuse-lite": "^1.0.30001406", "postcss": "8.4.14", diff --git a/pages/index.js b/pages/index.js index 16c2e49..a05cd68 100644 --- a/pages/index.js +++ b/pages/index.js @@ -6,13 +6,13 @@ export default function Home() { return ( <> - Adestos Forms - + Forms +
-

Adestos-Forms

-

Crea tu formulario

+

Forms

+

Create your form

From bc2da3b8e89cdda1f91312342d37dda8c440a1f3 Mon Sep 17 00:00:00 2001 From: emersoftware <87254036+emersoftware@users.noreply.github.com> Date: Wed, 7 May 2025 18:10:04 -0400 Subject: [PATCH 2/2] add preview --- components/FormContainer.js | 70 +++++++++++++++++-------- components/FormPreview.js | 102 ++++++++++++++++++++++++++++++++++++ package.json | 2 +- pages/index.js | 4 +- 4 files changed, 153 insertions(+), 25 deletions(-) create mode 100644 components/FormPreview.js diff --git a/components/FormContainer.js b/components/FormContainer.js index 166c79f..e286bad 100644 --- a/components/FormContainer.js +++ b/components/FormContainer.js @@ -1,9 +1,11 @@ import React, { useState } from 'react'; import FormField from './FormField'; +import FormPreview from './FormPreview'; export default function FormContainer() { const [formContent, setFormContent] = useState([]); const [option, setOption] = useState(""); + const [showPreview, setShowPreview] = useState(false); const addFormField = () => { const field = { @@ -64,31 +66,55 @@ export default function FormContainer() { setFormContent(formField); } + const togglePreview = () => { + setShowPreview(!showPreview); + }; + return ( -
- {formContent.map((field) => ( - - ))} -
-
- +
+
+
+
+

Form Editor

+ +
+ + {formContent.map((field) => ( + + ))} +
+
+ +
+
+ + {showPreview && ( +
+ +
+ )}
); } \ No newline at end of file diff --git a/components/FormPreview.js b/components/FormPreview.js new file mode 100644 index 0000000..38602d6 --- /dev/null +++ b/components/FormPreview.js @@ -0,0 +1,102 @@ +import React from 'react'; + +export default function FormPreview({ formContent }) { + return ( +
+

Form Preview

+
+ {formContent.map((field) => ( +
+ + + {field.type === "text" && ( + + )} + + {field.type === "number" && ( + + )} + + {field.type === "date" && ( + + )} + + {field.type === "checkbox" && ( +
+ {field.options.map((opt) => ( +
+ + +
+ ))} +
+ )} + + {field.type === "radio" && ( +
+ {field.options.map((opt) => ( +
+ + +
+ ))} +
+ )} + + {field.type === "select" && ( + + )} +
+ ))} + + {formContent.length > 0 && ( + + )} +
+
+ ); +} \ No newline at end of file diff --git a/package.json b/package.json index e90d039..3ffd5fe 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", + "dev": "next dev -p 3001", "build": "next build", "start": "next start", "lint": "next lint" diff --git a/pages/index.js b/pages/index.js index a05cd68..d758cf7 100644 --- a/pages/index.js +++ b/pages/index.js @@ -9,8 +9,8 @@ export default function Home() { Forms -
-
+
+

Forms

Create your form