starting implementation of user status changing
This commit is contained in:
@@ -107,6 +107,9 @@ export function useGetUserDetails() {
|
||||
{
|
||||
retry: false,
|
||||
refetchOnWindowFocus: false,
|
||||
onError: (err) => {
|
||||
console.log(err);
|
||||
},
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
import SocketChannels from "@nirvana/core/sockets/channels";
|
||||
import { UserStatus } from "../../../core/models/user.model";
|
||||
import { socket } from "../nirvanaApp";
|
||||
import { useGetAllContactBasicDetails } from "./index";
|
||||
|
||||
@@ -62,10 +63,18 @@ export default function useSocketData() {
|
||||
}
|
||||
);
|
||||
|
||||
socket.on(
|
||||
SocketChannels.SEND_USER_STATUS_UPDATE,
|
||||
(userGoogleId: string, newStatus: UserStatus) => {
|
||||
console.log("someone updated their status...hmmm");
|
||||
}
|
||||
);
|
||||
|
||||
return () => {
|
||||
socket.removeAllListeners(SocketChannels.SEND_STARTED_SPEAKING);
|
||||
socket.removeAllListeners(SocketChannels.SEND_STOPPED_SPEAKING);
|
||||
socket.removeAllListeners(SocketChannels.SEND_AUDIO_CLIP);
|
||||
socket.removeAllListeners(SocketChannels.SEND_USER_STATUS_UPDATE);
|
||||
};
|
||||
}, []);
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import { useRecoilState, useSetRecoilState } from "recoil";
|
||||
import { GlobalHotKeys } from "react-hotkeys";
|
||||
import { STORE_ITEMS } from "../../../electron/constants";
|
||||
import UserAvatarWithStatus from "../../../components/User/userAvatarWithStatus";
|
||||
import { UserStatus } from "@nirvana/core/models";
|
||||
import { useGetUserDetails } from "../../../controller/index";
|
||||
import { useRef } from "react";
|
||||
|
||||
@@ -26,10 +27,20 @@ export default function Header() {
|
||||
setAuthTokens(null);
|
||||
};
|
||||
|
||||
const updateStatus = (newStatus: UserStatus) => {};
|
||||
const ProfileMenu = (
|
||||
<Menu>
|
||||
<Menu.Item key="0">
|
||||
<button onClick={logOut}>Log Out</button>
|
||||
{user.status === UserStatus.online ? (
|
||||
<button onClick={() => updateStatus(UserStatus.offline)}>
|
||||
Set status as away
|
||||
</button>
|
||||
) : (
|
||||
<button onClick={() => updateStatus(UserStatus.offline)}>
|
||||
Set status as away
|
||||
</button>
|
||||
)}
|
||||
</Menu.Item>
|
||||
</Menu>
|
||||
);
|
||||
|
||||
@@ -39,7 +39,7 @@ export default function SelectedConversation() {
|
||||
$selectedConversation
|
||||
);
|
||||
const { data: userDetailsData } = useGetUserDetails();
|
||||
const { data: convoDetailsResponse, isFetching } =
|
||||
const { data: convoDetailsResponse, isLoading } =
|
||||
useConversationDetails(selectedConvo);
|
||||
const { mutate: sendContactRequest } = useSendContactRequest();
|
||||
const { mutate: updateRelationshipState } = useUpdateRelationshipState();
|
||||
@@ -137,10 +137,6 @@ export default function SelectedConversation() {
|
||||
return <></>;
|
||||
}
|
||||
|
||||
if (isFetching) {
|
||||
return <span className="text-slate-200">Loading conversation details</span>;
|
||||
}
|
||||
|
||||
// todo: add cancel request option
|
||||
|
||||
const sendRequest = () => {
|
||||
@@ -174,7 +170,7 @@ export default function SelectedConversation() {
|
||||
);
|
||||
};
|
||||
|
||||
if (isFetching) return <span>Please wait</span>;
|
||||
if (isLoading) return <span>Please wait</span>;
|
||||
|
||||
const renderMainContent = () => {
|
||||
// if there's no relationship, then don't show messages, show "send request" button
|
||||
@@ -274,6 +270,7 @@ export default function SelectedConversation() {
|
||||
action: "keyup",
|
||||
},
|
||||
};
|
||||
|
||||
const handlers = {
|
||||
CLOSE_SELECTED_CONVO: handleClose,
|
||||
START_RECORDING: startRecording,
|
||||
|
||||
Reference in New Issue
Block a user