Added IRC network naming, added some convenience getters to the stores
This commit is contained in:
parent
1c30da5474
commit
eec82a7dd9
14 changed files with 73 additions and 33 deletions
|
@ -19,25 +19,21 @@ var ChatTitle = React.createClass({
|
|||
|
||||
render: function() {
|
||||
var tab = this.state.selectedTab;
|
||||
var title;
|
||||
var topic;
|
||||
var usercount;
|
||||
|
||||
if (tab.channel && this.state.channels[tab.server]) {
|
||||
var channel = this.state.channels[tab.server][tab.channel];
|
||||
title = tab.channel
|
||||
if (channel) {
|
||||
usercount = channel.users.length;
|
||||
topic = channel.topic || '';
|
||||
}
|
||||
} else {
|
||||
title = tab.server;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="chat-title-bar">
|
||||
<div>
|
||||
<span className="chat-title">{title}</span>
|
||||
<span className="chat-title">{tab.name}</span>
|
||||
<span className="chat-topic" title={topic}>{topic}</span>
|
||||
</div>
|
||||
<span className="chat-usercount">{usercount}</span>
|
||||
|
|
|
@ -4,6 +4,7 @@ var _ = require('lodash');
|
|||
|
||||
var channelStore = require('../stores/channel');
|
||||
var privateChatStore = require('../stores/privateChat');
|
||||
var serverStore = require('../stores/server');
|
||||
var selectedTabStore = require('../stores/selectedTab');
|
||||
var tabActions = require('../actions/tab');
|
||||
|
||||
|
@ -11,14 +12,16 @@ var TabList = React.createClass({
|
|||
mixins: [
|
||||
Reflux.connect(channelStore, 'channels'),
|
||||
Reflux.connect(privateChatStore, 'privateChats'),
|
||||
Reflux.connect(selectedTabStore, 'selectedTab')
|
||||
Reflux.connect(selectedTabStore, 'selectedTab'),
|
||||
Reflux.connect(serverStore, 'servers')
|
||||
],
|
||||
|
||||
getInitialState: function() {
|
||||
return {
|
||||
channels: channelStore.getState(),
|
||||
privateChats: privateChatStore.getState(),
|
||||
selectedTab: selectedTabStore.getState()
|
||||
selectedTab: selectedTabStore.getState(),
|
||||
servers: serverStore.getState()
|
||||
};
|
||||
},
|
||||
|
||||
|
@ -36,7 +39,13 @@ var TabList = React.createClass({
|
|||
tabClass = '';
|
||||
}
|
||||
|
||||
return <p className={tabClass} onClick={tabActions.select.bind(null, address, name)}>{name}</p>;
|
||||
return (
|
||||
<p
|
||||
className={tabClass}
|
||||
onClick={tabActions.select.bind(null, address, name)}>
|
||||
{name}
|
||||
</p>
|
||||
);
|
||||
});
|
||||
|
||||
_.each(self.state.privateChats[address], function(chat, nick) {
|
||||
|
@ -46,8 +55,14 @@ var TabList = React.createClass({
|
|||
} else {
|
||||
tabClass = '';
|
||||
}
|
||||
|
||||
channels.push(<p className={tabClass} onClick={tabActions.select.bind(null, address, nick)}>{nick}</p>);
|
||||
|
||||
channels.push(
|
||||
<p
|
||||
className={tabClass}
|
||||
onClick={tabActions.select.bind(null, address, nick)}>
|
||||
{nick}
|
||||
</p>
|
||||
);
|
||||
});
|
||||
|
||||
if (address === selected.server &&
|
||||
|
@ -57,7 +72,13 @@ var TabList = React.createClass({
|
|||
tabClass = 'tab-server';
|
||||
}
|
||||
|
||||
channels.unshift(<p className={tabClass} onClick={tabActions.select.bind(null, address, null)}>{address}</p>);
|
||||
channels.unshift(
|
||||
<p
|
||||
className={tabClass}
|
||||
onClick={tabActions.select.bind(null, address, null)}>
|
||||
{serverStore.getName(address)}
|
||||
</p>
|
||||
);
|
||||
|
||||
return channels;
|
||||
});
|
||||
|
|
|
@ -22,20 +22,14 @@ var UserList = React.createClass({
|
|||
render: function() {
|
||||
var users = null;
|
||||
var tab = this.state.selectedTab;
|
||||
|
||||
var style = {};
|
||||
|
||||
if (!tab.channel || tab.channel[0] !== '#') {
|
||||
style.display = 'none';
|
||||
}
|
||||
|
||||
if (tab.channel && this.state.channels[tab.server]) {
|
||||
var channel = this.state.channels[tab.server][tab.channel];
|
||||
if (channel) {
|
||||
users = _.map(channel.users, function(user) {
|
||||
return <UserListItem user={user} />;
|
||||
});
|
||||
}
|
||||
} else {
|
||||
users = _.map(channelStore.getUsers(tab.server, tab.channel), function(user) {
|
||||
return <UserListItem key={user.nick} user={user} />;
|
||||
});
|
||||
}
|
||||
|
||||
return (
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue