diff --git a/src/assets/left.png b/src/assets/left.png new file mode 100644 index 0000000..5cf9279 Binary files /dev/null and b/src/assets/left.png differ diff --git a/src/assets/right.png b/src/assets/right.png new file mode 100644 index 0000000..92878a1 Binary files /dev/null and b/src/assets/right.png differ diff --git a/src/layout/Footer.jsx b/src/layout/Footer.jsx index 3921eed..c665145 100644 --- a/src/layout/Footer.jsx +++ b/src/layout/Footer.jsx @@ -17,7 +17,7 @@ export default function Footer() { } return ( -
+
diff --git a/src/layout/header/components/NavigationBar.jsx b/src/layout/header/components/NavigationBar.jsx index 602c525..23c2626 100644 --- a/src/layout/header/components/NavigationBar.jsx +++ b/src/layout/header/components/NavigationBar.jsx @@ -1,8 +1,9 @@ -import React from 'react' +import React, {useState, useEffect} from 'react' import {Link} from 'react-router-dom' import DropdownData from './DropdownData' import Instrucciones from '../modals/Instrucciones' import Organizador from '../modals/organizador/Organizador' +import ScrollButton from './ScrollButton' function setZ(toggled) { if (toggled) return 'z-0' @@ -11,12 +12,22 @@ function setZ(toggled) { // Sociedad: Pobreza, Crimen, export default function NavigationBar({toggled, datosDisponibles, setOrganizacionHome, organizacionHome}) { + const [isTouchDevice, setIsTouchDevice] = useState(false); + + useEffect(() => { + const touchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0; + setIsTouchDevice(touchDevice); + }, []); + return (
+ {!isTouchDevice && } + @@ -27,6 +38,7 @@ export default function NavigationBar({toggled, datosDisponibles, setOrganizacio Donar + {!isTouchDevice && }
) } diff --git a/src/layout/header/components/ScrollButton.jsx b/src/layout/header/components/ScrollButton.jsx new file mode 100644 index 0000000..3db7ddb --- /dev/null +++ b/src/layout/header/components/ScrollButton.jsx @@ -0,0 +1,47 @@ +import React, { useEffect, useState } from 'react'; + +export default function ScrollButton({ type }) { + const [isVisible, setIsVisible] = useState(true); + +const updateButtonVisibility = () => { + const parentElement = document.getElementById('slider'); + const { scrollLeft, scrollWidth, clientWidth } = parentElement; + + console.log(scrollLeft, scrollWidth, clientWidth, type) + + if (type === 'right') { + setIsVisible(scrollLeft < scrollWidth - clientWidth); + } + + else { + setIsVisible(scrollLeft > 0) + } +}; + + + useEffect(() => { + const parentElement = document.getElementById('slider'); + parentElement.addEventListener('scroll', updateButtonVisibility); + updateButtonVisibility(); + return () => { + parentElement.removeEventListener('scroll', updateButtonVisibility); + }; + }, [type]); + + const handleClick = () => { + const parentElement = document.getElementById('slider'); + const scrollAmount = type === 'right' ? 200 : -200; + parentElement.scrollBy({ left: scrollAmount, behavior: 'smooth' }); + }; + + const style = type === 'right' ? 'right-0' : 'left-0'; + + return ( + + ); +} diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx index 13f0aa8..039c332 100644 --- a/src/pages/Home.jsx +++ b/src/pages/Home.jsx @@ -36,7 +36,7 @@ export default function Home({cacheData, setCacheData, organizacionHome}) { }, [organizacionHome]) return ( -
+
{componentesHome}
) diff --git a/tailwind.config.js b/tailwind.config.js index 0501fe0..7605056 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -15,7 +15,11 @@ module.exports = { slate: { 850: 'hsl(217, 33%, 16.5%)', } - } + }, + + screens: { + 'xl15': '1370px', + }, }, }, plugins: [