From f8e592d68fc00013ba34e1bb08eed3e8a84aa145 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Thu, 2 May 2013 19:26:25 +0100 Subject: [PATCH] begin implementing party chat. still need notifications --- src/app/helpers.coffee | 4 ++- src/app/party.coffee | 15 +++++++- views/app/party.html | 81 +++++++++++++++++++++++++----------------- 3 files changed, 66 insertions(+), 34 deletions(-) diff --git a/src/app/helpers.coffee b/src/app/helpers.coffee index 7d72b57208..0ffc3ba099 100644 --- a/src/app/helpers.coffee +++ b/src/app/helpers.coffee @@ -24,7 +24,7 @@ removeWhitespace = (str) -> return '' unless str str.replace /\s/g, '' -username = (auth, override) -> +username = module.exports.username = (auth, override) -> #some people define custom profile name in Avatar -> Profile return override if override? @@ -156,4 +156,6 @@ viewHelpers = (view) -> view.fn 'count', (arr) -> arr?.length or 0 + view.fn 'friendlyTimestamp', (timestamp) -> moment(timestamp).format('MM/DD h:mm:ss a') + module.exports = { viewHelpers, removeWhitespace, randomVal, daysBetween, dayMapping, username } diff --git a/src/app/party.coffee b/src/app/party.coffee index a22565c099..4c1dfc2d48 100644 --- a/src/app/party.coffee +++ b/src/app/party.coffee @@ -72,6 +72,7 @@ module.exports.partySubscribe = partySubscribe = (page, model, params, next, cb) module.exports.app = (appExports, model) -> character = require './character' browser = require './browser' + helpers = require './helpers' user = model.at('_user') @@ -151,4 +152,16 @@ module.exports.app = (appExports, model) -> # selfQ = model.query('users').withId model.get('_userId') #or model.session.userId # see http://goo.gl/TPYIt # selfQ.subscribe (err, u) -> # model.ref '_user', u -# browser.resetDom model \ No newline at end of file +# browser.resetDom model + + appExports.partySendChat = -> + chat = model.at '_party.chat' + chat.unshift + text: model.get('_chatMessage') + user: helpers.username(model.get('_user.auth'), model.get('_user.profile.name')) + timestamp: +new Date + + # keep a max messages cap + chat.remove 200 + + model.set '_chatMessage', '' diff --git a/views/app/party.html b/views/app/party.html index 2731aac940..142021d3bb 100644 --- a/views/app/party.html +++ b/views/app/party.html @@ -1,41 +1,58 @@ {#if _user.party.current} -

{{_party.name}}

- - {{#each _partyMembers as :member}} - - {{/}} -
{{username(:member.auth, :member.profile.name)}}({{:member.id}})
-
- {#if _partyError} -
{_partyError}
- {/} -
- - +
+
+

{{_party.name}}

+ + {{#each _partyMembers as :member}} + + {{/}} +
{{username(:member.auth, :member.profile.name)}}({{:member.id}})
+ + {#if _partyError} +
{_partyError}
+ {/} +
+ + +
+ + Leave +
+
+

Chat

+
+
+ +
+
    + {#each _party.chat as :message} +
    +
  • {:message.user} {:message.text} - {friendlyTimestamp(:message.timestamp)}
  • + {/} +
+
- - Leave {else if _user.party.invitation} - -

You're Invited To {_party.name}

- Accept - Reject + +

You're Invited To {_party.name}

+ Accept + Reject {else} -

Create A Party

- -

You are not in a party. You can either create one and invite friends, or if you want to join an existing party, have them enter:

-
{_user.id}
-
- {#if _partyError} -
{_partyError}
- {/} -
- - -
-
+

Create A Party

+ +

You are not in a party. You can either create one and invite friends, or if you want to join an existing party, have them enter:

+
{_user.id}
+
+ {#if _partyError} +
{_partyError}
+ {/} +
+ + +
+
{/}