Skip to content

Commit 721e78a

Browse files
authored
Merge pull request #73 from reactjs/sync-8201e7e9
Sync with react.dev @ 8201e7e
2 parents 9a3d1c9 + aefc46a commit 721e78a

File tree

9 files changed

+97
-22
lines changed

9 files changed

+97
-22
lines changed

.github/workflows/analyze.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,26 @@ jobs:
1111
analyze:
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@v3
14+
- uses: actions/checkout@v4
1515

1616
- name: Set up node
17-
uses: actions/setup-node@v3
17+
uses: actions/setup-node@v4
1818
with:
1919
node-version: '20.x'
20+
cache: yarn
21+
cache-dependency-path: yarn.lock
2022

21-
- name: Install dependencies
22-
uses: bahmutov/npm-install@v1.7.10
23+
- name: Restore cached node_modules
24+
uses: actions/cache@v4
25+
with:
26+
path: "**/node_modules"
27+
key: node_modules-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
28+
29+
- name: Install deps
30+
run: yarn install --frozen-lockfile
2331

2432
- name: Restore next build
25-
uses: actions/cache@v3
33+
uses: actions/cache@v4
2634
id: restore-build-cache
2735
env:
2836
cache-name: cache-next-build
@@ -41,7 +49,7 @@ jobs:
4149
run: npx -p nextjs-bundle-analysis@0.5.0 report
4250

4351
- name: Upload bundle
44-
uses: actions/upload-artifact@v3
52+
uses: actions/upload-artifact@v4
4553
with:
4654
path: .next/analyze/__bundle_analysis.json
4755
name: bundle_analysis.json
@@ -73,7 +81,7 @@ jobs:
7381
run: ls -laR .next/analyze/base && npx -p nextjs-bundle-analysis compare
7482

7583
- name: Upload analysis comment
76-
uses: actions/upload-artifact@v3
84+
uses: actions/upload-artifact@v4
7785
with:
7886
name: analysis_comment.txt
7987
path: .next/analyze/__bundle_analysis_comment.txt
@@ -82,7 +90,7 @@ jobs:
8290
run: echo ${{ github.event.number }} > ./pr_number
8391

8492
- name: Upload PR number
85-
uses: actions/upload-artifact@v3
93+
uses: actions/upload-artifact@v4
8694
with:
8795
name: pr_number
8896
path: ./pr_number

.github/workflows/site_lint.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,22 @@ jobs:
1414
name: Lint on node 20.x and ubuntu-latest
1515

1616
steps:
17-
- uses: actions/checkout@v1
17+
- uses: actions/checkout@v4
1818
- name: Use Node.js 20.x
19-
uses: actions/setup-node@v3
19+
uses: actions/setup-node@v4
2020
with:
2121
node-version: 20.x
22+
cache: yarn
23+
cache-dependency-path: yarn.lock
2224

23-
- name: Install deps and build (with cache)
24-
uses: bahmutov/npm-install@v1.8.32
25+
- name: Restore cached node_modules
26+
uses: actions/cache@v4
27+
with:
28+
path: "**/node_modules"
29+
key: node_modules-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
30+
31+
- name: Install deps
32+
run: yarn install --frozen-lockfile
2533

2634
- name: Lint codebase
2735
run: yarn ci-check

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/acknowledgements.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Acknowledgements
44

55
<Intro>
66

7-
React was originally created by [Jordan Walke.](https://github.com/jordwalke) Today, React has a [dedicated full-time team working on it](/community/team), as well as over a thousand [open source contributors.](https://github.com/facebook/react/blob/main/AUTHORS)
7+
React was originally created by [Jordan Walke.](https://github.com/jordwalke) Today, React has a [dedicated full-time team working on it](/community/team), as well as over a thousand [open source contributors.](https://github.com/facebook/react/graphs/contributors)
88

99
</Intro>
1010

src/content/community/team.md

Lines changed: 3 additions & 3 deletions
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" 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

@@ -42,7 +42,7 @@ Current members of the React team are listed in alphabetical order below.
4242
Josh majored in Mathematics and discovered programming while in college. His first professional developer job was to program insurance rate calculations in Microsoft Excel, the paragon of Reactive Programming which must be why he now works on React. In between that time Josh has been an IC, Manager, and Executive at a few startups. outside of work he likes to push his limits with cooking.
4343
</TeamMember>
4444

45-
<TeamMember name="Lauren Tan" permalink="lauren-tan" photo="/images/team/lauren.jpg" github="poteto" twitter="potetotes" threads="potetotes" personal="no.lol" title="Engineer at Meta">
45+
<TeamMember name="Lauren Tan" permalink="lauren-tan" photo="/images/team/lauren.jpg" github="poteto" twitter="potetotes" threads="potetotes" bsky="no.lol" title="Engineer at Meta">
4646
Lauren's programming career peaked when she first discovered the `<marquee>` tag. She’s been chasing that high ever since. She studied Finance instead of CS in college, so she learned to code using Excel instead of Java. Lauren enjoys dropping cheeky memes in chat, playing video games with her partner, and petting her dog Zelda.
4747
</TeamMember>
4848

@@ -62,7 +62,7 @@ Current members of the React team are listed in alphabetical order below.
6262
Noah’s interest in UI programming sparked during his education in music technology at NYU. At Meta, he's worked on internal tools, browsers, web performance, and is currently focused on React. Outside of work, Noah can be found tinkering with synthesizers or spending time with his cat.
6363
</TeamMember>
6464

65-
<TeamMember name="Rick Hanlon" permalink="rick-hanlon" photo="/images/team/rickhanlonii.jpg" github="rickhanlonii" twitter="rickhanlonii" threads="rickhanlonii" personal="rickhanlon.codes" title="Engineer at Meta">
65+
<TeamMember name="Rick Hanlon" permalink="rick-hanlon" photo="/images/team/rickhanlonii.jpg" github="rickhanlonii" twitter="rickhanlonii" threads="rickhanlonii" bsky="ricky.fm" title="Engineer at Meta">
6666
Ricky majored in theoretical math and somehow found himself on the React Native team for a couple years before joining the React team. When he's not programming you can find him snowboarding, biking, climbing, golfing, or closing GitHub issues that do not match the issue template.
6767
</TeamMember>
6868

src/content/learn/thinking-in-react.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,23 @@ Katika hatua ya awali, ulipata vipande viwili vya hali katika programu hii: maan
263263

264264
Sasa wacha tupitie mkakati wetu kwao:
265265

266+
Baada ya kutambua data ya hali ya chini zaidi ya programu yako, unahitaji kutambua ni kijenzi kipi kinawajibika kubadilisha hali hii, au *kinamiliki* hali. Kumbuka: React hutumia mtiririko wa data wa njia moja, kupitisha data chini ya daraja ya vijenzi kutoka kijenzi mzazi hadi cha mtoto. Huenda isieleweke mara moja ni kijenzi gani kinapaswa kumiliki hali gani. Hili linaweza kuwa gumu ikiwa wewe ni mgeni kwa dhana hii, lakini unaweza kuibaini kwa kufuata hatua hizi!
267+
268+
Kwa kila sehemu ya hali katika programu yako:
269+
270+
1. Tambua *kila* kijenzi kinachofanya kitu kulingana na hali hiyo.
271+
2. Tafuta kijenzi chao cha karibu zaidi cha mzazi--kijenzi kilicho juu yao yote katika daraja.
272+
3. Amua mahali ambapo hali inapaswa kudumu:
273+
1. Mara nyingi, unaweza kuweka hali moja kwa moja kwenye mzazi wao wa kawaida.
274+
2. Unaweza pia kuweka hali katika kijenzi fulani juu ya mzazi wao wa kawaida.
275+
3. Iwapo huwezi kupata kipengele ambapo inaeleweka kumiliki jimbo, unda kijenzi kipya kwa ajili ya kushikilia hali pekee na uiongeze mahali fulani katika daraja juu ya kijenzi mzazi cha kawaida.
276+
277+
In the previous step, you found two pieces of state in this application: the search input text, and the thamani of the checkbox. In this example, they always appear together, so it makes sense to put them into the same place.
278+
279+
Katika hatua ya awali, ulipata vipande viwili vya hali katika programu hii: maandishi ya ingizo ya utafutaji, na thamani ya kisanduku cha kuteua. Katika mfano huu, daima huonekana pamoja, kwa hiyo ni mantiki kuviweka katika sehemu moja.
280+
281+
Sasa wacha tupitie mkakati wetu kwao:
282+
266283
1. **Tambua vijenzi vinavyotumia hali:**
267284
* `ProductTable` inahitaji kuchuja orodha ya bidhaa kulingana na hali hiyo (maandishi ya utafutaji na thamani ya kisanduku cha kuteua).
268285
* `SearchBar` inahitaji kuonyesha hali hiyo (maandishi ya utafutaji na thamani ya kisanduku cha kuteua).

src/sidebarReference.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,6 @@
159159
]
160160
},
161161
{
162-
<<<<<<< HEAD
163162
"title": "Directives",
164163
"path": "/reference/react/directives",
165164
"canary": true,
@@ -178,8 +177,6 @@
178177
]
179178
},
180179
{
181-
=======
182-
>>>>>>> 9967ded394d85af74e0ecdbf00feeb7921a28142
183180
"hasSectionHeader": true,
184181
"sectionHeader": "react-dom@{{version}}"
185182
},

0 commit comments

Comments
 (0)