diff --git a/src/components/componetsDashboard/Cards/CardBrands.tsx b/src/components/componetsDashboard/Cards/CardBrands.tsx
new file mode 100644
index 0000000..012bca2
--- /dev/null
+++ b/src/components/componetsDashboard/Cards/CardBrands.tsx
@@ -0,0 +1,137 @@
+"use client";
+import { useEffect } from 'react';
+import PropTypes from 'prop-types';
+
+// components
+import SearchBar from '../SearchBar/SearchBar';
+import TableDropdown from '~/components/componetsDashboard/Dropdowns/TableDropdown';
+
+import useDashboardAdminStore from '~/store/dashboardAdminStore';
+
+
+interface BrandsInterface {
+ id: number,
+ name: string,
+};
+
+const BRANDS: BrandsInterface[] = [
+ {
+ id: 1,
+ name: "Audi"
+ },
+ {
+ id: 2,
+ name: "Mitsubishi"
+ }
+];
+
+
+type CardBrandsProps = {
+ color: string
+};
+
+export default function CardBrands({ color }: CardBrandsProps) {
+
+
+ // GLOBAL STORE:
+ const { brands, updateBrands }: any = useDashboardAdminStore();
+
+
+ // LIFE CYCLES:
+ useEffect(() => {
+ updateBrands(BRANDS);
+ }, []);
+
+
+ // COMPONENT:
+ return (
+ <>
+
+
+
+ {/* Projects table */}
+
+
+
+
+ Id
+
+
+ Nombre
+
+
+ Acciones
+
+
+
+
+ {
+ brands.map((BRAND: any, idx: any) => (
+
+
+ {BRAND.id}
+
+
+ {BRAND.name}
+
+
+
+
+
+ ))
+ }
+
+
+
+
+ >
+ );
+};
+
+CardBrands.defaultProps = {
+ color: 'light',
+};
+
+CardBrands.propTypes = {
+ color: PropTypes.oneOf(['light', 'dark']),
+};
diff --git a/src/components/componetsDashboard/Cards/CardCategories.tsx b/src/components/componetsDashboard/Cards/CardCategories.tsx
new file mode 100644
index 0000000..8389e9d
--- /dev/null
+++ b/src/components/componetsDashboard/Cards/CardCategories.tsx
@@ -0,0 +1,137 @@
+"use client";
+import { useEffect } from "react";
+import PropTypes from 'prop-types';
+
+// components
+import SearchBar from '../SearchBar/SearchBar';
+import TableDropdown from '~/components/componetsDashboard/Dropdowns/TableDropdown';
+
+import useDashboardAdminStore from "~/store/dashboardAdminStore";
+
+
+interface CategoriesInterface {
+ id: number,
+ name: string,
+};
+
+const CATEGORIES: CategoriesInterface[] = [
+ {
+ id: 1,
+ name: "Escape"
+ },
+ {
+ id: 2,
+ name: "Pisos"
+ }
+];
+
+
+type CardCategoriesProps = {
+ color: string
+};
+
+export default function CardCategories({ color }: CardCategoriesProps) {
+
+
+ // GLOBAL STORE:
+ const { categories, updateCategories }: any = useDashboardAdminStore();
+
+
+ // LIFE CYCLES:
+ useEffect(() => {
+ updateCategories(CATEGORIES);
+ }, []);
+
+
+ // COMPONENT:
+ return (
+ <>
+
+
+
+ {/* Projects table */}
+
+
+
+
+ Id
+
+
+ Nombre
+
+
+ Acciones
+
+
+
+
+ {
+ categories.map((CATEGORY: any, idx: any) => (
+
+
+ {CATEGORY.id}
+
+
+ {CATEGORY.name}
+
+
+
+
+
+ ))
+ }
+
+
+
+
+ >
+ );
+};
+
+CardCategories.defaultProps = {
+ color: 'light',
+};
+
+CardCategories.propTypes = {
+ color: PropTypes.oneOf(['light', 'dark']),
+};
\ No newline at end of file
diff --git a/src/components/componetsDashboard/Cards/CardOrders.tsx b/src/components/componetsDashboard/Cards/CardOrders.tsx
new file mode 100644
index 0000000..866d064
--- /dev/null
+++ b/src/components/componetsDashboard/Cards/CardOrders.tsx
@@ -0,0 +1,274 @@
+"use client";
+import { useEffect, useState } from 'react';
+import PropTypes from 'prop-types';
+
+// components
+import SearchBar from '../SearchBar/SearchBar';
+import TableDropdown from '~/components/componetsDashboard/Dropdowns/TableDropdown';
+
+import useDashboardAdminStore from '~/store/dashboardAdminStore';
+
+
+interface OrdersInterface {
+ id: number,
+ orderNumber: number,
+ creationDate: string,
+ status: "cancelled" | "declined" | "approved" | "processing" | "inbound" | "delivered",
+ total: number,
+ list: {
+ product: string,
+ quantity: number,
+ value: number
+ }[],
+ payment: {
+ date: string,
+ method: "MercadoPago" | "cash",
+ state: "approved" | "declined" | "pending",
+ approvalNumber: number
+ },
+ client: {
+ name: string,
+ emailAddress: string,
+ phoneNumber: string,
+ address: {
+ department: string,
+ locality: string,
+ neighborhood: string,
+ number: number,
+ references: string
+ }
+ }
+};
+
+
+const ORDERS: OrdersInterface[] = [
+ {
+ id: 1,
+ orderNumber: 123456789098,
+ creationDate: "01 November 2023",
+ status: "declined",
+ total: 2489900,
+ list: [{
+ product: "product A",
+ quantity: 1,
+ value: 2489900
+ }],
+ payment: {
+ date: "01 Novemeber 2023, 10:25 a.m. GMT-3",
+ method: "MercadoPago",
+ state: "approved",
+ approvalNumber: 123456789
+ },
+ client: {
+ name: "John",
+ emailAddress: "johndoe@gmail.com",
+ phoneNumber: "+54 123456789",
+ address: {
+ department: "Departamento",
+ locality: "Localidad",
+ neighborhood: "Barrio",
+ number: 123,
+ references: "Cerca al mall"
+ }
+ }
+ },
+ {
+ id: 2,
+ orderNumber: 324567876543,
+ creationDate: "27 October 2023",
+ status: "delivered",
+ total: 1929900,
+ list: [{
+ product: "product B",
+ quantity: 1,
+ value: 1929900
+ }],
+ payment: {
+ date: "27 October 2023, 10:25 a.m. GMT-3",
+ method: "MercadoPago",
+ state: "approved",
+ approvalNumber: 987654321
+ },
+ client: {
+ name: "Doe",
+ emailAddress: "doejohn@gmail.com",
+ phoneNumber: "+57 123456789",
+ address: {
+ department: "Departamento",
+ locality: "Localidad",
+ neighborhood: "Vecindario",
+ number: 321,
+ references: "Cerca al mall"
+ }
+ }
+ }
+];
+
+
+type CardOrdersProps = {
+ color: string
+};
+
+export default function CardOrders({ color }: CardOrdersProps) {
+
+
+ // GLOBAL STORE:
+ const { orders, updateOrders }: any = useDashboardAdminStore();
+
+
+ // LOCAL STATES:
+ const [showDetails, setShowDetails] = useState
(false);
+
+
+ // LIFECYCLES:
+ useEffect(() => {
+ updateOrders(ORDERS);
+ }, [])
+
+
+ // COMPONENT:
+ return (
+ <>
+
+
+
+
+
+
+
+ Id
+
+
+ Número de orden
+
+
+ Fecha de creación
+
+
+ Estado
+
+
+ Total
+
+
+ Acciones
+
+
+
+
+ {
+ orders.map((PRODUCT: any, idx: any) => (
+ <>
+
+
+ {PRODUCT.id}
+
+
+ {PRODUCT.orderNumber}
+
+
+ {PRODUCT.creationDate}
+
+
+ {PRODUCT.status}
+
+
+ {PRODUCT.total}
+
+
+ {/* */}
+ setShowDetails(true)}>mostrar detalles
+
+
+ {
+ showDetails ? (
+
+ ) : null
+ }
+ >
+ ))
+ }
+
+
+
+
+ >
+ );
+};
+
+CardOrders.defaultProps = {
+ color: 'light',
+};
+
+CardOrders.propTypes = {
+ color: PropTypes.oneOf(['light', 'dark']),
+};
\ No newline at end of file
diff --git a/src/components/componetsDashboard/Cards/CardProducts.tsx b/src/components/componetsDashboard/Cards/CardProducts.tsx
new file mode 100644
index 0000000..fdd663d
--- /dev/null
+++ b/src/components/componetsDashboard/Cards/CardProducts.tsx
@@ -0,0 +1,243 @@
+"use client";
+import { useEffect } from 'react';
+import PropTypes from 'prop-types';
+
+// components
+import SearchBar from '../SearchBar/SearchBar';
+import TableDropdown from '~/components/componetsDashboard/Dropdowns/TableDropdown';
+
+import useDashboardAdminStore from '~/store/dashboardAdminStore';
+
+
+interface ProductsInterface {
+ id: number,
+ name: string,
+ picture: string,
+ category: string,
+ brand: string,
+ stock: number,
+ regularPrice: number,
+ salePrice: number
+};
+
+const PRODUCTS: ProductsInterface[] = [
+ {
+ id: 1,
+ name: "Farola Hyundai I35 Elantra 2012 2016 Drl Tubo Led Proyector",
+ picture: "https://media.istockphoto.com/id/1337144146/vector/default-avatar-profile-icon-vector.jpg?s=612x612&w=0&k=20&c=BIbFwuv7FxTWvh5S3vB6bkT0Qv8Vn8N5Ffseq84ClGI=",
+ category: "Farolas",
+ brand: "Hyundai",
+ stock: 10,
+ regularPrice: 2489900,
+ salePrice: 2150910
+ }, {
+ id: 2,
+ name: "Stop Hyundai i35 Elantra 2012-2016 Tubo Led+ Secuencial Giro",
+ picture: "https://media.istockphoto.com/id/1337144146/vector/default-avatar-profile-icon-vector.jpg?s=612x612&w=0&k=20&c=BIbFwuv7FxTWvh5S3vB6bkT0Qv8Vn8N5Ffseq84ClGI=",
+ category: "Farolas",
+ brand: "Audi",
+ stock: 7,
+ regularPrice: 2289900,
+ salePrice: 2060910
+ }, {
+ id: 3,
+ name: "Stop Hyundai i35 Elantra 2012-2016 Tubo Led Full Led Ahumado",
+ picture: "https://media.istockphoto.com/id/1337144146/vector/default-avatar-profile-icon-vector.jpg?s=612x612&w=0&k=20&c=BIbFwuv7FxTWvh5S3vB6bkT0Qv8Vn8N5Ffseq84ClGI=",
+ category: "Farolas",
+ brand: "Mitsubishi",
+ stock: 3,
+ regularPrice: 1929900,
+ salePrice: 1736910
+ }
+];
+
+
+type CardProductsProps = {
+ color: string
+};
+
+export default function CardProducts({ color }: CardProductsProps) {
+
+
+ // GLOBAL STORE:
+ const { products, updateProducts }: any = useDashboardAdminStore();
+
+
+ // LIFE CYCLES:
+ useEffect(() => {
+ updateProducts(PRODUCTS);
+ }, []);
+
+
+ // COMPONENT:
+ return (
+ <>
+
+
+
+
+
+
+
+ Id
+
+
+ Nombre
+
+
+ Categoría
+
+
+ Marca
+
+
+ Stock
+
+
+ Precio regular
+
+
+ Precio de oferta
+
+
+ Acciones
+
+
+
+
+ {
+ products.map((PRODUCT: any, idx: any) => (
+
+
+ {PRODUCT.id}
+
+
+
+
+ {PRODUCT.name}
+
+
+
+ {PRODUCT.category}
+
+
+ {PRODUCT.brand}
+
+
+ = 10 ? "text-[#00FF00]" : PRODUCT.stock >= 5 ? "text-[#FFC107]" : "text-[#FF0000]"}`}> {PRODUCT.stock}
+
+
+
+ {PRODUCT.regularPrice}
+
+
+
+
+ {PRODUCT.salePrice}
+
+
+
+
+
+
+ ))
+ }
+
+
+
+
+ >
+ );
+};
+
+CardProducts.defaultProps = {
+ color: 'light',
+};
+
+CardProducts.propTypes = {
+ color: PropTypes.oneOf(['light', 'dark']),
+};
\ No newline at end of file
diff --git a/src/components/componetsDashboard/Cards/CardProfile.jsx b/src/components/componetsDashboard/Cards/CardProfile.jsx
index c77881f..9835efb 100644
--- a/src/components/componetsDashboard/Cards/CardProfile.jsx
+++ b/src/components/componetsDashboard/Cards/CardProfile.jsx
@@ -71,7 +71,7 @@ export default function CardProfile() {
e.preventDefault()}
+ // onClick={(e) => e.preventDefault()}
>
Show more
diff --git a/src/components/componetsDashboard/Cards/CardTable.jsx b/src/components/componetsDashboard/Cards/CardTable.jsx
index 0c5cb91..04103ed 100644
--- a/src/components/componetsDashboard/Cards/CardTable.jsx
+++ b/src/components/componetsDashboard/Cards/CardTable.jsx
@@ -23,7 +23,7 @@ export default function CardTable({ color }) {
(color === 'light' ? 'text-blueGray-700' : 'text-white')
}
>
- Card Tables
+ Orders