From 07265603c3f61e1c23d1ee0bddf257c7a4f6b819 Mon Sep 17 00:00:00 2001 From: talksik Date: Mon, 16 May 2022 20:10:13 -0500 Subject: [PATCH] nice ui for create channel --- .../desktop/src/providers/AuthProvider.tsx | 24 ++--- .../protected/terminal/panels/MainPanel.tsx | 90 +++++++++++++++++-- 2 files changed, 97 insertions(+), 17 deletions(-) diff --git a/packages/desktop/src/providers/AuthProvider.tsx b/packages/desktop/src/providers/AuthProvider.tsx index 0fb426e..6992e74 100644 --- a/packages/desktop/src/providers/AuthProvider.tsx +++ b/packages/desktop/src/providers/AuthProvider.tsx @@ -19,19 +19,19 @@ export function AuthProvider({ children }: { children: React.ReactNode }) { 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); + 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'); - // } - // }); - // }, []); + console.log('retrieved jwtToken from storage', jwtToken); + } else { + console.log('no jwt token in store'); + } + }); + }, []); useEffect(() => { if (jwtToken) { diff --git a/packages/desktop/src/tree/protected/terminal/panels/MainPanel.tsx b/packages/desktop/src/tree/protected/terminal/panels/MainPanel.tsx index cd4e68d..85fb240 100644 --- a/packages/desktop/src/tree/protected/terminal/panels/MainPanel.tsx +++ b/packages/desktop/src/tree/protected/terminal/panels/MainPanel.tsx @@ -1,14 +1,13 @@ -import React, { useMemo, useEffect, useRef } from 'react'; +import React, { useMemo, useEffect, useRef, useState } from 'react'; import useAuth from '../../../../providers/AuthProvider'; import useRealTimeRooms from '../../../../providers/RealTimeRoomProvider'; import { LineMemberState } from '@nirvana/core/models/line.model'; import LineIcon from '../../../../components/lineIcon'; -import { FiActivity, FiHeadphones, FiSettings, FiSun } from 'react-icons/fi'; +import { FiActivity, FiHeadphones, FiSearch, FiSettings, FiSun, FiUsers } from 'react-icons/fi'; import { Avatar, Tooltip } from 'antd'; import useStreams from '../../../../providers/StreamProvider'; import Peer from 'simple-peer'; - export default function MainPanel() { const { user } = useAuth(); @@ -98,12 +97,93 @@ function LineDetails() { }); return pictureSources; - }, [selectedLine, user]); + }, [selectedLine]); + + const [peopleSearch, setPeopleSearch] = useState(''); + + return ( +
+
+ {/* people search */} + People +
+ + setPeopleSearch(e.target.value)} + value={peopleSearch} + /> +
+ + {/* dropdown search results */} +
+ {selectedLine.otherUserObjects.map((otherUser) => { + return ( +
+ + + {otherUser.name} + {otherUser.email} + +
+ ); + })} + + {selectedLine.otherUserObjects.map((otherUser) => { + return ( +
+ + + {otherUser.name} + {otherUser.email} + +
+ ); + })} +
+ + {/* selected people */} + + {`Selected`} + + {selectedLine.otherMembers.length}/7 + + + {selectedLine.otherUserObjects.map((otherUser) => { + return ( +
+ + + {otherUser.name} + {otherUser.email} + +
+ ); + })} +
+
+ ); return (
{/* line timeline */}