import { Localized } from "fluent-react/compat"; import * as React from "react"; import { StatelessComponent } from "react"; import { ReadyState } from "react-relay"; import { graphql, QueryRenderer, withLocalStateContainer, } from "talk-framework/lib/relay"; import { PermalinkViewQuery as QueryTypes } from "talk-stream/__generated__/PermalinkViewQuery.graphql"; import { PermalinkViewQueryLocal as Local } from "talk-stream/__generated__/PermalinkViewQueryLocal.graphql"; import { Spinner } from "talk-ui/components"; import PermalinkViewContainer from "../containers/PermalinkViewContainer"; interface InnerProps { local: Local; } export const render = ({ error, props, }: ReadyState) => { if (error) { return
{error.message}
; } if (props) { if (!props.asset) { return (
Asset not found
); } return ( ); } return ; }; const PermalinkViewQuery: StatelessComponent = ({ local: { commentID, assetID }, }) => ( query={graphql` query PermalinkViewQuery($commentID: ID!, $assetID: ID!) { me { ...PermalinkViewContainer_me } asset(id: $assetID) { ...PermalinkViewContainer_asset } comment(id: $commentID) { ...PermalinkViewContainer_comment } } `} variables={{ assetID: assetID!, commentID: commentID!, }} render={render} /> ); const enhanced = withLocalStateContainer( graphql` fragment PermalinkViewQueryLocal on Local { assetID commentID } ` )(PermalinkViewQuery); export default enhanced;