mirror of
https://github.com/muerwre/vault-frontend.git
synced 2025-04-25 04:46:40 +07:00
universal backdrop component
This commit is contained in:
parent
327272a08a
commit
f781ecc6aa
4 changed files with 6 additions and 4 deletions
|
@ -1,35 +0,0 @@
|
|||
import React, { FC, useState, useCallback, useEffect } from 'react';
|
||||
import { IUser } from '~/redux/auth/types';
|
||||
import styles from './styles.scss';
|
||||
import { getURL } from '~/utils/dom';
|
||||
import { PRESETS } from '~/constants/urls';
|
||||
import classNames from 'classnames';
|
||||
|
||||
interface IProps {
|
||||
cover: IUser['cover'];
|
||||
}
|
||||
|
||||
const ProfileBackdrop: FC<IProps> = ({ cover }) => {
|
||||
const [is_loaded, setIsLoaded] = useState(false);
|
||||
|
||||
const onLoad = useCallback(() => setIsLoaded(true), [setIsLoaded]);
|
||||
|
||||
const image = getURL(cover, PRESETS.cover);
|
||||
|
||||
useEffect(() => {
|
||||
setIsLoaded(false);
|
||||
}, [cover]);
|
||||
|
||||
if (!cover) return null;
|
||||
|
||||
return (
|
||||
<div
|
||||
className={classNames(styles.cover, { [styles.active]: is_loaded })}
|
||||
style={{ backgroundImage: `url("${image}")` }}
|
||||
>
|
||||
<img src={image} onLoad={onLoad} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export { ProfileBackdrop };
|
Loading…
Add table
Add a link
Reference in a new issue