From 708bfe17a3d014bb9c8678ac567100faec818b9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bel=C3=A9n=20Curcio?= Date: Thu, 27 Sep 2018 11:20:34 -0300 Subject: [PATCH] using found withRouter --- .../client/admin/components/Community.tsx | 8 ++++++++ .../client/admin/components/Configure.tsx | 8 ++++++++ src/core/client/admin/components/Moderate.tsx | 8 ++++++++ src/core/client/admin/components/Stories.tsx | 8 ++++++++ .../admin/containers/NavigationContainer.tsx | 14 +++++++------- src/core/client/admin/index.tsx | 11 ++++------- .../client/admin/mutations/SetViewMutation.ts | 19 ------------------- src/core/client/admin/mutations/index.ts | 1 - src/core/client/admin/routeConfig.tsx | 17 +++++++++++++++++ 9 files changed, 60 insertions(+), 34 deletions(-) create mode 100644 src/core/client/admin/components/Community.tsx create mode 100644 src/core/client/admin/components/Configure.tsx create mode 100644 src/core/client/admin/components/Moderate.tsx create mode 100644 src/core/client/admin/components/Stories.tsx delete mode 100644 src/core/client/admin/mutations/SetViewMutation.ts delete mode 100644 src/core/client/admin/mutations/index.ts create mode 100644 src/core/client/admin/routeConfig.tsx 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( + + + + + + +);