From 9d1cf0bb8df7a671390bf452bd349f57c1e1f60d Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Wed, 30 Dec 2015 11:36:55 -0800 Subject: [PATCH] Figure out our local name from our logged-in user's past messages. --- static/babystats.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/static/babystats.js b/static/babystats.js index 42aa45b..19ef255 100644 --- a/static/babystats.js +++ b/static/babystats.js @@ -107,6 +107,7 @@ BabyStats.prototype.onChatReady_ = function(chat) { */ BabyStats.prototype.onLogin_ = function(e) { this.loginRule_.style.visibility = 'hidden'; + this.checkOverlay_(); }; @@ -117,6 +118,7 @@ BabyStats.prototype.onLogin_ = function(e) { BabyStats.prototype.onLogout_ = function(e) { this.loginURL_ = e.detail.login_url; this.loginRule_.style.visibility = 'visible'; + this.checkOverlay_(); }; @@ -153,6 +155,13 @@ BabyStats.prototype.findTile_ = function(type) { * @private */ BabyStats.prototype.handleMessage_ = function(isEvent, message) { + if (message.message.sender_name && + !this.yourName_.value && + message.sender == this.cosmo_.currentProfile()) { + this.yourName_.value = message.message.sender_name; + this.checkOverlay_(); + } + switch (message.message.type) { case 'child_name_change': if (!isEvent || message.message.client_id != this.client_id_) { @@ -160,6 +169,7 @@ BabyStats.prototype.handleMessage_ = function(isEvent, message) { this.checkOverlay_(); } break; + default: var tile = this.findTile_(message.message.type); if (tile) { @@ -590,6 +600,19 @@ BabyStats.prototype.requestAccess_ = function() { * @private */ BabyStats.prototype.checkOverlay_ = function() { + if (!this.childName_) { + // buildLayout_() hasn't run yet; not much we can do here. + return; + } + + if (!this.yourName_.value) { + this.chat_.getMessages().forEach(function(message) { + if (message.sender == this.cosmo_.currentProfile()) { + this.yourName_.value = message.message.sender_name; + } + }.bind(this)); + } + var message = '', actions = []; if (!this.childName_.value) { message = 'Please enter child name above';