Skip to content

Instantly share code, notes, and snippets.

View codigoconjuan's full-sized avatar

Juan Pablo De la torre Valdez codigoconjuan

View GitHub Profile
@codigoconjuan
codigoconjuan / index.html
Last active April 7, 2025 07:06
Base de Nucleus IA En JS
<div class=" max-w-2xl mx-auto flex flex-col space-y-3">
<h1
class="inline-block text-8xl font-bold bg-gradient-to-r from-purple-500 to-purple-800 bg-clip-text text-transparent text-center my-10"
>AI Nucleus</h1>
<form class='flex flex-col space-y-3' >
<label htmlFor="prompt" class='text-white font-bold text-2xl text-center'>
¿Cómo puedo ayudarte?
</label>
<div class="relative">
<input
@codigoconjuan
codigoconjuan / GenerateAI.tsx
Created March 24, 2025 23:24
Generar Recetas con IA en React y TypeScript
export default function GenerateAI() {
return (
<>
<h1 className="text-6xl font-extrabold">Generar Receta con IA</h1>
<div className="max-w-4xl mx-auto">
<form
@codigoconjuan
codigoconjuan / IAView.vue
Last active March 27, 2025 19:17
Formulario para generar con IA en Vue 3
<script setup>
</script>
<template>
<h1 class="text-6xl font-extrabold">Generar Receta con IA</h1>
<div class="max-w-4xl mx-auto">
<form
class='flex flex-col space-y-3 py-10'
@codigoconjuan
codigoconjuan / page.tsx
Last active March 27, 2025 19:17
Página de Inicio CashTrackr Next.js
import Logo from "@/components/ui/Logo";
import Link from "next/link";
export default function Home() {
return (
<>
<header className=" bg-purple-950 py-5">
<div className="max-w-3xl mx-auto flex flex-col lg:flex-row items-center">
<div className="w-96 lg:w-[500px]">
@codigoconjuan
codigoconjuan / UploadProductImage.tsx
Last active November 16, 2024 20:40
Subir Imágenes react-dropzone
<div className="space-y-1">
<label className="block text-sm font-medium leading-6 text-gray-900">
Imagen Producto
</label>
<div {...getRootProps({
className: `
py-20 border-2 border-dashed text-center
${isDragActive ? 'border-gray-900 text-gray-900 bg-gray-200 ' : 'border-gray-400 text-gray-400 bg-white'}
${isDragReject ? 'border-none bg-white' : 'cursor-not-allowed'}
`})}>
@codigoconjuan
codigoconjuan / schemas.ts
Last active November 16, 2024 20:39
Schema de Validación para Productos en Next.js
export const ProductFormSchema = z.object({
name: z.string()
.min(1, {message: 'El Nombre del Producto no puede ir vacio'}),
price: z.coerce.number({message: 'Precio no válido'})
.min(1, {message: 'El Precio debe ser mayor a 0'}),
inventory: z.coerce.number({message: 'Inventario no válido'})
.min(1, {message: 'El inventario debe ser mayor a 0'}),
categoryId: z.coerce.number({message: 'La Categoria no es válida'})
})
@codigoconjuan
codigoconjuan / ProductForm.tsx
Last active March 10, 2025 19:41
Formulario para crear Productos en Next.js y NestJS
export default async function ProductForm() {
return (
<>
<div className="space-y-2 ">
<label
htmlFor="name"
className="block"
@codigoconjuan
codigoconjuan / utils.ts
Last active November 16, 2024 20:35
Revisar si la página es válida o no
export function isValidPage(value: number) {
if (value == null) {
return false;
}
if (typeof value !== 'number' && isNaN(value)) {
return false;
}
if (value <= 0) {
@codigoconjuan
codigoconjuan / ProductsTable.tsx
Last active November 16, 2024 20:35
Tabla de Products para POS en Nest y Next.js
export default function ProductsTable() {
const products = []
return (
<div className="px-4 sm:px-6 lg:px-8 mt-10">
<div className="mt-8 flow-root ">
<div className="-mx-4 -my-2 overflow-x-auto sm:-mx-6 lg:-mx-8">
<div className="inline-block min-w-full py-2 align-middle sm:px-6 lg:px-8 bg-white p-5 ">
<table className="min-w-full divide-y divide-gray-300 ">
@codigoconjuan
codigoconjuan / TransactionSummary.tsx
Last active November 16, 2024 20:34
Mostrar Detalles de Venta
export default function TransactionSummary() {
const transaction = {
contents: []
}
return (
<>
<div className='mt-6 text-sm font-medium text-gray-500 border border-gray-200'>
<p className='text-sm font-black text-gray-900 p-2 bg-gray-200 '>ID: </p>