1
0
Fork 0
mirror of https://github.com/muerwre/vault-frontend.git synced 2025-04-24 20:36:40 +07:00

audio image block

This commit is contained in:
Fedor Katurov 2019-10-22 11:16:17 +07:00
parent 353cadb09f
commit 4fd5142e8b
4 changed files with 63 additions and 0 deletions

View file

@ -146,4 +146,5 @@
pointer-events: none;
touch-action: none;
transition: opacity 0.5s;
display: none;
}

View file

@ -0,0 +1,28 @@
import React, { FC, useMemo } from 'react';
import { INode } from '~/redux/types';
import * as styles from './styles.scss';
import { UPLOAD_TYPES } from '~/redux/uploads/constants';
import path from 'ramda/es/path';
import { getURL } from '~/utils/dom';
interface IProps {
node: INode;
}
const NodeAudioImageBlock: FC<IProps> = ({ node }) => {
const images = useMemo(
() => node.files.filter(file => file && file.type === UPLOAD_TYPES.IMAGE),
[node.files]
);
return (
<div className={styles.wrap}>
<div
className={styles.slide}
style={{ backgroundImage: `url("${getURL(path([0], images))}")` }}
/>
</div>
);
};
export { NodeAudioImageBlock };

View file

@ -0,0 +1,32 @@
.wrap {
@include outer_shadow();
padding-bottom: 33vh;
position: relative;
border-radius: $radius $radius 0 0;
&::after {
border-radius: $radius $radius 0 0;
content: ' ADD PATTERN HERE ';
z-index: 3;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
}
.slide {
@include outer_shadow();
border-radius: $radius $radius 0 0;
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: no-repeat 50% 30%;
background-size: cover;
z-index: 1;
}

View file

@ -4,6 +4,7 @@ import { NodeImageSlideBlock } from '~/components/node/NodeImageSlideBlock';
import { NodeTextBlock } from '~/components/node/NodeTextBlock';
import { NodeAudioBlock } from '~/components/node/NodeAudioBlock';
import { NodeVideoBlock } from '~/components/node/NodeVideoBlock';
import { NodeAudioImageBlock } from '~/components/node/NodeAudioImageBlock';
import { ImageEditor } from '~/components/editors/ImageEditor';
import { TextEditor } from '~/components/editors/TextEditor';
import { VideoEditor } from '~/components/editors/VideoEditor';
@ -71,6 +72,7 @@ type INodeComponents = Record<
export const NODE_COMPONENTS: INodeComponents = {
[NODE_TYPES.IMAGE]: NodeImageSlideBlock,
[NODE_TYPES.VIDEO]: NodeVideoBlock,
[NODE_TYPES.AUDIO]: NodeAudioImageBlock,
};
export const NODE_INLINES: INodeComponents = {