From 7c5ff1bcb121e7179177ea183ed48cb97bea4009 Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Tue, 14 Aug 2018 13:11:35 -0300 Subject: [PATCH] Able to Sign In --- src/core/client/stream/components/Stream.tsx | 5 +++- .../components/UserBoxAuthenticated.tsx | 4 ++- .../stream/containers/StreamContainer.tsx | 3 ++ .../stream/containers/UserBoxContainer.tsx | 28 +++++++++++++++++-- .../client/stream/queries/StreamQuery.tsx | 8 +++++- 5 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/core/client/stream/components/Stream.tsx b/src/core/client/stream/components/Stream.tsx index 7f1ea183c..f171acb86 100644 --- a/src/core/client/stream/components/Stream.tsx +++ b/src/core/client/stream/components/Stream.tsx @@ -10,6 +10,8 @@ import ReplyListContainer from "../containers/ReplyListContainer"; import UserBoxContainer from "../containers/UserBoxContainer"; import * as styles from "./Stream.css"; +import { User } from "../containers/UserBoxContainer"; + export interface StreamProps { assetID: string; isClosed?: boolean; @@ -17,12 +19,13 @@ export interface StreamProps { onLoadMore?: () => void; hasMore?: boolean; disableLoadMore?: boolean; + user: User | null; } const Stream: StatelessComponent = props => { return ( - + void; + user: User; } const UserBoxAuthenticated: StatelessComponent< @@ -23,7 +25,7 @@ const UserBoxAuthenticated: StatelessComponent< - okbel + {props.user.username} diff --git a/src/core/client/stream/containers/StreamContainer.tsx b/src/core/client/stream/containers/StreamContainer.tsx index d81319deb..1a185c902 100644 --- a/src/core/client/stream/containers/StreamContainer.tsx +++ b/src/core/client/stream/containers/StreamContainer.tsx @@ -10,9 +10,11 @@ import { } from "talk-stream/__generated__/StreamContainerPaginationQuery.graphql"; import Stream from "../components/Stream"; +import { User } from "../containers/UserBoxContainer"; interface InnerProps { asset: Data; + user: User | null; relay: RelayPaginationProp; } @@ -31,6 +33,7 @@ export class StreamContainer extends React.Component { onLoadMore={this.loadMore} hasMore={this.props.relay.hasMore()} disableLoadMore={this.state.disableLoadMore} + user={this.props.user} /> ); } diff --git a/src/core/client/stream/containers/UserBoxContainer.tsx b/src/core/client/stream/containers/UserBoxContainer.tsx index a1f2bb87b..b9896e97b 100644 --- a/src/core/client/stream/containers/UserBoxContainer.tsx +++ b/src/core/client/stream/containers/UserBoxContainer.tsx @@ -1,6 +1,5 @@ import * as React from "react"; import { Component } from "react"; - import { graphql, withLocalStateContainer } from "talk-framework/lib/relay"; import { UserBoxContainerLocal as Local } from "talk-stream/__generated__/UserBoxContainerLocal.graphql"; import { @@ -11,11 +10,26 @@ import { } from "talk-stream/mutations"; import { Popup } from "talk-ui/components"; -// import UserBoxAuthenticated from "../components/UserBoxAuthenticated"; +import UserBoxAuthenticated from "../components/UserBoxAuthenticated"; import UserBoxUnauthenticated from "../components/UserBoxUnauthenticated"; +export type USER_ROLE = + | "ADMIN" + | "COMMENTER" + | "MODERATOR" + | "STAFF" + | "%future added value"; + +export interface User { + id?: string; + username?: string | null; + displayName?: string | null; + role?: USER_ROLE; +} + interface InnerProps { local: Local; + user: User | null; showAuthPopup: ShowAuthPopupMutation; setAuthPopupState: SetAuthPopupStateMutation; } @@ -32,7 +46,15 @@ export class UserBoxContainer extends Component { local: { authPopup: { open, focus, view }, }, + user, } = this.props; + + if (user) { + return ( + + ); + } + return ( <> { onBlur={this.handleBlur} onClose={this.handleClose} /> - {/* */} ) => { return
{error.message}
; } if (props) { - return ; + return ; } return
Loading
; }; @@ -38,6 +38,12 @@ const StreamQuery: StatelessComponent = ({ asset(id: $assetID) { ...StreamContainer_asset } + me { + id + username + displayName + role + } } `} variables={{