From f861e6a269ba9f62700776d3cd13b644a9e836d4 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Wed, 20 Sep 2023 16:38:54 +0200 Subject: refactor: use named export for everything except pages Next expect a default export for pages so only those components should use default exports. Everything else should use named exports to reduce the number of import statements. --- src/components/atoms/links/link.tsx | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) (limited to 'src/components/atoms/links/link.tsx') diff --git a/src/components/atoms/links/link.tsx b/src/components/atoms/links/link.tsx index 8991f38..1765bb5 100644 --- a/src/components/atoms/links/link.tsx +++ b/src/components/atoms/links/link.tsx @@ -1,16 +1,12 @@ import NextLink from 'next/link'; -import { FC, ReactNode } from 'react'; +import { AnchorHTMLAttributes, FC, ReactNode } from 'react'; import styles from './link.module.scss'; -export type LinkProps = { +export type LinkProps = AnchorHTMLAttributes & { /** * The link body. */ children: ReactNode; - /** - * Set additional classnames to the link. - */ - className?: string; /** * True if it is a download link. Default: false. */ @@ -34,33 +30,26 @@ export type LinkProps = { * * Render a link. */ -const Link: FC = ({ +export const Link: FC = ({ children, className = '', download = false, external = false, href, lang, + ...props }) => { const downloadClass = download ? styles['link--download'] : ''; + const linkClass = `${styles.link} ${downloadClass} ${className}`; + const externalLinkClass = `${linkClass} ${styles['link--external']}`; return external ? ( - + {children} ) : ( - + {children} ); }; - -export default Link; -- cgit v1.2.3