diff --git a/src/core/client/admin/components/Community.tsx b/src/core/client/admin/components/Community.tsx
new file mode 100644
index 000000000..a5cebfc87
--- /dev/null
+++ b/src/core/client/admin/components/Community.tsx
@@ -0,0 +1,8 @@
+import React, { StatelessComponent } from "react";
+import { HorizontalGutter } from "talk-ui/components";
+
+const Community: StatelessComponent = ({ children }) => (
+ Community
+);
+
+export default Community;
diff --git a/src/core/client/admin/components/Configure.tsx b/src/core/client/admin/components/Configure.tsx
new file mode 100644
index 000000000..cd91a7bfc
--- /dev/null
+++ b/src/core/client/admin/components/Configure.tsx
@@ -0,0 +1,8 @@
+import React, { StatelessComponent } from "react";
+import { HorizontalGutter } from "talk-ui/components";
+
+const Configure: StatelessComponent = ({ children }) => (
+ Configure
+);
+
+export default Configure;
diff --git a/src/core/client/admin/components/Moderate.tsx b/src/core/client/admin/components/Moderate.tsx
new file mode 100644
index 000000000..04eb7dc53
--- /dev/null
+++ b/src/core/client/admin/components/Moderate.tsx
@@ -0,0 +1,8 @@
+import React, { StatelessComponent } from "react";
+import { HorizontalGutter } from "talk-ui/components";
+
+const Moderate: StatelessComponent = ({ children }) => (
+ Moderate
+);
+
+export default Moderate;
diff --git a/src/core/client/admin/components/Stories.tsx b/src/core/client/admin/components/Stories.tsx
new file mode 100644
index 000000000..3232b8f7b
--- /dev/null
+++ b/src/core/client/admin/components/Stories.tsx
@@ -0,0 +1,8 @@
+import React, { StatelessComponent } from "react";
+import { HorizontalGutter } from "talk-ui/components";
+
+const Stories: StatelessComponent = ({ children }) => (
+ Stories
+);
+
+export default Stories;
diff --git a/src/core/client/admin/containers/NavigationContainer.tsx b/src/core/client/admin/containers/NavigationContainer.tsx
index fb3834364..62cadb39d 100644
--- a/src/core/client/admin/containers/NavigationContainer.tsx
+++ b/src/core/client/admin/containers/NavigationContainer.tsx
@@ -1,16 +1,16 @@
+import { Router, withRouter } from "found";
import React, { Component } from "react";
import Navigation from "../components/Navigation";
-import { SetViewMutation, withSetViewMutation } from "../mutations";
interface NavigationContainerProps {
- setView: SetViewMutation;
+ router: Router;
}
class NavigationContainer extends Component {
- private goToModerate = () => this.props.setView({ view: "MODERATE" });
- private goToCommunity = () => this.props.setView({ view: "COMMUNITY" });
- private goToStories = () => this.props.setView({ view: "STORIES" });
- private goToConfigure = () => this.props.setView({ view: "CONFIGURE" });
+ private goToModerate = () => this.props.router.replace("/admin/moderate");
+ private goToCommunity = () => this.props.router.replace("/admin/community");
+ private goToStories = () => this.props.router.replace("/admin/stories");
+ private goToConfigure = () => this.props.router.replace("/admin/configures");
public render() {
return (
{
}
}
-export default withSetViewMutation(NavigationContainer);
+export default withRouter(NavigationContainer);
diff --git a/src/core/client/admin/index.tsx b/src/core/client/admin/index.tsx
index efa04ac7d..55f3e7a4f 100644
--- a/src/core/client/admin/index.tsx
+++ b/src/core/client/admin/index.tsx
@@ -1,17 +1,14 @@
import { BrowserProtocol, queryMiddleware } from "farce";
-import { createFarceRouter, createRender, makeRouteConfig, Route } from "found";
+import { createFarceRouter, createRender } from "found";
import { Resolver } from "found-relay";
-import React from "react";
-import { StatelessComponent } from "react";
+import React, { StatelessComponent } from "react";
import ReactDOM from "react-dom";
-
import { createManaged } from "talk-framework/lib/bootstrap";
-
import { TalkContextConsumer } from "talk-framework/lib/bootstrap/TalkContext";
-import App from "./components/App";
import { initLocalState } from "./local";
import localesData from "./locales";
+import routeConfig from "./routeConfig";
async function main() {
const ManagedTalkContextProvider = await createManaged({
@@ -23,7 +20,7 @@ async function main() {
const Router = createFarceRouter({
historyProtocol: new BrowserProtocol(),
historyMiddlewares: [queryMiddleware],
- routeConfig: makeRouteConfig(),
+ routeConfig,
render: createRender({}),
});
diff --git a/src/core/client/admin/mutations/SetViewMutation.ts b/src/core/client/admin/mutations/SetViewMutation.ts
deleted file mode 100644
index 0fe13291a..000000000
--- a/src/core/client/admin/mutations/SetViewMutation.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { commitLocalUpdate, Environment } from "relay-runtime";
-
-import { createMutationContainer } from "talk-framework/lib/relay";
-import { LOCAL_ID } from "talk-framework/lib/relay/withLocalStateContainer";
-
-export interface SetViewInput {
- view: "MODERATE" | "COMMUNITY" | "STORIES" | "CONFIGURE";
-}
-
-export type SetViewMutation = (input: SetViewInput) => Promise;
-
-export async function commit(environment: Environment, input: SetViewInput) {
- return commitLocalUpdate(environment, store => {
- const record = store.get(LOCAL_ID)!;
- record.setValue(input.view, "view");
- });
-}
-
-export const withSetViewMutation = createMutationContainer("setView", commit);
diff --git a/src/core/client/admin/mutations/index.ts b/src/core/client/admin/mutations/index.ts
deleted file mode 100644
index 50d8d059b..000000000
--- a/src/core/client/admin/mutations/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { withSetViewMutation, SetViewMutation } from "./SetViewMutation";
diff --git a/src/core/client/admin/routeConfig.tsx b/src/core/client/admin/routeConfig.tsx
new file mode 100644
index 000000000..30af0dfef
--- /dev/null
+++ b/src/core/client/admin/routeConfig.tsx
@@ -0,0 +1,17 @@
+import { makeRouteConfig, Route } from "found";
+import React from "react";
+
+import App from "./components/App";
+import Community from "./components/Community";
+import Configure from "./components/Configure";
+import Moderate from "./components/Moderate";
+import Stories from "./components/Stories";
+
+export default makeRouteConfig(
+
+
+
+
+
+
+);