mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
New: Project Aphrodite
This commit is contained in:
59
frontend/src/Components/Modal/ModalBody.js
Normal file
59
frontend/src/Components/Modal/ModalBody.js
Normal file
@@ -0,0 +1,59 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import React, { Component } from 'react';
|
||||
import { scrollDirections } from 'Helpers/Props';
|
||||
import Scroller from 'Components/Scroller/Scroller';
|
||||
import styles from './ModalBody.css';
|
||||
|
||||
class ModalBody extends Component {
|
||||
|
||||
//
|
||||
// Render
|
||||
|
||||
render() {
|
||||
const {
|
||||
innerClassName,
|
||||
scrollDirection,
|
||||
children,
|
||||
...otherProps
|
||||
} = this.props;
|
||||
|
||||
let className = this.props.className;
|
||||
const hasScroller = scrollDirection !== scrollDirections.NONE;
|
||||
|
||||
if (!className) {
|
||||
className = hasScroller ? styles.modalScroller : styles.modalBody;
|
||||
}
|
||||
|
||||
return (
|
||||
<Scroller
|
||||
className={className}
|
||||
scrollDirection={scrollDirection}
|
||||
scrollTop={0}
|
||||
{...otherProps}
|
||||
>
|
||||
{
|
||||
hasScroller ?
|
||||
<div className={innerClassName}>
|
||||
{children}
|
||||
</div> :
|
||||
children
|
||||
}
|
||||
</Scroller>
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ModalBody.propTypes = {
|
||||
className: PropTypes.string,
|
||||
innerClassName: PropTypes.string,
|
||||
children: PropTypes.node,
|
||||
scrollDirection: PropTypes.oneOf([scrollDirections.NONE, scrollDirections.HORIZONTAL, scrollDirections.VERTICAL])
|
||||
};
|
||||
|
||||
ModalBody.defaultProps = {
|
||||
innerClassName: styles.innerModalBody,
|
||||
scrollDirection: scrollDirections.VERTICAL
|
||||
};
|
||||
|
||||
export default ModalBody;
|
Reference in New Issue
Block a user