apjames93/mui-storyblok

View on GitHub
src/lib/components/PageGrid/templates/ImageScrollBar/ImageScrollBar.js

Summary

Maintainability
A
0 mins
Test Coverage
F
0%
/* eslint-disable no-plusplus */
import React, { useState } from 'react';
import PropTypes from 'prop-types';
import { ImageScrollBarRow } from './components/ImageScrollBarRow/ImageScrollBarRow';

const scrollbarContainerStyles = {
  width: '100vw',
  height: '100%',
  display: 'flex',
  flexWrap: 'wrap',
  flexDirection: 'row',
  overflowY: 'visible',
};

export const ImageScrollBar = ({
  imageScrollBarRow,
}) => {
  const [windowWidth, setWindowWidth] = useState(window.innerWidth);
  window.addEventListener('resize', () => setWindowWidth(window.innerWidth));
  return (
    <div className="imageScrollBarContainer" style={scrollbarContainerStyles} id="imageScrollBarContainer">
      {
        imageScrollBarRow.map(row => (
          <ImageScrollBarRow images={row.images} windowWidth={windowWidth} />
        ))
      }
    </div>
  );
};

export default ImageScrollBar;

ImageScrollBar.propTypes = {
  imageScrollBarRow: PropTypes.arrayOf(PropTypes.shape({
    component: PropTypes.string.isRequired,
  })).isRequired,
};