diff --git a/js/client-mainmenu.js b/js/client-mainmenu.js
index 19b0b705a..bdb1c886e 100644
--- a/js/client-mainmenu.js
+++ b/js/client-mainmenu.js
@@ -359,7 +359,7 @@
return '';
}
if (window.BattleFormats[formatid].team) {
- return '';
+ return '';
}
var teams = app.user.teams;
if (!teams.length) {
@@ -427,17 +427,19 @@
var TeamPopup = this.TeamPopup = this.Popup.extend({
initialize: function(data) {
- var bufs = ['','',''];
+ var bufs = ['','','','',''];
var curBuf = 0;
var teams = app.user.teams;
- var bufBoundary = 27;
- var bufBoundary2 = 54;
- if (teams.length > 54) {
- bufBoundary2 = Math.floor(2*teams.length/3);
- bufBoundary = Math.floor(teams.length/3);
+ var bufBoundary = 128;
+ if (teams.length > 128 && $(window).width() > 1080) {
+ bufBoundary = Math.ceil(teams.length/5);
+ } else if (teams.length > 81) {
+ bufBoundary = Math.ceil(teams.length/4);
+ } else if (teams.length > 54) {
+ bufBoundary = Math.ceil(teams.length/3);
} else if (teams.length > 27) {
- bufBoundary = Math.floor(teams.length/2);
+ bufBoundary = Math.ceil(teams.length/2);
}
if (!teams.length) {
@@ -446,26 +448,28 @@
var format = BattleFormats[data.format];
var curTeam = +data.team;
var teamFormat = (format.teambuilderFormat || (format.isTeambuilderFormat ? data.format : false));
- bufs[curBuf] = '
'+Tools.escapeFormat(teamFormat)+' teams
';
- var count = 0;
- for (var i = 0; i < teams.length; i++) {
- if ((!teams[i].format && !teamFormat) || teams[i].format === teamFormat) {
- var selected = (i === curTeam);
- bufs[curBuf] += '';
- count++;
- if (count === bufBoundary) curBuf = 1;
- if (count === bufBoundary2) curBuf = 2;
+ if (teamFormat) {
+ bufs[curBuf] = ''+Tools.escapeFormat(teamFormat)+' teams
';
+ var count = 0;
+ for (var i = 0; i < teams.length; i++) {
+ if ((!teams[i].format && !teamFormat) || teams[i].format === teamFormat) {
+ var selected = (i === curTeam);
+ bufs[curBuf] += '';
+ count++;
+ if (count % bufBoundary == 0 && curBuf < 4) curBuf++;
+ }
}
+ if (!count) bufs[curBuf] += 'You have no '+Tools.escapeFormat(teamFormat)+' teams';
+ bufs[curBuf] += 'Other teams
';
+ } else {
+ bufs[curBuf] = 'All teams
';
}
- if (!count) bufs[curBuf] += 'You have no '+Tools.escapeFormat(teamFormat)+' teams';
- bufs[curBuf] += 'Other teams
';
for (var i = 0; i < teams.length; i++) {
- if ((!teams[i].format && !teamFormat) || teams[i].format === teamFormat) continue;
+ if (teamFormat && teams[i].format === teamFormat) continue;
var selected = (i === curTeam);
bufs[curBuf] += '';
count++;
- if (count === bufBoundary) curBuf = 1;
- if (count === bufBoundary2) curBuf = 2;
+ if (count % bufBoundary == 0 && curBuf < 4) curBuf++;
}
}
if (format.canUseRandomTeam) {
@@ -473,7 +477,8 @@
}
if (bufs[1]) {
- this.$el.html('');
+ while (!bufs[bufs.length-1]) bufs.pop();
+ this.$el.html('');
} else {
this.$el.html('');
}
@@ -488,6 +493,13 @@
}
}, {
renderTeam: function(i) {
+ if (i === 'random') {
+ var buf = 'Random team
';
+ for (var i=0; i<6; i++) {
+ buf += '';
+ }
+ return buf;
+ }
var team = app.user.teams[i];
var buf = ''+Tools.escapeHTML(team.name)+'
';
for (var i=0; i