diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-04-04 15:22:35 +0200 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-04-04 15:22:35 +0200 |
| commit | 1fe43a98098eeef254a26b21d77e2d0ce8e55c30 (patch) | |
| tree | dec374b00da9117d52aa6c0cecae59c1cd75b496 /src/components/molecules/layout/flipping-logo.tsx | |
| parent | a46f8f9ffeb2c32ca21d58ce13bff189fec84cb0 (diff) | |
chore: add a FlippingLogo component
Diffstat (limited to 'src/components/molecules/layout/flipping-logo.tsx')
| -rw-r--r-- | src/components/molecules/layout/flipping-logo.tsx | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/components/molecules/layout/flipping-logo.tsx b/src/components/molecules/layout/flipping-logo.tsx new file mode 100644 index 0000000..7bb7afc --- /dev/null +++ b/src/components/molecules/layout/flipping-logo.tsx @@ -0,0 +1,48 @@ +import Logo from '@components/atoms/images/logo'; +import Image from 'next/image'; +import { FC } from 'react'; +import styles from './flipping-logo.module.scss'; + +type FlippingLogoProps = { + /** + * Adds additional classes to the logo wrapper. + */ + additionalClasses?: string; + /** + * Photo alternative text. + */ + altText: string; + /** + * Logo image title. + */ + logoTitle?: string; + /** + * Photo url. + */ + photo: string; +}; + +/** + * FlippingLogo component + * + * Render a logo and a photo with a flipping effect. + */ +const FlippingLogo: FC<FlippingLogoProps> = ({ + additionalClasses, + altText, + logoTitle, + photo, +}) => { + return ( + <div className={`${styles.logo} ${additionalClasses}`}> + <div className={styles.logo__front}> + <Image src={photo} alt={altText} layout="fill" objectFit="cover" /> + </div> + <div className={styles.logo__back}> + <Logo title={logoTitle} /> + </div> + </div> + ); +}; + +export default FlippingLogo; |
