Skip to content

Commit f59b0ba

Browse files
committed
Add Bluesky as profile link option to team page + footer
1 parent eb174dd commit f59b0ba

File tree

4 files changed

+49
-4
lines changed

4 files changed

+49
-4
lines changed

src/components/Icon/IconBsky.tsx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* Copyright (c) Facebook, Inc. and its affiliates.
3+
*/
4+
5+
import {memo} from 'react';
6+
7+
export const IconBsky = memo<JSX.IntrinsicElements['svg']>(function IconBsky(
8+
props
9+
) {
10+
return (
11+
<svg
12+
aria-label="Bluesky"
13+
viewBox="0 0 16 16"
14+
height="1.25em"
15+
width="1.25em"
16+
fill="currentColor"
17+
xmlns="http://www.w3.org/2000/svg"
18+
{...props}>
19+
<path
20+
className="x19hqcy"
21+
d="M3.468 1.948C5.303 3.325 7.276 6.118 8 7.616c.725-1.498 2.697-4.29 4.532-5.668C13.855.955 16 .186 16 2.632c0 .489-.28 4.105-.444 4.692-.572 2.04-2.653 2.561-4.504 2.246 3.236.551 4.06 2.375 2.281 4.2-3.376 3.464-4.852-.87-5.23-1.98-.07-.204-.103-.3-.103-.218 0-.081-.033.014-.102.218-.379 1.11-1.855 5.444-5.231 1.98-1.778-1.825-.955-3.65 2.28-4.2-1.85.315-3.932-.205-4.503-2.246C.28 6.737 0 3.12 0 2.632 0 .186 2.145.955 3.468 1.948Z"></path>
22+
</svg>
23+
);
24+
});

src/components/Layout/Footer.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import cn from 'classnames';
88
import {ExternalLink} from 'components/ExternalLink';
99
import {IconFacebookCircle} from 'components/Icon/IconFacebookCircle';
1010
import {IconTwitter} from 'components/Icon/IconTwitter';
11+
import {IconBsky} from 'components/Icon/IconBsky';
1112
import {IconGitHub} from 'components/Icon/IconGitHub';
1213

1314
export function Footer() {
@@ -370,6 +371,12 @@ export function Footer() {
370371
className={socialLinkClasses}>
371372
<IconTwitter />
372373
</ExternalLink>
374+
<ExternalLink
375+
aria-label="React on Bluesky"
376+
href="https://bsky.app/profile/react.dev"
377+
className={socialLinkClasses}>
378+
<IconBsky />
379+
</ExternalLink>
373380
<ExternalLink
374381
aria-label="React on Github"
375382
href="https://github.com/facebook/react"

src/components/MDX/TeamMember.tsx

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import * as React from 'react';
66
import Image from 'next/image';
77
import {IconTwitter} from '../Icon/IconTwitter';
88
import {IconThreads} from '../Icon/IconThreads';
9+
import {IconBsky} from '../Icon/IconBsky';
910
import {IconGitHub} from '../Icon/IconGitHub';
1011
import {ExternalLink} from '../ExternalLink';
1112
import {H3} from './Heading';
@@ -19,6 +20,7 @@ interface TeamMemberProps {
1920
photo: string;
2021
twitter?: string;
2122
threads?: string;
23+
bsky?: string;
2224
github?: string;
2325
personal?: string;
2426
}
@@ -33,6 +35,7 @@ export function TeamMember({
3335
github,
3436
twitter,
3537
threads,
38+
bsky,
3639
personal,
3740
}: TeamMemberProps) {
3841
if (name == null || title == null || permalink == null || children == null) {
@@ -62,11 +65,11 @@ export function TeamMember({
6265
</H3>
6366
{title && <div>{title}</div>}
6467
{children}
65-
<div className="sm:flex sm:flex-row flex-wrap">
68+
<div className="sm:flex sm:flex-row flex-wrap text-secondary dark:text-secondary-dark">
6669
{twitter && (
6770
<div className="me-4">
6871
<ExternalLink
69-
aria-label="React on Twitter"
72+
aria-label={`${name} on Twitter`}
7073
href={`https://twitter.com/${twitter}`}
7174
className="hover:text-primary hover:underline dark:text-primary-dark flex flex-row items-center">
7275
<IconTwitter className="pe-1" />
@@ -77,14 +80,25 @@ export function TeamMember({
7780
{threads && (
7881
<div className="me-4">
7982
<ExternalLink
80-
aria-label="React on Threads"
83+
aria-label={`${name} on Threads`}
8184
href={`https://threads.net/${threads}`}
8285
className="hover:text-primary hover:underline dark:text-primary-dark flex flex-row items-center">
8386
<IconThreads className="pe-1" />
8487
{threads}
8588
</ExternalLink>
8689
</div>
8790
)}
91+
{bsky && (
92+
<div className="me-4">
93+
<ExternalLink
94+
aria-label={`${name} on Bluesky`}
95+
href={`https://bsky.app/profile/${bsky}`}
96+
className="hover:text-primary hover:underline dark:text-primary-dark flex flex-row items-center">
97+
<IconBsky className="pe-1" />
98+
{bsky}
99+
</ExternalLink>
100+
</div>
101+
)}
88102
{github && (
89103
<div className="me-4">
90104
<ExternalLink

src/content/community/team.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Current members of the React team are listed in alphabetical order below.
1818
Andrew got started with web development by making sites with WordPress, and eventually tricked himself into doing JavaScript. His favorite pastime is karaoke. Andrew is either a Disney villain or a Disney princess, depending on the day.
1919
</TeamMember>
2020

21-
<TeamMember name="Dan Abramov" permalink="dan-abramov" photo="/images/team/gaearon.jpg" github="gaearon" twitter="dan_abramov2" title="Independent Engineer">
21+
<TeamMember name="Dan Abramov" permalink="dan-abramov" photo="/images/team/gaearon.jpg" github="gaearon" twitter="dan_abramov2" bsky="danabra.mov" title="Independent Engineer">
2222
Dan got into programming after he accidentally discovered Visual Basic inside Microsoft PowerPoint. He has found his true calling in turning [Sebastian](#sebastian-markbåge)'s tweets into long-form blog posts. Dan occasionally wins at Fortnite by hiding in a bush until the game ends.
2323
</TeamMember>
2424

0 commit comments

Comments
 (0)