blob: 1e4af5e3d96c18cbbe53b0f92ff30bf61b54724b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
import { FC, ReactNode } from 'react';
import styles from './copyright.module.scss';
export type CopyrightDates = {
/**
* The copyright start year.
*/
start: string;
/**
* The copyright end year.
*/
end?: string;
};
export type CopyrightProps = {
/**
* The copyright owner.
*/
owner: string;
/**
* The copyright dates.
*/
dates: CopyrightDates;
/**
* The copyright icon.
*/
icon: ReactNode;
};
/**
* Copyright component
*
* Renders a copyright information (owner, dates, license icon).
*/
export const Copyright: FC<CopyrightProps> = ({ owner, dates, icon }) => {
const getFormattedDate = (date: string) => {
const datetime = new Date(date).toISOString();
return <time dateTime={datetime}>{date}</time>;
};
return (
<div className={styles.wrapper}>
<span className={styles.owner}>{owner}</span>
{icon}
{getFormattedDate(dates.start)}
{dates.end ? (
<>
<span>-</span>
{getFormattedDate(dates.end)}
</>
) : (
''
)}
</div>
);
};
|