Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ coverage
.vscode
.history
yarn.lock
.idea/
348 changes: 174 additions & 174 deletions package-lock.json

Large diffs are not rendered by default.

Binary file added src/images/feature-img-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/images/feature-img-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/images/feature-img-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 53 additions & 0 deletions src/pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,35 @@ import logoImg4 from '../images/logos/netflix-logo.svg';
import logoImg5 from '../images/logos/paypal-logo.svg';
import InstallTabs from '../components/installTabs';

import featureImg1 from '../images/feature-img-1.png';
import featureImg2 from '../images/feature-img-2.png';
import featureImg3 from '../images/feature-img-3.png';

const nodeFeatureHeader1 = 'JavaScript';
const nodeFeatureHeader2 = 'Open Source';
const nodeFeatureHeader3 = 'Everywhere';

const nodeFeature1 =
'Node.js provides support for the JavaScript programming language ';
const nodeFeature2 =
'Node.js is open source and actively maintained by contributors all over the world ';
const nodeFeature3 =
'Node.js has been adapted to work in a wide variety of places ';

const NodeFeature = ({
img,
featureText,
featureHeader,
}: Props): JSX.Element => {
return (
<div className="node-features__feature">
<img src={img} alt="node feature" />
<h4>{featureHeader}</h4>
<p>{featureText}</p>
</div>
);
};

export default function Index(): JSX.Element {
const title = 'Run JavaScript Everywhere.';
const subTitle =
Expand All @@ -40,6 +69,24 @@ export default function Index(): JSX.Element {
<img className="dots" src={dotsIllustration} alt="" />
</section>

<section className="node-features">
<NodeFeature
img={featureImg1}
featureText={nodeFeature1}
featureHeader={nodeFeatureHeader1}
/>
<NodeFeature
img={featureImg2}
featureText={nodeFeature2}
featureHeader={nodeFeatureHeader2}
/>
<NodeFeature
img={featureImg3}
featureText={nodeFeature3}
featureHeader={nodeFeatureHeader3}
/>
</section>

<section className="trusted-by">
<h4 className="t-headline">
Trusted by development teams around the world
Expand All @@ -61,3 +108,9 @@ export default function Index(): JSX.Element {
</Layout>
);
}

interface Props {
img: string;
featureText: string;
featureHeader: string;
}
14 changes: 14 additions & 0 deletions src/styles/index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,20 @@
}
}

.node-features {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin-bottom: 5em;
}

.node-features__feature {
max-width: 248px;
margin: 0 2em;
text-align: center;
}

.trusted-by {
margin-bottom: var(--section-margin-bottom);
text-align: center;
Expand Down