From 49ada9f963a64b87ff5ceec88a7cb3f48ee18ab2 Mon Sep 17 00:00:00 2001 From: Stepan Usatiuk Date: Sun, 15 Sep 2019 17:54:06 +0300 Subject: [PATCH] redirect to normal view if user owns the document --- frontend/src/Documents/SharedView.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/frontend/src/Documents/SharedView.tsx b/frontend/src/Documents/SharedView.tsx index 2ce70af..966d46f 100644 --- a/frontend/src/Documents/SharedView.tsx +++ b/frontend/src/Documents/SharedView.tsx @@ -4,7 +4,7 @@ import { Button, H1 } from "@blueprintjs/core"; import * as React from "react"; import Markdown from "react-markdown"; import { connect } from "react-redux"; -import { RouteComponentProps, withRouter } from "react-router"; +import { Redirect, RouteComponentProps, withRouter } from "react-router"; import { Dispatch } from "redux"; import { IDocumentJSON } from "~../../src/entity/Document"; import { LoadingStub } from "~LoadingStub"; @@ -12,11 +12,12 @@ import { NotFound } from "~NotFound"; import { fetchSharedDoc } from "~redux/api/docs"; import { fetchDocsStart } from "~redux/docs/actions"; import { IAppState } from "~redux/reducers"; +import { IUserJSON } from "../../../src/entity/User"; import { CodeBlock } from "./CodeBlock"; export interface ISharedViewComponentProps extends RouteComponentProps { loggedIn: boolean; - username: string | undefined; + user: IUserJSON | undefined; } export interface ISharedViewComponentState { @@ -51,7 +52,11 @@ export class SharedViewComponent extends React.PureComponent< ); } + const { loggedIn, user } = this.props; const { doc } = this.state; + if (loggedIn && user.id === doc.user) { + return ; + } return (
@@ -88,8 +93,11 @@ export class SharedViewComponent extends React.PureComponent< function mapStateToProps(state: IAppState) { return { loggedIn: state.user.user !== null, - username: state.user.user.username, + user: state.user.user, }; } -export const SharedView = SharedViewComponent; +export const SharedView = withRouter( + connect(mapStateToProps)(SharedViewComponent), +); +