Restaurant App - Copy this React, Tailwind Component to your project
Aquí-tienes-un-prompt-detallado-para-la-aplicación-que-describes:-----**Prompt:**-"Crear-una-aplicación-web-de-restaurante-en-línea-y-de-servicio-en-sitio-con-las-siguientes-características:-###-Tecnología-y-Estructura---La-aplicación-debe-desarrollarse-en-**React**,-utilizando-**Vite**-para-la-construcción,-**React-Router-DOM**-para-la-navegación,-**Tailwind-CSS**-para-el-estilo,-y-**Context-API**-para-manejar-el-estado.---La-interfaz-debe-contar-con-un-**Navbar**-y-**Footer**-comunes-en-todas-las-páginas,-y-un-link-flotante-de-redes-sociales-en-la-esquina-derecha-de-la-pantalla.-###-Estructura-de-Páginas-y-Componentes-1.-**Landing-Page/Home**:---Debe-contener-opciones-para-**registrarse**-o-**hacer-login**.---Mostrar-las-categorías-y-platos-más-solicitados-con-un-límite-de-hasta-**5-categorías**-y-**10-platos**.---Implementar-paginación-si-es-necesario.-2.-**Acerca-de-Nosotros**:-Página-informativa-sobre-el-restaurante.-3.-**Contáctenos**:-Contiene-un-formulario-básico-de-contacto.-4.-**Formulario-de-Registro**:---Campos:-nombre,-email,-contraseña,-confirmación-de-contraseña,-dirección,-teléfono,-país,-preferencias-de-comida-(selección-múltiple-de-categorías),-y-foto-de-perfil.---Al-registrarse,-se-envía-un-código-de-verificación-de-6-dígitos-al-correo-del-usuario.-Crear-un-componente-para-que-el-usuario-introduzca-este-código-y-valide-su-cuenta-antes-de-hacer-login.-5.-**Perfil-del-Usuario**:---Opciones-para-actualizar-datos-y-cerrar-sesión.-6.-**Historial-de-Pedidos**:---Mostrar-los-pedidos-ordenados-desde-el-más-solicitado-al-menos-solicitado.---Visualizar-platos-y-categorías-favoritos-basados-en-el-historial-de-pedidos.-7.-**Menú**:---Mostrar-categorías-(hamburguesas,-pizzas,-comida-mexicana,-BBQ-ribs,-postres,-bebidas)-en-un-**select**.---Al-seleccionar-un-plato,-abrir-un-**modal**-con-detalles-del-plato,-imagen,-precio,-opciones-de-acompañantes-(papas-fritas,-ensaladas,-etc.),-y-botones-para-ajustar-la-cantidad-(+/-).-8.-**Carrito-de-Compras-y-Delivery**:---Crear-un-formulario-para-los-datos-de-entrega,-donde-el-usuario-puede-seleccionar-una-dirección-registrada-o-añadir-una-nueva.---Elegir-entre-métodos-de-pago:-PayPal-o-pago-en-sitio.---Al-confirmar-la-compra,-mostrar-un-**toast**-agradeciendo-la-orden-y-redirigir-al-usuario-al-home.-###-Funcionalidades-de-Administrador-1.-**Dashboard**:---**Gestión-de-Categorías**:-Crear-un-formulario-para-añadir,-editar-y-eliminar-categorías-(nombre-e-imagen-de-perfil).---**Gestión-de-Platos**:-Crear-un-formulario-para-añadir-platos-a-las-categorías-(nombre,-descripción,-precio,-imagen,-tamaño).---**Gestión-de-Acompañantes**:-Crear-un-formulario-para-añadir-acompañantes-disponibles-(nombre,-descripción).---**Gestión-de-Usuarios**:-Ver-lista-de-usuarios-registrados-y-sus-datos,-con-opciones-para-aprobar,-desaprobar-o-eliminar-usuarios.---**CRUD-General**:-Crear-CRUDs-separados-para-gestionar-platos,-categorías-y-acompañantes.-2.-**Otros-Componentes-Necesarios**:---Cualquier-componente-adicional-para-mejorar-la-experiencia-del-restaurante-en-línea-y-soporte-a-la-pasarela-de-pago-y-dashboard-de-administración."-"Crear-una-aplicación-web-de-restaurante-en-línea-y-de-servicio-en-sitio-con-las-siguientes-características:-Tecnología-y-Estructura-La-aplicación-debe-desarrollarse-en-React,-utilizando-Vite-para-la-construcción,-React-Router-DOM-para-la-navegación,-Tailwind-CSS-para-el-estilo,-y-Context-API-para-manejar-el-estado.-La-interfaz-debe-contar-con-un-Navbar-y-Footer-comunes-en-todas-las-páginas,-y-un-link-flotante-de-redes-sociales-en-la-esquina-derecha-de-la-pantalla.-Estructura-de-Páginas-y-Componentes-Landing-Page/Home:-Debe-contener-opciones-para-registrarse-o-hacer-login.-Mostrar-las-categorías-y-platos-más-solicitados-con-un-límite-de-hasta-5-categorías-y-10-platos.-Implementar-paginación-si-es-necesario.-Acerca-de-Nosotros:-Página-informativa-sobre-el-restaurante.-Contáctenos:-Contiene-un-formulario-básico-de-contacto.-Formulario-de-Registro:-Campos:-nombre,-email,-contraseña,-confirmación-de-contraseña,-dirección,-teléfono,-país,-preferencias-de-comida-(selección-múltiple-de-categorías),-y-foto-de-perfil.-Al-registrarse,-se-envía-un-código-de-verificación-de-6-dígitos-al-correo-del-usuario.-Crear-un-componente-para-que-el-usuario-introduzca-este-código-y-valide-su-cuenta-antes-de-hacer-login.-Perfil-del-Usuario:-Opciones-para-actualizar-datos-y-cerrar-sesión.-Historial-de-Pedidos:-Mostrar-los-pedidos-ordenados-desde-el-más-solicitado-al-menos-solicitado.-Visualizar-platos-y-categorías-favoritos-basados-en-el-historial-de-pedidos.-Menú:-Mostrar-categorías-(hamburguesas,-pizzas,-comida-mexicana,-BBQ-ribs,-postres,-bebidas)-en-un-select.-Al-seleccionar-un-plato,-abrir-un-modal-con-detalles-del-plato,-imagen,-precio,-opciones-de-acompañantes-(papas-fritas,-ensaladas,-etc.),-y-botones-para-ajustar-la-cantidad-(+/-).-Carrito-de-Compras-y-Delivery:-Crear-un-formulario-para-los-datos-de-entrega,-donde-el-usuario-puede-seleccionar-una-dirección-registrada-o-añadir-una-nueva.-Elegir-entre-métodos-de-pago:-PayPal-o-pago-en-sitio.-Al-confirmar-la-compra,-mostrar-un-toast-agradeciendo-la-orden-y-redirigir-al-usuario-al-home.-Funcionalidades-de-Administrador-Dashboard:-Gestión-de-Categorías:-Crear-un-formulario-para-añadir,-editar-y-eliminar-categorías-(nombre-e-imagen-de-perfil).-Gestión-de-Platos:-Crear-un-formulario-para-añadir-platos-a-las-categorías-(nombre,-descripción,-precio,-imagen,-tamaño).-Gestión-de-Acompañantes:-Crear-un-formulario-para-añadir-acompañantes-disponibles-(nombre,-descripción).-Gestión-de-Usuarios:-Ver-lista-de-usuarios-registrados-y-sus-datos,-con-opciones-para-aprobar,-desaprobar-o-eliminar-usuarios.-CRUD-General:-Crear-CRUDs-separados-para-gestionar-platos,-categorías-y-acompañantes.-Otros-Componentes-Necesarios:-Cualquier-componente-adicional-para-mejorar-la-experiencia-del-restaurante-en-línea-y-soporte-a-la-pasarela-de-pago-y-dashboard-de-administración."
