color chat on unread messages
This commit is contained in:
parent
a2e7396e56
commit
1e62608188
30
src/App.js
30
src/App.js
@ -33,7 +33,7 @@ class App extends React.Component {
|
|||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.fetchData()
|
this.fetchData()
|
||||||
this.socket.on('connect', () => {
|
this.socket.on('connect', () => {
|
||||||
console.log('connected!')
|
console.log(`I am ${socket.id}`)
|
||||||
const user = { socketId: this.socket.id }
|
const user = { socketId: this.socket.id }
|
||||||
this.setState({ user })
|
this.setState({ user })
|
||||||
})
|
})
|
||||||
@ -127,6 +127,10 @@ class App extends React.Component {
|
|||||||
this.setState({ messages })
|
this.setState({ messages })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
activateChat(namespace) {
|
||||||
|
this.readMessages(namespace)
|
||||||
|
this.setState({ namespace })
|
||||||
|
}
|
||||||
renderApp() {
|
renderApp() {
|
||||||
const title =
|
const title =
|
||||||
this.state.namespace[0] === '#'
|
this.state.namespace[0] === '#'
|
||||||
@ -182,32 +186,34 @@ class App extends React.Component {
|
|||||||
className="d-flex flex-column col-sm-2 bg-dark text-light p-2"
|
className="d-flex flex-column col-sm-2 bg-dark text-light p-2"
|
||||||
id="sidebar2"
|
id="sidebar2"
|
||||||
>
|
>
|
||||||
<h5 className=" border-bottom pb-2">User Channels</h5>
|
<h5 className=" border-bottom pb-2">Chats</h5>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
key="/"
|
key="/"
|
||||||
className="btn btn-dark d-flex"
|
className="btn btn-dark d-flex"
|
||||||
onClick={() => this.setState({ namespace: '/' })}
|
onClick={() => this.activateChat('/')}
|
||||||
>
|
>
|
||||||
<div className="mr-auto">server</div>
|
<div className="mr-auto">server</div>
|
||||||
{/*<div className="ml-auto">{this.state.allUsers.length}</div>*/}
|
{/*<div className="ml-auto">{this.state.allUsers.length}</div>*/}
|
||||||
</Button>
|
</Button>
|
||||||
{this.state.namespaces
|
{this.state.namespaces
|
||||||
.filter(
|
.filter(
|
||||||
r =>
|
r => r.sockets && r.sockets.includes(this.state.user.socketId)
|
||||||
r.namespace[0] === '#' &&
|
|
||||||
r.sockets.includes(this.state.user.socketId)
|
|
||||||
)
|
)
|
||||||
.map(r => (
|
.map(r => (
|
||||||
<Button
|
<Button
|
||||||
key={r.namespace}
|
key={r.namespace}
|
||||||
className="btn btn-dark d-flex"
|
className="btn btn-dark d-flex"
|
||||||
onClick={() => {
|
onClick={() => this.activateChat(r.namespace)}
|
||||||
this.readMessages(r.namespace)
|
|
||||||
this.setState({ namespace: r.namespace })
|
|
||||||
}}
|
|
||||||
>
|
>
|
||||||
<div className="mr-auto">{r.namespace}</div>
|
<div
|
||||||
|
className={`mr-auto ${
|
||||||
|
this.findUnreadMessages(r.namespace) > 0
|
||||||
|
? 'text-danger'
|
||||||
|
: ''
|
||||||
|
}`}
|
||||||
|
>
|
||||||
|
{r.namespace}
|
||||||
|
</div>
|
||||||
{/*<div className="mr-auto badge bg-success">
|
{/*<div className="mr-auto badge bg-success">
|
||||||
this.state.messages.filter(
|
this.state.messages.filter(
|
||||||
m => m.namespace === r.namespace
|
m => m.namespace === r.namespace
|
||||||
|
Loading…
Reference in New Issue
Block a user