We're hiring!
++ Fun and challenging tech. World-changing mission. +
++ We already have incredible traction, but there's + no better time to help us make an impact. +
++ + Learn More and Apply + +
diff --git a/_redirects b/_redirects index 25349f541a..cd24083c60 100644 --- a/_redirects +++ b/_redirects @@ -5,6 +5,7 @@ /coming-soon* /index.html 200 /contribute* /index.html 200 /firehose* /index.html 200 +/jobs* /index.html 200 /leaderboard* /index.html 200 /login* /index.html 200 /moderation* /index.html 200 diff --git a/packages/components/src/elements/ScrollToTop.tsx b/packages/components/src/elements/ScrollToTop.tsx new file mode 100644 index 0000000000..9ed0f990f2 --- /dev/null +++ b/packages/components/src/elements/ScrollToTop.tsx @@ -0,0 +1,27 @@ +import { useEffect } from 'react'; +import { withRouter } from 'react-router-dom'; +import { History } from "history"; + +// A solution for scroll-to-top behavior. +// From https://stackoverflow.com/a/54343182 +// And also https://v5.reactrouter.com/web/guides/scroll-restoration + +interface Props { + history : History, +} + +function ScrollToTop(props: Props) { + let { history } = props; + useEffect(() => { + const unlisten = history.listen(() => { + window.scrollTo(0, 0); + }); + return () => { + unlisten(); + } + }, [history]); + + return (null); +} + +export default withRouter(ScrollToTop); \ No newline at end of file diff --git a/packages/storyteller-home/src/App.tsx b/packages/storyteller-home/src/App.tsx index 7dc109f47d..f6030e0da9 100644 --- a/packages/storyteller-home/src/App.tsx +++ b/packages/storyteller-home/src/App.tsx @@ -6,6 +6,8 @@ import { BrowserRouter, Route, Switch } from 'react-router-dom'; import IndexPage from './pages/index/IndexPage'; import VoxelCamPage from './pages/voxelcam/VoxelCamPage'; import { Footer } from './common/Footer'; +import JobsPage from './pages/jobs/JobsPage'; +import ScrollToTop from '@storyteller/components/src/elements/ScrollToTop'; function App () { return ( @@ -14,11 +16,14 @@ function App () {
+ We already have incredible traction, but there's + no better time to help us make an impact. +
+
+
+ + We're hiring! +
++
++ We're going to change the world by giving every person on this planet + Hollywood-level live production capabilities that they can leverage + directly from home. They won't even need a powerful computer. Deep fakes, + streaming, and storytelling capabilities to rival Disney — accessible + from any home PC. +
+{jobsEmail}
+
+
+ + Since we work so directly in the signal processing and graphics domains, + our entire stack reflects the fact that we build for bare metal. Our web + services are written in Rust/Actix, which is every bit as productive as Ruby. + All of our code is shared in a Rust monorepo with builds orchestrated and + optimized with Bazel. +
+ ++ One of the pillars of the platform we're building is rich volumetric + and motion capture, composited into 3D worlds. Our community will + create all sorts of incredible content, and you'll have a hand in + directly enabling that. + (We won't stop until our community can surpass Disney!) +
+ +{jobsEmail}. You made it this far. Send us your resume!
+