Browse Source

fix some map zooming issues

testing
Burathar 4 years ago
parent
commit
520847904e
  1. 8
      app/templates/base.html
  2. 15
      app/templates/game_bunny_dashboard.html
  3. 34
      app/templates/game_hunter_dashboard.html
  4. 10
      app/templates/game_owner_dashboard.html
  5. 1
      app/templates/game_player.html

8
app/templates/base.html

@ -13,7 +13,8 @@
<nav class="navbar navbar-default"> <nav class="navbar navbar-default">
<div class="container"> <div class="container">
<div class="navbar-header"> <div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span> <span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
@ -32,7 +33,10 @@
{% if current_user.is_anonymous %} {% if current_user.is_anonymous %}
<li><a href="{{ url_for('auth.login') }}">Login</a></li> <li><a href="{{ url_for('auth.login') }}">Login</a></li>
{% else %} {% else %}
<li><a href="{{ url_for('main.user_profile', username=current_user.name) }}"><div class="hidden-xs hidden-sm">{{ current_user.name }}{% if game is defined %}/{{ game.name }}{% endif %}</div></a></li> <li><a href="{{ url_for('main.user_profile', username=current_user.name) }}">
<div class="hidden-xs hidden-sm">
{{ current_user.name }}{% if game is defined %}/{{ game.name }}{% endif %}</div>
</a></li>
<li><a href="{{ url_for('auth.logout') }}">Logout</a></li> <li><a href="{{ url_for('auth.logout') }}">Logout</a></li>
{% endif %} {% endif %}
</ul> </ul>

15
app/templates/game_bunny_dashboard.html

@ -60,21 +60,22 @@
<script type="text/javascript", crossorigin="anonymous"> <script type="text/javascript", crossorigin="anonymous">
// Leaflet Map // Leaflet Map
map = getMap() map = getMap()
markers = []
var string = '{{ current_user.player_in(game).encode_objectives() |safe }}' var objectives = JSON.parse('{{ current_user.player_in(game).encode_objectives() |safe }}')
var objectives = JSON.parse(string)
for (var i = 0; i < objectives.length; i++){ for (var i = 0; i < objectives.length; i++){
addObjectiveMarker(map, objectives[i]) addObjectiveMarker(map, objectives[i])
markers.push([objectives[i].latitude, objectives[i].longitude])
} }
var self = JSON.parse('{{ json.dumps(current_user.last_location(game), cls=location_encoder)|safe }}') var self = JSON.parse('{{ json.dumps(current_user.last_location(), cls=location_encoder)|safe }}')
if (self){ if (self){
addPlayerMarker(map, self) addPlayerMarker(map, self)
markers.push([self.latitude, self.longitude])
} }
map.fitBounds( if (markers.length > 0) {
objectives.map(o => [o.latitude, o.longitude]).concat([self].map(p => [p.latitude, p.longitude])) map.fitBounds(markers);
); }
</script> </script>
{% endblock %} {% endblock %}

34
app/templates/game_hunter_dashboard.html

@ -28,9 +28,14 @@
{% for bunny in game.bunnies() %} {% for bunny in game.bunnies() %}
<tr> <tr>
<td>{{ bunny.user.name }}</td> <td>{{ bunny.user.name }}</td>
<td><span style="color:green;">{{ bunny.player_caught_by_players | selectattr('catching_player', '==', player) | selectattr('review.name', '==', 'accepted') |list|length}}</span> / <td><span
<span style="color:red;">{{ bunny.player_caught_by_players | selectattr('catching_player', '==', player) | selectattr('review.name', '==', 'denied') |list|length}}</span> / style="color:green;">{{ bunny.player_caught_by_players | selectattr('catching_player', '==', player) | selectattr('review.name', '==', 'accepted') |list|length}}</span>
<span style="color:gray;">{{ bunny.player_caught_by_players | selectattr('catching_player', '==', player) | selectattr('review.name', '==', 'none') |list|length}}</span> /
<span
style="color:red;">{{ bunny.player_caught_by_players | selectattr('catching_player', '==', player) | selectattr('review.name', '==', 'denied') |list|length}}</span>
/
<span
style="color:gray;">{{ bunny.player_caught_by_players | selectattr('catching_player', '==', player) | selectattr('review.name', '==', 'none') |list|length}}</span>
</td> </td>
<td>{% with location = bunny.last_location(offset=hunter_delay) %} <td>{% with location = bunny.last_location(offset=hunter_delay) %}
{% if location %}{{ moment(location.timestamp).fromNow()}} {% if location %}{{ moment(location.timestamp).fromNow()}}
@ -39,7 +44,8 @@
{% endif %} {% endif %}
{% endwith %}</td> {% endwith %}</td>
<td> <td>
<a href="{{ url_for('main.catch_bunny', game_name=game.name, bunny_name=bunny.user.name) }}"> <a
href="{{ url_for('main.catch_bunny', game_name=game.name, bunny_name=bunny.user.name) }}">
<button class="btn btn-success btn-sm">Catch</button> <button class="btn btn-success btn-sm">Catch</button>
</a> </a>
</td> </td>
@ -48,7 +54,9 @@
</tbody> </tbody>
</table> </table>
<span style="font-size: smaller;"> <span style="font-size: smaller;">
(<span style="color:green;">Accepted</span>/<span style="color:red;">Denied</span>/<span style="color:gray;">Not reviewed</span>) (<span style="color:green;">Accepted</span>/<span style="color:red;">Denied</span>/<span
style="color:gray;">Not
reviewed</span>)
</span> </span>
</div> </div>
</div> </div>
@ -70,20 +78,22 @@
<script type="text/javascript" , crossorigin="anonymous"> <script type="text/javascript" , crossorigin="anonymous">
// Leaflet Map // Leaflet Map
map = getMap() map = getMap()
markers = []
var bunnies = JSON.parse('{{ json.dumps(game.last_locations(game.bunnies(), offset=hunter_delay), cls=location_encoder)|safe }}') var bunnies = JSON.parse(
'{{ json.dumps(game.last_locations(game.bunnies(), offset=hunter_delay), cls=location_encoder)|safe }}')
for (var i = 0; i < bunnies.length; i++) { for (var i = 0; i < bunnies.length; i++) {
addPlayerMarker(map, bunnies[i]) addPlayerMarker(map, bunnies[i])
markers.push([bunnies[i].latitude, bunnies[i].longitude])
} }
var self = JSON.parse('{{ json.dumps(current_user.last_location(game), cls=location_encoder)|safe }}') var self = JSON.parse('{{ json.dumps(current_user.last_location(), cls=location_encoder)|safe }}')
if (self) { if (self) {
addPlayerMarker(map, self, greenPlayerIcon) addPlayerMarker(map, self, greenPlayerIcon)
markers.push([self.latitude, self.longitude])
} }
map.fitBounds( if (markers.length > 0) {
bunnies.map(o => [o.latitude, o.longitude]).concat([self].map(p => [p.latitude, p.longitude])) map.fitBounds(markers);
); }
</script> </script>
{% endblock %} {% endblock %}

10
app/templates/game_owner_dashboard.html

@ -101,21 +101,23 @@
<script type="text/javascript", crossorigin="anonymous"> <script type="text/javascript", crossorigin="anonymous">
// Leaflet Map // Leaflet Map
map = getMap() map = getMap()
markers = []
var objectives = JSON.parse('{{ json.dumps(game.objectives, cls=objective_encoder)|safe }}') var objectives = JSON.parse('{{ json.dumps(game.objectives, cls=objective_encoder)|safe }}')
for (var i = 0; i < objectives.length; i++){ for (var i = 0; i < objectives.length; i++){
addObjectiveMarker(map, objectives[i]) addObjectiveMarker(map, objectives[i])
markers.push([objectives[i].latitude, objectives[i].longitude])
} }
var players = JSON.parse('{{ json.dumps(game.last_player_locations(), cls=location_encoder)|safe }}') var players = JSON.parse('{{ json.dumps(game.last_player_locations(), cls=location_encoder)|safe }}')
for (var i = 0; i < players.length; i++){ for (var i = 0; i < players.length; i++){
addPlayerMarker(map, players[i]) addPlayerMarker(map, players[i])
markers.push([players[i].latitude, players[i].longitude])
} }
map.fitBounds( if (markers.length > 0) {
objectives.map(o => [o.latitude, o.longitude]).concat(players.map(p => [p.latitude, p.longitude])) map.fitBounds(markers);
); }
//Delete Game button //Delete Game button
function deleteGame() { function deleteGame() {

1
app/templates/game_player.html

@ -75,7 +75,6 @@
{{ super() }} {{ super() }}
<script type="text/javascript" , crossorigin="anonymous"> <script type="text/javascript" , crossorigin="anonymous">
// Leaflet Map // Leaflet Map
'{% set last_location = player.last_location() %}'
map = getMap() map = getMap()
var locations = JSON.parse('{{ json.dumps(player.locations_during_game(), cls=location_encoder)|safe }}') var locations = JSON.parse('{{ json.dumps(player.locations_during_game(), cls=location_encoder)|safe }}')

Loading…
Cancel
Save