From 57ab186a626161153920b21d3a2832813d77fd1c Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Wed, 30 Jan 2013 16:52:31 -0500 Subject: [PATCH] begin party subscription & view --- src/app/index.coffee | 20 +++++++++++++++++++- views/app/index.html | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/src/app/index.coffee b/src/app/index.coffee index 9eeb2a7dfe..a2754e6c04 100644 --- a/src/app/index.coffee +++ b/src/app/index.coffee @@ -34,6 +34,10 @@ setupModelFns = (model) -> else "armor#{armor}_m.png" + model.fn '_user._friends', '_user.friends', (friendIds) -> + model.subscribe model.query('users').friends(friendIds), (err, friends) -> + model.ref '_view.party', friends + # ========== ROUTES ========== get '/', (page, model, next) -> @@ -297,4 +301,18 @@ ready (model) -> exports.setMale = -> user.set('preferences.gender', 'm') exports.setFemale = -> user.set('preferences.gender', 'f') exports.setArmorsetV1 = -> user.set('preferences.armorSet', 'v1') - exports.setArmorsetV2 = -> user.set('preferences.armorSet', 'v2') \ No newline at end of file + exports.setArmorsetV2 = -> user.set('preferences.armorSet', 'v2') + + exports.addFriend = -> + friendId = model.get('_newFriend') + return if /^(\s)*$/.test(friendId) + query = model.query('users').friends([friendId]) + model.fetch query, (err, users) -> + friend = users.get(0) + unless friend + model.set "_view.addFriendError", "User with id #{friendId} not found." + return + #TODO ensure unique + user.push('friends', friendId) + $('#add-friend-modal').modal('hide') + model.set '_newFriend', '' diff --git a/views/app/index.html b/views/app/index.html index 82c0e7e7da..fdc6a0e079 100644 --- a/views/app/index.html +++ b/views/app/index.html @@ -61,6 +61,17 @@ + + +
+ {#if _view.addFriendError} +
{_view.addFriendError}
+ {/} + + +
+
+ {else} Login / Register With Facebook @@ -150,6 +161,8 @@
+ + + + + + + + + +
@@ -157,6 +170,8 @@
Lvl {_user.stats.lvl}
@@ -173,7 +188,27 @@
+
    + {#each _view.friends} +
  • +
    + + +
    +
    Lvl {_user.stats.lvl}
    +
  • + + {/} +
+ +