Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions website/showcase.json
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@
"name": "Amazon Alexa",
"icon": "amazon-alexa.webp",
"linkAppStore": "https://apps.apple.com/us/app/amazon-alexa/id944011620",
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.amazon.dee.app&hl=en_US&gl=US"
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.amazon.dee.app&hl=en_US&gl=US",
"pinned": true
},
{
"name": "Amazon Photos",
Expand Down Expand Up @@ -351,4 +352,4 @@
"linkPlayStore": "https://play.google.com/store/apps/details?id=com.brex.mobile&hl=en_US&gl=US"
}
]
}
}
183 changes: 111 additions & 72 deletions website/src/components/Home/Community/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/

import React from 'react';

import useBaseUrl from '@docusaurus/useBaseUrl';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';

Expand All @@ -23,78 +21,119 @@ function Community() {

return (
<Section>
<SectionTitle title="Meta supported. Community driven." />
<div className={styles.featureContainer}>
<div>
<p>
Meta released React Native in 2015 and has been maintaining it ever
since.
</p>
<p>
In 2018, React Native had the{' '}
<a href="https://octoverse.github.com/2018/projects#repositories">
2nd highest
</a>{' '}
number of contributors for any repository in GitHub. Today, React
Native is supported by contributions from individuals and companies
around the world including{' '}
<span>
<a href="https://callstack.com/">Callstack</a>
</span>
,{' '}
<span>
<a href="https://expo.io/">Expo</a>
</span>
, <a href="https://infinite.red/">Infinite Red</a>,{' '}
<a href="https://www.microsoft.com/">Microsoft</a> and{' '}
<a href="https://swmansion.com/">Software Mansion</a>.
</p>
<p>
Our community is always shipping exciting new projects and exploring
platforms beyond Android and iOS with repos like{' '}
<span>
<a href="https://github.com/microsoft/react-native-windows#readme">
React Native Windows
</a>
</span>
,{' '}
<a href="https://github.com/microsoft/react-native-macos#readme">
React Native macOS
</a>{' '}
and{' '}
<a href="https://github.com/necolas/react-native-web#readme">
React Native Web
</a>
.
</p>
</div>
<div>
<p>
<SectionTitle
title="Meta supported. Community driven."
description={
<>
React Native is being used in thousands of apps, but it's likely
you've already used it in one of these apps:
</p>
<ul className="AppList">
{apps.map((app, i) => {
const imgSource = !app.icon.startsWith('http')
? useBaseUrl('img/showcase/' + app.icon)
: app.icon;
return (
<li key={i} className="item">
{app.infoLink ? (
<a href={app.infoLink}>
<img src={imgSource} alt={app.name} />
</a>
) : (
<br />
you've already used it in one of these apps.
</>
}
/>
<div className={styles.featureContainer}>
<ul className={styles.appList}>
{apps.map((app, i) => {
const imgSource = !app.icon.startsWith('http')
? useBaseUrl('img/showcase/' + app.icon)
: app.icon;
return (
<li key={i} className="item">
{app.infoLink ? (
<a
href={app.infoLink}
target="_blank"
rel="noopener noreferrer">
<img src={imgSource} alt={app.name} />
)}
</li>
);
})}
</ul>
<p>
and <a href={useBaseUrl(`showcase`)}>many more</a>.
</p>
</div>
</a>
) : (
<img src={imgSource} alt={app.name} />
)}
</li>
);
})}
</ul>
</div>
<a href={useBaseUrl(`showcase`)} className={styles.secondaryButton}>
See all featured apps
</a>
<div className={styles.communityNote}>
<p>
Meta released React Native in 2015 and has been maintaining it ever
since. Today, React Native is supported by contributions from
individuals and companies around the world including{' '}
<span>
<a
href="https://callstack.com/"
target="_blank"
rel="noopener noreferrer">
Callstack
</a>
</span>
,{' '}
<span>
<a
href="https://expo.dev/"
target="_blank"
rel="noopener noreferrer">
Expo
</a>
</span>
,{' '}
<a
href="https://infinite.red/"
target="_blank"
rel="noopener noreferrer">
Infinite Red
</a>
,{' '}
<a
href="https://www.microsoft.com/"
target="_blank"
rel="noopener noreferrer">
Microsoft
</a>{' '}
and{' '}
<a
href="https://swmansion.com/"
target="_blank"
rel="noopener noreferrer">
Software Mansion
</a>
. If you're interested in learning more, check out{' '}
<a
href="https://github.com/react/react-native/blob/main/ECOSYSTEM.md"
target="_blank"
rel="noopener noreferrer">
how we have structured the ecosystem
</a>
.
</p>
<p>
Our community is always shipping exciting new projects and expanding
beyond Android and iOS with initiatives like{' '}
<a
href="https://microsoft.github.io/react-native-windows/"
target="_blank"
rel="noopener noreferrer">
React Native Windows
</a>
,{' '}
<a
href="https://microsoft.github.io/react-native-macos/"
target="_blank"
rel="noopener noreferrer">
React Native macOS
</a>{' '}
and{' '}
<a
href="https://necolas.github.io/react-native-web/"
target="_blank"
rel="noopener noreferrer">
React Native Web
</a>
.
</p>
</div>
</Section>
);
Expand Down
85 changes: 71 additions & 14 deletions website/src/components/Home/Community/styles.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,83 @@
*/

.featureContainer {
margin: 32px auto 16px;
}

.appList {
display: flex;
justify-content: space-between;
gap: 2rem;
margin: 1rem auto;
flex-wrap: wrap;
justify-content: center;
gap: 16px;
padding: 0;

li {
list-style: none;
width: calc((100% - 9 * 16px) / 10);

a {
border-bottom: 0 !important;

&:hover {
img {
transform: scale(1.05);
}
}
}

img {
display: block;
width: 100%;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 6px 14px rgb(20 20 20 / 0.08);
transition: transform 0.2s ease-in-out;
}
}
}

.featureContainer > :first-child {
border-right: 1px solid var(--home-border);
padding-right: 2rem;
@media only screen and (max-width: 800px) {
.appList li {
width: calc((100% - 6 * 16px) / 7);
}
}

@media only screen and (max-width: 900px) {
.featureContainer {
flex-direction: column;
gap: 0;
max-width: 600px;
@media only screen and (max-width: 450px) {
.appList li {
width: calc((100% - 3 * 16px) / 4);
}
}

.communityNote {
margin-top: 48px;
text-align: center;
color: var(--home-secondary-text);
padding: 0 12px;
}

.secondaryButton {
padding: 10px 24px;
border-radius: 99rem;
font-weight: bold;
font-size: 1rem;
display: flex;
align-items: center;
justify-content: center;
gap: 0.35rem;
color: var(--home-button-secondary-text);
border: 1px solid var(--home-button-secondary-border);
background-color: var(--home-button-secondary);
transition: background-color 200ms ease-in-out;

.featureContainer > :first-child {
border-right: none;
padding-right: 0;
&:hover {
background-color: var(--home-button-secondary-hover);
color: var(--home-button-secondary-text);
}
}

.buttonGroup {
display: flex;
justify-content: center;
gap: 16px;
margin-top: 16px;
}
24 changes: 12 additions & 12 deletions website/src/components/Home/Hero/styles.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -108,35 +108,35 @@
padding: 10px 24px;
border-radius: 99rem;
font-weight: bold;
font-size: 17px;
font-size: 1rem;
display: flex;
align-items: center;
justify-content: center;
gap: 0.35rem;
}
transition: background-color 200ms ease-in-out;

.primaryButton:hover {
color: var(--home-button-primary-text);
background-color: var(--home-button-primary-hover);
&:hover {
color: var(--home-button-primary-text);
background-color: var(--home-button-primary-hover);
}
}

.secondaryButton {
padding: 10px 24px;
border-radius: 99rem;
font-weight: bold;
font-size: 17px;
font-size: 1rem;
display: flex;
align-items: center;
justify-content: center;
gap: 0.35rem;
color: var(--home-button-secondary-text);
border: 1px solid var(--home-button-secondary-border);
background-color: var(--home-button-secondary);
}
transition: background-color 200ms ease-in-out;

.secondaryButton:hover {
background-color: var(--home-button-secondary-hover);
color: var(--home-button-secondary-text);
&:hover {
background-color: var(--home-button-secondary-hover);
color: var(--home-button-secondary-text);
}
}

@media (max-width: 600px) {
Expand Down
13 changes: 6 additions & 7 deletions website/src/components/Home/SectionTitle/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,16 @@
* LICENSE file in the root directory of this source tree.
*/

import React from 'react';
import {ReactNode} from 'react';

import styles from './styles.module.css';

function SectionTitle({
title,
description,
}: {
type Props = {
title: string;
description?: React.ReactNode;
}) {
description?: ReactNode;
};

function SectionTitle({title, description}: Props) {
return (
<div className={styles.container}>
<h1 className={styles.title}>{title}</h1>
Expand Down
Loading