Skip to content

Commit e829ab9

Browse files
Idan EntinIdan Entin
authored andcommitted
[feature firebase-migration]: adding communities, admins and members
1 parent 81be17e commit e829ab9

File tree

3 files changed

+40
-14
lines changed

3 files changed

+40
-14
lines changed

app/scripts/auth/user.service.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
function login( provider ) {
1616
return Auth.$authWithOAuthPopup(provider || 'google', {
17-
rememberMe: 'default',
17+
remember: 'default',
1818
scope: GOOGLE_AUTH_SCOPES
1919
})
2020
.then(save);

app/scripts/communities/communities.ctrl.js

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,57 @@
55

66
CommunitiesController.$inject = [ 'communitiesSvc', 'userService', 'Ref' ];
77
function CommunitiesController( communitiesSvc, userService, Ref ) {
8-
var vm = this;
8+
var vm = this,
9+
collapseState = {};
910

1011
vm.newCommunity = '';
1112
vm.inputDisabled = false;
1213
vm.communities = communitiesSvc.communities;
1314
vm.add = add;
15+
vm.isCollapsed = isCollapsed;
16+
vm.toggleCollapsed = toggleCollapsed;
17+
18+
vm.communities.$loaded().then( function () {
19+
vm.communities.forEach( function ( community ) {
20+
collapseState[ community.$id ] = true;
21+
} );
22+
} );
1423

1524
function add() {
1625
var community = {},
17-
userUid = userService.getUser().uid;
26+
user = userService.getUser();
1827
if ( vm.newCommunity ) {
1928
community.name = vm.newCommunity;
2029
community.admins = {};
21-
community.admins[userUid] = true;
30+
community.members = {};
31+
community.admins[user.uid] = {
32+
name: user[user.provider].displayName
33+
};
34+
community.members[user.uid] = {
35+
name: user[user.provider].displayName
36+
};
2237
vm.communities.$add( community )
2338
.then( function ( ref ) {
2439
var membership = {};
40+
membership[ref.key()] = {
41+
name: vm.newCommunity
42+
};
2543
vm.newCommunity = '';
26-
membership[ref.key()] = true;
27-
Ref.child('player/' + userUid).child('memberIn').set( membership );
44+
collapseState[ref.key()] = false;
45+
Ref.child('player/' + user.uid).child('memberIn').set( membership );
2846
} )
2947
.finally( function () {
3048
vm.inputDisabled = false;
3149
} );
3250
}
3351
}
52+
53+
function isCollapsed( communityId ) {
54+
return collapseState[communityId];
55+
}
56+
57+
function toggleCollapsed( communityId ) {
58+
collapseState[communityId] = !collapseState[communityId];
59+
}
3460
}
3561
}());

app/scripts/communities/communities.view.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
<div class="container">
22
<div class="row">
3-
<div class="col-xs-10">
4-
<input class="form-control" type="text" ng-model="vm.newCommunity">
3+
<div class="col-xs-8">
4+
<input class="form-control" type="text" ng-model="vm.newCommunity" placeholder="Community name">
55
</div>
6-
<div class="col-xs-2">
7-
<button class="btn btn-default" ng-click="vm.add()"><span class="fa fa-plus"></span> Add</button>
6+
<div class="col-xs-4">
7+
<button class="btn btn-default btn-block" ng-click="vm.add()"><span class="fa fa-plus"></span> Create a new Pokermunity</button>
88
</div>
99
</div>
1010
<div class="row">
1111
<div class="col-md-12">
1212
<div class="panel-group" role="tablist" ng-repeat="community in vm.communities" aria-multiselectable="true">
1313
<div class="panel panel-default">
14-
<div class="panel-heading" role="tab" id="headingOne">
14+
<div class="panel-heading" role="tab" ng-click="vm.toggleCollapsed( community.$id )">
1515
<h4 class="panel-title">
16-
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
16+
<a role="button" aria-expanded="true" aria-controls="collapseOne">
1717
{{ community.name }}
1818
</a>
1919
</h4>
2020
</div>
21-
<div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
22-
<button class="btn btn-link" ng-repeat="player in community.players">{{ player.name }}</button>
21+
<div class="panel-collapse collapse" ng-class="{'in': vm.isCollapsed( community.$id )}" role="tabpanel" aria-labelledby="headingOne">
22+
<button class="btn btn-link" ng-repeat="player in community.members">{{ player }}</button>
2323
</div>
2424
</div>
2525
</div>

0 commit comments

Comments
 (0)