/** * The "Related" card on account and character pages: everything tied to it (properties, pets, friends, trades and mail, * name requests, bug reports, economy flags, cheat detections, dashboard actions), one tab each. The server only sends what the * viewer may see. Usage:
*/ (function () { 'use strict'; var card = document.getElementById('relatedCard'); if (!card) return; var kind = card.dataset.kind, id = card.dataset.id; // Names come from the server's enums (Labels); only the colours are kept here var METHOD_COLOURS = { 1: 'info', 2: 'secondary', 3: 'success', 4: 'light' }; function methodBadge(value) { return fmt.badge(Labels.name('transferMethods', value) || '?', METHOD_COLOURS[value] || 'secondary'); } var FLAG_KIND_COLOURS = { 1: 'warning', 2: 'info', 3: 'danger', 4: 'warning', 5: 'danger' }; var FLAG_STATUS_COLOURS = { 0: 'danger', 1: 'secondary', 2: 'success' }; function flagKindBadge(value) { return fmt.badge(Labels.name('flagKinds', value) || '?', FLAG_KIND_COLOURS[value] || 'secondary'); } function flagStatusBadge(value) { return fmt.badge(Labels.name('flagStatus', value) || '?', FLAG_STATUS_COLOURS[value] || 'secondary'); } var NAME_STATUS = { waiting: ['Waiting for review', 'warning'], approved: ['Approved', 'success'], rejected: ['Rejected', 'danger'], rename_needed: ['New name needed', 'danger'], none: ['', ''] }; var nf = new Intl.NumberFormat(); function status(s, reason) { var st = NAME_STATUS[s] || [s, 'secondary']; if (!st[0]) return ''; return fmt.badge(st[0], st[1]) + (reason ? '' + esc(empty) + '
'; return '| ' + esc(h) + ' | '; }).join('') + '
|---|
| ' + c + ' | '; }).join('') + '
' + esc(a.action) + '', esc(a.description)];
}), 'No dashboard actions recorded about this account.');
}]
];
function render(related) {
var tabs = SECTIONS.filter(function (s) { return related[s[0]] !== undefined; });
var logs = related.logs || {};
var links = [];
if (logs.activity) links.push(fmt.link('/activity_log#search=' + id, 'Activity log'));
if (logs.commands) links.push(fmt.link('/command_log#search=' + id, 'Command log'));
card.innerHTML = '