From a10c72d6efba0b58d3752645856e358e9d96a604 Mon Sep 17 00:00:00 2001
From: Greg Fodor <gfodor@gmail.com>
Date: Thu, 4 Oct 2018 20:06:26 +0000
Subject: [PATCH] Stubbed out spoke landing page

---
 src/assets/stylesheets/spoke.scss |  2 ++
 src/spoke.html                    | 26 +++++++++++++++++++++
 src/spoke.js                      | 39 +++++++++++++++++++++++++++++++
 webpack.config.js                 |  6 +++++
 4 files changed, 73 insertions(+)
 create mode 100644 src/assets/stylesheets/spoke.scss
 create mode 100644 src/spoke.html
 create mode 100644 src/spoke.js

diff --git a/src/assets/stylesheets/spoke.scss b/src/assets/stylesheets/spoke.scss
new file mode 100644
index 000000000..44e6591aa
--- /dev/null
+++ b/src/assets/stylesheets/spoke.scss
@@ -0,0 +1,2 @@
+@import 'shared';
+@import 'loader';
diff --git a/src/spoke.html b/src/spoke.html
new file mode 100644
index 000000000..4cdea285a
--- /dev/null
+++ b/src/spoke.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
+    <meta property="og:url" content="https://hubs.mozilla.com/spoke">
+    <meta property="og:title" content="Spoke by Mozilla">
+    <meta property="og:description" content="Create custom social VR scenes, right in your browser.">
+    <meta property="og:image" content="https://hubs.mozilla.com/spoke-preview.png">
+    <meta name="twitter:card" content="summary_large_image">
+    <meta name="twitter:domain" value="hubs.mozilla.com">
+    <meta name="twitter:title" value="Spoke by Mozilla">
+    <meta name="twitter:description" content="Create custom social VR scenes, right in your browser.">
+    <meta property="twitter:image" content="https://hubs.mozilla.com/spoke-preview.png">
+    <meta name="twitter:url" value="https://hubs.mozilla.com/spoke">
+    <link rel="shortcut icon" type="image/png" href="/favicon-spoke.ico">
+    <title>Spoke by Mozilla</title>
+    <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700" rel="stylesheet">
+</head>
+
+<body>
+  <div id="ui-root"></div>
+</body>
+
+</html>
diff --git a/src/spoke.js b/src/spoke.js
new file mode 100644
index 000000000..f774f9166
--- /dev/null
+++ b/src/spoke.js
@@ -0,0 +1,39 @@
+import ReactDOM from "react-dom";
+import React, { Component } from "react";
+//import PropTypes from "prop-types";
+//import classNames from "classnames";
+import { IntlProvider, /*FormattedMessage, */ addLocaleData } from "react-intl";
+import styles from "./assets/stylesheets/spoke.scss";
+
+//const qs = new URLSearchParams(location.search);
+
+import registerTelemetry from "./telemetry";
+
+registerTelemetry();
+
+import en from "react-intl/locale-data/en";
+import { lang, messages } from "./utils/i18n";
+
+addLocaleData([...en]);
+
+class SpokeLanding extends Component {
+  static propTypes = {};
+
+  state = {};
+
+  constructor(props) {
+    super(props);
+  }
+
+  render() {
+    return (
+      <IntlProvider locale={lang} messages={messages}>
+        <div className={styles.ui}>HI</div>
+      </IntlProvider>
+    );
+  }
+}
+
+document.addEventListener("DOMContentLoaded", () => {
+  ReactDOM.render(<SpokeLanding />, document.getElementById("ui-root"));
+});
diff --git a/webpack.config.js b/webpack.config.js
index adb61bc8f..e6567532e 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -66,6 +66,7 @@ module.exports = (env, argv) => ({
     hub: path.join(__dirname, "src", "hub.js"),
     scene: path.join(__dirname, "src", "scene.js"),
     link: path.join(__dirname, "src", "link.js"),
+    spoke: path.join(__dirname, "src", "spoke.js"),
     "avatar-selector": path.join(__dirname, "src", "avatar-selector.js")
   },
   output: {
@@ -216,6 +217,11 @@ module.exports = (env, argv) => ({
       template: path.join(__dirname, "src", "link.html"),
       chunks: ["vendor", "link"]
     }),
+    new HTMLWebpackPlugin({
+      filename: "spoke.html",
+      template: path.join(__dirname, "src", "spoke.html"),
+      chunks: ["vendor", "spoke"]
+    }),
     new HTMLWebpackPlugin({
       filename: "avatar-selector.html",
       template: path.join(__dirname, "src", "avatar-selector.html"),
-- 
GitLab