showing live only if makes sense

This commit is contained in:
Arjun Patel
2022-02-05 22:29:23 -08:00
parent 998ec37b5b
commit ade37e14bf
3 changed files with 26 additions and 18 deletions
@@ -1,5 +1,5 @@
import { QueryRoutes, Routes } from "@nirvana/common/helpers/routes"; import { QueryRoutes, Routes } from "@nirvana/common/helpers/routes";
import { Menu, Dropdown, Avatar } from "antd"; import { Menu, Dropdown, Avatar, Tooltip } from "antd";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import { useRef, useState } from "react"; import { useRef, useState } from "react";
import { KeyMap, GlobalHotKeys } from "react-hotkeys"; import { KeyMap, GlobalHotKeys } from "react-hotkeys";
@@ -10,14 +10,16 @@ import {
FaHeadphones, FaHeadphones,
FaMicrophoneAlt, FaMicrophoneAlt,
} from "react-icons/fa"; } from "react-icons/fa";
import { useRecoilState } from "recoil"; import { useRecoilState, useRecoilValue } from "recoil";
import { UserStatus } from "../../models/user"; import { UserStatus } from "../../models/user";
import MainLogo from "../Logo/MainLogo"; import MainLogo from "../Logo/MainLogo";
import UserStatusBubble from "../UserDetails/UserStatusBubble"; import UserStatusBubble from "../UserDetails/UserStatusBubble";
import { useAuth } from "../../contexts/authContext"; import { useAuth } from "../../contexts/authContext";
import { nirvanaUserDataAtom } from "../../recoil/main";
export default function Header() { export default function Header() {
const { currUser } = useAuth(); const { currUser } = useAuth();
const nirvanaUserData = useRecoilValue(nirvanaUserDataAtom);
const router = useRouter(); const router = useRouter();
@@ -106,12 +108,14 @@ export default function Header() {
/> />
</div> </div>
<button className="rounded-lg p-2 border text-slate-400 text-xs hover:bg-slate-100"> <Tooltip title={"Turn off live listen mode, get deep work done."}>
Flow State <button className="rounded-lg p-2 border text-slate-400 text-xs hover:bg-slate-100">
</button> Flow State
</button>
</Tooltip>
{/* controls */} {/* controls */}
<div className="flex flex-row items-center space-x-5 px-5"> {/* <div className="flex flex-row items-center space-x-5 px-5">
<FaHeadphones <FaHeadphones
className="text-xl text-teal-500 className="text-xl text-teal-500
hover:cursor-pointer hover:scale-110 trasition-all animate-pulse" hover:cursor-pointer hover:scale-110 trasition-all animate-pulse"
@@ -120,19 +124,17 @@ export default function Header() {
className="text-xl text-teal-500 className="text-xl text-teal-500
hover:cursor-pointer hover:scale-110 trasition-all animate-pulse" hover:cursor-pointer hover:scale-110 trasition-all animate-pulse"
/> />
</div> </div> */}
{/* profile section */} {/* profile section */}
<Dropdown <Dropdown
overlay={UserMenu} overlay={UserMenu}
trigger={["click"]} trigger={["click"]}
className="ml-2 shrink-0" className="ml-4 shrink-0"
> >
<span className="relative flex hover:cursor-pointer"> <span className="relative flex hover:cursor-pointer">
<span className="bg-gray-200 bg-opacity-30 rounded-full shadow-md absolute w-full h-full"></span>
<UserStatusBubble status={UserStatus.online} />
<Avatar <Avatar
src={"https://avatars.githubusercontent.com/u/19339529?s=40&v=4"} src={nirvanaUserData?.avatarUrl || nirvanaUserData?.firstName[0]}
size={"large"} size={"large"}
/> />
</span> </span>
@@ -71,16 +71,18 @@ function Sidebar() {
Convos Convos
</span> </span>
<span className="flex flex-row items-center ml-2"> {navCountObject.liveCount > 0 && (
<FaDotCircle className="text-orange-500 text-md animate-pulse" /> <span className="flex flex-row items-center ml-2">
<FaDotCircle className="text-orange-500 text-md animate-pulse" />
<span <span
className="text-xs tracking-widest font-semibold className="text-xs tracking-widest font-semibold
text-slate-300 uppercase ml-1" text-slate-300 uppercase ml-1"
> >
Live Live
</span>
</span> </span>
</span> )}
{navCountObject.defaultCount > 0 && ( {navCountObject.defaultCount > 0 && (
<span className="text-slate-300 text-md ml-auto"> <span className="text-slate-300 text-md ml-auto">
+4
View File
@@ -245,6 +245,7 @@ export const countDefaultConvosSelector = selector<number>({
}); });
export interface NavigationContentCount { export interface NavigationContentCount {
liveCount: number;
doneCount: number; doneCount: number;
defaultCount: number; defaultCount: number;
laterCount: number; laterCount: number;
@@ -258,7 +259,10 @@ export const countNavigationContentSelector = selector<NavigationContentCount>({
const doneConvos = get(doneConvosSelector); const doneConvos = get(doneConvosSelector);
const defaultCount = get(countDefaultConvosSelector); const defaultCount = get(countDefaultConvosSelector);
const liveRooms = get(liveRoomsSelector);
const navCountObject: NavigationContentCount = { const navCountObject: NavigationContentCount = {
liveCount: liveRooms.length,
defaultCount, defaultCount,
laterCount: laterConvos.length, laterCount: laterConvos.length,
doneCount: doneConvos.length, doneCount: doneConvos.length,