hash method of navigation and works well...i think I avoid re-rendering?
This commit is contained in:
@@ -0,0 +1,371 @@
|
||||
import { Avatar, Badge } from "antd";
|
||||
import {
|
||||
FaDotCircle,
|
||||
FaWalking,
|
||||
FaRocket,
|
||||
FaCheckDouble,
|
||||
FaCircle,
|
||||
FaUser,
|
||||
FaRegClock,
|
||||
FaCheck,
|
||||
FaAngleRight,
|
||||
FaGithub,
|
||||
FaAtlassian,
|
||||
} from "react-icons/fa";
|
||||
|
||||
export default function Conversations() {
|
||||
return (
|
||||
<>
|
||||
<span className="flex flex-row items-center mb-5 px-5 w-full">
|
||||
<FaDotCircle className="text-orange-500 text-lg mr-1" />
|
||||
<span className="text-md tracking-widest font-semibold text-slate-300 uppercase">
|
||||
Live
|
||||
</span>
|
||||
</span>
|
||||
|
||||
{/* row of live room cards */}
|
||||
<span className="flex flex-row flex-wrap">
|
||||
{/* engineering rooms */}
|
||||
<span className="group relative flex flex-row items-center bg-slate-50 rounded-lg border p-5">
|
||||
<Avatar.Group
|
||||
maxCount={3}
|
||||
size={{ xs: 1000 }}
|
||||
maxStyle={{ color: "#f56a00", backgroundColor: "#fde3cf" }}
|
||||
>
|
||||
<Avatar
|
||||
src="https://joeschmoe.io/api/v1/random"
|
||||
style={{ backgroundColor: "cyan" }}
|
||||
/>
|
||||
<Avatar src="https://joeschmoe.io/api/v1/100" />
|
||||
<Avatar src="https://joeschmoe.io/api/v1/2" />
|
||||
<Avatar src="https://joeschmoe.io/api/v1/10" />
|
||||
<Avatar src="https://joeschmoe.io/api/v1/8" />
|
||||
</Avatar.Group>
|
||||
|
||||
<span className="text-md font-semibold ml-2 mr-10">Engineering</span>
|
||||
|
||||
<span className="text-xs text-slate-300 group-hover:invisible">
|
||||
{"01:20"}
|
||||
</span>
|
||||
|
||||
<span
|
||||
className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200
|
||||
absolute right-5 text-slate-50 group-hover:text-teal-600 text-lg transition-all -z-10 group-hover:z-10"
|
||||
>
|
||||
<FaWalking className="text-lg" />
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span className="flex flex-row items-center mb-5 px-5 w-full mt-10">
|
||||
<FaRocket className="text-sky-500 text-lg mr-1" />
|
||||
<span className="text-md tracking-widest font-semibold text-slate-300 uppercase">
|
||||
Priority
|
||||
</span>
|
||||
</span>
|
||||
|
||||
{/* Today */}
|
||||
<span className="flex flex-row items-center mb-5 px-5 w-full">
|
||||
<span className="text-md tracking-widest font-semibold text-slate-300 uppercase">
|
||||
Today
|
||||
</span>
|
||||
|
||||
<FaCheckDouble className="text-slate-300 ml-auto text-lg" />
|
||||
</span>
|
||||
|
||||
<span className="flex flex-col w-full items-stretch">
|
||||
{/* engineering */}
|
||||
<span
|
||||
className="py-2 px-4 border-t border-t-slate-200 flex flex-row hover:bg-slate-50 transition-all
|
||||
items-center"
|
||||
>
|
||||
<FaCircle className="text-orange-500 mr-2 animate-pulse" />
|
||||
|
||||
<span className="w-[15rem] flex flex-row items-center">
|
||||
<Avatar.Group
|
||||
maxCount={1}
|
||||
size="large"
|
||||
maxStyle={{ color: "#f56a00", backgroundColor: "#fde3cf" }}
|
||||
className="w-[5rem]"
|
||||
>
|
||||
<Avatar src="https://joeschmoe.io/api/v1/random" />
|
||||
<Avatar style={{ backgroundColor: "#f56a00" }}>K</Avatar>
|
||||
<Avatar
|
||||
style={{ backgroundColor: "#87d068" }}
|
||||
icon={<FaUser />}
|
||||
/>
|
||||
<Avatar
|
||||
style={{ backgroundColor: "#1890ff" }}
|
||||
icon={<FaUser />}
|
||||
/>
|
||||
<Avatar
|
||||
style={{ backgroundColor: "#1890ff" }}
|
||||
icon={<FaUser />}
|
||||
/>
|
||||
<Avatar
|
||||
style={{ backgroundColor: "#1890ff" }}
|
||||
icon={<FaUser />}
|
||||
/>
|
||||
</Avatar.Group>
|
||||
|
||||
<span className="text-slate-500 ml-2">Engineering</span>
|
||||
</span>
|
||||
|
||||
<span className="text-slate-300 w-[20rem] truncate text-sm">
|
||||
{`Josh: "let's just figure out how to finish the rest of the "`}
|
||||
</span>
|
||||
|
||||
<span className="ml-auto text-slate-300 text-sm group-hover:invisible">
|
||||
9:00am
|
||||
</span>
|
||||
|
||||
{/* actions */}
|
||||
<span className="ml-auto flex flex-row items-center group-hover:visible invisible absolute right-5">
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaRocket className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaRegClock className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaCheck className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaAngleRight className="ml-auto text-lg" />
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
{/* general */}
|
||||
<span
|
||||
className="group relative border-t border-t-slate-200 hover:bg-slate-50
|
||||
transition-all py-2 px-4 flex flex-row items-center"
|
||||
>
|
||||
<FaCircle className="text-slate-100 mr-2 animate-pulse" />
|
||||
|
||||
<span className="w-[15rem] flex flex-row items-center">
|
||||
<Avatar.Group
|
||||
maxCount={1}
|
||||
size="large"
|
||||
maxStyle={{ color: "#f56a00", backgroundColor: "#fde3cf" }}
|
||||
className="w-[5rem]"
|
||||
>
|
||||
<Avatar shape="circle" src="https://picsum.photos/200/300" />
|
||||
<Avatar shape="circle" src="https://picsum.photos/240/300" />
|
||||
<Avatar shape="circle" src="https://picsum.photos/240/300" />
|
||||
<Avatar shape="circle" src="https://picsum.photos/240/300" />
|
||||
<Avatar shape="circle" src="https://picsum.photos/240/300" />
|
||||
<Avatar shape="circle" src="https://picsum.photos/240/300" />
|
||||
<Avatar shape="circle" src="https://picsum.photos/240/300" />
|
||||
<Avatar shape="circle" src="https://picsum.photos/240/300" />
|
||||
<Avatar shape="circle" src="https://picsum.photos/240/300" />
|
||||
<Avatar shape="circle" src="https://picsum.photos/240/300" />
|
||||
</Avatar.Group>
|
||||
|
||||
<span className="text-slate-600 ml-2">General</span>
|
||||
</span>
|
||||
|
||||
<span className="text-slate-300 w-[10rem] truncate text-sm">
|
||||
You spoke 2 hours ago
|
||||
</span>
|
||||
|
||||
<span className="ml-auto text-slate-300 text-sm group-hover:invisible">
|
||||
7:22am
|
||||
</span>
|
||||
|
||||
{/* actions */}
|
||||
<span className="ml-auto flex flex-row items-center group-hover:visible invisible absolute right-5">
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaRocket className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaRegClock className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaCheck className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaAngleRight className="ml-auto text-lg" />
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
{/* one on one chat with sydney */}
|
||||
<span
|
||||
className="group py-2 border-t border-t-slate-200 last:border-b hover:bg-slate-50 transition-all
|
||||
relative px-4 flex flex-row items-center"
|
||||
>
|
||||
<FaCircle className="text-orange-500 mr-2 animate-pulse" />
|
||||
|
||||
<span className="w-[15rem] flex flex-row items-center">
|
||||
<Avatar.Group
|
||||
maxCount={2}
|
||||
size="large"
|
||||
maxStyle={{ color: "#f56a00", backgroundColor: "#fde3cf" }}
|
||||
className="w-[5rem]"
|
||||
>
|
||||
<Badge dot color={"green"}>
|
||||
<Avatar shape="circle" src="https://picsum.photos/200/100" />
|
||||
</Badge>
|
||||
</Avatar.Group>
|
||||
|
||||
<span className="text-slate-600 ml-2">Sydney</span>
|
||||
</span>
|
||||
|
||||
<span className="text-slate-300 w-[20rem] truncate text-sm">
|
||||
{`"Did you ever figure out that problem with the "`}
|
||||
</span>
|
||||
|
||||
<span className="ml-auto text-slate-300 text-sm group-hover:invisible">
|
||||
6:50am
|
||||
</span>
|
||||
|
||||
{/* actions */}
|
||||
<span className="ml-auto flex flex-row items-center group-hover:visible invisible absolute right-5">
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaRocket className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaRegClock className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaCheck className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaAngleRight className="ml-auto text-lg" />
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span className="flex flex-row items-center mb-5 px-5 w-full mt-10">
|
||||
<span className="text-md tracking-widest font-semibold text-slate-300 uppercase">
|
||||
Last 7 Days
|
||||
</span>
|
||||
|
||||
<FaCheckDouble className="text-slate-300 ml-auto text-lg" />
|
||||
</span>
|
||||
|
||||
<span className="flex flex-col w-full items-stretch">
|
||||
<span
|
||||
className="group py-2 border-t border-t-slate-200 last:border-b hover:bg-slate-50 transition-all
|
||||
relative px-4 flex flex-row items-center first:rounded-t-lg last:rounded-b-lg"
|
||||
>
|
||||
<FaCircle className="text-orange-500 mr-2 animate-pulse" />
|
||||
|
||||
<span className="w-[15rem] flex flex-row items-center">
|
||||
<Avatar.Group
|
||||
maxCount={2}
|
||||
size="large"
|
||||
maxStyle={{ color: "#f56a00", backgroundColor: "#fde3cf" }}
|
||||
className="w-[5rem]"
|
||||
>
|
||||
<Badge dot color={"green"}>
|
||||
<Avatar shape="circle" src="https://picsum.photos/240/100" />
|
||||
</Badge>
|
||||
</Avatar.Group>
|
||||
|
||||
<span className="text-slate-600 ml-2">Justin</span>
|
||||
</span>
|
||||
|
||||
<span className="text-slate-300 w-[20rem] truncate text-sm">
|
||||
{`"Here's a quick github link for that library you were looking for"`}
|
||||
</span>
|
||||
|
||||
<span className="flex flex-row items-center space-x-2 mx-auto">
|
||||
<span className="rounded-lg bg-slate-200 p-2 hover:cursor-pointer">
|
||||
<FaGithub className="text-slate-400 text-xl shrink-0" />
|
||||
</span>
|
||||
|
||||
<span className="rounded-lg bg-slate-200 p-2 hover:cursor-pointer">
|
||||
<FaAtlassian className="text-sky-400 text-xl shrink-0" />
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span className="ml-auto text-slate-300 text-sm group-hover:invisible">
|
||||
6:50am
|
||||
</span>
|
||||
|
||||
{/* actions */}
|
||||
<span className="ml-auto flex flex-row items-center group-hover:visible invisible absolute right-5">
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaRocket className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaRegClock className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaCheck className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaAngleRight className="ml-auto text-lg" />
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span
|
||||
className="group py-2 border-t border-t-slate-200 last:border-b hover:bg-slate-50 transition-all
|
||||
relative px-4 flex flex-row items-center first:rounded-t-lg last:rounded-b-lg"
|
||||
>
|
||||
<FaCircle className="text-orange-500 mr-2 animate-pulse" />
|
||||
|
||||
<span className="w-[15rem] flex flex-row items-center">
|
||||
<Avatar.Group
|
||||
maxCount={2}
|
||||
size="large"
|
||||
maxStyle={{ color: "#f56a00", backgroundColor: "#fde3cf" }}
|
||||
className="w-[5rem]"
|
||||
>
|
||||
<Avatar shape="circle" src="https://picsum.photos/190/100" />
|
||||
<Avatar shape="circle" src="https://picsum.photos/192/100" />
|
||||
</Avatar.Group>
|
||||
|
||||
<span className="text-slate-600 ml-2">Steph and Lee</span>
|
||||
</span>
|
||||
|
||||
<span className="text-slate-300 w-[20rem] truncate text-sm">
|
||||
{`"Let's hop into a room to discuss this sometime this afternoon..."`}
|
||||
</span>
|
||||
|
||||
<span className="ml-auto text-slate-300 text-sm group-hover:invisible">
|
||||
6:50am
|
||||
</span>
|
||||
|
||||
{/* actions */}
|
||||
<span className="ml-auto flex flex-row items-center group-hover:visible invisible absolute right-5">
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaRocket className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaRegClock className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaCheck className="ml-auto text-lg" />
|
||||
</span>
|
||||
<span className="p-2 rounded-full hover:cursor-pointer hover:bg-slate-200">
|
||||
<FaAngleRight className="ml-auto text-lg" />
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span className="flex flex-row items-center mb-5 px-5 w-full mt-10">
|
||||
<span className="text-md tracking-widest font-semibold text-slate-300 uppercase">
|
||||
Earlier This Month
|
||||
</span>
|
||||
|
||||
<FaCheckDouble className="text-slate-300 ml-auto text-lg" />
|
||||
</span>
|
||||
|
||||
<span className="flex flex-row items-center mb-5 px-5 w-full mt-10">
|
||||
<span className="text-md tracking-widest font-semibold text-slate-300 uppercase">
|
||||
November 2021
|
||||
</span>
|
||||
|
||||
<FaCheckDouble className="text-slate-300 ml-auto text-lg" />
|
||||
</span>
|
||||
|
||||
<span className="mx-auto text-slate-300">{"That's all"}</span>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import React from "react";
|
||||
import { FaCheck } from "react-icons/fa";
|
||||
|
||||
export default function Done() {
|
||||
return (
|
||||
<div className="mx-auto my-auto flex flex-col">
|
||||
<img
|
||||
src="/illustrations/undraw_scooter_re_lrsb.svg"
|
||||
className="h-[15rem] mx-auto my-auto"
|
||||
/>
|
||||
|
||||
<span></span>
|
||||
<span className="text-slate-400 text-center mt-5">
|
||||
Add things to <FaCheck className="inline" /> done to <br></br> clear
|
||||
your mind.
|
||||
</span>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import React from "react";
|
||||
import { FaLink } from "react-icons/fa";
|
||||
|
||||
export default function Drawer() {
|
||||
return (
|
||||
<div className="mx-auto my-auto flex flex-col">
|
||||
<img
|
||||
src="/illustrations/undraw_share_link_qtxe.svg"
|
||||
className="h-[15rem] mx-auto my-auto"
|
||||
/>
|
||||
|
||||
<span></span>
|
||||
<span className="text-slate-400 text-center mt-5">
|
||||
A place to <FaLink className="inline" /> bookmark that <br></br> drive
|
||||
folder, GitHub repo, video, Jira ticket.
|
||||
</span>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -17,9 +17,6 @@ import UserStatusBubble from "../UserStatusBubble";
|
||||
export default function Header() {
|
||||
const router = useRouter();
|
||||
|
||||
const currPage = router.pathname;
|
||||
console.log(currPage);
|
||||
|
||||
const UserMenu = (
|
||||
<Menu title="user menu">
|
||||
<Menu.Item
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
import React from "react";
|
||||
import { FaRegClock } from "react-icons/fa";
|
||||
|
||||
export default function Later() {
|
||||
console.log("re-rendering later");
|
||||
return (
|
||||
<div className="mx-auto my-auto flex flex-col">
|
||||
<img
|
||||
src="/illustrations/undraw_season_change_f99v.svg"
|
||||
className="h-[15rem] mx-auto my-auto"
|
||||
/>
|
||||
|
||||
<span></span>
|
||||
<span className="text-slate-400 text-center mt-5">
|
||||
Focusing right now? <br></br> No worries, go through low-priority{" "}
|
||||
<br></br>
|
||||
conversations <FaRegClock className="inline" /> later.
|
||||
</span>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
import React from "react";
|
||||
import { FaRocket } from "react-icons/fa";
|
||||
|
||||
export default function Priority() {
|
||||
return (
|
||||
<div className="mx-auto my-auto flex flex-col">
|
||||
<img
|
||||
src="/illustrations/undraw_absorbed_in_xahs.svg"
|
||||
className="h-[15rem] mx-auto my-auto"
|
||||
/>
|
||||
|
||||
<span></span>
|
||||
<span className="text-slate-400 text-center mt-5">
|
||||
One place for your most important
|
||||
<br></br>people and items <FaRocket className="inline" />.<br></br>
|
||||
<span className="text-red-600">Keep this clean at all costs.</span>
|
||||
</span>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -7,7 +7,6 @@ import {
|
||||
FaRegClock,
|
||||
FaCheck,
|
||||
FaImages,
|
||||
FaGripHorizontal,
|
||||
FaDotCircle,
|
||||
FaUser,
|
||||
FaMicrophone,
|
||||
@@ -16,11 +15,11 @@ import {
|
||||
} from "react-icons/fa";
|
||||
import { HiSpeakerphone } from "react-icons/hi";
|
||||
import Routes from "@nirvana/common/helpers/routes";
|
||||
import Link from "next/link";
|
||||
|
||||
function Sidebar() {
|
||||
const router = useRouter();
|
||||
const currPage = router.pathname;
|
||||
console.log(currPage);
|
||||
|
||||
const handleRoute = (route: Routes) => {
|
||||
router.push(route);
|
||||
@@ -36,6 +35,11 @@ function Sidebar() {
|
||||
|
||||
{/* navigation items */}
|
||||
<div className="flex flex-col my-5 space-y-5 w-full">
|
||||
<Link href={Routes.convos}>{Routes.convos}</Link>
|
||||
<Link href={Routes.later}>{Routes.later}</Link>
|
||||
<Link href={Routes.done}>{Routes.done}</Link>
|
||||
<Link href={Routes.drawer}>{Routes.drawer}</Link>
|
||||
|
||||
<span
|
||||
onClick={() => handleRoute(Routes.convos)}
|
||||
className="flex flex-row items-center hover:cursor-pointer transition-all group"
|
||||
|
||||
Reference in New Issue
Block a user