Ver Fonte

Public boards overview

Nico há 5 anos atrás
pai
commit
edf52bc438

+ 1 - 1
client/components/boards/boardsList.jade

@@ -55,7 +55,7 @@ template(name="boardList")
                         title="{{_ 'archive-board'}}")
 
 template(name="boardListHeaderBar")
-  h1 {{_ 'my-boards'}}
+  h1 {{_ title }}
   .board-header-btns.right
     a.board-header-btn.js-open-archived-board
       i.fa.fa-archive

+ 13 - 5
client/components/boards/boardsList.js

@@ -7,6 +7,9 @@ Template.boardListHeaderBar.events({
 });
 
 Template.boardListHeaderBar.helpers({
+  title(){
+    return FlowRouter.getRouteName() == 'home' ? 'my-boards' :'public';
+  },
   templatesBoardId() {
     return Meteor.user() && Meteor.user().getTemplatesBoardId();
   },
@@ -21,12 +24,17 @@ BlazeComponent.extendComponent({
   },
 
   boards() {
+    let query = {
+      archived: false,
+      type: 'board',
+    }
+    if (FlowRouter.getRouteName() == 'home')
+      query['members.userId'] = Meteor.userId()
+    else
+      query.permission = 'public'
+
     return Boards.find(
-      {
-        archived: false,
-        'members.userId': Meteor.userId(),
-        type: 'board',
-      },
+      query,
       { sort: ['title'] },
     );
   },

+ 5 - 0
client/components/main/header.jade

@@ -24,6 +24,11 @@ template(name="header")
             a(href="{{pathFor 'home'}}")
               span.fa.fa-home
               | {{_ 'all-boards'}}
+          li.separator -
+          li
+            a(href="{{pathFor 'public'}}")
+              span.fa.fa-globe
+              | {{_ 'public'}}
           each currentUser.starredBoards
             li.separator -
             li(class="{{#if $.Session.equals 'currentBoard' _id}}current{{/if}}")

+ 1 - 1
client/components/main/header.styl

@@ -127,7 +127,7 @@
       &.current
         color: darken(white, 5%)
 
-      &:first-child .fa-home
+      &:first-child .fa-home,&:nth-child(3) .fa-globe
         margin-right: 5px
 
       a.js-create-board

+ 21 - 0
config/router.js

@@ -26,6 +26,27 @@ FlowRouter.route('/', {
   },
 });
 
+FlowRouter.route('/public', {
+  name: 'public',
+  triggersEnter: [AccountsTemplates.ensureSignedIn],
+  action() {
+    Session.set('currentBoard', null);
+    Session.set('currentList', null);
+    Session.set('currentCard', null);
+
+    Filter.reset();
+    EscapeActions.executeAll();
+
+    Utils.manageCustomUI();
+    Utils.manageMatomo();
+
+    BlazeLayout.render('defaultLayout', {
+      headerBar: 'boardListHeaderBar',
+      content: 'boardList',
+    });
+  },
+});
+
 FlowRouter.route('/b/:id/:slug', {
   name: 'board',
   action(params) {

+ 1 - 1
server/publications/boards.js

@@ -18,7 +18,7 @@ Meteor.publish('boards', function() {
       archived: false,
       $or: [
         {
-          _id: { $in: starredBoards },
+          // _id: { $in: starredBoards },  // Commented out, to get a list of all public boards
           permission: 'public',
         },
         { members: { $elemMatch: { userId, isActive: true } } },