- update screenshots
@ -8,60 +8,50 @@ const Screenshots = () => {
|
|||||||
query {
|
query {
|
||||||
screen1: file(relativePath: { eq: "screenshots/screen-1.png" }) {
|
screen1: file(relativePath: { eq: "screenshots/screen-1.png" }) {
|
||||||
childImageSharp {
|
childImageSharp {
|
||||||
fluid(maxWidth: 800) {
|
original {
|
||||||
...GatsbyImageSharpFluid
|
src
|
||||||
}
|
}
|
||||||
fixed(width: 300) {
|
fixed(width: 320) {
|
||||||
...GatsbyImageSharpFixed
|
...GatsbyImageSharpFixed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
screen2: file(relativePath: { eq: "screenshots/screen-2.png" }) {
|
screen2: file(relativePath: { eq: "screenshots/screen-2.png" }) {
|
||||||
childImageSharp {
|
childImageSharp {
|
||||||
fluid(maxWidth: 800) {
|
original {
|
||||||
...GatsbyImageSharpFluid
|
src
|
||||||
}
|
}
|
||||||
fixed(width: 300) {
|
fixed(width: 320) {
|
||||||
...GatsbyImageSharpFixed
|
...GatsbyImageSharpFixed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
screen3: file(relativePath: { eq: "screenshots/screen-3.png" }) {
|
screen3: file(relativePath: { eq: "screenshots/screen-3.png" }) {
|
||||||
childImageSharp {
|
childImageSharp {
|
||||||
fluid(maxWidth: 800) {
|
original {
|
||||||
...GatsbyImageSharpFluid
|
src
|
||||||
}
|
}
|
||||||
fixed(width: 300) {
|
fixed(width: 320) {
|
||||||
...GatsbyImageSharpFixed
|
...GatsbyImageSharpFixed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
screen4: file(relativePath: { eq: "screenshots/screen-4.png" }) {
|
screen4: file(relativePath: { eq: "screenshots/screen-4.png" }) {
|
||||||
childImageSharp {
|
childImageSharp {
|
||||||
fluid(maxWidth: 800) {
|
original {
|
||||||
...GatsbyImageSharpFluid
|
src
|
||||||
}
|
}
|
||||||
fixed(width: 300) {
|
fixed(width: 320) {
|
||||||
...GatsbyImageSharpFixed
|
...GatsbyImageSharpFixed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
screen5: file(relativePath: { eq: "screenshots/screen-5.png" }) {
|
screen5: file(relativePath: { eq: "screenshots/screen-5.png" }) {
|
||||||
childImageSharp {
|
childImageSharp {
|
||||||
fluid(maxWidth: 800) {
|
original {
|
||||||
...GatsbyImageSharpFluid
|
src
|
||||||
}
|
}
|
||||||
fixed(width: 300) {
|
fixed(width: 320) {
|
||||||
...GatsbyImageSharpFixed
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
screen6: file(relativePath: { eq: "screenshots/screen-6.png" }) {
|
|
||||||
childImageSharp {
|
|
||||||
fluid(maxWidth: 800) {
|
|
||||||
...GatsbyImageSharpFluid
|
|
||||||
}
|
|
||||||
fixed(width: 300) {
|
|
||||||
...GatsbyImageSharpFixed
|
...GatsbyImageSharpFixed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -79,8 +69,8 @@ const Screenshots = () => {
|
|||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
className={styles.screenshot}
|
className={styles.screenshot}
|
||||||
key={screenshots[x].childImageSharp.fluid.src}
|
key={screenshots[x].childImageSharp.original.src}
|
||||||
href={screenshots[x].childImageSharp.fluid.src}
|
href={screenshots[x].childImageSharp.original.src}
|
||||||
>
|
>
|
||||||
<span className="sr-only">Reactive Resume Screenshot</span>
|
<span className="sr-only">Reactive Resume Screenshot</span>
|
||||||
<GatsbyImage
|
<GatsbyImage
|
||||||
|
|||||||
@ -2,9 +2,13 @@ import { Link } from '@reach/router';
|
|||||||
import React, { memo } from 'react';
|
import React, { memo } from 'react';
|
||||||
import { Helmet } from 'react-helmet';
|
import { Helmet } from 'react-helmet';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
|
import { FaUserSecret } from 'react-icons/fa';
|
||||||
|
import { GiWalkingBoot } from 'react-icons/gi';
|
||||||
|
import { IoIosRocket } from 'react-icons/io';
|
||||||
|
import { RiRefreshLine } from 'react-icons/ri';
|
||||||
import Hero from '../components/landing/Hero';
|
import Hero from '../components/landing/Hero';
|
||||||
import Wrapper from '../components/shared/Wrapper';
|
|
||||||
import Screenshots from '../components/landing/Screenshots';
|
import Screenshots from '../components/landing/Screenshots';
|
||||||
|
import Wrapper from '../components/shared/Wrapper';
|
||||||
|
|
||||||
const Home = () => {
|
const Home = () => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
@ -30,8 +34,11 @@ const Home = () => {
|
|||||||
|
|
||||||
<Screenshots />
|
<Screenshots />
|
||||||
|
|
||||||
<div className="pt-8">
|
<div className="pt-8 grid lg:grid-cols-2 lg:col-gap-10">
|
||||||
<Feature title="Create a resume that’s worthy of who you are.">
|
<Feature
|
||||||
|
icon={IoIosRocket}
|
||||||
|
title="Create a resume that’s worthy of who you are."
|
||||||
|
>
|
||||||
Keep up with the latest trends in resume design without having to
|
Keep up with the latest trends in resume design without having to
|
||||||
start from scratch. With new templates being designed every week and
|
start from scratch. With new templates being designed every week and
|
||||||
having made it that easy to design your own templates and submit
|
having made it that easy to design your own templates and submit
|
||||||
@ -39,7 +46,10 @@ const Home = () => {
|
|||||||
friend’s resume again.
|
friend’s resume again.
|
||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
<Feature title="Updating your resume shouldn’t be a chore.">
|
<Feature
|
||||||
|
icon={RiRefreshLine}
|
||||||
|
title="Updating your resume shouldn’t be a chore."
|
||||||
|
>
|
||||||
The biggest problem I’ve faced was when I had to update my resume
|
The biggest problem I’ve faced was when I had to update my resume
|
||||||
when I learned a new skill or found a new job. The ever-shifting
|
when I learned a new skill or found a new job. The ever-shifting
|
||||||
layouts and inconsistency with design over a number of years made it
|
layouts and inconsistency with design over a number of years made it
|
||||||
@ -47,7 +57,10 @@ const Home = () => {
|
|||||||
easy as few clicks.
|
easy as few clicks.
|
||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
<Feature title="Kickstarting your career shouldn’t come at a cost.">
|
<Feature
|
||||||
|
icon={GiWalkingBoot}
|
||||||
|
title="Kickstarting your career shouldn’t come at a cost."
|
||||||
|
>
|
||||||
There are brilliant alternatives to this app like Novoresume and
|
There are brilliant alternatives to this app like Novoresume and
|
||||||
Zety , but they come at a cost, mainly because of the time the
|
Zety , but they come at a cost, mainly because of the time the
|
||||||
developers and the marketing they had to incur to make the product.
|
developers and the marketing they had to incur to make the product.
|
||||||
@ -56,7 +69,10 @@ const Home = () => {
|
|||||||
a resume to bootstrap their career.
|
a resume to bootstrap their career.
|
||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
<Feature title="Your data is your data, none of my data.">
|
<Feature
|
||||||
|
icon={FaUserSecret}
|
||||||
|
title="Your data is your data, none of my data."
|
||||||
|
>
|
||||||
You must be thinking, if you're not paying for the product,
|
You must be thinking, if you're not paying for the product,
|
||||||
then you are the product. Or, at least your data is?{' '}
|
then you are the product. Or, at least your data is?{' '}
|
||||||
<strong>Well, this is the exception</strong>. Your data is your own,
|
<strong>Well, this is the exception</strong>. Your data is your own,
|
||||||
@ -112,10 +128,13 @@ const Home = () => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const Feature = ({ title, children }) => {
|
const Feature = ({ icon: Icon, title, children }) => {
|
||||||
return (
|
return (
|
||||||
<div className="mt-16">
|
<div className="mt-16">
|
||||||
<div className="text-3xl">{title}</div>
|
<div className="flex items-center">
|
||||||
|
<Icon size="18px" className="text-primary-900 mr-4" />
|
||||||
|
<div className="text-3xl">{title}</div>
|
||||||
|
</div>
|
||||||
<p className="mt-6 text-lg leading-loose">{children}</p>
|
<p className="mt-6 text-lg leading-loose">{children}</p>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 689 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 43 KiB |