From 9492414d4ae94045eff4e06f636529bc0e71cb06 Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Fri, 20 Oct 2023 17:01:37 +0200
Subject: refactor(components): rewrite Copyright component

* remove `icon` prop (it is confusing because a copyright should have
the copyright symbol, the license is not part of the copyright)
* reorganize copyright informations

I also updated the CC BY SA icon because the elements was in the wrong
order.
---
 src/components/molecules/copyright/copyright.tsx | 48 ++++++++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 src/components/molecules/copyright/copyright.tsx

(limited to 'src/components/molecules/copyright/copyright.tsx')

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}>
+      &copy;
+      <Time date={from} hideDay hideMonth />
+      {to ? (
+        <>
+          {'-'}
+          <Time date={to} hideDay hideMonth />
+        </>
+      ) : null}{' '}
+      {owner}
+      {'.'}
+    </span>
+  );
+  /* eslint-enable react/jsx-no-literals */
+};
-- 
cgit v1.2.3

