aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/mdx.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-11-22 18:12:32 +0100
committerArmand Philippot <git@armandphilippot.com>2023-11-22 19:01:04 +0100
commit329e7c89bac50be9db2c6d2ec6751ab0ffad42ac (patch)
treee389de0a3ccda15fa3fb0dbaace185c905449f7b /src/components/mdx.tsx
parent0ac690339083f01a0b12a74ec117eeccd055e932 (diff)
refactor(components): replace items prop in Grid with children prop
It is easier to read and to maintain this way. The `items` prop was not useful since we are not manipulating the items. Changes: * extract GridItem component from Grid component * replace `items` prop of type Array<ReactNode> with `children` prop of type ReactNode * remove GridItem styles
Diffstat (limited to 'src/components/mdx.tsx')
-rw-r--r--src/components/mdx.tsx13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/components/mdx.tsx b/src/components/mdx.tsx
index f11dda5..9f0a4a5 100644
--- a/src/components/mdx.tsx
+++ b/src/components/mdx.tsx
@@ -2,7 +2,7 @@ import type { MDXComponents } from 'mdx/types';
import NextImage from 'next/image';
import type { AnchorHTMLAttributes, ImgHTMLAttributes, ReactNode } from 'react';
import { Figure, Heading, Link, List, ListItem } from './atoms';
-import { Code, Grid } from './molecules';
+import { Code, Grid, GridItem } from './molecules';
const Anchor = ({
children = '',
@@ -45,16 +45,15 @@ const Img = ({
return <img {...props} alt={alt} height={height} src={src} width={width} />;
};
-const Gallery = ({ children }: { children: ReactNode[] }) => (
+const Gallery = ({ children }: { children: ReactNode }) => (
<Grid
// eslint-disable-next-line react/jsx-no-literals
gap="sm"
- items={children.map((child, index) => {
- return { id: `${index}`, item: child };
- })}
// eslint-disable-next-line react/jsx-no-literals
sizeMin="250px"
- />
+ >
+ {children}
+ </Grid>
);
export const mdxComponents: MDXComponents = {
@@ -63,6 +62,8 @@ export const mdxComponents: MDXComponents = {
figure: ({ ref, ...props }) => <Figure {...props} />,
Figure,
Gallery,
+ Grid,
+ GridItem,
h1: ({ ref, ...props }) => <Heading {...props} level={1} />,
h2: ({ ref, ...props }) => <Heading {...props} level={2} />,
h3: ({ ref, ...props }) => <Heading {...props} level={3} />,