creating conversation sort of working but not fully
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
import axios, { AxiosRequestConfig, AxiosResponse, Method } from 'axios';
|
||||
|
||||
import CreateConversationRequest from '../../../core/requests/CreateConversationRequest.request';
|
||||
import CreateConversationResponse from '../../../core/responses/CreateConversationResponse.response';
|
||||
import LoginResponse from '@nirvana/core/responses/login.response';
|
||||
import NirvanaResponse from '../../../core/responses/nirvanaResponse';
|
||||
import UserDetailsResponse from '@nirvana/core/responses/userDetails.response';
|
||||
import UserSearchResponse from '@nirvana/core/responses/userSearch.response';
|
||||
|
||||
@@ -71,3 +74,9 @@ export async function getUserDetails(): Promise<UserDetailsResponse> {
|
||||
export async function userSearch(searchQuery: string): Promise<UserSearchResponse> {
|
||||
return await NirvanaApi.fetch(`/search/users?query=${searchQuery}`, 'GET', true);
|
||||
}
|
||||
|
||||
export async function createConversation(
|
||||
req: CreateConversationRequest,
|
||||
): Promise<NirvanaResponse<CreateConversationResponse>> {
|
||||
return await NirvanaApi.fetch(`/conversations`, 'POST', true, req);
|
||||
}
|
||||
|
||||
@@ -20,11 +20,13 @@ import React, { HTMLAttributes, useCallback, useEffect, useState } from 'react';
|
||||
import { useDebounce, useKeyPressEvent, useToggle } from 'react-use';
|
||||
|
||||
import CircularProgress from '@mui/material/CircularProgress';
|
||||
import CreateConversationRequest from '../../../core/requests/CreateConversationRequest.request';
|
||||
import { FiX } from 'react-icons/fi';
|
||||
import { NirvanaRules } from '../util/rules';
|
||||
import User from '@nirvana/core/models/user.model';
|
||||
import UserDetailRow from '../subcomponents/UserDetailRow';
|
||||
import { blueGrey } from '@mui/material/colors';
|
||||
import { createConversation } from '../api/NirvanaApi';
|
||||
import toast from 'react-hot-toast';
|
||||
import useAuth from '../providers/AuthProvider';
|
||||
import useRouter from '../providers/RouterProvider';
|
||||
@@ -92,12 +94,23 @@ export default function NewConversationDialog() {
|
||||
|
||||
setIsSubmitting(true);
|
||||
|
||||
// await handleSubmit(selectedUsers, conversationName);
|
||||
toast('submitting');
|
||||
try {
|
||||
// if it's just one other person, then call quick dial master function which would do all of the checking
|
||||
|
||||
// clear form for next time
|
||||
setSelectedUsers([]);
|
||||
setConversationName('');
|
||||
// if more than one person, then just create conversation
|
||||
|
||||
const createResult = await createConversation(
|
||||
new CreateConversationRequest(selectedUsers, conversationName),
|
||||
);
|
||||
|
||||
// clear form for next time
|
||||
setSelectedUsers([]);
|
||||
setConversationName('');
|
||||
|
||||
// todo: select conversation Id that was created
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
|
||||
setIsSubmitting(false);
|
||||
}, [selectedUsers, setConversationName, conversationName, setSelectedUsers, setIsSubmitting]);
|
||||
|
||||
Reference in New Issue
Block a user