diff --git a/app/admin/page.tsx b/app/admin/page.tsx new file mode 100644 index 0000000..a88b02f --- /dev/null +++ b/app/admin/page.tsx @@ -0,0 +1,147 @@ +"use client"; +import { useState, useEffect } from "react"; +import { Container } from "@/components/container"; +import { Heading } from "@/components/heading"; +import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { Label } from "@/components/ui/label"; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; + +import { NavBar } from "@/components/navbar"; +import { Footer } from "@/components/footer"; + +export default function AdminPage() { + const [isLoggedIn, setIsLoggedIn] = useState(false); + const [email, setEmail] = useState(""); + const [password, setPassword] = useState(""); + const [orders, setOrders] = useState([]); + + useEffect(() => { + // Load all orders from localStorage + const allOrders = []; + for (let i = 0; i < localStorage.length; i++) { + const key = localStorage.key(i); + if (key?.startsWith("order_")) { + allOrders.push({ id: key.replace("order_", ""), ...JSON.parse(localStorage.getItem(key) || "{}") }); + } + } + setOrders(allOrders); + }, [isLoggedIn]); + + const handleLogin = (e: React.FormEvent) => { + e.preventDefault(); + if (email === "palacioteni@outlook.com" && password === "12345678") { + setIsLoggedIn(true); + } else { + alert("Credenciales incorrectas"); + } + }; + + const updateOrderStatus = (id: string, status: string) => { + const order = JSON.parse(localStorage.getItem(`order_${id}`) || "{}"); + order.status = status; + localStorage.setItem(`order_${id}`, JSON.stringify(order)); + setIsLoggedIn(false); // Trigger reload + setTimeout(() => setIsLoggedIn(true), 10); + }; + + const updateTracking = (id: string, tracking: string) => { + const order = JSON.parse(localStorage.getItem(`order_${id}`) || "{}"); + order.trackingNumber = tracking; + localStorage.setItem(`order_${id}`, JSON.stringify(order)); + alert("Guía actualizada"); + }; + + if (!isLoggedIn) { + return ( +
+ + + + Admin Login + +
+
+ + setEmail(e.target.value)} /> +
+
+ + setPassword(e.target.value)} /> +
+ +
+
+
+
+
+
+ ); + } + + return ( +
+ + + Panel de Administración + + + Pedidos + Productos + + + +
+ {orders.map((order) => ( + + +
+
+

Orden #{order.id}

+

{order.name} - {order.email}

+

{order.product} - ${order.price} USD

+
+
+
+ +
+
+ updateTracking(order.id, e.target.value)} + /> +
+
+
+
+
+ ))} +
+
+ + + + +

Módulo de edición de productos en desarrollo...

+
+
+
+
+
+
+ ); +}