Files
iD/js/id/ui/account.js
Bryan Housel 224db06ca4 design enhancements..
* replace full width bottom bar with subtle list item
* move hidden feature details to list item tooltip
* simplify some of the text labels on the Map Data panel
* progressively hide some footer elements with media queries
2014-10-31 10:55:00 -04:00

67 lines
2.0 KiB
JavaScript

iD.ui.Account = function(context) {
var connection = context.connection();
function update(selection) {
if (!connection.authenticated()) {
selection.selectAll('#userLink, #logoutLink')
.classed('hide', true);
return;
}
connection.userDetails(function(err, details) {
var userLink = selection.select('#userLink'),
logoutLink = selection.select('#logoutLink');
userLink.html('');
logoutLink.html('');
if (err) return;
selection.selectAll('#userLink, #logoutLink')
.classed('hide', false);
// Link
userLink.append('a')
.attr('href', connection.userURL(details.display_name))
.attr('target', '_blank');
// Add thumbnail or dont
if (details.image_url) {
userLink.append('img')
.attr('class', 'icon icon-pre-text user-icon')
.attr('src', details.image_url);
} else {
userLink.append('span')
.attr('class', 'icon avatar light icon-pre-text');
}
// Add user name
userLink.append('span')
.attr('class', 'label')
.text(details.display_name);
logoutLink.append('a')
.attr('class', 'logout')
.attr('href', '#')
.text(t('logout'))
.on('click.logout', function() {
d3.event.preventDefault();
connection.logout();
});
});
}
return function(selection) {
selection.append('li')
.attr('id', 'logoutLink')
.classed('hide', true);
selection.append('li')
.attr('id', 'userLink')
.classed('hide', true);
connection.on('auth.account', function() { update(selection); });
update(selection);
};
};