more
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
import React, { useContext, useState, useEffect } from 'react';
|
import React, { useContext, useState, useEffect, useCallback } from 'react';
|
||||||
import { User } from '@nirvana/core/models/user.model';
|
import { User } from '@nirvana/core/models/user.model';
|
||||||
import { useAsyncFn } from 'react-use';
|
import { useAsyncFn } from 'react-use';
|
||||||
import NirvanaApi, { getUserDetails } from '../api/NirvanaApi';
|
import NirvanaApi, { getUserDetails } from '../api/NirvanaApi';
|
||||||
import toast from 'react-hot-toast';
|
import toast from 'react-hot-toast';
|
||||||
import { useCallback } from 'react';
|
import { STORE_ITEMS } from '../electron/constants';
|
||||||
|
|
||||||
interface IAuthProvider {
|
interface IAuthProvider {
|
||||||
user?: User;
|
user?: User;
|
||||||
@@ -18,6 +18,21 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
|
|||||||
const [jwtToken, setJwtToken] = useState<string>();
|
const [jwtToken, setJwtToken] = useState<string>();
|
||||||
const [userFetchState, fetchUser] = useAsyncFn(getUserDetails);
|
const [userFetchState, fetchUser] = useAsyncFn(getUserDetails);
|
||||||
|
|
||||||
|
// ! REMOVING FOR TESTING MULTIPLE CLIENTS
|
||||||
|
useEffect(() => {
|
||||||
|
// on load of this, if we already have jwt tokens in store,
|
||||||
|
// then try using them with auth check
|
||||||
|
window.electronAPI.store.get(STORE_ITEMS.AUTH_SESSION_JWT).then((jwtToken: string) => {
|
||||||
|
if (jwtToken) {
|
||||||
|
setJwtToken(jwtToken);
|
||||||
|
|
||||||
|
console.log('retrieved jwtToken from storage', jwtToken);
|
||||||
|
} else {
|
||||||
|
console.log('no jwt token in store');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (jwtToken) {
|
if (jwtToken) {
|
||||||
console.warn(jwtToken);
|
console.warn(jwtToken);
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import useRooms from './RoomsProvider';
|
|||||||
import useSockets from './SocketProvider';
|
import useSockets from './SocketProvider';
|
||||||
|
|
||||||
import MasterLineData from '@nirvana/core/models/masterLineData.model';
|
import MasterLineData from '@nirvana/core/models/masterLineData.model';
|
||||||
import { LineMemberState } from '@nirvana/core/models/line.model';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ServerResponseChannels,
|
ServerResponseChannels,
|
||||||
@@ -15,7 +14,6 @@ import {
|
|||||||
UserStoppedBroadcastingResponse,
|
UserStoppedBroadcastingResponse,
|
||||||
} from '@nirvana/core/sockets/channels';
|
} from '@nirvana/core/sockets/channels';
|
||||||
import toast from 'react-hot-toast';
|
import toast from 'react-hot-toast';
|
||||||
import { useMap } from 'react-use';
|
|
||||||
import { useImmer } from 'use-immer';
|
import { useImmer } from 'use-immer';
|
||||||
|
|
||||||
type LineIdToMasterLine = {
|
type LineIdToMasterLine = {
|
||||||
@@ -226,11 +224,11 @@ export function RealTimeRoomProvider({ children }: { children: React.ReactChild
|
|||||||
[setSelectedLineId],
|
[setSelectedLineId],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
console.warn(roomMap);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<RealTimeRoomContext.Provider value={{ roomsMap: roomMap, handleSelectLine, selectedLineId }}>
|
<RealTimeRoomContext.Provider value={{ roomsMap: roomMap, handleSelectLine, selectedLineId }}>
|
||||||
{children}
|
{children}
|
||||||
|
|
||||||
<pre>{JSON.stringify(roomMap)}</pre>
|
|
||||||
</RealTimeRoomContext.Provider>
|
</RealTimeRoomContext.Provider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ export default function Terminal() {
|
|||||||
<div className="flex flex-row flex-1">
|
<div className="flex flex-row flex-1">
|
||||||
<SidePanel />
|
<SidePanel />
|
||||||
|
|
||||||
<MainPanel />
|
{desktopMode === 'mainApp' && <MainPanel />}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import useAuth from '../../../../providers/AuthProvider';
|
import useAuth from '../../../../providers/AuthProvider';
|
||||||
|
import useRealTimeRooms from '../../../../providers/RealTimeRoomProvider';
|
||||||
|
|
||||||
export default function MainPanel() {
|
export default function MainPanel() {
|
||||||
const { user } = useAuth();
|
const { user } = useAuth();
|
||||||
|
|
||||||
|
const { roomsMap } = useRealTimeRooms();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className="flex flex-col flex-1 justify-center items-center bg-gray-100
|
className="flex flex-col flex-1 justify-center items-center bg-gray-100
|
||||||
|
|||||||
Reference in New Issue
Block a user