Files
genshin-world/templates/woldmap/show.html.twig
2025-07-15 23:39:10 +02:00

116 lines
5.8 KiB
Twig

{% extends 'base.html.twig' %}
{% set metaRegionName = region.name %}
{% for _region in region.subRegions|filter(_region => _region.isAlias and _region.parentRegion.id == region.id) %}
{% set metaRegionName = metaRegionName ~ ' and ' ~ _region.name %}
{% endfor %}
{% set metaTitle = title is defined ? title : 'Genshin Impact interactive map - Genshin World' %}
{#{% set metaDesc = 'Genshin Impact interactive map of ' ~ metaRegionName ~ '. Find every interest points, events, chests, monsters and materials of Teyvat. Up to date with latest patch.' %}#}
{% set metaDesc = 'Genshin Impact interactive map of ' ~ metaRegionName ~ '. Find every interest points, events, chests, monsters and materials of Teyvat.' %}
{% block meta %}
<meta name="title" content="{{ metaTitle }}">
<meta name="description" content="{{ metaDesc }}">
{% if not region.isActive %}
<meta name="robots" content="noindex, nofollow">
<meta name="googlebot" content="noindex, nofollow">
{% endif %}
<meta property="og:type" content="website">
<meta property="og:url" content="{{ url('fo_region_show', { 'slug': regionSlug }) }}">
<meta property="og:title" content="{{ metaTitle }}">
<meta property="og:description" content="{{ metaDesc }}">
<meta property="og:image" content="https://genshin-world.com/og.jpg">
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:url" content="{{ url('fo_region_show', { 'slug': regionSlug }) }}">
<meta property="twitter:title" content="{{ metaTitle }}">
<meta property="twitter:description" content="{{ metaDesc }}">
<meta property="twitter:image" content="https://genshin-world.com/og.jpg">
<link rel="canonical" href="{{ url('fo_region_show', { 'slug': region.slug }) }}">
{% endblock %}
{% block leftPanel %}
{% include 'woldmap/_leftPannel.html.twig' %}
{% endblock %}
{% block body %}
<h1 id="map-title">{{ metaTitle }}</h1>
<div id="worldmap-container" class="sp_grid__container" data-region-id="{{ region.slug }}" data-region-name="{{ region.name }}" data-region-width="{{ region.gridWidth }}" data-region-height="{{ region.gridHeight }}" {% if anchor %}data-anchor="{{ anchor }}"{% endif %}>
{% for row in 1..region.gridHeight %}
{% for col in 1..region.gridWidth %}
<div id="grid-{{ grid[row][col]['id'] }}" class="sp_grid__cell">
{% set idHash = 'map_g' ~ grid[row][col]['id'] ~ '_v' ~ version %}
<img id="{{ idHash }}" class="sp_grid__map" {% if grid[row][col]['map_data']['map'].id is not null %}data-src="{{ asset(assets.map.upload_path ~ grid[row][col]['map_data']['map'].file) }}"{% endif %} src="{{ asset(assets.map[region.mapBackground]) }}" alt="{{ region.name }}" draggable="false">
<div class="sp_grid__node-container">
{% if nodes['grid_' ~ grid[row][col]['id']] is defined %}
{% for _node in nodes['grid_' ~ grid[row][col]['id']] %}
{% include 'woldmap/_node.html.twig' with {'node': _node} %}
{% endfor %}
{% endif %}
</div>
</div>
{% endfor %}
{% endfor %}
</div>
<div id="grid-zoom-container">
<span>+</span>
<input id="grid-zoom-controller" type="range" min="0" step="2">
<span>-</span>
</div>
<template id="template_tooltip">
<div class="sp_tooltip__wrapper" hidden>
{% if is_granted('ROLE_CONTRIBUTOR') %}
<div class="sp_tooltip__action-left-wrapper">
<form action="" class="sp_tooltip__action sp_node__edit-form sp_form__xhr" method="post">
<button class="sp_button" type="submit">
<span>Edit node</span>
</button>
</form>
<form action="" class="sp_tooltip__action sp_node_delete-form sp_form__xhr" method="post">
<button class="sp_button sp_icon__container" data-type="cancel" type="submit">
<img src="{{ asset(assets.img.delete) }}" alt="delete node">
</button>
</form>
{% if is_granted('ROLE_ADMIN') %}
<button class="sp_button sp_icon__container sp_node__calc-anchor">
<img src="{{ asset(assets.img.ui ~ 'location.png') }}" alt="delete node">
</button>
{% endif %}
</div>
{% endif %}
<div class="sp_tooltip__action-right-wrapper">
<button class="sp_button sp_tooltip__action sp_node__set-display" data-node-id="" data-is-hidden="0">
<span>Hide Pin</span>
<span>Show Pin</span>
</button>
</div>
<div class="sp_tooltip">
<h4 class="sp_tooltip__header">
<span></span>
{% if is_granted('ROLE_CONTRIBUTOR') %}<span></span>{% endif %}
</h4>
<div class="sp_tooltip__body"></div>
<div class="sp_tooltip__footer" hidden>
<div>Screenshots :</div>
<div class="sp_tooltip__screenshot-container"></div>
</div>
</div>
<div class="sp_tooltip__cursor"></div>
</div>
</template>
{#<template id="template_radio-input">#}
{# <label class="sp_radio__input-wrapper">#}
{# <span class="sp_radio__input-icon"></span>#}
{# <span class="sp_radio__input-mark"></span>#}
{# <span class="sp_radio__input-label"></span>#}
{# <input name type value>#}
{# </label>#}
{#</template>#}
{% endblock %}