Skip to content

Commit 2736ecd

Browse files
committed
Add pending state for map travel
1 parent 0fc9814 commit 2736ecd

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

app/js/ui/screens/map.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ var MapScreen = (function() {
77
'use strict';
88

99
var t = Helpers.t;
10+
var pendingTravel = null;
1011

1112
/** Region emoji icons */
1213
var REGION_ICONS = {
@@ -29,7 +30,13 @@ var MapScreen = (function() {
2930
var user = VizAccount.getCurrentUser();
3031
var state = StateEngine.getState();
3132
var character = state.characters ? state.characters[user] : null;
32-
var currentZone = character ? character.currentZone : 'commons_first_light';
33+
var confirmedZone = character ? character.currentZone : 'commons_first_light';
34+
if (pendingTravel && pendingTravel.account === user && pendingTravel.to === confirmedZone) {
35+
pendingTravel = null;
36+
}
37+
var currentZone = (pendingTravel && pendingTravel.account === user)
38+
? pendingTravel.to
39+
: confirmedZone;
3340
var myGuild = null;
3441
if (user && state.guilds) {
3542
myGuild = GuildSystem.findGuildByMember(state.guilds, user);
@@ -140,6 +147,8 @@ var MapScreen = (function() {
140147
html += 'aria-label="' + t('map_travel_to') + ' ' + region.name + '">';
141148
html += '\uD83D\uDEB6 ' + t('map_travel') + ' (' + t('map_travel_cost') + ')';
142149
html += '</button>';
150+
} else if (pendingTravel && pendingTravel.account === user && regionId === pendingTravel.to) {
151+
html += '<div class="region-benefits">⏳ ' + t('loading') + '</div>';
143152
}
144153

145154
html += '</section>';
@@ -194,6 +203,7 @@ var MapScreen = (function() {
194203
if (err) {
195204
Toast.error(t('error_network'));
196205
} else {
206+
pendingTravel = { account: user, from: character ? character.currentZone : '', to: regionId, at: Date.now() };
197207
Toast.success(t('map_traveled') + ' ' + region.name);
198208
SoundManager.play('transition');
199209
render();

0 commit comments

Comments
 (0)