@ -8,11 +8,11 @@ import {
UsersIcon ,
UsersIcon ,
} from '@heroicons/react/24/outline' ;
} from '@heroicons/react/24/outline' ;
import offersAnalysis from '~/components/offers/ landing /images/offers-analysis.png';
import offersAnalysis from '~/components/offers/ features /images/offers-analysis.png';
import offersBrowse from '~/components/offers/ landing /images/offers-browse.png';
import offersBrowse from '~/components/offers/ features /images/offers-browse.png';
import offersProfile from '~/components/offers/ landing /images/offers-profile.png';
import offersProfile from '~/components/offers/ features /images/offers-profile.png';
import LeftTextCard from '~/components/offers/ landing /LeftTextCard';
import LeftTextCard from '~/components/offers/ features /LeftTextCard';
import RightTextCard from '~/components/offers/ landing /RightTextCard';
import RightTextCard from '~/components/offers/ features /RightTextCard';
import { HOME_URL } from '~/components/offers/types' ;
import { HOME_URL } from '~/components/offers/types' ;
const features = [
const features = [
@ -38,32 +38,32 @@ const features = [
const footerNavigation = {
const footerNavigation = {
social : [
social : [
{
// {
href : '#' ,
// href: '#',
icon : ( props : JSX.IntrinsicAttributes & SVGProps < SVGSVGElement > ) = > (
// icon: (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => (
< svg fill = "currentColor" viewBox = "0 0 24 24" { ...props } >
// <svg fill="currentColor" viewBox="0 0 24 24" {...props}>
< path
// <path
clipRule = "evenodd"
// clipRule="evenodd"
d = "M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z"
// d= "M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z"
fillRule = "evenodd"
// fillRule="evenodd"
/ >
// />
< / svg >
// </svg>
) ,
// ),
name : 'Facebook' ,
// name: 'Facebook',
} ,
// },
{
// {
href : '#' ,
// href: '#',
icon : ( props : JSX.IntrinsicAttributes & SVGProps < SVGSVGElement > ) = > (
// icon: (props: JSX.IntrinsicAttributes & SVGProps<SVGSVGElement>) => (
< svg fill = "currentColor" viewBox = "0 0 24 24" { ...props } >
// <svg fill="currentColor" viewBox="0 0 24 24" {...props}>
< path
// <path
clipRule = "evenodd"
// clipRule="evenodd"
d = "M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z"
// d= "M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z"
fillRule = "evenodd"
// fillRule="evenodd"
/ >
// />
< / svg >
// </svg>
) ,
// ),
name : 'Instagram' ,
// name: 'Instagram',
} ,
// },
{
{
href : 'https://github.com/yangshun/tech-interview-handbook' ,
href : 'https://github.com/yangshun/tech-interview-handbook' ,
icon : ( props : JSX.IntrinsicAttributes & SVGProps < SVGSVGElement > ) = > (
icon : ( props : JSX.IntrinsicAttributes & SVGProps < SVGSVGElement > ) = > (
@ -87,6 +87,11 @@ export default function LandingPage() {
{ /* Hero section */ }
{ /* Hero section */ }
< div className = "relative h-full" >
< div className = "relative h-full" >
< div className = "relative px-4 py-16 sm:px-6 sm:py-24 lg:py-32 lg:px-8" >
< div className = "relative px-4 py-16 sm:px-6 sm:py-24 lg:py-32 lg:px-8" >
< img
alt = "Tech Offers Repo"
className = "mx-auto mb-8 w-auto"
src = "/offers-logo.svg"
/ >
< h1 className = "text-center text-4xl font-bold tracking-tight sm:text-5xl lg:text-6xl" >
< h1 className = "text-center text-4xl font-bold tracking-tight sm:text-5xl lg:text-6xl" >
< span > Choosing offers < / span >
< span > Choosing offers < / span >
< span className = "from-primary-600 -mb-1 mr-2 bg-gradient-to-r to-purple-500 bg-clip-text pb-1 pr-4 italic text-transparent" >
< span className = "from-primary-600 -mb-1 mr-2 bg-gradient-to-r to-purple-500 bg-clip-text pb-1 pr-4 italic text-transparent" >
@ -121,16 +126,16 @@ export default function LandingPage() {
/ >
/ >
< div className = "relative" >
< div className = "relative" >
< LeftTextCard
< LeftTextCard
description = " An offer profile includes not only offers that a person received in their application cycle, but also background information such as education and work experience. Use offer profiles to help you better contextualize offers ."
description = " Filter relevant offers by job title, company, submission date, salary and more ."
icon = {
icon = {
< InformationCircle Icon
< TableCells Icon
aria - hidden = "true"
aria - hidden = "true"
className = "h-6 w-6 text-white"
className = "h-6 w-6 text-white"
/ >
/ >
}
}
imageAlt = "Offer table page"
imageAlt = "Offer table page"
imageSrc = { offers Profil e}
imageSrc = { offers Brows e}
title = " Choosing an offer needs context "
title = " Stay informed of recent offers "
/ >
/ >
< / div >
< / div >
< div className = "mt-36" >
< div className = "mt-36" >
@ -149,16 +154,16 @@ export default function LandingPage() {
< / div >
< / div >
< div className = "mt-36" >
< div className = "mt-36" >
< LeftTextCard
< LeftTextCard
description = " Filter relevant offers by job title, company, submission date, salary and more ."
description = " An offer profile includes not only offers that a person received in their application cycle, but also background information such as education and work experience. Use offer profiles to help you better contextualize offers ."
icon = {
icon = {
< TableCells Icon
< InformationCircle Icon
aria - hidden = "true"
aria - hidden = "true"
className = "h-6 w-6 text-white"
className = "h-6 w-6 text-white"
/ >
/ >
}
}
imageAlt = "Offer table page"
imageAlt = "Offer table page"
imageSrc = { offers Brows e}
imageSrc = { offers Profil e}
title = " Stay informed of recent offers "
title = " Choosing an offer needs context "
/ >
/ >
< / div >
< / div >
< / div >
< / div >