From 9571478a39eac7c4334cad17144bf11d65633bbd Mon Sep 17 00:00:00 2001 From: Tyler Yu Date: Mon, 6 Jan 2025 18:57:28 -0800 Subject: [PATCH] draft: footer --- packages/web/src/App.css | 8 +-- packages/web/src/App.jsx | 20 ++++--- packages/web/src/components/Footer/Footer.css | 46 ++++++++++++++++ packages/web/src/components/Footer/Footer.jsx | 53 +++++++++++++++++++ 4 files changed, 115 insertions(+), 12 deletions(-) create mode 100644 packages/web/src/components/Footer/Footer.css create mode 100644 packages/web/src/components/Footer/Footer.jsx diff --git a/packages/web/src/App.css b/packages/web/src/App.css index db1ae0f..18d4c8c 100644 --- a/packages/web/src/App.css +++ b/packages/web/src/App.css @@ -1,5 +1,9 @@ .App { text-align: center; + min-height: 100vh; + display: flex; + flex-direction: column; + padding-bottom: 60px; } .App-logo { @@ -39,10 +43,6 @@ html, body, #root { height: 100%; - overflow-y: auto; -} - -body { margin: 0; padding: 0; } \ No newline at end of file diff --git a/packages/web/src/App.jsx b/packages/web/src/App.jsx index 3eea2e7..2083b3a 100644 --- a/packages/web/src/App.jsx +++ b/packages/web/src/App.jsx @@ -6,6 +6,7 @@ import Login from "./components/Login/Login"; import Home from "./components/Home/Home"; import UpdatePage from "./components/UpdatePage/UpdatePage"; import Playground from "./components/Playground/Playground"; +import Footer from "./components/Footer/Footer"; import "leaflet/dist/leaflet.css"; import { AuthContextProvider } from "./context/AuthContext"; @@ -25,14 +26,17 @@ function App() { return (
- - } /> - } /> - } /> - } /> - } /> - } /> - +
+ + } /> + } /> + } /> + } /> + } /> + } /> + +
+
); } diff --git a/packages/web/src/components/Footer/Footer.css b/packages/web/src/components/Footer/Footer.css new file mode 100644 index 0000000..15b2321 --- /dev/null +++ b/packages/web/src/components/Footer/Footer.css @@ -0,0 +1,46 @@ +.footer { + padding: 1rem 0; + width: 100%; + border-top: 1px solid #e7e7e7; +} + +.footer-light { + background-color: #f8f9fa; + color: #343a40; +} + +.footer-dark { + background-color: #282c34; + color: #ffffff; + border-top-color: #404040; +} + +.footer-content { + max-width: 1200px; + margin: 0 auto; + padding: 0 1rem; + display: flex; + justify-content: space-between; + align-items: center; +} + +.footer-links { + display: flex; + gap: 1.5rem; +} + +.footer-light .footer-links a { + color: #6c757d; +} + +.footer-light .footer-links a:hover { + color: #343a40; +} + +.footer-dark .footer-links a { + color: #a0a0a0; +} + +.footer-dark .footer-links a:hover { + color: #ffffff; +} \ No newline at end of file diff --git a/packages/web/src/components/Footer/Footer.jsx b/packages/web/src/components/Footer/Footer.jsx new file mode 100644 index 0000000..6325442 --- /dev/null +++ b/packages/web/src/components/Footer/Footer.jsx @@ -0,0 +1,53 @@ +import React from 'react'; +import { Box, Container, Text, HStack, Link, useColorModeValue } from '@chakra-ui/react'; + +const Footer = () => { + const bgColor = useColorModeValue('gray.50', 'gray.900'); + const borderColor = useColorModeValue('gray.200', 'gray.700'); + const textColor = useColorModeValue('gray.600', 'gray.400'); + const hoverColor = useColorModeValue('gray.800', 'white'); + + return ( + + + + © {new Date().getFullYear()} ZotnFound. All rights reserved. + + + + About + + + GitHub + + + + + ); +}; + +export default Footer; \ No newline at end of file