diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-04-08 19:41:40 +0200 | 
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-04-08 19:41:40 +0200 | 
| commit | a5df28fad0dae266a857ae110c43b3cb8b23c996 (patch) | |
| tree | a32ea390e90697dc51c3ccb9018de9da2ee4fac3 /src/components/molecules/layout | |
| parent | 5c75a302c2203cb3ebf31233121026b4775662cf (diff) | |
refactor: use a consistent classname prop and avoid children prop
I was using the FunctionComponent type for some component that do not
use children. So I change the type to VoidFunctionComponent to avoid
mistakes.
I also rename all the "classes" or "additionalClasses" props to
"className" to keep consistency between each components.
Diffstat (limited to 'src/components/molecules/layout')
| -rw-r--r-- | src/components/molecules/layout/branding.tsx | 10 | ||||
| -rw-r--r-- | src/components/molecules/layout/flipping-logo.stories.tsx | 23 | ||||
| -rw-r--r-- | src/components/molecules/layout/flipping-logo.tsx | 12 | 
3 files changed, 29 insertions, 16 deletions
| diff --git a/src/components/molecules/layout/branding.tsx b/src/components/molecules/layout/branding.tsx index efb2e34..9f564bf 100644 --- a/src/components/molecules/layout/branding.tsx +++ b/src/components/molecules/layout/branding.tsx @@ -1,6 +1,6 @@  import Heading from '@components/atoms/headings/heading';  import Link from 'next/link'; -import { FC } from 'react'; +import { VFC } from 'react';  import { useIntl } from 'react-intl';  import styles from './branding.module.scss';  import FlippingLogo from './flipping-logo'; @@ -33,7 +33,7 @@ type BrandingProps = {   *   * Render the branding logo, title and optional baseline.   */ -const Branding: FC<BrandingProps> = ({ +const Branding: VFC<BrandingProps> = ({    baseline,    isHome = false,    photo, @@ -61,7 +61,7 @@ const Branding: FC<BrandingProps> = ({    return (      <div className={styles.wrapper}>        <FlippingLogo -        additionalClasses={styles.logo} +        className={styles.logo}          altText={altText}          logoTitle={logoTitle}          photo={photo} @@ -70,7 +70,7 @@ const Branding: FC<BrandingProps> = ({          isFake={!isHome}          level={1}          withMargin={false} -        additionalClasses={styles.title} +        className={styles.title}        >          {withLink ? (            <Link href="/"> @@ -85,7 +85,7 @@ const Branding: FC<BrandingProps> = ({            isFake={true}            level={4}            withMargin={false} -          additionalClasses={styles.baseline} +          className={styles.baseline}          >            {baseline}          </Heading> diff --git a/src/components/molecules/layout/flipping-logo.stories.tsx b/src/components/molecules/layout/flipping-logo.stories.tsx index 1508269..1ac8de8 100644 --- a/src/components/molecules/layout/flipping-logo.stories.tsx +++ b/src/components/molecules/layout/flipping-logo.stories.tsx @@ -5,11 +5,21 @@ export default {    title: 'Molecules/Layout',    component: FlippingLogoComponent,    argTypes: { -    additionalClasses: { +    altText: { +      control: { +        type: 'text', +      }, +      description: 'Photo alternative text.', +      type: { +        name: 'string', +        required: true, +      }, +    }, +    className: {        control: {          type: 'text',        }, -      description: 'Adds additional classes to the logo wrapper.', +      description: 'Set additional classnames to the logo wrapper.',        table: {          category: 'Options',        }, @@ -18,14 +28,17 @@ export default {          required: false,        },      }, -    altText: { +    logoTitle: {        control: {          type: 'text',        }, -      description: 'Photo alternative text.', +      description: 'An accessible name for the logo.', +      table: { +        category: 'Accessibility', +      },        type: {          name: 'string', -        required: true, +        required: false,        },      },      photo: { diff --git a/src/components/molecules/layout/flipping-logo.tsx b/src/components/molecules/layout/flipping-logo.tsx index 7bb7afc..6f7645f 100644 --- a/src/components/molecules/layout/flipping-logo.tsx +++ b/src/components/molecules/layout/flipping-logo.tsx @@ -1,13 +1,13 @@  import Logo from '@components/atoms/images/logo';  import Image from 'next/image'; -import { FC } from 'react'; +import { VFC } from 'react';  import styles from './flipping-logo.module.scss';  type FlippingLogoProps = {    /** -   * Adds additional classes to the logo wrapper. +   * Set additional classnames to the logo wrapper.     */ -  additionalClasses?: string; +  className?: string;    /**     * Photo alternative text.     */ @@ -27,14 +27,14 @@ type FlippingLogoProps = {   *   * Render a logo and a photo with a flipping effect.   */ -const FlippingLogo: FC<FlippingLogoProps> = ({ -  additionalClasses, +const FlippingLogo: VFC<FlippingLogoProps> = ({ +  className = '',    altText,    logoTitle,    photo,  }) => {    return ( -    <div className={`${styles.logo} ${additionalClasses}`}> +    <div className={`${styles.logo} ${className}`}>        <div className={styles.logo__front}>          <Image src={photo} alt={altText} layout="fill" objectFit="cover" />        </div> | 
