diff --git a/app/favicon.ico b/app/favicon.ico deleted file mode 100644 index 718d6fe..0000000 Binary files a/app/favicon.ico and /dev/null differ diff --git a/app/funciones.js b/app/funciones.js new file mode 100644 index 0000000..8a0271b --- /dev/null +++ b/app/funciones.js @@ -0,0 +1,54 @@ +import React, { useEffect } from 'react'; +import { Chart, registerables } from 'chart.js'; + +// Registra los módulos necesarios de Chart.js +Chart.register(...registerables); + +const ChartComponent = ({ labels = [], datasets = [] }) => { + useEffect(() => { + // Asegúrate de que el canvas se renderice correctamente + const ctx = document.getElementById("myChart").getContext("2d"); + + // Crear los datos para el gráfico + const data = { + labels: labels, + datasets: datasets.map(dataset => ({ + label: dataset.label, + borderColor: dataset.borderColor, + data: dataset.data, + fill: dataset.fill + })) + }; + + // Crear el gráfico + const myLineChart = new Chart(ctx, { + type: 'line', + data: data, + options: { + scales: { + x: { + beginAtZero: true, + title: { + display: true, + text: 'X' + } + }, + y: { + beginAtZero: true, + title: { + display: true, + text: 'Y' + } + } + } + } + }); + + // Limpieza del gráfico cuando el componente se desmonte + return () => myLineChart.destroy(); + }, [labels, datasets]); // Re-renderiza el gráfico cuando cambien los datos + + return ; +}; + +export default ChartComponent; diff --git a/app/globals.css b/app/globals.css index 13d40b8..a90f074 100644 --- a/app/globals.css +++ b/app/globals.css @@ -2,26 +2,3 @@ @tailwind components; @tailwind utilities; -:root { - --background: #ffffff; - --foreground: #171717; -} - -@media (prefers-color-scheme: dark) { - :root { - --background: #0a0a0a; - --foreground: #ededed; - } -} - -body { - color: var(--foreground); - background: var(--background); - font-family: Arial, Helvetica, sans-serif; -} - -@layer utilities { - .text-balance { - text-wrap: balance; - } -} diff --git a/app/layout.js b/app/layout.js index 9800bf8..ff0eb35 100644 --- a/app/layout.js +++ b/app/layout.js @@ -1,17 +1,5 @@ -import localFont from "next/font/local"; import "./globals.css"; -const geistSans = localFont({ - src: "./fonts/GeistVF.woff", - variable: "--font-geist-sans", - weight: "100 900", -}); -const geistMono = localFont({ - src: "./fonts/GeistMonoVF.woff", - variable: "--font-geist-mono", - weight: "100 900", -}); - export const metadata = { title: "Create Next App", description: "Generated by create next app", @@ -20,9 +8,7 @@ export const metadata = { export default function RootLayout({ children }) { return ( - + {children} diff --git a/app/page.js b/app/page.js index 7f0afc2..3d92584 100644 --- a/app/page.js +++ b/app/page.js @@ -1,101 +1,55 @@ -import Image from "next/image"; +"use client"; +import React, { useState } from 'react'; +import Tablero from './funciones'; +const Home = () => { + const [data, setData] = useState({ labels: [], values: [] }); + + const handleClick = () => { + const rangoX = Number(document.getElementById("rangox").value); + const xi = Number(document.getElementById("xi").value); + + // Generar una lista de números desde xi hasta rangoX + const labels = []; + const values = []; + for (let i = xi; i <= rangoX; i++) { + labels.push(i); + values.push(i); // Puedes ajustar la función aquí si deseas otros valores + } + + setData({ labels, values }); + }; -export default function Home() { return ( -
-
- Next.js logo + {/* Entradas */} +
+

Datos:

+ -
    -
  1. - Get started by editing{" "} - - app/page.js - - . -
  2. -
  3. Save and see your changes instantly.
  4. -
- -
- - Vercel logomark - Deploy now - - - Read our docs - -
-
- + Enter + +
+ {/* Tablero */} + ); -} +}; + +export default Home; diff --git a/package-lock.json b/package-lock.json index be1fdb5..bfc3a08 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "expreciones-algebraicas", "version": "0.1.0", "dependencies": { + "chart.js": "^4.4.4", "next": "14.2.11", "react": "^18", "react-dom": "^18" @@ -230,6 +231,12 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@kurkle/color": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", + "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==", + "license": "MIT" + }, "node_modules/@next/env": { "version": "14.2.11", "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.11.tgz", @@ -1185,6 +1192,18 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chart.js": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.4.tgz", + "integrity": "sha512-emICKGBABnxhMjUjlYRR12PmOXhJ2eJjEHL2/dZlWjxRAZT1D8xplLFq5M0tMQK8ja+wBS/tuVEJB5C6r7VxJA==", + "license": "MIT", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=8" + } + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", diff --git a/package.json b/package.json index 5868a4c..d3b857c 100644 --- a/package.json +++ b/package.json @@ -9,14 +9,15 @@ "lint": "next lint" }, "dependencies": { + "chart.js": "^4.4.4", + "next": "14.2.11", "react": "^18", - "react-dom": "^18", - "next": "14.2.11" + "react-dom": "^18" }, "devDependencies": { - "postcss": "^8", - "tailwindcss": "^3.4.1", "eslint": "^8", - "eslint-config-next": "14.2.11" + "eslint-config-next": "14.2.11", + "postcss": "^8", + "tailwindcss": "^3.4.1" } }