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

137 lines
6.7 KiB
Twig

<!DOCTYPE html>
<html lang="{{ locale }}">
<head>
<meta charset="UTF-8">
{# {% if app.environment == 'dev' or#}
{# route|start_with('sandbox')#}
{# or route|start_with('security_')#}
{# or route|start_with('bo_') %}#}
<meta name="robots" content="noindex, nofollow">
<meta name="googlebot" content="noindex, nofollow">
{# {% endif %}#}
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<title>{{ title is defined ? title : 'Genshin Impact interactive map - Genshin World' }}</title>
{% block meta %}{% endblock %}
<link rel="icon" href="https://genshin-world.com/favicon.ico" type="image/x-icon">
{{ encore_entry_link_tags('app') }}
{% for script in encore_entry_js_files('app') %}
<script src="{{ script }}" type="text/javascript" defer></script>
{% endfor %}
{% if app.environment == 'prod'
and not route|start_with('security_')
and not route|start_with('bo_') %}
<script async src="https://www.googletagmanager.com/gtag/js?id=G-TN3HMR3G0K"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-TN3HMR3G0K');
</script>
<!--suppress ES6ConvertVarToLetConst -->
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
_paq.push(['enableHeartBeatTimer', 60]);
(function() {
var u = "//matomo.sphere.gdn/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d = document, g = d.createElement("script"), s = d.getElementsByTagName("script")[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
{% endif %}
</head>
<body>
{% if is_granted('ROLE_CONTRIBUTOR') %}
<canvas id="transform-canvas" height="720" width="1280"></canvas>
{% endif %}
<div id="page-background"></div>
<div id="page-container" class="{% if isTouchDevice.isMobile or isTouchDevice.isTablet %}sp_app__is-touch-device{% endif %}" data-device="{{ isTouchDevice.isMobile ? 'mobile' : (isTouchDevice.isTablet ? 'tablet' : 'desktop') }}">
<header id="header-container">
{% if isTouchDevice.isMobile or isTouchDevice.isTablet %}
<div id="nav-menu-btn" class="sp_menu-btn">
<div class="sp_menu-btn__bars"></div>
</div>
{% endif %}
{% include '_menu.html.twig' %}
{% if user %}
<div class="sp_header__extra">
{% if is_granted('ROLE_CONTRIBUTOR') %}
<a class="sp_icon__container" href="{{ path('bo_dashboard') }}" title="dashboard">
<img src="{{ asset(assets.img.ui~'settings.png') }}" alt>
</a>
{% endif %}
<a class="sp_icon__container" href="{{ path('security_logout') }}" title="logout">
<img src="{{ asset(assets.img.ui~'logout.png') }}" alt>
</a>
</div>
{% endif %}
</header>
<main id="main-container">
<section id="modal-container">
<div class="sp_modal__background"></div>
<div class="sp_modal__container"></div>
</section>
<div id="blob-loader">
<div class="sp_loader__wrapper">
<div class="sp_slime__wrapper">
<div class="sp_slime__outline"></div>
<div class="sp_slime__outline_ends">
<div class="sp_slime__outline_end"></div>
<div class="sp_slime__outline_end"></div>
</div>
<div class="sp_slime__eyes">
<div class="sp_slime__eye"></div>
<div class="sp_slime__eye"></div>
</div>
</div>
<div class="sp_ground_line__wrapper">
<div class="sp_ground_line"></div>
<div class="sp_ground_line__ends">
<div class="sp_ground_line__end"></div>
<div class="sp_ground_line__end"></div>
</div>
</div>
<div class="sp_element__wrapper">
<div class="sp_elements">
{% set elements = ['anemo', 'cryo', 'dendro', 'electro', 'geo', 'hydro', 'pyro']|shuffle_array %}
{% for idx in 1..2 %}
{% for _element in elements %}
<div class="sp_element">
<div class="sp_element__icon">
<img src="{{ asset(assets.img.ui ~ 'element_'~ _element ~'.png') }}" alt="{{ _element }}">
</div>
</div>
{% endfor %}
{% endfor %}
</div>
</div>
</div>
<div class="sp_loader__text">
<div class="sp_loader__warn-text"></div>
</div>
</div>
<div id="toasts-container"></div>
<div id="main-left-container" class="sp_panel__container">
{% block leftPanel %}{% endblock %}
</div>
<div id="main-center-container" class="{% if region is defined %}{{ 'sp_region__background-' ~ region.mapBackground }}{% endif %}">
{% block body %}{% endblock %}
</div>
<div id="main-right-container" class="sp_panel__container">
{% block rightPanel %}{% endblock %}
</div>
</main>
<footer id="footer-container"></footer>
</div>
</body>
</html>