librecast-live
Version:
Live Streaming Video Platform with IPv6 Multicast
41 lines (40 loc) • 1.01 kB
JavaScript
class LoginMenu extends Component {
nodeName = 'LOGINMENU';
connectButtons = `
<button class="login" click='showLogin' title="Log In"></button>
`;
logoutButtons = `
<button class="stats" click='stats' title="Stats"></button>
<button class="logout" click='logout' title="Log Out"></button>
<button class="profile" click='showProfile' title="Edit Profile"></button>
`;
constructor() {
super();
store.subscribe('state.loggedIn', this.render);
}
logout() {
console.log("logging out");
store.mutate('loggedIn', undefined);
}
stats() {
store.mutate('showStats', !store.state.showStats);
}
showDialog(mode) {
store.mutate('showSignup', mode);
}
showLogin() {
this.showDialog('login');
}
showProfile() {
store.mutate('showProfile', 'profileGeneral');
}
showSignup() {
this.showDialog('signup');
}
get template() {
this.content = (store.state.loggedIn) ? this.logoutButtons : this.connectButtons;
return `<div class="loginmenu">
${this.content}
</div>`;
}
}