diff options
Diffstat (limited to 'src/components/molecules/copyright/copyright.tsx')
| -rw-r--r-- | src/components/molecules/copyright/copyright.tsx | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/components/molecules/copyright/copyright.tsx b/src/components/molecules/copyright/copyright.tsx new file mode 100644 index 0000000..cef8ecb --- /dev/null +++ b/src/components/molecules/copyright/copyright.tsx @@ -0,0 +1,48 @@ +import type { FC, HTMLAttributes } from 'react'; +import { Time } from '../../atoms'; +import styles from './copyright.module.scss'; + +export type CopyrightProps = Omit< + HTMLAttributes<HTMLSpanElement>, + 'children' +> & { + /** + * The start year of the copyright. + */ + from: string; + /** + * The end year of the copyright. + */ + to?: string; + /** + * The copyright owner. + */ + owner: string; +}; + +export const Copyright: FC<CopyrightProps> = ({ + className = '', + from, + owner, + to, + ...props +}) => { + const wrapperClass = `${styles.wrapper} ${className}`; + + /* eslint-disable react/jsx-no-literals -- Symbols allowed */ + return ( + <span {...props} className={wrapperClass}> + © + <Time date={from} hideDay hideMonth /> + {to ? ( + <> + {'-'} + <Time date={to} hideDay hideMonth /> + </> + ) : null}{' '} + {owner} + {'.'} + </span> + ); + /* eslint-enable react/jsx-no-literals */ +}; |
