diff --git a/frontend-react/src/assets/icons.tsx b/frontend-react/src/assets/icons.tsx
index 3e88c9a81..9442207d1 100644
--- a/frontend-react/src/assets/icons.tsx
+++ b/frontend-react/src/assets/icons.tsx
@@ -46,6 +46,15 @@ const customIcons = {
),
viewBox: "0 0 128 128",
},
+ itz: {
+ path: (
+
+ {" "}
+ {" "}
+
+ ),
+ viewBox: "0 0 128 128",
+ },
}
export default customIcons
diff --git a/frontend-react/src/components/events/EventsPage.tsx b/frontend-react/src/components/events/EventsPage.tsx
new file mode 100644
index 000000000..1633cab84
--- /dev/null
+++ b/frontend-react/src/components/events/EventsPage.tsx
@@ -0,0 +1,39 @@
+import React, { useState } from "react"
+import PageHeader from "../common/PageHeader"
+import { RouteComponentProps } from "@reach/router"
+import InTheZoneBanner from "./InTheZoneBanner"
+import { Box, Flex, Heading } from "@chakra-ui/core"
+import Button from "../elements/Button"
+
+const EventsPage: React.FC = () => {
+ const [runningNumber, setRunningNumber] = useState(10)
+ return (
+ <>
+
+
+ In The Zone
+
+
+ The premier western Splatoon Splat Zones tournament
+
+
+
+
+
+
+
+ >
+ )
+}
+
+export default EventsPage
diff --git a/frontend-react/src/components/events/InTheZoneBanner.tsx b/frontend-react/src/components/events/InTheZoneBanner.tsx
new file mode 100644
index 000000000..b324e4514
--- /dev/null
+++ b/frontend-react/src/components/events/InTheZoneBanner.tsx
@@ -0,0 +1,80 @@
+import React from "react"
+import { Flex, Icon, Box } from "@chakra-ui/core"
+
+//https://stackoverflow.com/a/9083076
+function romanize(num: number) {
+ if (isNaN(num)) return NaN
+ let digits = String(+num).split(""),
+ key = [
+ "",
+ "C",
+ "CC",
+ "CCC",
+ "CD",
+ "D",
+ "DC",
+ "DCC",
+ "DCCC",
+ "CM",
+ "",
+ "X",
+ "XX",
+ "XXX",
+ "XL",
+ "L",
+ "LX",
+ "LXX",
+ "LXXX",
+ "XC",
+ "",
+ "I",
+ "II",
+ "III",
+ "IV",
+ "V",
+ "VI",
+ "VII",
+ "VIII",
+ "IX",
+ ],
+ roman = "",
+ i = 3
+ while (i--) roman = (key[+digits.pop()! + i * 10] || "") + roman
+ return Array(+digits.join("") + 1).join("M") + roman
+}
+
+//https://stackoverflow.com/a/23603772
+function getRandomColor(runningNumber: number) {
+ const color = "hsl(" + random(runningNumber) * 360 + ", 100%, 75%)"
+ return color
+}
+
+//https://stackoverflow.com/a/19303725
+function random(seed: number) {
+ var x = Math.sin(seed++) * 10000
+ return x - Math.floor(x)
+}
+
+interface InTheZoneBannerProps {
+ runningNumber: number
+}
+
+const InTheZoneBanner: React.FC = ({ runningNumber }) => {
+ return (
+
+
+
+ {runningNumber}
+
+
+ )
+}
+
+export default InTheZoneBanner
diff --git a/frontend-react/src/components/root/NavItem.tsx b/frontend-react/src/components/root/NavItem.tsx
index 7a280dcfb..2f4725b1a 100644
--- a/frontend-react/src/components/root/NavItem.tsx
+++ b/frontend-react/src/components/root/NavItem.tsx
@@ -6,11 +6,11 @@ import MyThemeContext from "../../themeContext"
interface NavItemProps {
to: string
- Icon: IconType
+ icon: IconType | string
title: string
}
-const NavItem: React.FC = ({ to, Icon, title }) => {
+const NavItem: React.FC = ({ to, icon, title }) => {
const { themeColorWithShade, colorMode, themeColor } = useContext(
MyThemeContext
)
@@ -42,7 +42,11 @@ const NavItem: React.FC = ({ to, Icon, title }) => {
_hover: {},
})}
>
- {" "}
+ {" "}
{title}
diff --git a/frontend-react/src/components/root/Routes.tsx b/frontend-react/src/components/root/Routes.tsx
index 5b1cb44dc..a42605644 100644
--- a/frontend-react/src/components/root/Routes.tsx
+++ b/frontend-react/src/components/root/Routes.tsx
@@ -12,6 +12,7 @@ const TournamentsPage = lazy(() => import("../tournaments/TournamentsPage"))
const TournamentsDetailsPage = lazy(() =>
import("../tournaments/TournamentDetailsPage")
)
+const EventsPage = lazy(() => import("../events/EventsPage"))
const MapPlannerPage = lazy(() => import("../plans/MapPlannerPage"))
const FreeAgentsPage = lazy(() => import("../freeagents/FreeAgentsPage"))
const TeamPage = lazy(() => import("../team/TeamPage"))
@@ -37,6 +38,7 @@ const Routes: React.FC = () => {
+
diff --git a/frontend-react/src/components/root/SideNavContent.tsx b/frontend-react/src/components/root/SideNavContent.tsx
index 75161a323..499667e52 100644
--- a/frontend-react/src/components/root/SideNavContent.tsx
+++ b/frontend-react/src/components/root/SideNavContent.tsx
@@ -12,6 +12,7 @@ import {
MenuItem,
MenuList,
Box,
+ Icon,
} from "@chakra-ui/core"
import { Link } from "@reach/router"
import {
@@ -139,18 +140,19 @@ export const SideNavContent: React.FC = ({ showLogo = true }) => {
)}
-
-
-
-
+
+
+
+
-
+
+
{data?.user?.plus?.membership_status && (
-
+
)}