Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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"
}
]
}
}
184 changes: 112 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,120 @@ 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. In 2018, React Native had the{' '}
<a
href="https://octoverse.github.com/2018/projects#repositories"
target="_blank"
rel="noopener noreferrer">
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/"
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>
.
</p>
<p>
Our community is always shipping exciting new projects and exploring
platforms 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