aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/organisms/widgets/social-media.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-10-03 19:36:03 +0200
committerArmand Philippot <git@armandphilippot.com>2023-11-11 18:14:41 +0100
commit0e60743d140aff66eca6df712f653ee20f5d4ef3 (patch)
treee72bc8bf2314a26ba3c8e27e571d72e203bbf0c8 /src/components/organisms/widgets/social-media.tsx
parenta3fb0aa94717aafae897ac293488c43a099c0b2b (diff)
refactor(components): rewrite SocialLink component
* replace default label with a label prop * rename name prop to icon prop
Diffstat (limited to 'src/components/organisms/widgets/social-media.tsx')
-rw-r--r--src/components/organisms/widgets/social-media.tsx10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/components/organisms/widgets/social-media.tsx b/src/components/organisms/widgets/social-media.tsx
index f9dea58..ddeb09c 100644
--- a/src/components/organisms/widgets/social-media.tsx
+++ b/src/components/organisms/widgets/social-media.tsx
@@ -3,7 +3,9 @@ import { List, ListItem, SocialLink, type SocialLinkProps } from '../../atoms';
import { Widget, type WidgetProps } from '../../molecules';
import styles from './social-media.module.scss';
-export type Media = SocialLinkProps;
+export type Media = Required<
+ Pick<SocialLinkProps, 'icon' | 'id' | 'label' | 'url'>
+>;
export type SocialMediaProps = Pick<WidgetProps, 'level' | 'title'> & {
media: Media[];
@@ -22,9 +24,9 @@ export const SocialMedia: FC<SocialMediaProps> = ({ media, ...props }) => {
* @returns {JSX.Element[]} The social links.
*/
const getItems = (links: Media[]): JSX.Element[] =>
- links.map((link, index) => (
- <ListItem key={`media-${index}`}>
- <SocialLink name={link.name} url={link.url} />
+ links.map(({ id, ...link }) => (
+ <ListItem key={id}>
+ <SocialLink {...link} />
</ListItem>
));