From 2be291ca130033e40087255d98dc28940bab5d6e Mon Sep 17 00:00:00 2001 From: Alexis Date: Mon, 13 Apr 2026 10:52:28 +0200 Subject: [PATCH] =?UTF-8?q?add:=20implementar=20footer=20con=20informaci?= =?UTF-8?q?=C3=B3n=20del=20proyecto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/layout/Footer.jsx | 41 +++++++++++++++++++ frontend/src/components/layout/MainLayout.jsx | 13 +++--- 2 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 frontend/src/components/layout/Footer.jsx diff --git a/frontend/src/components/layout/Footer.jsx b/frontend/src/components/layout/Footer.jsx new file mode 100644 index 0000000..05091c4 --- /dev/null +++ b/frontend/src/components/layout/Footer.jsx @@ -0,0 +1,41 @@ +import React from 'react'; + +export default function Footer() { + return ( + + ); +} \ No newline at end of file diff --git a/frontend/src/components/layout/MainLayout.jsx b/frontend/src/components/layout/MainLayout.jsx index 9ff0053..60dc8f8 100644 --- a/frontend/src/components/layout/MainLayout.jsx +++ b/frontend/src/components/layout/MainLayout.jsx @@ -1,6 +1,7 @@ import { useState } from 'react'; import { Link, useNavigate, useLocation } from 'react-router-dom'; import { useAuth } from '../../context/AuthContext'; +import Footer from './Footer'; export default function MainLayout({ children }) { const [isDropdownOpen, setIsDropdownOpen] = useState(false); @@ -23,9 +24,10 @@ export default function MainLayout({ children }) { }; return ( -
+ // IMPORTANTE: flex y flex-col son la clave para que el footer se quede abajo +
{/* HEADER */} -
+
{/* Logo / Título */} @@ -35,8 +37,6 @@ export default function MainLayout({ children }) { alt="Deck of Cards Logo" className="w-10 h-10 shadow-sm rounded-xl object-contain" /> - - {/* Texto del título */} Deck of Cards @@ -129,9 +129,12 @@ export default function MainLayout({ children }) {
{/* CONTENIDO PRINCIPAL */} -
+
{children}
+ + {/* FOOTER */} +
); } \ No newline at end of file