From 267b2017327a7e99483434190132ca47e50785e9 Mon Sep 17 00:00:00 2001 From: ilya-bkv Date: Tue, 6 Dec 2022 12:03:23 +0300 Subject: [PATCH] Redirect to chat --- src/components/Author/Card.tsx | 8 ++++++++ src/components/Nav/AuthModal/types.ts | 4 ++++ src/graphql/query/author-by-slug.ts | 1 + src/graphql/query/author-followers.ts | 1 + src/graphql/query/author-following.ts | 1 + src/graphql/query/authors-all.ts | 1 + src/graphql/query/authors-load-by.ts | 1 + 7 files changed, 17 insertions(+) diff --git a/src/components/Author/Card.tsx b/src/components/Author/Card.tsx index b0aacd95..afeb6197 100644 --- a/src/components/Author/Card.tsx +++ b/src/components/Author/Card.tsx @@ -10,6 +10,8 @@ import { follow, unfollow } from '../../stores/zine/common' import { clsx } from 'clsx' import { useSession } from '../../context/session' import { FollowingEntity } from '../../graphql/types.gen' +import { router, useRouter } from '../../stores/router' +import { openPage } from '@nanostores/router' interface AuthorCardProps { caption?: string @@ -43,6 +45,11 @@ export const AuthorCard = (props: AuthorCardProps) => { : translit(props.author.name || '', locale() || 'ru') } // TODO: reimplement AuthorCard + const { changeSearchParam } = useRouter() + const handleInitChat = () => { + openPage(router, 'inbox') + changeSearchParam('openChat', `${props.author.id}`) + } return (
{ 'button--subscribe-topic': props.isAuthorsList, [styles.buttonWrite]: props.liteButtons && props.isAuthorsList }} + onClick={handleInitChat} > {t('Write')} diff --git a/src/components/Nav/AuthModal/types.ts b/src/components/Nav/AuthModal/types.ts index c8c0add6..2b42379c 100644 --- a/src/components/Nav/AuthModal/types.ts +++ b/src/components/Nav/AuthModal/types.ts @@ -7,3 +7,7 @@ export type AuthModalSearchParams = { export type ConfirmEmailSearchParams = { token: string } + +export type CreateChatSearchParams = { + id: number +} diff --git a/src/graphql/query/author-by-slug.ts b/src/graphql/query/author-by-slug.ts index d25ae0ab..9853edce 100644 --- a/src/graphql/query/author-by-slug.ts +++ b/src/graphql/query/author-by-slug.ts @@ -4,6 +4,7 @@ export default gql` query GetAuthorBySlugQuery($slug: String!) { getAuthor(slug: $slug) { _id: slug + id slug name bio diff --git a/src/graphql/query/author-followers.ts b/src/graphql/query/author-followers.ts index dcb6b44a..5dccac58 100644 --- a/src/graphql/query/author-followers.ts +++ b/src/graphql/query/author-followers.ts @@ -4,6 +4,7 @@ export default gql` query UserSubscribersQuery($slug: String!) { userSubcribers(slug: $slug) { _id: slug + id slug name bio diff --git a/src/graphql/query/author-following.ts b/src/graphql/query/author-following.ts index 3100fe5d..cc6c4edb 100644 --- a/src/graphql/query/author-following.ts +++ b/src/graphql/query/author-following.ts @@ -4,6 +4,7 @@ export default gql` query UserFollowingQuery($slug: String!) { userFollowing(slug: $slug) { _id: slug + id slug name bio diff --git a/src/graphql/query/authors-all.ts b/src/graphql/query/authors-all.ts index 036a02f1..b5a6e65a 100644 --- a/src/graphql/query/authors-all.ts +++ b/src/graphql/query/authors-all.ts @@ -4,6 +4,7 @@ export default gql` query AuthorsAllQuery { authorsAll { _id: slug + id slug name bio diff --git a/src/graphql/query/authors-load-by.ts b/src/graphql/query/authors-load-by.ts index a76bf102..fdafd924 100644 --- a/src/graphql/query/authors-load-by.ts +++ b/src/graphql/query/authors-load-by.ts @@ -4,6 +4,7 @@ export default gql` query AuthorLoadByQuery($by: AuthorsBy, $limit: Int, $offset: Int) { loadAuthorsBy(by: $by, limit: $limit, offset: $offset) { _id: slug + id slug name bio