<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% block title %}{% endblock %}</title>
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text></svg>">
{# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #}
{% block stylesheets %}
{{ encore_entry_link_tags('app') }}
{% endblock %}
{% block javascripts %}
{{ encore_entry_script_tags('app') }}
{% endblock %}
<link href="/js/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<link href="/css/attributes.css" rel="stylesheet">
<link href="/css/styles.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<link href="/js/vendor/toastify/toastify.min.css" rel="stylesheet">
<!-- Custom styles for this template-->
<link href="/css/sb-admin-2.css" rel="stylesheet">
{# <link href="/css/sb-admin-2.min.css" rel="stylesheet"> #}
<link href="/js/vendor/datatables/dataTables.bootstrap4.min.css" rel="stylesheet">
<script src="/js/vendor/jquery/jquery.min.js"></script>
{# <script src="/js/vendor/jquery-3.4.1.min.js"></script>#}
<script src="/js/vendor/toastify/toastify-js.js"></script>
<link href="/css/overrides.css" rel="stylesheet">
<script src="/js/library/Utils.js"></script>
<script>
{% include '/js/library/StringUtils.js' %}
</script>
<script src="/js/library/event_dispatcher/event_dispatcher.js"></script>
<script>
{% include '/js/library/gallery_carousel/gallery_carousel.js.twig' %}
</script>
<script>
{% include '/js/library/month_range_slider/month_range_slider.js.twig' %}
</script>
<script src="/js/library/url_builder/url_builder.js"></script>
<script>
{% include '/js/library/dropdown/dropdown.js.twig' %}
</script>
<script>
{% include '/js/library/dropdown_with_textarea/dropdown_with_textarea.js.twig' %}
</script>
<script>
{% include '/js/library/dropdown_with_input_filter/dropdown_with_input_filter.js.twig' %}
</script>
<script>
{% include '/js/library/month_range_slider_dropdown/month_range_slider_dropdown.js.twig' %}
</script>
<script src="/js/library/dropdown/file_dropdown.js"></script>
<script src="/js/library/Dom.js"></script>
<script src="/js/vendor/moment.js"></script>
<script src="/js/vendor/daterangepicker.js"></script>
<script src="/js/vendor/datepicker.js"></script>
<link href="/css/daterangepicker.css" rel="stylesheet">
<script>
{% include '/js/library/daterangepicker-custom/daterangepicker-custom.js.twig' %}
</script>
<script>
{% include '/js/library/date_range_picker_with_button/date_range_picker_with_button.js.twig' %}
</script>
<script>
{% include '/js/library/DomDispatcher/DomDispatcher.js.twig' %}
</script>
<script>
{% include '/js/library/init_bearer/init_bearer.js.twig' %}
const initBearer = new InitBearer();
const INIT_BEARERS = {
GLOBAL_DOM_DISPATCHER: "initBearer.globalDomDispatcher",
GLOBAL_USER_SETTINGS_MODIFIER: "initBearer.globalUserSettingsModifier",
GLOBAL_USER_SETTINGS_FORM_SAVER: "initBearer.globalUserSettingsFormSaver",
GLOBAL_CALENDAR_EVENTS_SELECTOR_COMPONENT: "initBearer.globalCalendarEventsSelectorComponent",
};
</script>
<script>
{% include '/js/library/entity_collection/entity_collection.js.twig' %}
</script>
<script src="/js/vendor/jquery-easing/jquery.easing.min.js"></script>
{# <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> #}
{# <script src="/js/vendor/bootstrap/js/5.3.0/bootstrap.bundle.min.js"></script> #}
<script src="/js/vendor/bootstrap/js/4.6.0/bootstrap.bundle.min.js"></script>
<script src="/js/vendor/datatables/jquery.dataTables.min.js"></script>
<script src="/js/vendor/datatables/dataTables.bootstrap4.min.js"></script>
<script src="/js/library/data_table/data_table_extensions.js"></script>
<script>
{% include '/js/library/data_table/custom_data_table.js' %}
</script>
<script>
{% include '/js/library/symfony_form_data_builder/symfony_form_data_builder.js.twig' %}
</script>
<script>
{% include '/js/library/json_object_to_components_data_binder/json_object_to_components_data_binder.js.twig' %}
</script>
<script>
{% include '/js/library/json_form_saver/json_form_saver.js.twig' %}
</script>
<style>
.svg-ship {
max-width: 70px;
fill: white;
/* transform: scaleX(-1); */
height: 50px;
}
</style>
</head>
{% set bodyClass = block('bodyClass') is defined ? block('bodyClass') : null %}
{% set bodyAttrs = block('bodyAttrs') is defined ? block('bodyAttrs') : null %}
<body{{ bodyClass ? (' class="' ~ bodyClass ~ '"')|raw }}{{ bodyAttrs ? (' ' ~ bodyAttrs)|raw }}>
<!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Выйти сейчас?</h5>
<button class="close" type="button" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">Вы выйдете автоматически через 3 часа.</div>
<div class="modal-footer">
<button class="btn btn-secondary" type="button" data-dismiss="modal">Отмена</button>
<a class="btn btn-primary" href="{{ path('logout') }}">Выйти</a>
</div>
</div>
</div>
</div>
<!-- Window Modal-->
<div class="modal fade" id="windowModal" tabindex="-1" role="dialog" aria-labelledby="windowModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"
style="max-width: 700px !important;"
>
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="windowModalLabel">Question?</h5>
<button class="close" type="button" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">Modal body</div>
<div class="modal-footer">
<button class="btn btn-primary">Yes</button>
<button class="btn btn-secondary" type="button" data-dismiss="modal">No</button>
</div>
</div>
</div>
</div>
{% if getUser() %}
{% set reviewerSettings = reviewerSettingsService.getCurrentReviewerSettings() %}
{% set reviewerSettingsForm = reviewerSettingsService.getCurrentReviewerSettingsForm().createView() %}
{% set reviewerSettingsJsonStr = reviewerSettingsService.getCurrentReviewerSettingsJsonStr() %}
{% set reviewerTipSettings = tipSettingsService.getCurrentReviewerTipSettings() %}
{% set reviewerTipSettingsForm = tipSettingsService.getCurrentReviewerSettingsForm().createView() %}
{% set reviewerTipSettingsJsonStr = tipSettingsService.getCurrentReviewerTipSettingsStr() %}
{% set userTipSettings = tipSettingsService.getCurrentUserTipSettings() %}
{% set userTipSettingsForm = tipSettingsService.getCurrentUserTipSettingsForm().createView() %}
{% set userTipSettingsJsonStr = tipSettingsService.getCurrentUserTipSettingsStr() %}
{% set userSettings = userSettingsService.getCurrentUserSettings() %}
{% set userSettingsForm = userSettingsService.getCurrentUserSettingsForm().createView() %}
{% set userSettingsJsonStr = userSettingsService.getCurrentUserSettingsJsonStr() %}
{% endif %}
{% block body %}{% endblock %}
{% if userSettings is defined and userSettings.id %}
<script>
/** @type {JsonObjectToComponentsDataBinder|null} */
let userSettingsModifier = null;
let userSettings = null;
/** @type {JsonFormSaver|null} */
let userSettingsFormSaver = null;
initBearer.wait([INIT_BEARERS.GLOBAL_DOM_DISPATCHER]).then(() => {
/** @type {DomDispatcher} */
const domDispatcher = initBearer.get(INIT_BEARERS.GLOBAL_DOM_DISPATCHER);
userSettings = {{ userSettingsJsonStr|raw }};
console.log(userSettings)
let userSettingsFormDataBuilder = new SymfonyFormDataBuilder("user_settings");
userSettingsModifier = new JsonObjectToComponentsDataBinder(userSettings, {
domDispatcherListenGroups: ["userSettingsModifier"],
domDispatcher: domDispatcher
});
initBearer.set(INIT_BEARERS.GLOBAL_USER_SETTINGS_MODIFIER, userSettingsModifier);
let userSettingsSaverOptions = {
saveOnChanges: true,
jsonObject: userSettings,
componentsDataBinder: userSettingsModifier,
symfonyFormDataBuilder: userSettingsFormDataBuilder,
url: "{{ path('user_settings_edit_ajax', { id: userSettings.id }) }}",
csrfToken: {{ userSettingsForm._token.vars.value|json_encode|raw }},
};
userSettingsFormSaver = new JsonFormSaver(userSettingsSaverOptions);
userSettingsFormSaver.init();
initBearer.set(INIT_BEARERS.GLOBAL_USER_SETTINGS_FORM_SAVER, userSettingsModifier);
});
</script>
{% endif %}
{# tipSettings:#}
{% if reviewerTipSettings is defined and reviewerTipSettings.id %}
<script>
let reviewerTipSettings = null;
initBearer.wait([INIT_BEARERS.GLOBAL_DOM_DISPATCHER]).then(() => {
const domDispatcher = initBearer.get(INIT_BEARERS.GLOBAL_DOM_DISPATCHER);
reviewerTipSettings = {{ reviewerTipSettingsJsonStr|raw }};
let reviewerTipSettingsFormDataBuilder = new SymfonyFormDataBuilder("tip_settings");
let reviewerTipSettingsModifier = new JsonObjectToComponentsDataBinder(reviewerTipSettings, {
domDispatcherListenGroups: ["reviewerTipSettingsModifier"],
domDispatcher: domDispatcher
});
reviewerTipSettingsModifier.setComponentBindOptions("showReviewerRecommendationsTip",
{invert: true});
let reviewerTipSettingsSaverOptions = {
saveOnChanges: true,
jsonObject: reviewerTipSettings,
componentsDataBinder: reviewerTipSettingsModifier,
symfonyFormDataBuilder: reviewerTipSettingsFormDataBuilder,
url: "{{ path('moderator_tip_settings_edit', { id: reviewerTipSettings.id }) }}",
csrfToken: {{ reviewerTipSettingsForm._token.vars.value|json_encode|raw }},
};
let reviewerTipSettingsFormSaver = new JsonFormSaver(reviewerTipSettingsSaverOptions);
reviewerTipSettingsFormSaver.init();
});
</script>
{% endif %}
{# userTipSettings:#}
{% if userTipSettings is defined and userTipSettings.id %}
<script>
let userTipSettings = null;
initBearer.wait([INIT_BEARERS.GLOBAL_DOM_DISPATCHER]).then(() => {
const domDispatcher = initBearer.get(INIT_BEARERS.GLOBAL_DOM_DISPATCHER);
userTipSettings = {{ userTipSettingsJsonStr|raw }};
let userTipSettingsFormDataBuilder = new SymfonyFormDataBuilder("tip_settings");
let userTipSettingsModifier = new JsonObjectToComponentsDataBinder(userTipSettings, {
domDispatcherListenGroups: ["userTipSettingsModifier"],
domDispatcher: domDispatcher
});
userTipSettingsModifier.setComponentBindOptions("showCalendarEventsPeriodTip",
{invert: true});
let userTipSettingsSaverOptions = {
saveOnChanges: true,
jsonObject: userTipSettings,
componentsDataBinder: userTipSettingsModifier,
symfonyFormDataBuilder: userTipSettingsFormDataBuilder,
url: "{{ path('moderator_tip_settings_edit', { id: userTipSettings.id }) }}",
csrfToken: {{ userTipSettingsForm._token.vars.value|json_encode|raw }},
};
let userTipSettingsFormSaver = new JsonFormSaver(userTipSettingsSaverOptions);
userTipSettingsFormSaver.init();
});
</script>
{% endif %}
<script>
const API_COMPARE_DATA_URL = "{{ path('api_compare_data') }}";
</script>
{% block addJs %}{% endblock %}
<!-- Core plugin JavaScript-->
<!-- Custom scripts for all pages-->
<script src="/js/vendor/sb-admin-2.min.js"></script>
<script>
{% include '/js/app.js.twig' %}
</script>
</body>
</html>