cleaning up and trying different approach more minimal

This commit is contained in:
talksik
2022-05-17 12:37:01 -05:00
parent 5699c6e2e1
commit 1dcab7bfe4
3 changed files with 79 additions and 99 deletions
@@ -205,7 +205,7 @@ export function StreamProvider({ children }: { children: React.ReactChild }) {
<button onClick={stopBroadcast}>stop</button> */} <button onClick={stopBroadcast}>stop</button> */}
<audio autoPlay ref={localStreamRef} /> {/* <audio autoPlay ref={localStreamRef} /> */}
{Object.values(peerMap).map((peer, index) => ( {Object.values(peerMap).map((peer, index) => (
<StreamPlayer key={`streamPlayer-${index}`} peer={peer} /> <StreamPlayer key={`streamPlayer-${index}`} peer={peer} />
@@ -18,6 +18,7 @@ import {
import { Avatar, Tooltip } from 'antd'; import { Avatar, Tooltip } from 'antd';
import useStreams from '../../../../providers/StreamProvider'; import useStreams from '../../../../providers/StreamProvider';
import Peer from 'simple-peer'; import Peer from 'simple-peer';
export default function MainPanel() { export default function MainPanel() {
const { user } = useAuth(); const { user } = useAuth();
@@ -33,10 +34,7 @@ export default function MainPanel() {
// else show the stale state // else show the stale state
return ( return (
<div <div className="flex flex-col flex-1 justify-center items-center bg-white">
className="flex flex-col flex-1 justify-center items-center bg-gray-100
border-l border-l-gray-200"
>
<span className="text-xl text-gray-800">{`Hi ${user.givenName}!`}</span> <span className="text-xl text-gray-800">{`Hi ${user.givenName}!`}</span>
<span className="text-md text-gray-400">{"You're all set!"}</span> <span className="text-md text-gray-400">{"You're all set!"}</span>
</div> </div>
@@ -114,7 +112,7 @@ function LineDetails() {
const showCreateChannel = false; const showCreateChannel = false;
if (showCreateChannel) if (showCreateChannel)
return ( return (
<div className="flex flex-col flex-1 items-center pt-10 bg-gray-100 border-l border-l-gray-200"> <div className="flex flex-col flex-1 items-center pt-10 bg-white">
<div className="flex flex-col gap-2 max-w-lg w-full"> <div className="flex flex-col gap-2 max-w-lg w-full">
{/* people search */} {/* people search */}
<span className="text-gray-500">People</span> <span className="text-gray-500">People</span>
@@ -193,18 +191,15 @@ function LineDetails() {
); );
return ( return (
<div <div className="flex flex-col flex-1 bg-white relative">
className="flex flex-col flex-1 bg-gray-100
border-l border-l-gray-200 relative"
>
{/* line details */} {/* line details */}
<div <div
className="px-4 py-2 className="p-5 z-30
flex flex-row items-center justify-end border-b-gray-200 border-b" flex flex-row items-center justify-end border-b-gray-200 border-b shadow-2xl"
> >
{/* {profilePictures && <LineIcon grayscale={false} sourceImages={profilePictures} />} */} {profilePictures && <LineIcon grayscale={false} sourceImages={profilePictures} />}
<div className="flex flex-col items-start group"> <div className="ml-2 mr-auto flex flex-col items-start group">
<span className="flex flex-row gap-2 items-center"> <span className="flex flex-row gap-2 items-center">
<h2 className={`text-md text-gray-800 font-semibold`}> <h2 className={`text-md text-gray-800 font-semibold`}>
{selectedLine.lineDetails.name || selectedLine.otherUserObjects[0].givenName} {selectedLine.lineDetails.name || selectedLine.otherUserObjects[0].givenName}
@@ -219,56 +214,51 @@ function LineDetails() {
</span> </span>
</div> </div>
<Tooltip <div className="flex flex-row items-center gap-5 animate-pulse">
placement="left" {selectedLine.otherUserObjects.map((otherUser) => (
title={`${isUserToggleTuned ? 'click to untoggle' : 'click to stay tuned in'}`} <div key={otherUser.name} className="flex flex-col items-center">
> <img
<button src={otherUser.picture}
className={`mr-auto ml-2 p-2 flex justify-center items-center shadow-lg // grayscale if not playing?
hover:scale-105 transition-all animate-pulse ${ className={`h-[60px] w-[60px] rounded shadow-lg`}
isUserToggleTuned ? 'bg-gray-800 text-white' : 'text-black' alt={otherUser.name}
}`} />
onClick={() =>
isUserToggleTuned
? handleUpdateLineMemberState(
selectedLine.lineDetails._id.toString(),
LineMemberState.INBOX,
)
: handleUpdateLineMemberState(
selectedLine.lineDetails._id.toString(),
LineMemberState.TUNED,
)
}
>
<FiActivity className="text-md" />
</button>
</Tooltip>
<button <span className="text-teal-500 text-xs">{otherUser.givenName}</span>
className={`p-2 flex justify-center items-center shadow-lg </div>
hover:scale-105 transition-all text-black ))}
`} </div>
>
<FiImage className="text-md" />
</button>
<button <span className="px-10 text-gray-200"> | </span>
className={`ml-2 p-2 flex justify-center items-center shadow-lg
hover:scale-105 transition-all text-black
`}
>
<FiVideo className="text-md" />
</button>
<FiMoreVertical className="ml-2" /> <Avatar.Group key={`lineHistoryMessage-yesterday-afternoon}`}>
<Avatar
key={`linehistory-${1}`}
src={user.picture}
shape="square"
size={'default'}
// grayscale if not playing?
className={`sepia`}
/>
{selectedLine.otherUserObjects.map((otherUser) => (
<Avatar
key={`linehistory-${1}`}
src={otherUser.picture}
shape="square"
size={'default'}
// grayscale if not playing?
className={`${true && 'grayscale'}`}
/>
))}
</Avatar.Group>
</div> </div>
{/* main canvas */} {/* main canvas */}
<div className="flex flex-row flex-1 overflow-hidden"> <div className="flex flex-col flex-1">
{/* line timeline */} {/* line timeline */}
<div <div
className="flex flex-col justify-end items-center gap-2 p-5 mx-auto className="flex-1 flex flex-col justify-start items-center gap-2 p-5 mx-auto
max-w-lg w-full" max-w-lg w-full bg-white"
> >
<span className={'text-gray-300 text-sm cursor-pointer hover:underline'}>load more</span> <span className={'text-gray-300 text-sm cursor-pointer hover:underline'}>load more</span>
@@ -341,52 +331,42 @@ function LineDetails() {
</div> </div>
</div> </div>
{/* people presence panel */} {/* canvas action buttons */}
<div <div className="flex flex-row gap-3 p-10 justify-end items-center">
className="w-[350px] bg-gray-100 p-4 shadow-2xl flex flex-col <Tooltip
hover:scale-105 transition-all" placement="left"
> title={`${isUserToggleTuned ? 'click to untoggle' : 'click to stay tuned in'}`}
<span className="text-teal-600 text-sm flex flex-row items-center gap-2 mt-2"> >
<FiSun /> <span>Right now</span> <button
</span> className={`p-2 flex justify-center items-center shadow-lg
hover:scale-105 transition-all animate-pulse ${
{selectedLine.otherUserObjects.map((otherUser) => ( isUserToggleTuned ? 'bg-gray-800 text-white' : 'text-black'
<div }`}
key={otherUser.email} onClick={() =>
className="flex flex-row gap-2 items-center p-2 isUserToggleTuned
hover:bg-gray-200 cursor-pointer rounded" ? handleUpdateLineMemberState(
selectedLine.lineDetails._id.toString(),
LineMemberState.INBOX,
)
: handleUpdateLineMemberState(
selectedLine.lineDetails._id.toString(),
LineMemberState.TUNED,
)
}
> >
<Avatar <FiActivity className="text-md" />
src={otherUser.picture} </button>
size={'large'} </Tooltip>
shape={'square'}
className={'shadow-lg'}
/>
<span className="flex flex-col gap-1">
<span className="text-md font-semibold text-gray-600">{otherUser.name}</span>
</span>
</div>
))}
<span className="text-pink-500 text-sm flex flex-row items-center gap-2 mt-5"> <button
<span>Flow state</span> className={`p-3 flex justify-center items-center shadow-2xl
</span>
<span className="text-gray-300 text-sm flex flex-row items-center gap-2 mt-5">
<span>Offline</span>
</span>
</div>
</div>
<div className="absolute right-5 bottom-5 flex flex-row gap-3">
<button
className={`p-3 flex justify-center items-center shadow-2xl
hover:scale-105 transition-all ${ hover:scale-105 transition-all ${
isUserBroadcasting ? 'bg-teal-800 text-white' : 'text-teal-800 border-teal-800 border' isUserBroadcasting ? 'bg-teal-800 text-white' : 'text-teal-800 border-teal-800 border'
}`} }`}
> >
<FiSun className="text-lg" /> <FiSun className="text-lg" />
</button> </button>
</div>
</div> </div>
</div> </div>
); );
@@ -35,7 +35,7 @@ export default function SidePanel() {
const [searchQuery, setSearchQuery] = useState<string>(''); const [searchQuery, setSearchQuery] = useState<string>('');
return ( return (
<div className="flex flex-col w-[350px] relative group shadow-xl bg-white z-20"> <div className="flex flex-col w-[350px] relative group border-r border-r-gray-200 shadow-xl bg-gray-100 z-20">
<NavBar /> <NavBar />
<div className="flex flex-row p-4 items-center bg-gray-100 gap-2"> <div className="flex flex-row p-4 items-center bg-gray-100 gap-2">
@@ -58,7 +58,7 @@ export default function SidePanel() {
</div> </div>
{/* tuned in lines block */} {/* tuned in lines block */}
<div className="flex flex-col bg-gray-100 shadow-xl"> <div className="flex flex-col shadow-xl">
{/* tuned in header + general controls */} {/* tuned in header + general controls */}
<Tooltip placement="right" title={'These are your active rooms...'}> <Tooltip placement="right" title={'These are your active rooms...'}>