aboutsummaryrefslogtreecommitdiff
path: root/src/components/mao-app.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/mao-app.js')
-rw-r--r--src/components/mao-app.js21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/components/mao-app.js b/src/components/mao-app.js
index 55e27b6..5101ab7 100644
--- a/src/components/mao-app.js
+++ b/src/components/mao-app.js
@@ -27,6 +27,13 @@ import {
updateLayout
} from '../actions/app.js';
+// We are lazy loading its reducer.
+import firebase from '../reducers/firebase.js';
+
+store.addReducers({
+ firebase
+});
+
// These are the elements needed by this element.
import '@polymer/app-layout/app-drawer/app-drawer.js';
import '@polymer/app-layout/app-header/app-header.js';
@@ -36,7 +43,7 @@ import { menuIcon } from './my-icons.js';
import './snack-bar.js';
class MaoApp extends connect(store)(LitElement) {
- _render({appTitle, _page, _drawerOpened, _snackbarOpened, _offline}) {
+ _render({appTitle, _page, _drawerOpened, _snackbarOpened, _offline, _isAdmin}) {
// Anything that's related to rendering should be done in here.
return html`
<style>
@@ -200,6 +207,8 @@ class MaoApp extends connect(store)(LitElement) {
<a selected?="${_page === 'compete'}" href="/compete">Compete</a>
<a selected?="${_page === 'fourms'}" href="/fourms">Fourms</a>
<a selected?="${_page === 'account'}" href="/account">Account</a>
+ <a hidden="${!_isAdmin}"
+ selected?="${_page === 'admin'}" href="/admin">Admin</a>
</nav>
</app-header>
@@ -212,6 +221,8 @@ class MaoApp extends connect(store)(LitElement) {
<a selected?="${_page === 'compete'}" href="/compete">Compete</a>
<a selected?="${_page === 'fourms'}" href="/fourms">Fourms</a>
<a selected?="${_page === 'account'}" href="/account">Account</a>
+ <a hidden="${!_isAdmin}"
+ selected?="${_page === 'admin'}" href="/admin">Admin</a>
</nav>
</app-drawer>
@@ -222,6 +233,8 @@ class MaoApp extends connect(store)(LitElement) {
<mao-competitions class="page" active?="${_page === 'compete'}"></mao-competitions>
<mao-account class="page" active?="${_page === 'account'}"></mao-account>
<mao-fourms class="page" active?="${_page === 'fourms'}"></mao-fourms>
+ <mao-admin hidden="${!_isAdmin}"
+ class="page" active?="${_page === 'admin'}"></mao-admin>
<my-view404 class="page" active?="${_page === 'view404'}"></my-view404>
</main>
@@ -240,7 +253,9 @@ class MaoApp extends connect(store)(LitElement) {
_page: String,
_drawerOpened: Boolean,
_snackbarOpened: Boolean,
- _offline: Boolean
+ _offline: Boolean,
+
+ _isAdmin: Boolean
}
}
@@ -274,6 +289,8 @@ class MaoApp extends connect(store)(LitElement) {
this._offline = state.app.offline;
this._snackbarOpened = state.app.snackbarOpened;
this._drawerOpened = state.app.drawerOpened;
+
+ this._isAdmin = state.firebase.isAdmin;
}
}