Files
cadhub/web/src/components/LandingSection/LandingSection.js
Kurt Hutten f70299a79f issue-129 small changes before bigger pre
these are not strictly related
2020-12-05 18:18:43 +11:00

211 lines
7.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import {
topLeftFrame,
bottomRightFrame,
resizer,
abstractCode,
involuteDonut,
} from './mockEditorParts'
import Svg from 'src/components/Svg'
import OutBound from 'src/components/OutBound'
import { useAuth } from '@redwoodjs/auth'
import ReactGA from 'react-ga'
const LandingSection = () => {
const { logIn } = useAuth()
const recordedLogin = () => {
ReactGA.event({
category: 'login',
action: 'landing section CTA',
})
logIn()
}
return (
<div className="mt-16">
<div className="relative p-4 shadow-md">
<div className="absolute inset-0 bg-gradient-to-bl from-pink-200 via-pink-200 to-red-400 landing-bg-clip-path" />
<div className="max-w-6xl px-2 mx-auto font-roboto">
<div className="relative">
<div className="bg-pink-200 rounded-tr-2xl absolute top-0 right-0 h-24 w-32 hidden lg:block" />
<div className="bg-pink-300 rounded-tr-2xl absolute bottom-0 right-0 h-24 w-32 mr-8 hidden lg:block" />
<div className="inline-block relative z-10">
<div className="flex-col flex">
<div className="text-indigo-600 pb-3 tracking-widest">
Here's a thought,
</div>
<h1 className="font-bold text-indigo-800 text-5xl inline-block tracking-wider">
<span className="text-6xl">C</span>
ode is the future of <span className="text-6xl">C</span>
AD
</h1>
<div className="text-indigo-600 text-base font-normal self-end pt-3 tracking-widest">
No more click-n-drool.
</div>
</div>
</div>
</div>
<div className="grid grid-cols-11 grid-rows-5 grid-flow-row-dense grid-flow-col-dense mt-32">
<div className=" col-start-1 col-span-5 row-start-1 row-span-3">
{topLeftFrame}
</div>
<div className="col-start-2 col-span-4 row-start-2 row-span-4 pt-8 animate-bounce-sm-slow">
{abstractCode}
</div>
<div className="col-end-11 col-span-4 row-end-5 row-span-5 pt-12 animate-twist-sm-slow">
{involuteDonut}
</div>
<div className="col-start-5 col-span-2 row-start-2 row-span-4">
{resizer}
</div>
<div className="col-end-12 row-end-7 col-span-4 row-span-3">
{bottomRightFrame}
</div>
</div>
</div>
</div>
<div className="max-w-6xl mx-auto px-2">
<h2 className="text-indigo-700 text-5xl font-roboto my-16 tracking-widest font-light">
What's the potential of code-cad?
</h2>
<MarketingPoint
leadingPoint="Communication"
title="Tech-drawing and CAD as communication medium"
>
<p className="max-w-2xl">
Have you ever started frantically reaching for a pen when trying to
explain an idea?
</p>
<p className="pt-4">
Engineers love drawings and CAD extends that, though now
communicating with machines is just as important as with colleagues.
What better way to do that than with a deterministic, expressive and
auditable script?
</p>
</MarketingPoint>
<div className="mt-24">
<div className="text-2xl text-pink-400 font-bold tracking-widest">
Extensible
</div>
<h3 className="text-indigo-700 text-4xl mt-4">
If <span className="line-through">it bleeds</span> it's text, we can{' '}
<span className="line-through">kill</span> hack it
</h3>
<div className="text-gray-600 max-w-3xl text-2xl font-light mt-4">
<ul className="list-disc pl-6">
<li>Build your own helper functions and abstractions</li>
<li>
Trigger{' '}
<QuickLink to="https://en.wikipedia.org/wiki/Finite_element_method">
FEM
</QuickLink>{' '}
or regenerate tool paths with a{' '}
<QuickLink to="https://www.redhat.com/en/topics/devops/what-is-ci-cd">
CI/CD
</QuickLink>{' '}
process
</li>
<li>
Auto-generate a{' '}
<QuickLink to="https://en.wikipedia.org/wiki/Bill_of_materials">
BOM
</QuickLink>
</li>
<li>
Integrate it into your{' '}
<QuickLink to="https://www.ptc.com/en/technologies/plm">
PLM
</QuickLink>{' '}
tools
</li>
</ul>
</div>
</div>
<MarketingPoint
leadingPoint="Git Good"
title="All of the benefits of version control"
>
<p>
Team coordination doesn't get any better than git. Multiple people
working on a complex assembly without treading on each other -- what
else is there to say?
</p>
</MarketingPoint>
<MarketingPoint
leadingPoint="Rise of the developer"
title="Leverage a growing industry"
>
<p>
Software is taking over the world, and so are developers. In the
U.S. developers are 1.4M strong and are predicted to increase their{' '}
<QuickLink to="https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm">
ranks by 22%
</QuickLink>{' '}
over the next 10 years. As coders proliferate, so will the number of
areas in which they operate, including CAD.
</p>
</MarketingPoint>
</div>
<div className="w-3/4 mx-auto h-px bg-pink-400 mt-32" />
<div className="mt-24">
<p className="text-center text-pink-400 max-w-xl text-2xl mx-auto font-medium">
CadHub is a space to share cad projects and its our gift to the
code-cad community. Lets celebrate and promote code-cad together.
</p>
<div className="rounded-md shadow-md max-w-lg mx-auto border border-gray-300 mt-16">
<p className="text-2xl font-medium text-gray-600 p-8">
Projects use the excellent{' '}
<OutBound
className="text-gray-600 underline"
to="https://github.com/zalo/CascadeStudio"
>
CascadeStudio
</OutBound>{' '}
with more integrations coming soon.
</p>
<button
className="bg-texture bg-purple-800 text-center w-full py-6 rounded-b-md border border-indigo-300 border-opacity-0 hover:border-opacity-100 hover:shadow-xl"
onClick={recordedLogin}
>
<span className="font-bold text-2xl text-indigo-200">
Start Hacking Now
</span>
</button>
</div>
</div>
<div className="flex justify-center mt-64 pt-20 mb-20">
<div className="flex text-2xl text-gray-500">
See what other's have created
<Svg
name="arrow-down"
className="h-12 w-12 animate-bounce text-indigo-300 ml-2"
/>
</div>
</div>
</div>
)
}
export default LandingSection
function MarketingPoint({ leadingPoint, title, children }) {
return (
<div className="mt-24">
<div className="text-2xl text-pink-400 font-bold tracking-widest">
{leadingPoint}
</div>
<h3 className="text-indigo-700 text-4xl mt-4">{title}</h3>
<div className="text-gray-600 max-w-3xl text-2xl font-light mt-4">
{children}
</div>
</div>
)
}
function QuickLink({ to, children }) {
return (
<OutBound className="text-gray-500 font-medium" to={to}>
{children}
</OutBound>
)
}