[WiP] intermediate merge

This commit is contained in:
ilya-bkv 2022-11-27 21:08:11 +03:00
parent 21bf779f24
commit 737a77ae9a
5 changed files with 20 additions and 25 deletions

View File

@ -1,6 +1,6 @@
import styles from './DialogCard.module.scss' import styles from './DialogCard.module.scss'
import DialogAvatar from './DialogAvatar' import DialogAvatar from './DialogAvatar'
import type { Author, Chat, User } from '../../graphql/types.gen' import type { Author, Chat, ChatMember, User } from '../../graphql/types.gen'
import { apiClient } from '../../utils/apiClient' import { apiClient } from '../../utils/apiClient'
import { t } from '../../utils/intl' import { t } from '../../utils/intl'
import { useInbox } from '../../context/inbox' import { useInbox } from '../../context/inbox'
@ -9,22 +9,19 @@ type DialogProps = {
online?: boolean online?: boolean
message?: string message?: string
counter?: number counter?: number
users: unknown[] theme?: string
ownSlug: string ownSlug: string
members: ChatMember[]
} }
const DialogCard = (props: DialogProps) => { const DialogCard = (props: DialogProps) => {
const companions = props.users.filter((user) => user !== props.ownSlug) const companions = props.members.filter((member) => member.slug !== props.ownSlug)
console.log('!!! companions:', companions) console.log('!!! companions:', companions)
return ( return (
<div class={styles.DialogCard}> <div class={styles.DialogCard}>
<div class={styles.avatar}>{/*<DialogAvatar name={participants[0]} online={props.online} />*/}</div> <div class={styles.avatar}>{/*<DialogAvatar name={participants[0]} online={props.online} />*/}</div>
<div class={styles.row}> <div class={styles.row}>
{/*{companions.length > 1 && (*/} {companions.length > 1 ? <div>Group</div> : <div class={styles.name}>{companions[0].name}</div>}
{/* <div class={styles.name}>*/}
{/* */}
{/* </div>*/}
{/*)}*/}
<div class={styles.message}> <div class={styles.message}>
Указать предпочтительные языки для результатов поиска можно в разделе Указать предпочтительные языки для результатов поиска можно в разделе
</div> </div>

View File

@ -112,7 +112,7 @@ export const InboxView = () => {
try { try {
const response = await loadChats() const response = await loadChats()
setChats(response as unknown as Chat[]) setChats(response as unknown as Chat[])
console.log('!!! response:', response) console.log('!!! chats:', response)
} catch (error) { } catch (error) {
console.log(error) console.log(error)
} }
@ -168,7 +168,7 @@ export const InboxView = () => {
<div class="holder"> <div class="holder">
<div class="dialogs"> <div class="dialogs">
<For each={chats()}> <For each={chats()}>
{(chat) => <DialogCard users={chat.users} ownSlug={currentSlug()} />} {(chat) => <DialogCard theme={chat.title} members={chat.members} ownSlug={currentSlug()} />}
</For> </For>
</div> </div>
</div> </div>

View File

@ -6,8 +6,13 @@ export default gql`
error error
chats { chats {
id id
title
admins admins
users members {
slug
name
userpic
}
unread unread
description description
updatedAt updatedAt

View File

@ -54,17 +54,18 @@ export type AuthorsBy = {
} }
export type Chat = { export type Chat = {
admins?: Maybe<Array<Maybe<User>>> admins?: Maybe<Array<Maybe<Scalars['String']>>>
createdAt: Scalars['Int'] createdAt: Scalars['Int']
createdBy: User createdBy: Scalars['String']
description?: Maybe<Scalars['String']> description?: Maybe<Scalars['String']>
id: Scalars['String'] id: Scalars['String']
messages: Array<Maybe<Message>> members?: Maybe<Array<Maybe<ChatMember>>>
messages?: Maybe<Array<Maybe<Message>>>
private?: Maybe<Scalars['Boolean']> private?: Maybe<Scalars['Boolean']>
title?: Maybe<Scalars['String']> title?: Maybe<Scalars['String']>
unread?: Maybe<Scalars['Int']> unread?: Maybe<Scalars['Int']>
updatedAt: Scalars['Int'] updatedAt: Scalars['Int']
users: Array<Maybe<User>> users?: Maybe<Array<Maybe<Scalars['String']>>>
} }
export type ChatInput = { export type ChatInput = {
@ -75,8 +76,6 @@ export type ChatInput = {
export type ChatMember = { export type ChatMember = {
id: Scalars['Int'] id: Scalars['Int']
invitedAt?: Maybe<Scalars['DateTime']>
invitedBy?: Maybe<Scalars['String']>
lastSeen?: Maybe<Scalars['DateTime']> lastSeen?: Maybe<Scalars['DateTime']>
name: Scalars['String'] name: Scalars['String']
slug: Scalars['String'] slug: Scalars['String']
@ -136,6 +135,7 @@ export type LoadShoutsOptions = {
offset?: InputMaybe<Scalars['Int']> offset?: InputMaybe<Scalars['Int']>
order_by?: InputMaybe<Scalars['String']> order_by?: InputMaybe<Scalars['String']>
order_by_desc?: InputMaybe<Scalars['Boolean']> order_by_desc?: InputMaybe<Scalars['Boolean']>
with_author_captions?: InputMaybe<Scalars['Boolean']>
} }
export type Message = { export type Message = {
@ -178,7 +178,6 @@ export type Mutation = {
follow: Result follow: Result
getSession: AuthResult getSession: AuthResult
inviteAuthor: Result inviteAuthor: Result
inviteChat: Result
markAsRead: Result markAsRead: Result
rateUser: Result rateUser: Result
registerUser: AuthResult registerUser: AuthResult
@ -214,7 +213,7 @@ export type MutationCreateReactionArgs = {
} }
export type MutationCreateShoutArgs = { export type MutationCreateShoutArgs = {
inp: ShoutInput input: ShoutInput
} }
export type MutationCreateTopicArgs = { export type MutationCreateTopicArgs = {
@ -252,11 +251,6 @@ export type MutationInviteAuthorArgs = {
shout: Scalars['String'] shout: Scalars['String']
} }
export type MutationInviteChatArgs = {
chatId: Scalars['String']
userslug: Scalars['String']
}
export type MutationMarkAsReadArgs = { export type MutationMarkAsReadArgs = {
chatId: Scalars['String'] chatId: Scalars['String']
ids: Array<InputMaybe<Scalars['Int']>> ids: Array<InputMaybe<Scalars['Int']>>

View File

@ -17,7 +17,6 @@ main {
flex: 1; flex: 1;
flex-direction: column; flex-direction: column;
position: fixed; position: fixed;
z-index: 900;
.row { .row {
flex: 1; flex: 1;