import Head from 'next/head'
import Image from 'next/image';
import React from 'react';
import { FaMicrophoneAlt,
FaHeadphonesAlt,
FaTh,
FaAngleDown,
FaPlusSquare,
FaBroom,
FaBell,
FaFilePdf,
FaCopy,
FaClock,
FaPlay,
FaPlus,
FaCheck,
FaCode,
FaLink,
FaExternalLinkAlt,
FaArchive,
FaAtlassian,
FaSearch
} from "react-icons/fa";
import { IoPulseOutline, IoRemoveOutline, IoTimer } from "react-icons/io5";
import { BsThreeDots } from "react-icons/bs";
import { UserStatus, User } from '../../models/user'
import { KeyCode } from '../../globals/keycode'
import BackgroundLayout from '../../components/Layouts/BackgroundLayout'
let testFriends = [
{
name: "Liam",
role: "engineer",
systemAvatar: "29",
status: UserStatus.online
},
{
name: "Emily",
role: "engineer",
systemAvatar: "02",
status: UserStatus.online
},
{
name: "Paul",
role: "architect",
systemAvatar: "43",
status: UserStatus.online
},
{
name: "Mark",
role: "engineer",
systemAvatar: "04",
status: UserStatus.busy
},
{
name: "Adriana",
role: "design",
systemAvatar: "06",
status: UserStatus.busy
},
{
name: "Josh",
role: "design",
systemAvatar: "05",
status: UserStatus.offline
}
]
function getUser(name: string) : User {
return new User()
}
type MyState = {
selectedChannel?: number
};
export default class Demo extends React.Component<{ }, MyState> {
state: MyState = {
selectedChannel: null
}
componentDidMount(): void {
document.addEventListener("keydown", this.handleKeyboardShortcut)
}
componentWillUnmount(): void {
document.removeEventListener("keydown", this.handleKeyboardShortcut);
}
statusBubble(status: UserStatus) {
console.log(status)
switch(status) {
case UserStatus.online:
return
case UserStatus.busy:
return
case UserStatus.offline:
return
default:
return
}
}
renderPulse(status: UserStatus) {
switch(status) {
case UserStatus.online:
return
case UserStatus.busy:
return
case UserStatus.offline:
return
default:
return
}
}
handleKeyboardShortcut = (event) => {
console.log(event.keyCode)
switch(event.keyCode) {
case KeyCode.Escape:
this.setState({
selectedChannel: null
})
break
case KeyCode.Zero:
this.setState({
selectedChannel: 0
});
break
case KeyCode.One:
this.setState({
selectedChannel: 1
});
break
case KeyCode.Two:
this.setState({
selectedChannel: 2
});
break
case KeyCode.Three:
this.setState({
selectedChannel: 3
});
break
case KeyCode.Four:
this.setState({
selectedChannel: 4
});
break
case KeyCode.Five:
this.setState({
selectedChannel: 5
});
break
default:
return
}
}
render() {
return (
{/* header content */}
{/* welcome message */}
πHey Arjun, Good Afternoon!
{/* Date and time */}
Tues, Jan 11th1:34am
{/* avatar */}
{/* search bar */}
{/* avatar */}
{/* personal line */}
TEAM
{/* list of team members */}
{
testFriends.map((friend, i) => {
return (
{this.statusBubble(friend.status)}
{friend.name}
{
this.state.selectedChannel == i ?
<>
>
:
}
{friend.role}
{this.renderPulse(friend.status)}
)
})
}