File tree Expand file tree Collapse file tree 4 files changed +61
-6
lines changed Expand file tree Collapse file tree 4 files changed +61
-6
lines changed Original file line number Diff line number Diff line change @@ -43,6 +43,14 @@ export const UnModifiedFooter = (args: { colorMode: "light" | "dark" }) => {
43
43
className : "hover:text-orange-400" ,
44
44
} ,
45
45
} ,
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
+ } ,
46
54
{
47
55
entity : "nostr" ,
48
56
entityLink : "https://discord.gg/bitcoindevs" ,
Original file line number Diff line number Diff line change 1
1
import React from "react" ;
2
2
import { FooterPartsPrimitiveProps } from "./types" ;
3
- import { TwitterXIcon , GithubIcon , DiscordIcon , NostrIcon } from "../../icons" ;
3
+ import {
4
+ TwitterXIcon ,
5
+ GithubIcon ,
6
+ DiscordIcon ,
7
+ NostrIcon ,
8
+ LinkedinIcon ,
9
+ } from "../../icons" ;
4
10
import { twMerge } from "tailwind-merge" ;
5
11
import clsx from "clsx" ;
12
+ type SupportedSocialMedia =
13
+ | "twitter"
14
+ | "github"
15
+ | "discord"
16
+ | "nostr"
17
+ | "linkedin" ;
6
18
7
- type SupportedSocialMedia = "twitter" | "github" | "discord" | "nostr" ;
8
-
9
- type ManadatorySocialMediaProps < T > = {
19
+ type MandatorySocialMediaProps < T > = {
10
20
entityLink : string ;
11
21
iconProps ?: React . SVGProps < SVGSVGElement > ;
12
22
} & T ;
13
23
14
24
type SocialMediaProps =
15
- | ManadatorySocialMediaProps < {
25
+ | MandatorySocialMediaProps < {
16
26
entity : SupportedSocialMedia ;
17
27
icon ?: React . ReactElement ;
18
28
} >
19
- | ManadatorySocialMediaProps < {
29
+ | MandatorySocialMediaProps < {
20
30
entity : Exclude < string , SupportedSocialMedia > ;
21
31
icon : React . ReactElement ;
22
32
} > ;
@@ -56,6 +66,14 @@ const Platform = ({ platform }: { platform: SocialMediaProps }) => {
56
66
< NostrIcon className = { twMerge ( clsx ( "w-full" , className ) ) } { ...rest } />
57
67
) ;
58
68
}
69
+ if ( entity === "linkedin" ) {
70
+ return (
71
+ < LinkedinIcon
72
+ className = { twMerge ( clsx ( "w-full" , className ) ) }
73
+ { ...rest }
74
+ />
75
+ ) ;
76
+ }
59
77
} ;
60
78
const iconElement = getIcon ( entity ) ;
61
79
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ export { default as FilterIcon } from "./icons/FilterIcon";
17
17
export { default as FilterCloseIcon } from "./icons/FilterCloseIcon" ;
18
18
export { default as GithubIcon } from "./icons/GithubIcon" ;
19
19
export { default as LightningIconSolid } from "./icons/LightningIconSolid" ;
20
+ export { default as LinkedinIcon } from "./icons/LinkedinIcon" ;
20
21
export { default as MicIcon } from "./icons/MicIcon" ;
21
22
export { default as NightIcon } from "./icons/NightIcon" ;
22
23
export { default as NostrIcon } from "./icons/NostrIcon" ;
Original file line number Diff line number Diff line change
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 ;
You can’t perform that action at this time.
0 commit comments