Skip to content

Commit 28cde77

Browse files
committed
patch: add linkedin icon
1 parent e2951b6 commit 28cde77

File tree

4 files changed

+42
-3
lines changed

4 files changed

+42
-3
lines changed

src/components/footer/Footer.stories.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,14 @@ export const UnModifiedFooter = (args: { colorMode: "light" | "dark" }) => {
4343
className: "hover:text-orange-400",
4444
},
4545
},
46+
{
47+
entity: "linkedin",
48+
entityLink:
49+
"https://www.linkedin.com/company/bitcoin-dev-project/",
50+
iconProps: {
51+
className: "hover:text-orange-400",
52+
},
53+
},
4654
{
4755
entity: "nostr",
4856
entityLink: "https://discord.gg/bitcoindevs",

src/components/footer/FooterSocials.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import React from "react";
22
import { FooterPartsPrimitiveProps } from "./types";
3-
import { TwitterXIcon, GithubIcon, DiscordIcon, NostrIcon } from "../../icons";
3+
import { TwitterXIcon, GithubIcon, DiscordIcon, NostrIcon, LinkedinIcon } from "../../icons";
44
import { twMerge } from "tailwind-merge";
55
import clsx from "clsx";
6-
7-
type SupportedSocialMedia = "twitter" | "github" | "discord" | "nostr";
6+
type SupportedSocialMedia = "twitter" | "github" | "discord" | "nostr" | "linkedin";
87

98
type ManadatorySocialMediaProps<T> = {
109
entityLink: string;
@@ -56,6 +55,9 @@ const Platform = ({ platform }: { platform: SocialMediaProps }) => {
5655
<NostrIcon className={twMerge(clsx("w-full", className))} {...rest} />
5756
);
5857
}
58+
if(entity === "linkedin"){
59+
return (<LinkedinIcon className={twMerge(clsx("w-full", className))} {...rest} />)
60+
}
5961
};
6062
const iconElement = getIcon(entity);
6163

src/icons.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export { default as FilterIcon } from "./icons/FilterIcon";
1717
export { default as FilterCloseIcon } from "./icons/FilterCloseIcon";
1818
export { default as GithubIcon } from "./icons/GithubIcon";
1919
export { default as LightningIconSolid } from "./icons/LightningIconSolid";
20+
export { default as LinkedinIcon } from "./icons/LinkedinIcon";
2021
export { default as MicIcon } from "./icons/MicIcon";
2122
export { default as NightIcon } from "./icons/NightIcon";
2223
export { default as NostrIcon } from "./icons/NostrIcon";

src/icons/LinkedinIcon.tsx

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import * as React from "react";
2+
import { SVGProps } from "react";
3+
4+
const LinkedinIcon = ({
5+
width = 52,
6+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
7+
height,
8+
...props
9+
}: SVGProps<SVGSVGElement>) => (
10+
// height is destructed and unused, scaling is defined by width
11+
<svg
12+
xmlns="http://www.w3.org/2000/svg"
13+
width={width}
14+
viewBox="0 0 24 24"
15+
fill="none"
16+
stroke="currentColor"
17+
strokeWidth={2}
18+
strokeLinecap="round"
19+
strokeLinejoin="round"
20+
{...props}
21+
>
22+
<path d="M16 8a6 6 0 016 6v7h-4v-7a2 2 0 00-2-2 2 2 0 00-2 2v7h-4v-7a6 6 0 016-6z" />
23+
<rect x={2} y={9} width={4} height={12} />
24+
<circle cx={4} cy={4} r={2} />
25+
</svg>
26+
);
27+
28+
export default LinkedinIcon;

0 commit comments

Comments
 (0)