1
0
Fork 0
mirror of https://github.com/muerwre/vault-frontend.git synced 2025-05-13 13:46:41 +07:00
vault-frontend/src/components/containers/PageCover/index.tsx
2019-10-23 10:42:25 +07:00

26 lines
817 B
TypeScript

import React, { FC, memo } from 'react';
import * as styles from './styles.scss';
import { createPortal } from 'react-dom';
import { selectNode } from '~/redux/node/selectors';
import { connect } from 'react-redux';
import pick from 'ramda/es/pick';
import { getURL } from '~/utils/dom';
const mapStateToProps = state => pick(['current_cover_image'], selectNode(state));
type IProps = ReturnType<typeof mapStateToProps> & {};
const PageCoverUnconnected: FC<IProps> = memo(({ current_cover_image }) =>
current_cover_image
? createPortal(
<div
className={styles.wrap}
style={{ backgroundImage: `url("${getURL(current_cover_image)}")` }}
/>,
document.body
)
: null
);
const PageCover = connect(mapStateToProps)(PageCoverUnconnected);
export { PageCover };