minor fixes
This commit is contained in:
parent
3c1b2ef550
commit
236806c79e
|
@ -2,6 +2,8 @@ import styles from './DialogCard.module.scss'
|
||||||
import DialogAvatar from './DialogAvatar'
|
import DialogAvatar from './DialogAvatar'
|
||||||
import type { Author } from '../../graphql/types.gen'
|
import type { Author } from '../../graphql/types.gen'
|
||||||
import { apiClient } from '../../utils/apiClient'
|
import { apiClient } from '../../utils/apiClient'
|
||||||
|
import { t } from '../../utils/intl'
|
||||||
|
import { useInbox } from '../../context/inbox'
|
||||||
|
|
||||||
type DialogProps = {
|
type DialogProps = {
|
||||||
online?: boolean
|
online?: boolean
|
||||||
|
@ -12,13 +14,11 @@ type DialogProps = {
|
||||||
}
|
}
|
||||||
|
|
||||||
const DialogCard = (props: DialogProps) => {
|
const DialogCard = (props: DialogProps) => {
|
||||||
|
const { chatEntities, actions } = useInbox()
|
||||||
const handleOpenChat = async () => {
|
const handleOpenChat = async () => {
|
||||||
try {
|
try {
|
||||||
const initChat = await apiClient.createChat({
|
const initChat = await actions.createChat([props.author.slug, props.ownSlug])
|
||||||
title: 'test chat',
|
console.debug('[initChat]', initChat)
|
||||||
members: [props.author.slug, props.ownSlug]
|
|
||||||
})
|
|
||||||
console.debug('[initChat]', initChat.data.createChat)
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error)
|
console.error(error)
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ import { createStore } from 'solid-js/store'
|
||||||
type InboxContextType = {
|
type InboxContextType = {
|
||||||
chatEntities: { [chatId: string]: Message[] }
|
chatEntities: { [chatId: string]: Message[] }
|
||||||
actions: {
|
actions: {
|
||||||
createChat: (memberSlugs: string[], title?: string) => Promise<void>
|
createChat: (members: string[], title?: string) => Promise<void>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,12 +20,12 @@ export function useInbox() {
|
||||||
export const InboxProvider = (props: { children: JSX.Element }) => {
|
export const InboxProvider = (props: { children: JSX.Element }) => {
|
||||||
const [chatEntities, setChatEntities] = createStore({})
|
const [chatEntities, setChatEntities] = createStore({})
|
||||||
|
|
||||||
const createChat = async (members: string[], title?: string) => {
|
const createChat = async (members: string[]) => {
|
||||||
const chat = await apiClient.createChat({ members, title })
|
const chat = await apiClient.createChat({ members })
|
||||||
|
|
||||||
setChatEntities((s) => {
|
setChatEntities((s) => {
|
||||||
s[chat.id] = chat
|
s[chat.id] = chat
|
||||||
})
|
})
|
||||||
|
return chat
|
||||||
}
|
}
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user