Task 6929 | рефактор кода в формах

pull/36/head
parent 4096f8a8d5
commit 3f5eebe9e7
  1. 169
      wp-content/themes/cosmopet/modules/footer/module-ajax-controller.php
  2. 52
      wp-content/themes/cosmopet/modules/footer/module.template.twig
  3. 169
      wp-content/themes/cosmopet/modules/profile/module-ajax-controller.php
  4. 55
      wp-content/themes/cosmopet/templates/footer.twig
  5. 34
      wp-content/themes/cosmopet/templates/forms/author-form.twig
  6. 14
      wp-content/themes/cosmopet/templates/forms/form-thx.twig
  7. 467
      wp-content/themes/cosmopet/templates/profile/profile-base.twig
  8. 464
      wp-content/themes/cosmopet/templates/profile/profile-modals.twig
  9. 0
      wp-content/themes/cosmopet/templates/profile/template-profile.php

@ -1,175 +1,6 @@
<?php
// Динамическое определение BOT_USERNAME
$site_url = site_url();
if ($site_url === 'https://cosmopet-test-ru.cp.good-production.xyz') {
define('BOT_USERNAME', 'cosmopet_test_RU_bot');
} elseif ($site_url === 'https://cosmopet-test-ae.cp.good-production.xyz') {
define('BOT_USERNAME', 'cosmopet_test_AE_bot');
} else {
define('BOT_USERNAME', 'cosmopet_test_default_bot'); // Фallback на случай других доменов
}
// Функция получения данных Telegram
function getTelegramUserData() {
if (isset($_SESSION['tg_user'])) {
return $_SESSION['tg_user'];
}
return false;
}
// Функция вывода Telegram Widget
function tgWidget() {
if (!is_user_logged_in()) {
?>
<div id="telegram-widget-container"></div>
<?php
} else {
$current_user = wp_get_current_user();
echo "<h1>Hello, " . esc_html($current_user->display_name) . "!</h1>";
echo "<p><a href='" . wp_logout_url() . "'>Log out</a></p>";
}
}
function tgScript(){
$bot_username = BOT_USERNAME;
?>
<script>
document.addEventListener('DOMContentLoaded', function() {
var s = document.createElement('script');
s.src = 'https://telegram.org/js/telegram-widget.js?2';
s.async = true;
s.setAttribute('data-telegram-login', '<?php echo $bot_username?>');
s.setAttribute('data-size', 'large');
s.setAttribute('data-onauth', 'onTelegramAuth(user)');
s.setAttribute('data-request-access', 'write');
document.getElementById('telegram-widget-container').appendChild(s);
});
</script>
<?php
}
// Обработчик авторизации через Telegram
add_action('wp_ajax_ontelegramauth', 'onTelegramAuth');
add_action('wp_ajax_nopriv_ontelegramauth', 'onTelegramAuth');
function onTelegramAuth() {
// Получаем данные от Telegram
$auth_data = [
'id' => sanitize_text_field($_POST['userid']),
'first_name' => sanitize_text_field($_POST['fname']),
'last_name' => sanitize_text_field($_POST['lname']),
'username' => sanitize_text_field($_POST['username'] ?? ''),
];
if (!$auth_data['id']) {
wp_die(json_encode(['status' => 'error', 'message' => 'Invalid Telegram data']));
}
// Проверяем существование пользователя по tg_account
$users = get_users([
'meta_key' => 'tg_account',
'meta_value' => $auth_data['id'],
'number' => 1
]);
$password = wp_generate_password(12, true, false); // Генерация безопасного пароля
if ($users) {
// Существующий пользователь
$user = $users[0];
wp_set_password($password, $user->ID);
$login = wp_signon([
'user_login' => $user->user_login,
'user_password' => $password,
'remember' => true
]);
if (!is_wp_error($login)) {
session_start();
$_SESSION['tg_user'] = $auth_data;
session_write_close();
wp_die(json_encode(['status' => 'success', 'redirect' => admin_url()]));
}
} else {
// Новый пользователь
$username = sanitize_user($auth_data['username'] ?: $auth_data['first_name'] . '_' . $auth_data['last_name'], true);
$username = wp_slash($username); // Экранируем для безопасности
$user_id = wp_create_user($username, $password, $username . '@telegram.com');
if (!is_wp_error($user_id)) {
wp_update_user([
'ID' => $user_id,
'display_name' => $auth_data['first_name'] . ' ' . $auth_data['last_name'],
'first_name' => $auth_data['first_name'],
'last_name' => $auth_data['last_name']
]);
add_user_meta($user_id, 'tg_account', $auth_data['id']);
add_user_meta($user_id, 'tg_username', $auth_data['username']);
$login = wp_signon([
'user_login' => $username,
'user_password' => $password,
'remember' => true
]);
if (!is_wp_error($login)) {
session_start();
$_SESSION['tg_user'] = $auth_data;
session_write_close();
wp_die(json_encode(['status' => 'success', 'redirect' => admin_url()]));
}
}
}
wp_die(json_encode(['status' => 'error', 'message' => 'Login failed']));
}
// Функция привязки Telegram к существующему пользователю
add_action('wp_ajax_linktelegram', 'linkTelegram');
add_action('wp_ajax_nopriv_linktelegram', 'linkTelegram');
function linkTelegram() {
if (!is_user_logged_in()) {
wp_die(json_encode(['status' => 'error', 'message' => 'Not logged in']));
}
$tg_id = sanitize_text_field($_POST['userid']);
$user_id = get_current_user_id();
add_user_meta($user_id, 'tg_account', $tg_id);
wp_update_user([
'ID' => $user_id,
'first_name' => sanitize_text_field($_POST['fname']),
'last_name' => sanitize_text_field($_POST['lname'])
]);
wp_die(json_encode(['status' => 'success']));
}
// Функция обновления email
add_action('wp_ajax_email_link', 'emailLink');
add_action('wp_ajax_nopriv_email_link', 'emailLink');
function emailLink() {
if (!is_user_logged_in()) {
wp_die(json_encode(['status' => 'error', 'message' => 'Not logged in']));
}
$email = sanitize_email($_POST['email']);
$user_id = get_current_user_id();
if (email_exists($email)) {
wp_die(json_encode(['status' => 'error', 'message' => 'Email is already registered']));
}
wp_update_user(['ID' => $user_id, 'user_email' => $email]);
wp_die(json_encode(['status' => 'success']));
}
// Добавление и настройка колонки Telegram
add_filter('manage_users_columns', 'add_tg_account_column');
function add_tg_account_column($columns) {

@ -1,52 +0,0 @@
{% set current_path = template_path ~ '/modules/footer' %}
<footer class="footer">
<div class="container">
<div class="footer-top">
<div class="footer-content__wrap">
<div class="footer-content">
<a href="/" class="logo">
<img src="{{ current_path }}/assets/img/logo-green.svg" alt="">
<span>сosmopet</span>
</a>
<p class="footer-content__address">
{{adres}}
</p>
<ul>
{% for item in email_list %}
<li>
<p>{{item.name}}</p>
<a href="mailto:{{item.email}}">{{item.email}}</a>
</li>
{% endfor %}
</ul>
</div>
<div class="footer-top__link">
<a href="#" class="link-black">{{ function('pll_e', 'Чат бот с ветеринаром') }}</a>
<a href="#" class="link-white">{{ function('pll_e', 'Калькулятор рациона') }}</a>
</div>
</div>
<form class="footer-contact form-process">
<h3 class="footer-contact__title">{{ function('pll_e', 'Форма обратной связи') }}</h3>
<input type="text" placeholder="{{ function('pll_e', 'Ваше имя') }}" class="form-inp">
<input type="email" placeholder="{{ function('pll_e', 'Эл.почта') }}" class="form-inp">
<textarea class="form-textarea" name="" placeholder="{{ function('pll_e', 'Текст обращения') }}" id=""></textarea>
<button class="footer-contact__submit" type="submit">{{ function('pll_e', 'Отправить') }}</button>
</form>
</div>
<div class="footer-bottom">
<ul class="footer-network">
{% for item in social %}
<li>
<a href="{{item.link}}" target="_blank">
<img src="{{item.img}}">
</a>
</li>
{% endfor %}
</ul>
{% for item in links %}
<a href="{{item.link}}">{{item.name}}</a>
{% endfor %}
</div>
</div>
</footer>
<!-- Footer end -->

@ -175,3 +175,172 @@ function handle_subscription_address_update() {
}
// Динамическое определение BOT_USERNAME
$site_url = site_url();
if ($site_url === 'https://cosmopet-test-ru.cp.good-production.xyz') {
define('BOT_USERNAME', 'cosmopet_test_RU_bot');
} elseif ($site_url === 'https://cosmopet-test-ae.cp.good-production.xyz') {
define('BOT_USERNAME', 'cosmopet_test_AE_bot');
} else {
define('BOT_USERNAME', 'cosmopet_test_default_bot'); // Фallback на случай других доменов
}
// Функция получения данных Telegram
function getTelegramUserData() {
if (isset($_SESSION['tg_user'])) {
return $_SESSION['tg_user'];
}
return false;
}
// Функция вывода Telegram Widget
function tgWidget() {
if (!is_user_logged_in()) {
?>
<div id="telegram-widget-container"></div>
<?php
} else {
$current_user = wp_get_current_user();
echo "<h1>Hello, " . esc_html($current_user->display_name) . "!</h1>";
echo "<p><a href='" . wp_logout_url() . "'>Log out</a></p>";
}
}
function tgScript(){
$bot_username = BOT_USERNAME;
?>
<script>
document.addEventListener('DOMContentLoaded', function() {
var s = document.createElement('script');
s.src = 'https://telegram.org/js/telegram-widget.js?2';
s.async = true;
s.setAttribute('data-telegram-login', '<?php echo $bot_username?>');
s.setAttribute('data-size', 'large');
s.setAttribute('data-onauth', 'onTelegramAuth(user)');
s.setAttribute('data-request-access', 'write');
document.getElementById('telegram-widget-container').appendChild(s);
});
</script>
<?php
}
// Обработчик авторизации через Telegram
add_action('wp_ajax_ontelegramauth', 'onTelegramAuth');
add_action('wp_ajax_nopriv_ontelegramauth', 'onTelegramAuth');
function onTelegramAuth() {
// Получаем данные от Telegram
$auth_data = [
'id' => sanitize_text_field($_POST['userid']),
'first_name' => sanitize_text_field($_POST['fname']),
'last_name' => sanitize_text_field($_POST['lname']),
'username' => sanitize_text_field($_POST['username'] ?? ''),
];
if (!$auth_data['id']) {
wp_die(json_encode(['status' => 'error', 'message' => 'Invalid Telegram data']));
}
// Проверяем существование пользователя по tg_account
$users = get_users([
'meta_key' => 'tg_account',
'meta_value' => $auth_data['id'],
'number' => 1
]);
$password = wp_generate_password(12, true, false); // Генерация безопасного пароля
if ($users) {
// Существующий пользователь
$user = $users[0];
wp_set_password($password, $user->ID);
$login = wp_signon([
'user_login' => $user->user_login,
'user_password' => $password,
'remember' => true
]);
if (!is_wp_error($login)) {
session_start();
$_SESSION['tg_user'] = $auth_data;
session_write_close();
wp_die(json_encode(['status' => 'success', 'redirect' => admin_url()]));
}
} else {
// Новый пользователь
$username = sanitize_user($auth_data['username'] ?: $auth_data['first_name'] . '_' . $auth_data['last_name'], true);
$username = wp_slash($username); // Экранируем для безопасности
$user_id = wp_create_user($username, $password, $username . '@telegram.com');
if (!is_wp_error($user_id)) {
wp_update_user([
'ID' => $user_id,
'display_name' => $auth_data['first_name'] . ' ' . $auth_data['last_name'],
'first_name' => $auth_data['first_name'],
'last_name' => $auth_data['last_name']
]);
add_user_meta($user_id, 'tg_account', $auth_data['id']);
add_user_meta($user_id, 'tg_username', $auth_data['username']);
$login = wp_signon([
'user_login' => $username,
'user_password' => $password,
'remember' => true
]);
if (!is_wp_error($login)) {
session_start();
$_SESSION['tg_user'] = $auth_data;
session_write_close();
wp_die(json_encode(['status' => 'success', 'redirect' => admin_url()]));
}
}
}
wp_die(json_encode(['status' => 'error', 'message' => 'Login failed']));
}
// Функция привязки Telegram к существующему пользователю
add_action('wp_ajax_linktelegram', 'linkTelegram');
add_action('wp_ajax_nopriv_linktelegram', 'linkTelegram');
function linkTelegram() {
if (!is_user_logged_in()) {
wp_die(json_encode(['status' => 'error', 'message' => 'Not logged in']));
}
$tg_id = sanitize_text_field($_POST['userid']);
$user_id = get_current_user_id();
add_user_meta($user_id, 'tg_account', $tg_id);
wp_update_user([
'ID' => $user_id,
'first_name' => sanitize_text_field($_POST['fname']),
'last_name' => sanitize_text_field($_POST['lname'])
]);
wp_die(json_encode(['status' => 'success']));
}
// Функция обновления email
add_action('wp_ajax_email_link', 'emailLink');
add_action('wp_ajax_nopriv_email_link', 'emailLink');
function emailLink() {
if (!is_user_logged_in()) {
wp_die(json_encode(['status' => 'error', 'message' => 'Not logged in']));
}
$email = sanitize_email($_POST['email']);
$user_id = get_current_user_id();
if (email_exists($email)) {
wp_die(json_encode(['status' => 'error', 'message' => 'Email is already registered']));
}
wp_update_user(['ID' => $user_id, 'user_email' => $email]);
wp_die(json_encode(['status' => 'success']));
}

@ -97,62 +97,11 @@
<div class="mform mform-success" style="display: none;">
<div class="mform-content">
<div class="close-button">&times;</div>
<h2 class="mform-title">{{ fn('pll_e', 'ВАША ЗАЯВКА ПРИНЯТА!') }}</h2>
<div class="mform-message">
<p>{{ fn('pll_e', 'Спасибо! Сообщение успешно отправлено.') }}</p>
<p>{{ fn('pll_e', 'Наш менеджер скоро свяжемся с вами<br>для уточнения деталей.') }}</p>
</div>
<div class="mform-button-container">
<a href="/" class="submit-button">{{ fn('pll_e', 'Вернуться на сайт') }}</a>
</div>
</div>
</div>
{% verbatim %}
<div class="mform mform-offer modal-offer" style="display: none;">
<div class="mform-content">
<div class="close-button">&times;</div>
<h2 class="mform-title">ПРЕДЛОЖИТЕ СТАТЬЮ</h2>
<p class="mform-subtitle">или станьте автором</p>
<form class="mform-form form-process" action="contact_form">
<div class="form-group full-width">
<input type="text" name="name" placeholder="Ваше имя *" required>
</div>
<div class="form-row">
<div class="form-group full-width">
<input type="tel" name="phone" placeholder="Телефон *" required>
</div>
<div class="form-group full-width">
<input type="text" name="telegram" placeholder="Telegram">
</div>
</div>
<div class="form-group half-width message-container">
<textarea name="message" placeholder="Текст обращения"></textarea>
</div>
<div class="form-group half-width">
<button type="submit" class="submit-button">Отправить</button>
</div>
<div class="author-image">
<img src="/wp-content/uploads/2025/06/rectangle.png" alt="Автор">
</div>
</form>
</div>
</div>
{% endverbatim %}
{% include 'forms/form-thx.twig' %}
{% include 'forms/author-form.twig' %}
<script>
function onTelegramAuth(user) {
console.log(123)
var data = {
action: 'ontelegramauth',
userid: user.id,

@ -0,0 +1,34 @@
{% verbatim %}
<div class="mform mform-offer modal-offer" style="display: none;">
<div class="mform-content">
<div class="close-button">&times;</div>
<h2 class="mform-title">ПРЕДЛОЖИТЕ СТАТЬЮ</h2>
<p class="mform-subtitle">или станьте автором</p>
<form class="mform-form form-process" action="contact_form">
<div class="form-group full-width">
<input type="text" name="name" placeholder="Ваше имя *" required>
</div>
<div class="form-row">
<div class="form-group full-width">
<input type="tel" name="phone" placeholder="Телефон *" required>
</div>
<div class="form-group full-width">
<input type="text" name="telegram" placeholder="Telegram">
</div>
</div>
<div class="form-group half-width message-container">
<textarea name="message" placeholder="Текст обращения"></textarea>
</div>
<div class="form-group half-width">
<button type="submit" class="submit-button">Отправить</button>
</div>
<div class="author-image">
<img src="/wp-content/uploads/2025/06/rectangle.png" alt="Автор">
</div>
</form>
</div>
</div>
{% endverbatim %}

@ -0,0 +1,14 @@
<div class="mform mform-success" style="display: none;">
<div class="mform-content">
<div class="close-button">&times;</div>
<h2 class="mform-title">{{ fn('pll_e', 'ВАША ЗАЯВКА ПРИНЯТА!') }}</h2>
<div class="mform-message">
<p>{{ fn('pll_e', 'Спасибо! Сообщение успешно отправлено.') }}</p>
<p>{{ fn('pll_e', 'Наш менеджер скоро свяжемся с вами<br>для уточнения деталей.') }}</p>
</div>
<div class="mform-button-container">
<a href="/" class="submit-button">{{ fn('pll_e', 'Вернуться на сайт') }}</a>
</div>
</div>
</div>

@ -151,471 +151,6 @@
</main>
<div class="modalProfile" id="pet_add_form">
<div class="popup-wrap">
<div class="modal-form form__full-mobile modal-form--white modal-form--height-100-phone form-pet active">
<button class="modal-form__close"></button>
<p class="modal-form__title">{{ fn('pll_e', 'Добавить питомца') }}</p>
<form class="modal-form__content" id="add-pet-form" method="post" action="">
<input type="hidden" name="nonce" value="{{ fn('wp_create_nonce', 'add_pet_nonce') }}">
<input type="hidden" name="action" value="add_pet">
<div class="modal-form-content__line">
<label for="" class="label-name">{{ fn('pll_e', 'Вид животного') }}</label>
<div class="form-input__tabs">
<label for="pet_type_cat" class="form-input-tabs__button active">
{{ fn('pll_e', 'Кошка') }}
<input type="radio" value="cat" checked name="pet" id="pet_type_cat" class="form-input-tabs__input">
</label>
<label for="pet_type_dog" class="form-input-tabs__button">
{{ fn('pll_e', 'Собака') }}
<input type="radio" value="dog" name="pet" id="pet_type_dog" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line sterilized">
<label for="" class="label-name">{{ fn('pll_e', 'Стерелизован') }}</label>
<div class="form-input__tabs">
<label for="sterilized_yes" class="form-input-tabs__button active">
{{ fn('pll_e', 'Да') }}
<input type="radio" value="1" checked name="sterilized" id="sterilized_yes" class="form-input-tabs__input">
</label>
<label for="sterilized_no" class="form-input-tabs__button">
{{ fn('pll_e', 'Нет') }}
<input type="radio" value="0" name="sterilized" id="sterilized_no" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line">
<div class="modal-form-content-line__element">
<label for="pet_name" class="label-name">{{ fn('pll_e', 'Имя') }}</label>
<input id="pet_name" class="form__input" type="text" name="name" placeholder="{{ fn('pll_e', 'Имя питомца') }}" required>
</div>
</div>
<div class="modal-form-content__line">
<div class="modal-form-content-line__element">
<label for="pet_breed" class="label-name">{{ fn('pll_e', 'Порода') }}</label>
<input id="pet_breed" class="form__input" type="text" name="breed" placeholder="{{ fn('pll_e', 'Порода вашего питомца') }}" required>
</div>
</div>
<div class="modal-form-content__line">
<label for="" class="label-name">{{ fn('pll_e', 'Пол вашего питомца') }}</label>
<div class="form-input__tabs">
<label for="pet_sex_male" class="form-input-tabs__button active">
{{ fn('pll_e', 'Мальчик') }}
<input type="radio" value="male" checked name="sex" id="pet_sex_male" class="form-input-tabs__input">
</label>
<label for="pet_sex_female" class="form-input-tabs__button">
{{ fn('pll_e', 'Девочка') }}
<input type="radio" value="female" name="sex" id="pet_sex_female" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line modal-form-content__line--two">
<div class="modal-form-content-line__element">
<label class="label-name">{{ fn('pll_e', 'Вид активности') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ fn('pll_e', 'Выберите из списка') }}</div>
<div class="form-input-list__block-content" style="height: 0px;">
<div class="form-input-list__content">
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Низкая') }}</p>
<input type="radio" required name="activity" value="low" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Средняя') }}</p>
<input type="radio" required name="activity" value="moderate" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Высокая') }}</p>
<input type="radio" required name="activity" value="high" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
</div>
</div>
</div>
</div>
<div class="modal-form-content-line__element">
<label for="pet_weight" class="label-name">{{ fn('pll_e', 'Вес') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ fn('pll_e', 'Выберите из списка') }}</div>
<div class="form-input-list__block-content" style="height: 0px;">
<div class="form-input-list__content">
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '1-1.5 кг') }}</p>
<input type="radio" required name="weight" value="below_1_5" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '1.5-3 кг') }}</p>
<input type="radio" required name="weight" value="1_5-3" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '3-5 кг') }}</p>
<input type="radio" required name="weight" value="3-5" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '5-8 кг') }}</p>
<input type="radio" required name="weight" value="5-8" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '8-11 кг') }}</p>
<input type="radio" required name="weight" value="8-11" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '11-15 кг') }}</p>
<input type="radio" required name="weight" value="11-15" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '10-20кг') }}</p>
<input type="radio" required name="weight" value="15-20" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '20-25кг') }}</p>
<input type="radio" required name="weight" value="20-25" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '25-35 кг') }}</p>
<input type="radio" required name="weight" value="25-35" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Более 35 кг') }}</p>
<input type="radio" required name="weight" value="more_35" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="rm">
<div class="modal-form-content__line">
<label class="label-name">{{ fn('pll_e', 'Возраст питомца') }}</label>
<div class="form-input__tabs form-input__remote-control" data-content="modal__age">
<label for="age_type_exemplary" class="form-input-tabs__button active" data-rm="0">
{{ fn('pll_e', 'Примерный') }}
<input type="radio" checked value="ex" name="old_type" required id="age_type_exemplary" class="form-input-tabs__input">
</label>
<label for="age_type_accurate" class="form-input-tabs__button" data-rm="1">
{{ fn('pll_e', 'Точный') }}
<input type="radio" value="acc" name="old_type" required id="age_type_accurate" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal__age">
<!-- Approximate age selection -->
<div class="form-input__radio remote-control__item active" data-rmcont="0">
<label class="form-input-radio__item active">
<input type="radio" name="old" value="baby" checked class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ fn('pll_e', 'Малыш') }} <span>{{ fn('pll_e', '(от 0 до 1 года)') }}</span></p>
</label>
<label class="form-input-radio__item">
<input type="radio" name="old" value="normal" class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ fn('pll_e', 'Взрослый') }} <span>{{ fn('pll_e', '(от 1 года до 7 лет)') }}</span></p>
</label>
<label class="form-input-radio__item">
<input type="radio" name="old" value="old" class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ fn('pll_e', 'Пожилой') }} <span>{{ fn('pll_e', '(от 7 до 12 лет)') }}</span></p>
</label>
<label class="form-input-radio__item">
<input type="radio" name="old" value="very_old" class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ fn('pll_e', 'Стареющий') }} <span>{{ fn('pll_e', '(от 12 лет и старше)') }}</span></p>
</label>
</div>
<!-- Exact age selection -->
<div data-rmcont="1" class="modal-form-content__line remote-control__item modal-form-content__line--three modal-form-content__line--margin-top-16">
<div class="modal-form-content-line__element">
<label for="pet_day" class="label-name">{{ fn('pll_e', 'День') }}</label>
<input id="pet_day" class="form__input form__input--center" maxlength="2" type="text" name="day" placeholder="{{ fn('pll_e', 'ДД') }}">
</div>
<div class="modal-form-content-line__element">
<label for="pet_month" class="label-name">{{ fn('pll_e', 'Месяц') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ fn('pll_e', 'Месяц') }}</div>
<div class="form-input-list__block-content">
<div class="form-input-list__content">
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Январь') }}</p>
<input type="radio" name="month" value="1" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Февраль') }}</p>
<input type="radio" name="month" value="2" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Март') }}</p>
<input type="radio" name="month" value="3" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Апрель') }}</p>
<input type="radio" name="month" value="4" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Май') }}</p>
<input type="radio" name="month" value="5" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Июнь') }}</p>
<input type="radio" name="month" value="6" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Июль') }}</p>
<input type="radio" name="month" value="7" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Август') }}</p>
<input type="radio" name="month" value="8" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Сентябрь') }}</p>
<input type="radio" name="month" value="9" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Октябрь') }}</p>
<input type="radio" name="month" value="10" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Ноябрь') }}</p>
<input type="radio" name="month" value="11" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Декабрь') }}</p>
<input type="radio" name="month" value="12" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
</div>
</div>
</div>
</div>
<div class="modal-form-content-line__element">
<label for="pet_year" class="label-name">{{ fn('pll_e', 'Год') }}</label>
<input id="pet_year" class="form__input form__input--center" maxlength="4" type="text" name="year" placeholder="{{ fn('pll_e', 'ГГГГ') }}">
</div>
</div>
</div>
</div>
<div class="modal-form__buttons">
<button class="button button--gradient button--high button--100-perc" type="submit">{{ fn('pll_e', 'Добавить') }}</button>
</div>
</form>
</div>
</div>
</div>
<div class="modalProfile" id="subForm">
<div class="popup-wrap">
<div class="modal-form modal__notification modal-form--green-gradient modal-form--width-584 form-sub active">
<button class="modal-form__close modal-form__close--white"></button>
<p class="modal-form__title modal-form__title--white">{{ fn('pll_e', 'Подписка на корм') }}</p>
<div class="modal-form__element modal-form__element--top-40">
<p class="modal-form__text modal-form__text--white">
{{ fn('pll_e', 'Спасибо за интерес к нашему новому виду услуг, данная функция находится в разработке, если вы хотите узнать первыми о запуске подпишитесь на рассылку.') }}
</p>
</div>
<form class="modal-form__element modal-form__element--top-40 foodSub">
<input type="hidden" name="email" value="{{ user.user_email }}">
<input type="hidden" name="action" value="subscription_sub__profile">
<button class="button form__button-pc button--white button--100-perc open-overlay button--high">
{{ fn('pll_e', 'Хочу попробовать первым!') }}
</button>
<button class="button form__button-mobile button--white button--100-perc open-overlay button--high">
{{ fn('pll_e', 'Хочу быть первым!') }}
</button>
</form>
</div>
</div>
</div>
<div class="modalProfile" id="user_edit">
<div class="popup-wrap">
<div class="modal-form form__full-mobile modal-form--white modal-form--height-100-phone form-data active">
<button class="modal-form__close"></button>
<p class="modal-form__title">{{ fn('pll_e', 'Изменить мои данные') }}</p>
<form class="modal-form__content user-edit-form" method="post">
<input type="hidden" name="action" value="edit_user">
<div class="modal-form-content__line modal-form-content__line--two">
<div class="modal-form-content-line__element">
<label for="user_firstname" class="label-name">{{ fn('pll_e', 'Имя') }}</label>
<input id="user_firstname" class="form__input" type="text" value="{{ first_name }}" name="name" placeholder="{{ fn('pll_e', 'Ваше имя') }}" required>
<span class="form-input__error form-input__error--absolute">{{ fn('pll_e', 'Имя введено неверно') }}</span>
</div>
<div class="modal-form-content-line__element">
<label for="user_lastname" class="label-name">{{ fn('pll_e', 'Фамилия') }}</label>
<input id="user_lastname" class="form__input" type="text" value="{{ last_name }}" name="l_name" placeholder="{{ fn('pll_e', 'Ваша фамилия') }}" required>
<span class="form-input__error form-input__error--absolute">{{ fn('pll_e', 'Фамилия введена неверно') }}</span>
</div>
</div>
<div class="modal-form-content__line">
<label class="label-name">{{ fn('pll_e', 'Телефон') }}</label>
<div class="form-input__phone">
<input type="text" placeholder="___ ___ ____" id="user_phone" value="{{ phone }}" name="phone" class="form-input-phone__input" required>
<div class="form-input__error form-input__error--absolute">{{ fn('pll_e', 'Номер введён неверно') }}</div>
</div>
</div>
<div class="modal-form__buttons modal-form__buttons--two">
<button class="button button--gradient button--high" type="submit">{{ fn('pll_e', 'Сохранить') }}</button>
<input type="reset" class="button button--white open-overlay button--high modal-form__button-close" value="{{ fn('pll_e', 'Отмена') }}">
</div>
</form>
</div>
</div>
</div>
{% if pets %}
{% for pet in pets %}
{% include 'profile/pet-edit-card.twig' with { 'item': pet } %}
{% endfor %}
{% endif %}
{% include 'profile/profile-modals.twig' %}
{% endblock %}

@ -0,0 +1,464 @@
<div class="modalProfile" id="pet_add_form">
<div class="popup-wrap">
<div class="modal-form form__full-mobile modal-form--white modal-form--height-100-phone form-pet active">
<button class="modal-form__close"></button>
<p class="modal-form__title">{{ fn('pll_e', 'Добавить питомца') }}</p>
<form class="modal-form__content" id="add-pet-form" method="post" action="">
<input type="hidden" name="nonce" value="{{ fn('wp_create_nonce', 'add_pet_nonce') }}">
<input type="hidden" name="action" value="add_pet">
<div class="modal-form-content__line">
<label for="" class="label-name">{{ fn('pll_e', 'Вид животного') }}</label>
<div class="form-input__tabs">
<label for="pet_type_cat" class="form-input-tabs__button active">
{{ fn('pll_e', 'Кошка') }}
<input type="radio" value="cat" checked name="pet" id="pet_type_cat" class="form-input-tabs__input">
</label>
<label for="pet_type_dog" class="form-input-tabs__button">
{{ fn('pll_e', 'Собака') }}
<input type="radio" value="dog" name="pet" id="pet_type_dog" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line sterilized">
<label for="" class="label-name">{{ fn('pll_e', 'Стерелизован') }}</label>
<div class="form-input__tabs">
<label for="sterilized_yes" class="form-input-tabs__button active">
{{ fn('pll_e', 'Да') }}
<input type="radio" value="1" checked name="sterilized" id="sterilized_yes" class="form-input-tabs__input">
</label>
<label for="sterilized_no" class="form-input-tabs__button">
{{ fn('pll_e', 'Нет') }}
<input type="radio" value="0" name="sterilized" id="sterilized_no" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line">
<div class="modal-form-content-line__element">
<label for="pet_name" class="label-name">{{ fn('pll_e', 'Имя') }}</label>
<input id="pet_name" class="form__input" type="text" name="name" placeholder="{{ fn('pll_e', 'Имя питомца') }}" required>
</div>
</div>
<div class="modal-form-content__line">
<div class="modal-form-content-line__element">
<label for="pet_breed" class="label-name">{{ fn('pll_e', 'Порода') }}</label>
<input id="pet_breed" class="form__input" type="text" name="breed" placeholder="{{ fn('pll_e', 'Порода вашего питомца') }}" required>
</div>
</div>
<div class="modal-form-content__line">
<label for="" class="label-name">{{ fn('pll_e', 'Пол вашего питомца') }}</label>
<div class="form-input__tabs">
<label for="pet_sex_male" class="form-input-tabs__button active">
{{ fn('pll_e', 'Мальчик') }}
<input type="radio" value="male" checked name="sex" id="pet_sex_male" class="form-input-tabs__input">
</label>
<label for="pet_sex_female" class="form-input-tabs__button">
{{ fn('pll_e', 'Девочка') }}
<input type="radio" value="female" name="sex" id="pet_sex_female" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line modal-form-content__line--two">
<div class="modal-form-content-line__element">
<label class="label-name">{{ fn('pll_e', 'Вид активности') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ fn('pll_e', 'Выберите из списка') }}</div>
<div class="form-input-list__block-content" style="height: 0px;">
<div class="form-input-list__content">
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Низкая') }}</p>
<input type="radio" required name="activity" value="low" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Средняя') }}</p>
<input type="radio" required name="activity" value="moderate" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Высокая') }}</p>
<input type="radio" required name="activity" value="high" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
</div>
</div>
</div>
</div>
<div class="modal-form-content-line__element">
<label for="pet_weight" class="label-name">{{ fn('pll_e', 'Вес') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ fn('pll_e', 'Выберите из списка') }}</div>
<div class="form-input-list__block-content" style="height: 0px;">
<div class="form-input-list__content">
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '1-1.5 кг') }}</p>
<input type="radio" required name="weight" value="below_1_5" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '1.5-3 кг') }}</p>
<input type="radio" required name="weight" value="1_5-3" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '3-5 кг') }}</p>
<input type="radio" required name="weight" value="3-5" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '5-8 кг') }}</p>
<input type="radio" required name="weight" value="5-8" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '8-11 кг') }}</p>
<input type="radio" required name="weight" value="8-11" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '11-15 кг') }}</p>
<input type="radio" required name="weight" value="11-15" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '10-20кг') }}</p>
<input type="radio" required name="weight" value="15-20" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '20-25кг') }}</p>
<input type="radio" required name="weight" value="20-25" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', '25-35 кг') }}</p>
<input type="radio" required name="weight" value="25-35" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Более 35 кг') }}</p>
<input type="radio" required name="weight" value="more_35" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="rm">
<div class="modal-form-content__line">
<label class="label-name">{{ fn('pll_e', 'Возраст питомца') }}</label>
<div class="form-input__tabs form-input__remote-control" data-content="modal__age">
<label for="age_type_exemplary" class="form-input-tabs__button active" data-rm="0">
{{ fn('pll_e', 'Примерный') }}
<input type="radio" checked value="ex" name="old_type" required id="age_type_exemplary" class="form-input-tabs__input">
</label>
<label for="age_type_accurate" class="form-input-tabs__button" data-rm="1">
{{ fn('pll_e', 'Точный') }}
<input type="radio" value="acc" name="old_type" required id="age_type_accurate" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal__age">
<!-- Approximate age selection -->
<div class="form-input__radio remote-control__item active" data-rmcont="0">
<label class="form-input-radio__item active">
<input type="radio" name="old" value="baby" checked class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ fn('pll_e', 'Малыш') }} <span>{{ fn('pll_e', '(от 0 до 1 года)') }}</span></p>
</label>
<label class="form-input-radio__item">
<input type="radio" name="old" value="normal" class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ fn('pll_e', 'Взрослый') }} <span>{{ fn('pll_e', '(от 1 года до 7 лет)') }}</span></p>
</label>
<label class="form-input-radio__item">
<input type="radio" name="old" value="old" class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ fn('pll_e', 'Пожилой') }} <span>{{ fn('pll_e', '(от 7 до 12 лет)') }}</span></p>
</label>
<label class="form-input-radio__item">
<input type="radio" name="old" value="very_old" class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ fn('pll_e', 'Стареющий') }} <span>{{ fn('pll_e', '(от 12 лет и старше)') }}</span></p>
</label>
</div>
<!-- Exact age selection -->
<div data-rmcont="1" class="modal-form-content__line remote-control__item modal-form-content__line--three modal-form-content__line--margin-top-16">
<div class="modal-form-content-line__element">
<label for="pet_day" class="label-name">{{ fn('pll_e', 'День') }}</label>
<input id="pet_day" class="form__input form__input--center" maxlength="2" type="text" name="day" placeholder="{{ fn('pll_e', 'ДД') }}">
</div>
<div class="modal-form-content-line__element">
<label for="pet_month" class="label-name">{{ fn('pll_e', 'Месяц') }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ fn('pll_e', 'Месяц') }}</div>
<div class="form-input-list__block-content">
<div class="form-input-list__content">
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Январь') }}</p>
<input type="radio" name="month" value="1" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Февраль') }}</p>
<input type="radio" name="month" value="2" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Март') }}</p>
<input type="radio" name="month" value="3" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Апрель') }}</p>
<input type="radio" name="month" value="4" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Май') }}</p>
<input type="radio" name="month" value="5" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Июнь') }}</p>
<input type="radio" name="month" value="6" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Июль') }}</p>
<input type="radio" name="month" value="7" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Август') }}</p>
<input type="radio" name="month" value="8" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Сентябрь') }}</p>
<input type="radio" name="month" value="9" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Октябрь') }}</p>
<input type="radio" name="month" value="10" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Ноябрь') }}</p>
<input type="radio" name="month" value="11" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">{{ fn('pll_e', 'Декабрь') }}</p>
<input type="radio" name="month" value="12" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/static/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
</div>
</div>
</div>
</div>
<div class="modal-form-content-line__element">
<label for="pet_year" class="label-name">{{ fn('pll_e', 'Год') }}</label>
<input id="pet_year" class="form__input form__input--center" maxlength="4" type="text" name="year" placeholder="{{ fn('pll_e', 'ГГГГ') }}">
</div>
</div>
</div>
</div>
<div class="modal-form__buttons">
<button class="button button--gradient button--high button--100-perc" type="submit">{{ fn('pll_e', 'Добавить') }}</button>
</div>
</form>
</div>
</div>
</div>
<div class="modalProfile" id="subForm">
<div class="popup-wrap">
<div class="modal-form modal__notification modal-form--green-gradient modal-form--width-584 form-sub active">
<button class="modal-form__close modal-form__close--white"></button>
<p class="modal-form__title modal-form__title--white">{{ fn('pll_e', 'Подписка на корм') }}</p>
<div class="modal-form__element modal-form__element--top-40">
<p class="modal-form__text modal-form__text--white">
{{ fn('pll_e', 'Спасибо за интерес к нашему новому виду услуг, данная функция находится в разработке, если вы хотите узнать первыми о запуске подпишитесь на рассылку.') }}
</p>
</div>
<form class="modal-form__element modal-form__element--top-40 foodSub">
<input type="hidden" name="email" value="{{ user.user_email }}">
<input type="hidden" name="action" value="subscription_sub__profile">
<button class="button form__button-pc button--white button--100-perc open-overlay button--high">
{{ fn('pll_e', 'Хочу попробовать первым!') }}
</button>
<button class="button form__button-mobile button--white button--100-perc open-overlay button--high">
{{ fn('pll_e', 'Хочу быть первым!') }}
</button>
</form>
</div>
</div>
</div>
<div class="modalProfile" id="user_edit">
<div class="popup-wrap">
<div class="modal-form form__full-mobile modal-form--white modal-form--height-100-phone form-data active">
<button class="modal-form__close"></button>
<p class="modal-form__title">{{ fn('pll_e', 'Изменить мои данные') }}</p>
<form class="modal-form__content user-edit-form" method="post">
<input type="hidden" name="action" value="edit_user">
<div class="modal-form-content__line modal-form-content__line--two">
<div class="modal-form-content-line__element">
<label for="user_firstname" class="label-name">{{ fn('pll_e', 'Имя') }}</label>
<input id="user_firstname" class="form__input" type="text" value="{{ first_name }}" name="name" placeholder="{{ fn('pll_e', 'Ваше имя') }}" required>
<span class="form-input__error form-input__error--absolute">{{ fn('pll_e', 'Имя введено неверно') }}</span>
</div>
<div class="modal-form-content-line__element">
<label for="user_lastname" class="label-name">{{ fn('pll_e', 'Фамилия') }}</label>
<input id="user_lastname" class="form__input" type="text" value="{{ last_name }}" name="l_name" placeholder="{{ fn('pll_e', 'Ваша фамилия') }}" required>
<span class="form-input__error form-input__error--absolute">{{ fn('pll_e', 'Фамилия введена неверно') }}</span>
</div>
</div>
<div class="modal-form-content__line">
<label class="label-name">{{ fn('pll_e', 'Телефон') }}</label>
<div class="form-input__phone">
<input type="text" placeholder="___ ___ ____" id="user_phone" value="{{ phone }}" name="phone" class="form-input-phone__input" required>
<div class="form-input__error form-input__error--absolute">{{ fn('pll_e', 'Номер введён неверно') }}</div>
</div>
</div>
<div class="modal-form__buttons modal-form__buttons--two">
<button class="button button--gradient button--high" type="submit">{{ fn('pll_e', 'Сохранить') }}</button>
<input type="reset" class="button button--white open-overlay button--high modal-form__button-close" value="{{ fn('pll_e', 'Отмена') }}">
</div>
</form>
</div>
</div>
</div>
{% if pets %}
{% for pet in pets %}
{% include 'profile/pet-edit-card.twig' with { 'item': pet } %}
{% endfor %}
{% endif %}
Loading…
Cancel
Save