app.addSetter('navbar.toggleMenu', (data) => { data.menuOpen = !data.menuOpen; }); app.addSetter('navbar.closeMenu', (data) => { data.menuOpen = false; }); app.addSetter('navbar.refresh', () =>{ window.location.reload(); }); app.addSetter("navbar.logout", () => { window.location = "./logout"; }); app.addComponent('navbar', (store) => { return new Reef("#navbar", { store: store, template: (data) => { let boardName = ""; let hiddenBoardImage = ''; if ( data.board && data.board.hidden ){ hiddenBoardImage = '(hidden)'; } if ( data.board ){ boardName = /*html*/` ${data.board.name} ${hiddenBoardImage} edit `; } else if ( !data.hash.board ) { boardName = /*html*/`Boards`; } // ios web clip needs a refresh button. other browsers have one that's already accessible let refreshItem = ''; if ( window.navigator.standalone ){ refreshItem = /*html*/` refresh refresh `; } let hiddenBoardsItem = ''; let hasHiddenBoards = false; for ( let i = 0; i < data.boards.length; ++i ){ if ( data.boards[i].hidden == true ){ hasHiddenBoards = true; break; } } if (hasHiddenBoards) { hiddenBoardsItem = ` ${data.showHiddenBoards ? 'hide hidden boards' : 'show hidden boards'} `; } return /*html*/` `; } }); });