subs-fix
This commit is contained in:
parent
47822553bd
commit
7fda54636d
|
@ -4,6 +4,8 @@ import { createChatClient } from '../graphql/privateGraphQLClient'
|
|||
import type { Chat } from '../graphql/types.gen'
|
||||
import { apiClient } from '../utils/apiClient'
|
||||
import newMessages from '../graphql/subs/new-messages'
|
||||
import type { Client } from '@urql/core'
|
||||
import { pipe, subscribe } from 'wonka'
|
||||
|
||||
type InboxContextType = {
|
||||
chats: Accessor<Chat[]>
|
||||
|
@ -23,7 +25,7 @@ export function useInbox() {
|
|||
export const InboxProvider = (props: { children: JSX.Element }) => {
|
||||
const [chats, setChats] = createSignal<Chat[]>([])
|
||||
const [listener, setListener] = createSignal(console.debug)
|
||||
const subclient = createMemo(() => createChatClient(listener()))
|
||||
const subclient = createMemo<Client>(() => createChatClient(listener()))
|
||||
const loadChats = async () => {
|
||||
try {
|
||||
const newChats = await apiClient.getChats({ limit: 50, offset: 0 })
|
||||
|
@ -50,9 +52,15 @@ export const InboxProvider = (props: { children: JSX.Element }) => {
|
|||
loadChats,
|
||||
setListener // setting listening handler
|
||||
}
|
||||
onMount(() => {
|
||||
const resp = subclient().subscription(newMessages, {})
|
||||
console.debug(resp)
|
||||
|
||||
onMount(async () => {
|
||||
const { unsubscribe } = pipe(
|
||||
subclient().subscription(newMessages, {}),
|
||||
subscribe((result) => {
|
||||
console.debug(result) // { data: ... }
|
||||
// TODO: handle data result
|
||||
})
|
||||
)
|
||||
})
|
||||
const value: InboxContextType = { chats, actions }
|
||||
return <InboxContext.Provider value={value}>{props.children}</InboxContext.Provider>
|
||||
|
|
|
@ -54,9 +54,9 @@ export type AuthorsBy = {
|
|||
}
|
||||
|
||||
export type Chat = {
|
||||
admins?: Maybe<Array<Maybe<Scalars['String']>>>
|
||||
admins?: Maybe<Array<Maybe<Scalars['Int']>>>
|
||||
createdAt: Scalars['Int']
|
||||
createdBy: Scalars['String']
|
||||
createdBy: Scalars['Int']
|
||||
description?: Maybe<Scalars['String']>
|
||||
id: Scalars['String']
|
||||
members?: Maybe<Array<Maybe<ChatMember>>>
|
||||
|
@ -65,7 +65,7 @@ export type Chat = {
|
|||
title?: Maybe<Scalars['String']>
|
||||
unread?: Maybe<Scalars['Int']>
|
||||
updatedAt: Scalars['Int']
|
||||
users?: Maybe<Array<Maybe<Scalars['String']>>>
|
||||
users?: Maybe<Array<Maybe<Scalars['Int']>>>
|
||||
}
|
||||
|
||||
export type ChatInput = {
|
||||
|
@ -78,6 +78,7 @@ export type ChatMember = {
|
|||
id: Scalars['Int']
|
||||
lastSeen?: Maybe<Scalars['DateTime']>
|
||||
name: Scalars['String']
|
||||
online?: Maybe<Scalars['Boolean']>
|
||||
slug: Scalars['String']
|
||||
userpic?: Maybe<Scalars['String']>
|
||||
}
|
||||
|
@ -139,12 +140,13 @@ export type LoadShoutsOptions = {
|
|||
}
|
||||
|
||||
export type Message = {
|
||||
author: Scalars['String']
|
||||
author: Scalars['Int']
|
||||
body: Scalars['String']
|
||||
chatId: Scalars['String']
|
||||
createdAt: Scalars['Int']
|
||||
id: Scalars['Int']
|
||||
replyTo?: Maybe<Scalars['String']>
|
||||
seen?: Maybe<Scalars['Boolean']>
|
||||
updatedAt?: Maybe<Scalars['Int']>
|
||||
}
|
||||
|
||||
|
@ -353,6 +355,7 @@ export type Query = {
|
|||
loadShout?: Maybe<Shout>
|
||||
loadShouts: Array<Maybe<Shout>>
|
||||
markdownBody: Scalars['String']
|
||||
searchMessages: Result
|
||||
searchRecipients: Result
|
||||
signIn: AuthResult
|
||||
signOut: AuthResult
|
||||
|
@ -417,6 +420,12 @@ export type QueryMarkdownBodyArgs = {
|
|||
body: Scalars['String']
|
||||
}
|
||||
|
||||
export type QuerySearchMessagesArgs = {
|
||||
by: MessagesBy
|
||||
limit?: InputMaybe<Scalars['Int']>
|
||||
offset?: InputMaybe<Scalars['Int']>
|
||||
}
|
||||
|
||||
export type QuerySearchRecipientsArgs = {
|
||||
limit?: InputMaybe<Scalars['Int']>
|
||||
offset?: InputMaybe<Scalars['Int']>
|
||||
|
@ -620,17 +629,13 @@ export type Stat = {
|
|||
}
|
||||
|
||||
export type Subscription = {
|
||||
newMessage: Message
|
||||
newMessages: Message
|
||||
onlineUpdated: Array<User>
|
||||
reactionUpdated: ReactionUpdating
|
||||
shoutUpdated: Shout
|
||||
userUpdated: User
|
||||
}
|
||||
|
||||
export type SubscriptionNewMessageArgs = {
|
||||
chats?: InputMaybe<Array<Scalars['Int']>>
|
||||
}
|
||||
|
||||
export type SubscriptionReactionUpdatedArgs = {
|
||||
shout: Scalars['String']
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user