Feat | profile and login

pull/20/head
Антон 3 months ago
parent f6e9fd547b
commit bd29c40a52
  1. 1748
      wp-content/themes/cosmopet/composer-setup.php
  2. 167
      wp-content/themes/cosmopet/functions.php
  3. 1
      wp-content/themes/cosmopet/home.php
  4. 44
      wp-content/themes/cosmopet/modules/footer/assets/css/gp-style-desktop.css
  5. 1014
      wp-content/themes/cosmopet/modules/footer/assets/js/footer.js
  6. 174
      wp-content/themes/cosmopet/modules/footer/module-controller.php
  7. 189
      wp-content/themes/cosmopet/modules/layout/assets/css/gp-style-core.css
  8. 852
      wp-content/themes/cosmopet/modules/profile/assets/css/profile.css
  9. BIN
      wp-content/themes/cosmopet/modules/profile/assets/img/modal/about_slider.png
  10. BIN
      wp-content/themes/cosmopet/modules/profile/assets/img/pet/cat.png
  11. BIN
      wp-content/themes/cosmopet/modules/profile/assets/img/pet/dog.png
  12. BIN
      wp-content/themes/cosmopet/modules/profile/assets/img/pet/mini-cat.png
  13. BIN
      wp-content/themes/cosmopet/modules/profile/assets/img/pet/mini-dog.png
  14. BIN
      wp-content/themes/cosmopet/modules/profile/assets/img/product/image.png
  15. BIN
      wp-content/themes/cosmopet/modules/profile/assets/img/product/mini-card.png
  16. 13
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/country/ar.svg
  17. 13
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/country/ru.svg
  18. 4
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-black.svg
  19. 18
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-gradient.svg
  20. 4
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-white.svg
  21. 5
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-back.svg
  22. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-black.svg
  23. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-breadcrumbs-black.svg
  24. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-breadcrumbs.svg
  25. 5
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-left.svg
  26. 5
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-right.svg
  27. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-selected-white.svg
  28. 11
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-selected.svg
  29. 13
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/basket.svg
  30. 11
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/black-x.svg
  31. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/change-dot.svg
  32. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/filter.svg
  33. 6
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/google-white.svg
  34. 11
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/gradient-x.svg
  35. 10
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/minus.svg
  36. 11
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/plus-grey.svg
  37. 11
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/plus.svg
  38. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/question.svg
  39. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/status-cancelled.svg
  40. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/status-chek.svg
  41. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/triangle-grey.svg
  42. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/vk-white.svg
  43. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/white-x.svg
  44. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/ya-white.svg
  45. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/basket-w.svg
  46. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/basket.svg
  47. 4
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/profile-w.svg
  48. 4
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/profile.svg
  49. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/tg.svg
  50. 3
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/vk.svg
  51. 6
      wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/ya.svg
  52. 300
      wp-content/themes/cosmopet/modules/profile/assets/js/profile.js
  53. 188
      wp-content/themes/cosmopet/modules/profile/components/profile/component-controller.php
  54. 133
      wp-content/themes/cosmopet/modules/profile/module-ajax-controller.php
  55. 178
      wp-content/themes/cosmopet/modules/profile/module-controller.php
  56. 15
      wp-content/themes/cosmopet/page.php
  57. 54
      wp-content/themes/cosmopet/static/front-page/js/main.js
  58. 839
      wp-content/themes/cosmopet/templates/blog/blog-page.twig
  59. 175
      wp-content/themes/cosmopet/templates/footer.twig
  60. 14
      wp-content/themes/cosmopet/templates/header.twig
  61. 10
      wp-content/themes/cosmopet/templates/page.twig
  62. 537
      wp-content/themes/cosmopet/templates/profile/profile.twig
  63. 0
      wp-content/themes/cosmopet/templates/profile/template-profile.php
  64. 119
      wp-content/themes/cosmopet/woocommerce/myaccount/form-login.php
  65. 4
      wp-content/themes/cosmopet/woocommerce/myaccount/my-account.php
  66. 93
      wp-content/themes/cosmopet/woocommerce/myaccount/my-address.php
  67. 1
      wp-content/uploads copy/.htaccess
  68. BIN
      wp-content/uploads copy/2025/02/anons-best-card-3.png
  69. BIN
      wp-content/uploads copy/2025/02/article-block-card-1-100x100.png
  70. BIN
      wp-content/uploads copy/2025/02/article-block-card-1-300x300.png
  71. BIN
      wp-content/uploads copy/2025/02/article-block-card-1.png
  72. BIN
      wp-content/uploads copy/2025/02/article-block-card-2-100x100.png
  73. BIN
      wp-content/uploads copy/2025/02/article-block-card-2-300x300.png
  74. BIN
      wp-content/uploads copy/2025/02/article-block-card-3-100x100.png
  75. BIN
      wp-content/uploads copy/2025/02/article-block-card-3-300x300.png
  76. 1
      wp-content/uploads copy/2025/02/block-accent-icon-1.svg
  77. 1
      wp-content/uploads copy/2025/02/block-accent-icon-2.svg
  78. 1
      wp-content/uploads copy/2025/02/block-list-icon-1.svg
  79. 1
      wp-content/uploads copy/2025/02/block-list-icon-2.svg
  80. 1
      wp-content/uploads copy/2025/02/block-list-icon-3.svg
  81. 1
      wp-content/uploads copy/2025/02/block-list-icon-4.svg
  82. 1
      wp-content/uploads copy/2025/02/footer-network-1.svg
  83. 1
      wp-content/uploads copy/2025/02/footer-network-2.svg
  84. 1
      wp-content/uploads copy/2025/02/footer-network-3.svg
  85. 1
      wp-content/uploads copy/2025/02/indent-icon-1-1.svg
  86. 1
      wp-content/uploads copy/2025/02/indent-icon-1.svg
  87. BIN
      wp-content/uploads copy/2025/02/product-card-100x100.png
  88. BIN
      wp-content/uploads copy/2025/02/product-card-300x300.png
  89. BIN
      wp-content/uploads copy/2025/02/product-card.png
  90. BIN
      wp-content/uploads copy/2025/02/texts-card-1-100x100.png
  91. BIN
      wp-content/uploads copy/2025/02/texts-card-1-300x300.png
  92. BIN
      wp-content/uploads copy/2025/02/texts-card-2-100x100.png
  93. BIN
      wp-content/uploads copy/2025/02/texts-card-2-300x300.png
  94. BIN
      wp-content/uploads copy/2025/02/texts-card-3-100x100.png
  95. BIN
      wp-content/uploads copy/2025/02/texts-card-3-300x300.png
  96. BIN
      wp-content/uploads copy/2025/03/2025-03-24-12.52.23-e1742999104747.jpg-100x100.webp
  97. BIN
      wp-content/uploads copy/2025/03/2025-03-24-12.52.23-e1742999104747.jpg-150x150.webp
  98. BIN
      wp-content/uploads copy/2025/03/2025-03-24-12.52.23-e1742999104747.jpg-300x262.webp
  99. BIN
      wp-content/uploads copy/2025/03/2025-03-24-12.52.23-e1742999104747.jpg-300x300.webp
  100. BIN
      wp-content/uploads copy/2025/03/2025-03-24-12.52.23-e1742999104747.jpg.webp
  101. Some files were not shown because too many files have changed in this diff Show More

File diff suppressed because it is too large Load Diff

@ -573,3 +573,170 @@ register_sidebar( array(
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
// Define encryption secret key
define('SECRET', 'fT54ehYtt87@q1A');
/**
* Email Validation
* Validates the format of the provided email via AJAX.
*/
add_action('wp_ajax_email_validate', 'email_validate');
add_action('wp_ajax_nopriv_email_validate', 'email_validate');
function email_validate() {
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
header("Content-Type: application/json");
echo json_encode(array(
'status' => 'error',
'text' => esc_html__('Invalid email format', 'woodmart')
));
}
wp_die();
}
/**
* Send Verification Code
* Generates a random code, encrypts it, stores it in a cookie, and sends it via email.
*/
add_action('wp_ajax_send_code', 'send_code');
add_action('wp_ajax_nopriv_send_code', 'send_code');
function send_code() {
$email = $_POST['email'];
// Generate a random 4-digit code
$string = rand(1234, 9999);
$ciphering = "AES-128-CTR";
$options = 0;
$iv = '1234567891011121';
$encryption = openssl_encrypt($string, $ciphering, SECRET, $options, $iv);
// Store encrypted code in a cookie for 5 minutes
setcookie('login_code', $encryption, time() + 60 * 5, '/');
// Prepare email content based on language
if (function_exists('pll_current_language') && pll_current_language() === 'ru') {
$subject = "Проверочный код Cosmopet -" . $string;
$message = "Привет, это Cosmopet.\n
Держите проверочный код!\n
" . $string;
} else {
$subject = "Cosmopet Verification Code -" . $string;
$message = "Hello, this is CosmoPet.\n
Here's your verification code!\n
" . $string;
}
// Remove email filters for consistent sending
remove_all_filters('wp_mail_from');
remove_all_filters('wp_mail_from_name');
$headers = array(
'From: Cosmopet <pro@cosmopet.shop>',
'content-type: text/html; charset=utf-8',
);
// Send email
wp_mail($email, $subject, $message, $headers);
wp_die();
}
/**
* Check Verification Code
* Validates the user-entered code, logs in or registers the user.
*/
add_action('wp_ajax_check_code', 'check_code');
add_action('wp_ajax_nopriv_check_code', 'check_code');
function check_code() {
header("Content-Type: application/json");
$code = $_POST['code'];
$email = $_POST['email'];
// Generate a random 12-character password
$alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890@#!()';
$pass = array();
$alphaLength = strlen($alphabet) - 1;
for ($i = 0; $i < 12; $i++) {
$n = rand(0, $alphaLength);
$pass[] = $alphabet[$n];
}
$pass = implode($pass);
// Check if verification code cookie exists
if (isset($_COOKIE['login_code'])) {
$string = $_COOKIE['login_code'];
$ciphering = "AES-128-CTR";
$options = 0;
$iv = '1234567891011121';
$decryption = openssl_decrypt($string, $ciphering, SECRET, $options, $iv);
if ($decryption === $code) {
if (email_exists($email)) {
// Log in existing user
$user_id = get_user_by('login', $email)->ID;
if (empty($user_id)) {
$user_id = get_user_by('email', $email)->ID;
}
wp_set_password($pass, $user_id);
wp_signon(
array(
'user_login' => $email,
'user_password' => $pass,
'remember' => 'on',
)
);
echo json_encode(array(
'status' => 'success_auth'
));
if (function_exists('update_field')) {
update_field('activated', true, 'user_' . $user_id); // Requires ACF
}
exit();
} else {
// Register new user
$user_id = wp_create_user($email, $pass, $email);
wp_update_user([
'ID' => $user_id,
'user_email' => $email
]);
wp_set_auth_cookie($user_id, true);
echo json_encode(array(
'status' => 'success_reg'
));
if (function_exists('update_field')) {
update_field('activated', true, 'user_' . $user_id); // Requires ACF
}
exit();
}
} else {
echo json_encode(array(
'status' => 'error',
'text' => esc_html__('Invalid code', 'woodmart')
));
exit();
}
} else {
echo json_encode(array(
'status' => 'error',
'text' => esc_html__('The code hasexpired', 'woodmart')
));
exit();
}
wp_die();
}
/**
* Logout Redirect
* Redirects to the homepage after user logout.
*/
add_action('wp_logout', 'logout_redirect');
function logout_redirect() {
wp_redirect('/');
exit();
}

@ -1,4 +1,5 @@
<?php
include_module('blog');
include_component('blog', 'archive');

@ -151,4 +151,48 @@
text-decoration: underline;
}
/* Footer end */
.modal__aside {
position: fixed;
top: 0;
right: 0;
width: 0;
height: 100%;
overflow: hidden;
transition: width .4s ease-out;
}
.modal__item {
height: 100%;
padding: 24px;
background: var(--background-white);
position: relative;
display: none;
filter: blur(10px);
transition: filter .2s ease-out;
}
.modal__login {
width: 412px;
}
.modal__item.active {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.modal__close {
position: absolute;
top: 32px;
right: 24px;
width: 24px;
height: 24px;
border: none;
background: none;
}
.login_wrap {
height: 100%;
}

@ -9,6 +9,180 @@ add_filter('timber/context', function($context) {
return $context;
});
define('BOT_USERNAME', 'cosmopetbot_bot');
function getTelegramUserData() {
if (isset($_COOKIE['tg_user'])) {
$auth_data_json = urldecode($_COOKIE['tg_user']);
$auth_data = json_decode($auth_data_json, true);
return $auth_data;
}
return false;
}
/*
if ($_GET['logout']) {
setcookie('tg_user', '');
header('Location: login.php');
}
*/
function tgWidget() {
$tg_user = getTelegramUserData();
if ($tg_user !== false) {
$first_name = htmlspecialchars($tg_user['first_name']);
$last_name = htmlspecialchars($tg_user['last_name']);
if (isset($tg_user['username'])) {
$username = htmlspecialchars($tg_user['username']);
$html = "<h1>Hello, <a href=\"https://t.me/{$username}\">{$first_name} {$last_name}</a>!</h1>";
} else {
$html = "<h1>Hello, {$first_name} {$last_name}!</h1>";
}
if (isset($tg_user['photo_url'])) {
$photo_url = htmlspecialchars($tg_user['photo_url']);
$html .= "<img src=\"{$photo_url}\">";
}
$html .= "<p><a href=\"?logout=1\">Log out</a></p>";
} else {
$bot_username = BOT_USERNAME;
$html = '<script async src="https://telegram.org/js/telegram-widget.js?2" data-telegram-login="'.$bot_username.'" data-size="large" data-onauth="onTelegramAuth(user)"></script>';
}
if(!is_user_logged_in()) {
echo $html;
}
}
add_action( 'wp_ajax_ontelegramauth', 'onTelegramAuth' );
add_action( 'wp_ajax_nopriv_ontelegramauth', 'onTelegramAuth' );
function onTelegramAuth(){
$tg_id = $_POST['userid'];
$tg_username = $_POST['username'];
$user = get_users(
array(
'meta_key' => 'tg_account',
'meta_value' => $tg_id
)
);
// $user = get_users(
// array(
// 'meta_key' => 'tg_username',
// 'meta_value' => $tg_username
// )
// );
// Генерация пароля
$alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890@#!()';
$pass = array();
$alphaLength = strlen($alphabet) - 1;
for ($i = 0; $i < 12; $i++) {
$n = rand(0, $alphaLength);
$pass[] = $alphabet[$n];
}
$pass = implode($pass);
if($user) {
$user_login = $user[0]->data->user_login;
$user_id = get_user_by( 'login', $user_login )->ID;
wp_set_password( $pass, get_user_by( 'login', $user_login )->ID );
wp_signon(
array(
'user_login' => $user_login,
'user_password' => $pass,
'remember' => 'on',
)
);
} else {
$user_id = wp_create_user( $tg_username, $pass, '');
add_user_meta( $user_id, 'tg_account', $tg_id);
add_user_meta( $user_id, 'tg_username', $tg_username);
wp_update_user( [
'ID' => $user_id,
'first_name' => $_POST['fname'],
'last_name' => $_POST['lname']
] );
wp_set_auth_cookie( $user_id, true );
}
}
add_action( 'wp_ajax_linktelegram', 'linkTelegram' );
add_action( 'wp_ajax_nopriv_linktelegram', 'linkTelegram' );
function linkTelegram(){
$tg_id = $_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' => $_POST['fname'],
'last_name' => $_POST['lname']
] );
}
add_action( 'wp_ajax_email_link', 'emailLink' );
add_action( 'wp_ajax_nopriv_email_link', 'emailLink' );
function emailLink(){
$email = $_POST['email'];
$user_id = get_current_user_id();
if(email_exists($email)){
header("Content-Type: application/json");
echo json_encode(array(
'error' => esc_html__( 'Email is already registered', 'woodmart' )
));
exit();
} else {
wp_update_user( [
'ID' => $user_id,
'user_email' => $email
] );
}
}
// Добавляем колонку Telegram в список пользователей
add_filter('manage_users_columns', 'add_tg_account_column');
function add_tg_account_column($columns) {
$columns['tg_username'] = 'Telegram';
return $columns;
}
// Заполняем колонку данными
add_filter('manage_users_custom_column', 'add_tg_account_column_content', 10, 3);
function add_tg_account_column_content($value, $column_name, $user_id) {
if ('tg_username' == $column_name) {
$tg_account = get_user_meta($user_id, 'tg_username', true);
if ($tg_account) {
return '<a href="https://t.me/"' . esc_attr($tg_account) . '" target="_blank">@' . esc_html($tg_account) . '</a>';
}
return '<span style="color:#ccc;">не указан</span>';
}
return $value;
}
// Делаем колонку сортируемой
add_filter('manage_users_sortable_columns', 'make_tg_account_column_sortable');
function make_tg_account_column_sortable($columns) {
$columns['tg_username'] = 'tg_username';
return $columns;
}
// Обрабатываем сортировку
add_action('pre_get_users', 'handle_tg_account_sorting');
function handle_tg_account_sorting($query) {
if (!is_admin() || !$query->is_main_query()) {
return;
}
if ('tg_username' === $query->get('orderby')) {
$query->set('meta_key', 'tg_username');
$query->set('orderby', 'meta_value');
}
}
?>

@ -403,3 +403,192 @@ textarea{
margin: 0 auto;
max-width: 1600px;
}
.modal {
display: none;
}
.modal.active {
display: flex!important;
}
.modal__login.active {
filter: blur(0px);
}
/* button */
.button{
font-family: var(--font-family);
font-weight: 600;
font-size: 20px;
line-height: 120%;
color: var(--text-black);
border-radius: 20px;
text-transform: none;
cursor: pointer;
}
.button--100-perc{
width: 100%;
}
.button--white{
padding: 11px 24px;
text-align: center;
background-color: var(--background-white);
border: 1px solid var(--background-black);
transition: opacity .2s ease-out;
}
.button--white:hover{
opacity: .8;
}
.button--white.active{
background: var(--background-black);
color: var(--background-white);
}
.button--gradient{
background: var(--gradient-turquoise);
border: none;
transition: opacity .2s ease-out;
}
.button--gradient:hover{
opacity: .8;
}
.button--base{
padding: 12px 24px;
}
.button--high{
height: 56px;
padding: 16px 24px 16px 24px;
font-weight: 700;
text-align: center;
position: relative;
}
.button--icon{
padding-right: 56px;
text-align: start;
}
.button--filter::after{
content: '';
position: absolute;
top: 16px;
right: 24px;
width: 24px;
aspect-ratio: 1;
background-image: url(../img/svg/main/filter.svg);
background-repeat: no-repeat;
background-size: contain;
}
.button--black{
padding: 7px 15px;
font-family: var(--font-family);
font-weight: 500;
font-size: 24px;
line-height: 133%;
color: var(--text-white);
background: var(--background-black);
border: 1px solid var(--text-white);
}
.button--link{
text-decoration: none;
}
.button--red-48-px{
border-radius: 48px;
}
.to-know{
width: 100%;
padding: 12px;
display: flex;
justify-content: center;
border: none;
transition: opacity .2s ease-out;
}
.to-know:hover{
opacity: .8;
}
.to-know p{
padding-bottom: 4px;
font-family: var(--font-family);
font-weight: 700;
font-size: 20px;
line-height: 120%;
color: var(--text-black);
border-bottom: 1px var(--text-black) solid;
cursor: pointer;
}
.to-know--background-none{
background: none;
}
.back{
margin-top: 16px;
margin-left: 16px;
padding: 8px;
padding-left: 32px;
background: none;
border: none;
font-family: var(--font-family);
font-weight: 600;
font-size: 20px;
line-height: 120%;
color: var(--text-black);
text-decoration: none;
position: relative;
}
.back::before{
content: '';
position: absolute;
top: 8px;
left: 0;
margin-right: 8px;
width: 24px;
height: 24px;
background-image: url(../img/svg/main/arrow-back.svg);
}
.back::after{
content: '';
position: absolute;
bottom: 6px;
left: 0;
width: calc(100% - 8px);
height: 1px;
background: var(--text-black);
}
.button--high-46{
padding: 12px 24px;
font-size: 20px;
font-weight: 700;
line-height: 24px;
}
/* button */

@ -0,0 +1,852 @@
/* cabinet */
.cabinet{
padding: 24px;
display: flex;
justify-content: space-between;
}
.cabinet__control{
margin: 24px;
margin-bottom: 0;
display: none;
}
.cabinet-control__button{
margin-left: 8px;
padding: 12px 16px;
font-family: var(--font-family);
font-weight: 500;
font-size: 20px;
line-height: 120%;
color: var(--text-black);
background: var(--background-white);
border: 2px solid var(--text-black);
border-radius: 48px;
transition: opacity .2s ease-out;
}
.cabinet-control__button:first-child{
margin-left: 0;
}
.cabinet-control__button.active{
background: var(--background-black);
color: #fff;
}
.cabinet-control__button:hover{
opacity: .8;
}
.cabinet__orders{
width: calc(((100% - 48px) / 3) * 2);
}
.cabinet__profile{
width: calc((100% - 48px) / 3);
}
.cabinet-card{
margin-top: 32px;
padding: 1px;
border-radius: 20px;
}
.cabinet-card:first-child{
margin-top: 0;
}
.cabinet-card--green{
background: var(--background-green);
}
.cabinet-card--green-white{
background: var(--background-green-white);
}
.cabinet-card--green-white .cabinet-card__content{
background: none;
}
.cabinet-card--red-blue{
background: var(--gradient-red);
}
.cabinet-card--grey{
background: var(--background-9);
}
.cabinet-card__content{
padding: 23px;
border-radius: 19px;
background-color: var(--background-white);
}
.cabinet-card__element{
margin-top: 24px;
position: relative;
}
.cabinet-card__element--margin-top-32{
margin-top: 32px;
}
.cabinet-card__element:first-child,
.cabinet-card__element--margin-top-32:first-child{
margin-top: 0
}
.cabinet-card__element-change{
position: absolute;
top: 14px;
right: 0;
width: 24px;
aspect-ratio: 1;
background-image: url(../img/svg/main/change-dot.svg);
border: none;
background-color: var(--background-white);
transition: opacity .2s ease-out;
}
.cabinet-card__element-change:hover{
opacity: .8;
}
.cabinet-card__title{
font-family: var(--font-family);
font-weight: 700;
font-size: 26px;
line-height: 123%;
text-transform: uppercase;
background: var(--gradient-blue);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.cabinet-card__text{
font-family: var(--font-family);
font-weight: 400;
font-size: 20px;
line-height: 120%;
color: var(--text-black);
}
.cabinet-card__text--grey{
color: var(--text-grey);
}
.cabinet-card__label{
font-family: var(--font-family);
font-weight: 700;
font-size: 16px;
line-height: 125%;
color: var(--text-3);
}
.cabinet-card__status{
padding-left: 20px;
font-family: var(--font-family);
font-weight: 500;
font-size: 12px;
line-height: 133%;
position: relative;
color: #121212;
}
.cabinet-card__status--chek{
color: var(--text-green);
}
.cabinet-card__status--chek::before{
content: '';
position: absolute;
top: 0;
left: 0;
width: 16px;
height: 16px;
background-image: url(../img/svg/main/status-chek.svg);
object-fit: contain;
}
.cabinet-card__status--cancelled{
color: var(--text-red);
}
.cabinet-card__status--cancelled::before{
content: '';
position: absolute;
top: 0;
left: 0;
width: 16px;
height: 16px;
background-image: url(../img/svg/main/status-cancelled.svg);
object-fit: contain;
}
.cabinet-card__block-accounts{
display: flex;
}
.cabinet-card__account{
margin-left: 16px;
width: 40px;
aspect-ratio: 1;
display: flex;
justify-content: center;
align-items: center;
background: var(--background-9);
border-radius: 50%;
}
.cabinet-card__account:first-child{
margin-left: 0;
}
.cabinet-card__block-buttons{
display: flex;
justify-content: space-between;
align-items: center;
}
.cabinet-card__button{
padding: 8px 8px 6px 0;
font-family: var(--font-family);
font-weight: 600;
font-size: 20px;
line-height: 120%;
color: var(--text-black);
background: none;
border: none;
position: relative;
text-decoration: none;
}
.cabinet-card__button::before{
content: '';
position: absolute;
bottom: 6px;
width: calc(100% - 8px);
height: 1px;
background: var(--text-black);
transition: opacity .2s ease-out;
}
.cabinet-card__button:hover{
opacity: .8;
}
.cabinet-card__confirm{
margin-top: 16px;
border-radius: 20px;
padding: 4px 24px;
font-family: var(--font-family);
font-weight: 600;
font-size: 20px;
line-height: 120%;
background: var(--background-black);
color: #fff;
border: none;
transition: opacity .2s ease-out;
}
.cabinet-card__confirm:hover{
opacity: .8;
}
.cabinet-card__text, .cabinet-card__label, .cabinet-card__status, .cabinet-card__block-accounts, .cabinet-card__block-buttons{
margin-top: 8px;
}
.cabinet-card__text:first-child, .cabinet-card__label:first-child, .cabinet-card__status:first-child, .cabinet-card__block-accounts:first-child, .cabinet-card__block-buttons:first-child{
margin-top: 0px;
}
.cabinet-card__block-add-pets{
width: 100%;
display: flex;
align-items: center;
background: none;
border: none;
}
.cabinet-card-add-pets__circle{
width: 48px;
aspect-ratio: 1;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid var(--text-6);
border-radius: 50%;
}
.cabinet-card-add-pets__text{
margin-left: 16px;
font-family: var(--font-family);
font-weight: 600;
font-size: 20px;
line-height: 120%;
color: var(--text-6);
position: relative;
}
.cabinet-card-add-pets__text::after{
content: '';
position: absolute;
left: 0;
bottom: -4px;
width: 100%;
height: 1px;
background: var(--text-6);
}
.cabinet-card__discount{
display: flex;
align-items: center;
}
.cabinet-card-discount__title{
font-family: var(--font-family);
font-weight: 700;
font-size: 16px;
line-height: 125%;
color: var(--text-black);
}
.cabinet-card-discount__percent{
margin-left: 16px;
font-family: var(--font-family);
font-weight: 700;
font-size: 16px;
line-height: 125%;
color: var(--text-black);
}
.cabinet-card-discount__percent::after{
content: '%';
}
.cabinet-card-discount__arrow{
display: inline-block;
margin-left: 6px;
width: 20px;
aspect-ratio: 1;
background-image: url(../img/svg/main/arrow-breadcrumbs-black.svg);
background-position: center;
}
.cabinet-card__no-orders{
margin-top: 32px;
padding: 48px 24px;
}
.cabinet-card-no-orders__element{
margin-top: 26px;
}
.cabinet-card-no-orders__element:first-child{
margin-top: 0;
}
.cabinet-card-no-orders__title{
font-family: var(--font-family);
font-weight: 500;
font-size: 24px;
line-height: 133%;
text-align: center;
color: var(--text-black);
}
.cabinet-card__pet{
display: flex;
align-items: center;
}
.cabinet-card-pet__icon{
width: 48px;
aspect-ratio: 1;
border-radius: 50%;
background: var(--gradient-blue);
}
.cabinet-card-pet-icon__content{
margin: 1px;
width: calc(100% - 2px);
aspect-ratio: 1;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
background: var(--background-white);
}
.cabinet-card-pet-icon__content img{
width: 32px;
aspect-ratio: 1;
object-fit: contain;
}
.cabinet-card-pet__name{
margin-left: 24px;
font-family: var(--font-family);
font-weight: 700;
font-size: 16px;
line-height: 125%;
color: var(--text-black);
}
.cabinet-card__order{
position: relative;
}
.cabinet-card-order__header{
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.cabinet-card-order__main{}
.cabinet-card-order-main__date{
font-family: var(--font-family);
font-weight: 500;
font-size: 24px;
line-height: 133%;
color: var(--text-black);
}
.cabinet-card-order-main__number{
margin-top: 8px;
font-family: var(--font-family);
font-weight: 500;
font-size: 12px;
line-height: 133%;
color: var(--text-black);
}
.cabinet-card-order-main__number::before{
content: '№';
}
.cabinet-card-order__payment{
display: flex;
align-items: flex-end;
transition: margin .2s ease-out;
}
.cabinet-card-order-payment__title{
font-family: var(--font-family);
font-weight: 500;
font-size: 12px;
line-height: 133%;
color: var(--text-black);
}
.cabinet-card-order-payment__price{
margin-left: 8px;
font-family: var(--font-family);
font-weight: 700;
font-size: 16px;
line-height: 125%;
color: var(--text-black);
}
.cabinet-card-order-payment__price::after{
margin-left: 5px;
content: '₽';
}
.cabinet-card-order__content{
margin-top: 24px;
}
.cabinet-card-order__content
.cabinet-card-order__status{
display: flex;
align-items: center;
}
.cabinet-card-order-status__title{
font-family: var(--font-family);
font-weight: 500;
font-size: 20px;
line-height: 120%;
color: var(--text-black);
}
.cabinet-card-order-status__pointer{
margin-left: 12px;
font-family: var(--font-family);
font-weight: 500;
font-size: 20px;
line-height: 120%;
color: var(--text-black);
}
.cabinet-card-order-status__pointer--grey{
color: var(--text-6);
}
.cabinet-card-order-status__pointer--green{
color: var(--text-green);
}
.cabinet-card-order-status__pointer--red{
color: var(--text-red);
}
.cabinet-card-order__block-detail{
height: 0;
overflow: hidden;
transition: height .2s ease-out;
}
.cabinet-card-order__detail{
padding-top: 24px;
}
.cabinet-card-order-detail__address{}
.cabinet-card-order-detail-address__title{
font-family: var(--font-family);
font-weight: 500;
font-size: 20px;
line-height: 120%;
color: var(--text-black);
}
.cabinet-card-order-detail-address__text{
margin-top: 16px;
font-family: var(--font-family);
font-weight: 400;
font-size: 20px;
line-height: 120%;
color: var(--text-black);
}
.cabinet-card-order-detail__main{
margin-top: 24px;
display: flex;
justify-content: space-between;
}
.cabinet-card-order-detail-main__products{}
.cabinet-card-order-detail-main__product{
margin-top: 4px;
display: flex;
align-items: center;
}
.cabinet-card-order-detail-main__product:first-child{
margin-top: 0;
}
.cabinet-card-order-detail-main-product__img{
width: 106px;
height: 96px;
}
.cabinet-card-order-detail-main-product__content{
display: flex;
}
.cabinet-card-order-detail-main-product__description{
width: 212px;
}
.cabinet-card-order-detail-main-product-description__what{
font-family: var(--font-family);
font-weight: 500;
font-size: 12px;
line-height: 133%;
color: var(--text-black);
}
.cabinet-card-order-detail-main-product-description__with-what{
margin-top: 8px;
font-family: var(--font-family);
font-weight: 500;
font-size: 12px;
line-height: 133%;
color: var(--text-6);
}
.cabinet-card-order-detail-main-product__count{
margin-left: 8px;
font-family: var(--font-family);
font-weight: 700;
font-size: 12px;
line-height: 133%;
text-align: right;
color: var(--text-6);
}
.cabinet-card-order-detail-main-product__count::before{
margin-right: 4px;
content: 'x';
}
.cabinet-card-order-detail-main-product__price{
margin-left: 16px;
font-family: var(--font-family);
font-weight: 700;
font-size: 12px;
line-height: 133%;
text-align: right;
color: var(--text-black);
}
.cabinet-card-order-detail-main-product__price::after{
content: ' Р';
}
.cabinet-card-order-detail-main__links{
display: flex;
flex-direction: column;
}
.cabinet-card-order-detail-main__link{
margin-top: 16px;
}
.cabinet-card-order-detail-main__link:first-child{
margin-top: 0;
}
.cabinet-card-order__open-detail{
margin-top: 24px;
padding-right: 24px;
font-family: var(--font-family);
font-weight: 500;
font-size: 20px;
line-height: 120%;
color: var(--text-black);
border: none;
background: none;
position: relative;
}
.cabinet-card-order__open-detail::after{
content: '';
position: absolute;
top: 6.75px;
right: 0;
width: 12.5px;
height: 10.5px;
background-image: url(../../core/img/svg/main/arrow-black.svg);
background-size: contain;
background-position: center;
background-repeat: no-repeat;
transition: transform .2s;
/* transform: rotate(180deg); */
}
.cabinet-card-order-detail-short__item{
object-fit: contain;
}
.cabinet-card-order__detail-short{
display: flex;
align-items: center;
justify-content: flex-end;
max-width: calc(100% - 250px);
margin-left: auto;
overflow: auto;
/* flex-wrap: wrap; */
transition: all .2s .1s ease-out;
}
.cabinet-card-order__bottom{
display: flex;
align-items: flex-end;
}
@media (max-width: 768px) {
.cabinet-card-order__bottom{
display: flex;
align-items: flex-start;
flex-direction: column-reverse;
margin-top: 16px;
}
.cabinet-card-order__detail-short{
max-width: calc(100%);
flex-wrap: wrap;
justify-content: flex-start;
margin-left: 0;
}
}
.cabinet-card-order-detail-short__item{
border-radius: 16px;
width: 106px;
height: 96px;
}
.cabinet-card__download{
margin-top: 32px;
}
.cabinet-card__order.active .cabinet-card-order__detail-short{
opacity: 0;
height: 0;
}
.cabinet-card__order.active .cabinet-card-order__open-detail::after{
transform: rotate(180deg);
}
/* .cabinet-card-no-orders__ */
.cabinet__subscription-pc{
}
.cabinet__subscription-mobile{
display: none;
}
/* cabinet */
.main-page-wrapper{
margin-top: 20px !important;
}
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-20_0, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-20_0, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-20_0, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
padding-right: 0 !important;
padding-left: 0 !important;
}
@media only screen and (max-width: 1200px) {
/* cabinet */
.cabinet{
flex-direction: column;
position: relative;
}
.cabinet__control{
display: flex;
position: relative;
}
.cabinet__orders, .cabinet__profile{
width: calc(100% - 48px);
}
.cabinet__orders, .cabinet__profile{
position: absolute;
opacity: 0;
transition: opacity .2s ease-out;
}
.cabinet-content{
pointer-events:none;
}
.cabinet__orders.active, .cabinet__profile.active{
opacity: 1;
}
.cabinet__orders.hide, .cabinet__profile.hide{
position: static;
display: block;
pointer-events:auto;
width: 100%;
}
.cabinet__subscription-pc{
display: none;
}
.cabinet__subscription-mobile{
display: block;
margin: 24px 24px 0 24px;
}
.cabinet__orders .cabinet-card:nth-child(2){
margin-top: 0;
}
/* cabinet */
}
@media only screen and (max-width: 750px) {
/* cabinet */
.cabinet-card-order__open-detail{
margin-top: 0px;
}
.cabinet-card-order__detail-short{
right: auto;
left: 0;
bottom: 48px;
}
.cabinet-card-order-detail-short__item{
margin-left: -27px;
}
.cabinet-card-order-detail-short__item:first-child{
margin-left: 0;
}
.cabinet-card__order.active .cabinet-card-order__open-detail{
margin-top: 24px;
}
.cabinet-card-order__detail-short{
max-width: 100%;
}
.cabinet-card-order__content, .cabinet-card-order__bottom{
margin-top: 0;
}
/* cabinet */
}
@media only screen and (max-width: 720px) {
/* cabinet */
.cabinet-card__title{
font-size: 20px;
}
.cabinet-card__no-orders{
margin-top: 16px;
}
.cabinet-card-order__header{
flex-direction: column;
}
.cabinet-card-order__payment{
margin-top: 16px;
}
.cabinet-card-order-detail__main{
flex-direction: column;
}
.cabinet-card-order-detail-main__links{
margin-top: 24px;
align-items: start;
}
.cabinet-card-order-detail-main-product__img{
width: 70px;
height: 70px;
}
.cabinet-card-order-detail-main__product{
margin-top: 16px;
align-items: start;
}
.cabinet-card-order-detail-main__products{
position: relative;
}
.cabinet-card-order-detail-main-product__content{
margin-left: 16px;
flex-wrap: wrap;
}
.cabinet-card-order-detail-main-product__description{
width: 100%;
}
.cabinet-card-order-detail-main-product__count{
margin-left: 0;
margin-top: 7px;
}
.cabinet-card-order-detail-main-product__price{
margin-top: 7px;
}
.cabinet-card__content{
padding-right: 19px;
}
/* .cabinet-card__order.active */
/* .cabinet-card__order.active */
/* cabinet */
}
@media only screen and (max-width: 576px) {
/* cabinet */
.cabinet-card-order-detail-main-product__img{
width: 40px;
height: 40px;
}
.cabinet-card-order-detail-main-product__count{
left: auto;
right: 71px;
}
.cabinet-card-order-detail-main-product__price{
left: auto;
right: 0;
}
.cabinet-card-order__detail-short{
transition-delay: 0;
transition-duration: 0;
}
.cabinet-card-order-detail-short__item {
border-radius: 16px;
width: 80px;
height: 80px;
}
/* cabinet */
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

@ -0,0 +1,13 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_230_9775)">
<path d="M0 0H16V5.33437H0V0Z" fill="#D90012"/>
<path d="M0 5.33447H16V10.6657H0V5.33447Z" fill="#0033A0"/>
<path d="M0 10.6655H16V15.9999H0V10.6655Z" fill="#F2A800"/>
</g>
<rect x="0.1" y="0.1" width="15.8" height="15.8" stroke="#999999" stroke-width="0.2"/>
<defs>
<clipPath id="clip0_230_9775">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 502 B

@ -0,0 +1,13 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_230_9627)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 0H16V16H0V0Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 5.33447H16V16.0001H0V5.33447Z" fill="#0039A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 10.6655H16V15.9999H0V10.6655Z" fill="#D52B1E"/>
</g>
<rect x="0.1" y="0.1" width="15.8" height="15.8" stroke="#999999" stroke-width="0.2"/>
<defs>
<clipPath id="clip0_230_9627">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 615 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.0 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.0 KiB

@ -0,0 +1,5 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.5 12.3643H21" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M4.5 12.3643L10.864 18.7282" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M4.5 12.3643L10.864 6.0003" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 459 B

@ -0,0 +1,3 @@
<svg width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.46967 0.46967C0.762563 0.176777 1.23744 0.176777 1.53033 0.46967L5 3.93934L8.46967 0.46967C8.76256 0.176777 9.23744 0.176777 9.53033 0.46967C9.82322 0.762563 9.82322 1.23744 9.53033 1.53033L5.53033 5.53033C5.23744 5.82322 4.76256 5.82322 4.46967 5.53033L0.46967 1.53033C0.176777 1.23744 0.176777 0.762563 0.46967 0.46967Z" fill="#333333"/>
</svg>

After

Width:  |  Height:  |  Size: 493 B

@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.94673 2.74797C9.26993 2.62677 9.63019 2.79052 9.75139 3.11373L12.2514 9.78039C12.3045 9.92188 12.3045 10.0778 12.2514 10.2193L9.75139 16.886C9.63019 17.2092 9.26993 17.3729 8.94673 17.2517C8.62353 17.1305 8.45978 16.7703 8.58098 16.4471L10.9987 9.99984L8.58098 3.55263C8.45978 3.22943 8.62353 2.86917 8.94673 2.74797Z" fill="#333333"/>
</svg>

After

Width:  |  Height:  |  Size: 491 B

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.7369 3.29777C11.1247 3.15233 11.557 3.34884 11.7025 3.73668L14.7025 11.7367C14.7661 11.9065 14.7661 12.0936 14.7025 12.2634L11.7025 20.2634C11.557 20.6512 11.1247 20.8477 10.7369 20.7023C10.349 20.5568 10.1525 20.1245 10.298 19.7367L13.1992 12L10.298 4.26336C10.1525 3.87552 10.349 3.44321 10.7369 3.29777Z" fill="#666666"/>
</svg>

After

Width:  |  Height:  |  Size: 481 B

@ -0,0 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6 16.4854H28" stroke="#666666" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M6 16.4854L14.4853 24.9706" stroke="#666666" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M6 16.4854L14.4853 8.00007" stroke="#666666" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 456 B

@ -0,0 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M26 16.4854H4" stroke="#666666" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M26 16.4854L17.5147 24.9706" stroke="#666666" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M26 16.4854L17.5147 8.00007" stroke="#666666" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 458 B

@ -0,0 +1,3 @@
<svg width="10" height="8" viewBox="0 0 10 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.50681 0.784901C9.86151 1.14024 9.86101 1.71584 9.50567 2.07055L4.35112 7.216C3.99601 7.57049 3.42085 7.57024 3.06604 7.21544L0.493317 4.64271C0.138295 4.28769 0.138295 3.71208 0.493317 3.35706C0.848339 3.00204 1.42394 3.00204 1.77897 3.35706L3.70944 5.28753L8.22116 0.783766C8.57649 0.429057 9.1521 0.429565 9.50681 0.784901Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 495 B

@ -0,0 +1,11 @@
<svg width="16" height="12" viewBox="0 0 16 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.7071 0.292893C16.0976 0.683417 16.0976 1.31658 15.7071 1.70711L5.70711 11.7071C5.31658 12.0976 4.68342 12.0976 4.29289 11.7071L0.292893 7.70711C-0.0976311 7.31658 -0.0976311 6.68342 0.292893 6.29289C0.683417 5.90237 1.31658 5.90237 1.70711 6.29289L5 9.58579L14.2929 0.292893C14.6834 -0.0976311 15.3166 -0.0976311 15.7071 0.292893Z" fill="url(#paint0_radial_79_10214)" />
<defs>
<radialGradient id="paint0_radial_79_10214" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(23.9562 -7.00625) rotate(143.344) scale(34.5677 45.2811)">
<stop stop-color="#0F5881" />
<stop offset="0.512169" stop-color="#1EA49C" />
<stop offset="0.807073" stop-color="#76CE75" />
<stop offset="0.911458" stop-color="#ECF39F" />
</radialGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 954 B

@ -0,0 +1,13 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1_3176)">
<path d="M4 7H20" stroke="#2C3E50" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5 7L6 19C6 19.5304 6.21071 20.0391 6.58579 20.4142C6.96086 20.7893 7.46957 21 8 21H16C16.5304 21 17.0391 20.7893 17.4142 20.4142C17.7893 20.0391 18 19.5304 18 19L19 7" stroke="#2C3E50" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9 7V4C9 3.73478 9.10536 3.48043 9.29289 3.29289C9.48043 3.10536 9.73478 3 10 3H14C14.2652 3 14.5196 3.10536 14.7071 3.29289C14.8946 3.48043 15 3.73478 15 4V7" stroke="#2C3E50" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M10 12L14 16M14 12L10 16" stroke="#2C3E50" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_1_3176">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 983 B

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1_2483)">
<path d="M18 6L6 18" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M6 6L18 18" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_1_2483">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 455 B

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.2929 5.70711C11.1054 5.51957 11 5.26522 11 5C11 4.73478 11.1054 4.48043 11.2929 4.29289C11.4804 4.10536 11.7348 4 12 4C12.2652 4 12.5196 4.10536 12.7071 4.29289C12.8946 4.48043 13 4.73478 13 5C13 5.26522 12.8946 5.51957 12.7071 5.70711C12.5196 5.89464 12.2652 6 12 6C11.7348 6 11.4804 5.89464 11.2929 5.70711ZM11 12C11 12.2652 11.1054 12.5196 11.2929 12.7071C11.4804 12.8946 11.7348 13 12 13C12.2652 13 12.5196 12.8946 12.7071 12.7071C12.8946 12.5196 13 12.2652 13 12C13 11.7348 12.8946 11.4804 12.7071 11.2929C12.5196 11.1054 12.2652 11 12 11C11.7348 11 11.4804 11.1054 11.2929 11.2929C11.1054 11.4804 11 11.7348 11 12ZM11 19C11 19.2652 11.1054 19.5196 11.2929 19.7071C11.4804 19.8946 11.7348 20 12 20C12.2652 20 12.5196 19.8946 12.7071 19.7071C12.8946 19.5196 13 19.2652 13 19C13 18.7348 12.8946 18.4804 12.7071 18.2929C12.5196 18.1054 12.2652 18 12 18C11.7348 18 11.4804 18.1054 11.2929 18.2929C11.1054 18.4804 11 18.7348 11 19Z" fill="#121212"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 3.25C6.41421 3.25 6.75 3.58579 6.75 4V7.35424C7.19755 7.48113 7.60976 7.72067 7.94454 8.05546C8.46027 8.57118 8.75 9.27065 8.75 10C8.75 10.7293 8.46027 11.4288 7.94454 11.9445C7.60976 12.2793 7.19755 12.5189 6.75 12.6458V20C6.75 20.4142 6.41421 20.75 6 20.75C5.58579 20.75 5.25 20.4142 5.25 20V12.6458C4.80245 12.5189 4.39024 12.2793 4.05546 11.9445C3.53973 11.4288 3.25 10.7293 3.25 10C3.25 9.27065 3.53973 8.57118 4.05546 8.05546C4.39024 7.72067 4.80245 7.48113 5.25 7.35424V4C5.25 3.58579 5.58579 3.25 6 3.25ZM12 3.25C12.4142 3.25 12.75 3.58579 12.75 4V13.3542C13.1975 13.4811 13.6098 13.7207 13.9445 14.0555C14.4603 14.5712 14.75 15.2707 14.75 16C14.75 16.7293 14.4603 17.4288 13.9445 17.9445C13.6098 18.2793 13.1975 18.5189 12.75 18.6458V20C12.75 20.4142 12.4142 20.75 12 20.75C11.5858 20.75 11.25 20.4142 11.25 20V18.6458C10.8025 18.5189 10.3902 18.2793 10.0555 17.9445C9.53973 17.4288 9.25 16.7293 9.25 16C9.25 15.2707 9.53973 14.5712 10.0555 14.0555C10.3902 13.7207 10.8025 13.4811 11.25 13.3542V4C11.25 3.58579 11.5858 3.25 12 3.25ZM18 3.25C18.4142 3.25 18.75 3.58579 18.75 4V4.35424C19.1975 4.48112 19.6098 4.72067 19.9445 5.05546C20.4603 5.57118 20.75 6.27065 20.75 7C20.75 7.72935 20.4603 8.42882 19.9445 8.94454C19.6098 9.27933 19.1975 9.51887 18.75 9.64576V20C18.75 20.4142 18.4142 20.75 18 20.75C17.5858 20.75 17.25 20.4142 17.25 20V9.64576C16.8025 9.51887 16.3902 9.27933 16.0555 8.94454C15.5397 8.42882 15.25 7.72935 15.25 7C15.25 6.27065 15.5397 5.57118 16.0555 5.05546C16.3902 4.72067 16.8025 4.48112 17.25 4.35424V4C17.25 3.58579 17.5858 3.25 18 3.25ZM18 5.75C17.6685 5.75 17.3505 5.8817 17.1161 6.11612C16.8817 6.35054 16.75 6.66848 16.75 7C16.75 7.33152 16.8817 7.64946 17.1161 7.88388C17.3505 8.1183 17.6685 8.25 18 8.25C18.3315 8.25 18.6495 8.1183 18.8839 7.88388C19.1183 7.64946 19.25 7.33152 19.25 7C19.25 6.66848 19.1183 6.35054 18.8839 6.11612C18.6495 5.8817 18.3315 5.75 18 5.75ZM6 8.75C5.66848 8.75 5.35054 8.8817 5.11612 9.11612C4.8817 9.35054 4.75 9.66848 4.75 10C4.75 10.3315 4.8817 10.6495 5.11612 10.8839C5.35054 11.1183 5.66848 11.25 6 11.25C6.33152 11.25 6.64946 11.1183 6.88388 10.8839C7.1183 10.6495 7.25 10.3315 7.25 10C7.25 9.66848 7.1183 9.35054 6.88388 9.11612C6.64946 8.8817 6.33152 8.75 6 8.75ZM12 14.75C11.6685 14.75 11.3505 14.8817 11.1161 15.1161C10.8817 15.3505 10.75 15.6685 10.75 16C10.75 16.3315 10.8817 16.6495 11.1161 16.8839C11.3505 17.1183 11.6685 17.25 12 17.25C12.3315 17.25 12.6495 17.1183 12.8839 16.8839C13.1183 16.6495 13.25 16.3315 13.25 16C13.25 15.6685 13.1183 15.3505 12.8839 15.1161C12.6495 14.8817 12.3315 14.75 12 14.75Z" fill="#121212"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

@ -0,0 +1,6 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.7875 10.2271C19.7875 9.51801 19.7239 8.83619 19.6057 8.18164H10.1875V12.0498H15.5693C15.3375 13.2998 14.633 14.3589 13.5739 15.068V17.5771H16.8057C18.6966 15.8362 19.7875 13.2726 19.7875 10.2271Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.1864 20.0004C12.8864 20.0004 15.15 19.105 16.8046 17.5777L13.5728 15.0686C12.6773 15.6686 11.5318 16.0231 10.1864 16.0231C7.58183 16.0231 5.37728 14.264 4.59092 11.9004H1.25V14.4913C2.89546 17.7595 6.27728 20.0004 10.1864 20.0004Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.59205 11.8997C4.39205 11.2997 4.27842 10.6588 4.27842 9.99971C4.27842 9.34062 4.39205 8.6997 4.59205 8.0997V5.50879H1.25114C0.573864 6.85879 0.1875 8.38607 0.1875 9.99971C0.1875 11.6133 0.573864 13.1406 1.25114 14.4906L4.59205 11.8997Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.1864 3.97728C11.6546 3.97728 12.9728 4.48183 14.0091 5.47274L16.8773 2.60455C15.1455 0.990911 12.8818 0 10.1864 0C6.27728 0 2.89546 2.24091 1.25 5.5091L4.59092 8.10002C5.37728 5.73638 7.58183 3.97728 10.1864 3.97728Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,11 @@
<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.42433 0.575954C1.18837 0.343303 0.807128 0.344651 0.572814 0.578965C0.338499 0.81328 0.339838 1.19183 0.575804 1.42448L5.84223 6.61694L0.575803 11.8094C0.339837 12.042 0.338499 12.4206 0.572813 12.6549C0.807128 12.8892 1.18837 12.8906 1.42433 12.6579L6.6968 7.45951L11.9692 12.6579C12.2052 12.8905 12.5864 12.8892 12.8208 12.6549C13.0551 12.4206 13.0537 12.042 12.8178 11.8094L7.55137 6.61694L12.8178 1.42451C13.0537 1.19186 13.0551 0.813306 12.8208 0.578991C12.5864 0.344677 12.2052 0.343328 11.9692 0.57598L6.6968 5.77437L1.42433 0.575954Z" fill="url(#paint0_radial_61_3534)"/>
<defs>
<radialGradient id="paint0_radial_61_3534" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(19.26 -6.85449) rotate(135.608) scale(30.5558 41.776)">
<stop stop-color="#0F5881"/>
<stop offset="0.512169" stop-color="#1EA49C"/>
<stop offset="0.807073" stop-color="#76CE75"/>
<stop offset="0.911458" stop-color="#ECF39F"/>
</radialGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,10 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_61_7537)">
<path d="M5 12H19" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_61_7537">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 349 B

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_178_5112)">
<path d="M12 5V19" stroke="#666666" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5 12H19" stroke="#666666" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_178_5112">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 455 B

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_61_7542)">
<path d="M12 5V19" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5 12H19" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_61_7542">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 453 B

@ -0,0 +1,3 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.00005 1.2498C4.27213 1.2498 1.25005 4.27188 1.25005 7.9998C1.25005 11.7277 4.27213 14.7498 8.00005 14.7498C11.728 14.7498 14.75 11.7277 14.75 7.9998C14.75 4.27188 11.728 1.2498 8.00005 1.2498ZM0.0500488 7.9998C0.0500488 3.60914 3.60939 0.0498047 8.00005 0.0498047C12.3907 0.0498047 15.9501 3.60914 15.9501 7.9998C15.9501 12.3905 12.3907 15.9498 8.00005 15.9498C3.60938 15.9498 0.0500488 12.3905 0.0500488 7.9998ZM8.75664 11.8914C8.75664 12.3056 8.42085 12.6414 8.00664 12.6414C7.59243 12.6414 7.25664 12.3056 7.25664 11.8914C7.25664 11.4772 7.59243 11.1414 8.00664 11.1414C8.42085 11.1414 8.75664 11.4772 8.75664 11.8914ZM6.35884 6.22749C6.35879 5.76088 6.51651 5.31995 6.80394 5.00253C7.08243 4.69497 7.51419 4.46749 8.14659 4.46748C9.28878 4.46747 10.0031 5.57665 9.44696 6.64451C9.21979 7.08066 8.93274 7.37811 8.60211 7.7207L8.60206 7.72075C8.49777 7.82881 8.38915 7.94137 8.27671 8.06418C7.82078 8.56216 7.37999 9.17405 7.37999 10.1425C7.37999 10.4738 7.64862 10.7425 7.97999 10.7425C8.31136 10.7425 8.57999 10.4738 8.57999 10.1425C8.57999 9.61088 8.79169 9.27875 9.16178 8.87452C9.23347 8.79622 9.31482 8.71242 9.40228 8.62233C9.75046 8.26368 10.1953 7.80545 10.5113 7.19883C11.4927 5.31454 10.1697 3.26746 8.14658 3.26748C7.19634 3.26749 6.43417 3.62308 5.91442 4.19707C5.4036 4.7612 5.15877 5.5003 5.15884 6.22761C5.15887 6.55898 5.42753 6.82758 5.7589 6.82755C6.09027 6.82752 6.35887 6.55886 6.35884 6.22749Z" fill="#121212"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1,3 @@
<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.5 1.5C7.64641 1.5 6.80117 1.66813 6.01256 1.99478C5.22394 2.32144 4.50739 2.80023 3.90381 3.40381C3.30023 4.00739 2.82144 4.72394 2.49478 5.51256C2.16813 6.30117 2 7.14641 2 8C2 8.85359 2.16813 9.69883 2.49478 10.4874C2.82144 11.2761 3.30023 11.9926 3.90381 12.5962C4.50739 13.1998 5.22394 13.6786 6.01256 14.0052C6.80117 14.3319 7.64641 14.5 8.5 14.5C9.35359 14.5 10.1988 14.3319 10.9874 14.0052C11.7761 13.6786 12.4926 13.1998 13.0962 12.5962C13.6998 11.9926 14.1786 11.2761 14.5052 10.4874C14.8319 9.69883 15 8.85359 15 8C15 7.14641 14.8319 6.30117 14.5052 5.51256C14.1786 4.72394 13.6998 4.00739 13.0962 3.40381C12.4926 2.80023 11.7761 2.32144 10.9874 1.99478C10.1988 1.66813 9.35359 1.5 8.5 1.5ZM6.39524 2.91866C7.06253 2.64226 7.77773 2.5 8.5 2.5C9.22227 2.5 9.93747 2.64226 10.6048 2.91866C11.272 3.19506 11.8784 3.60019 12.3891 4.11091C12.8998 4.62164 13.3049 5.22795 13.5813 5.89524C13.8577 6.56253 14 7.27773 14 8C14 8.72227 13.8577 9.43747 13.5813 10.1048C13.3049 10.772 12.8998 11.3784 12.3891 11.8891C11.8784 12.3998 11.272 12.8049 10.6048 13.0813C9.93747 13.3577 9.22227 13.5 8.5 13.5C7.77773 13.5 7.06253 13.3577 6.39524 13.0813C5.72795 12.8049 5.12164 12.3998 4.61091 11.8891C4.10019 11.3784 3.69506 10.772 3.41866 10.1048C3.14226 9.43747 3 8.72227 3 8C3 7.27773 3.14226 6.56253 3.41866 5.89524C3.69506 5.22795 4.10019 4.62163 4.61091 4.11091C5.12163 3.60019 5.72795 3.19506 6.39524 2.91866ZM7.52022 6.31311C7.32496 6.11785 7.00838 6.11785 6.81311 6.31311C6.61785 6.50838 6.61785 6.82496 6.81311 7.02022L7.79289 8L6.81311 8.97978C6.61785 9.17504 6.61785 9.49162 6.81311 9.68689C7.00838 9.88215 7.32496 9.88215 7.52022 9.68689L8.5 8.70711L9.47978 9.68689C9.67504 9.88215 9.99162 9.88215 10.1869 9.68689C10.3821 9.49162 10.3821 9.17504 10.1869 8.97978L9.20711 8L10.1869 7.02022C10.3821 6.82496 10.3821 6.50838 10.1869 6.31311C9.99162 6.11785 9.67504 6.11785 9.47978 6.31311L8.5 7.29289L7.52022 6.31311Z" fill="#F60909"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1,3 @@
<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.5 1.5C7.64641 1.5 6.80117 1.66813 6.01256 1.99478C5.22394 2.32144 4.50739 2.80023 3.90381 3.40381C3.30023 4.00739 2.82144 4.72394 2.49478 5.51256C2.16813 6.30117 2 7.14641 2 8C2 8.85359 2.16813 9.69883 2.49478 10.4874C2.82144 11.2761 3.30023 11.9926 3.90381 12.5962C4.50739 13.1998 5.22394 13.6786 6.01256 14.0052C6.80117 14.3319 7.64641 14.5 8.5 14.5C9.35359 14.5 10.1988 14.3319 10.9874 14.0052C11.7761 13.6786 12.4926 13.1998 13.0962 12.5962C13.6998 11.9926 14.1786 11.2761 14.5052 10.4874C14.8319 9.69883 15 8.85359 15 8C15 7.14641 14.8319 6.30117 14.5052 5.51256C14.1786 4.72394 13.6998 4.00739 13.0962 3.40381C12.4926 2.80023 11.7761 2.32144 10.9874 1.99478C10.1988 1.66813 9.35359 1.5 8.5 1.5ZM6.39524 2.91866C7.06253 2.64226 7.77773 2.5 8.5 2.5C9.22227 2.5 9.93747 2.64226 10.6048 2.91866C11.272 3.19506 11.8784 3.60019 12.3891 4.11091C12.8998 4.62164 13.3049 5.22795 13.5813 5.89524C13.8577 6.56253 14 7.27773 14 8C14 8.72227 13.8577 9.43747 13.5813 10.1048C13.3049 10.772 12.8998 11.3784 12.3891 11.8891C11.8784 12.3998 11.272 12.8049 10.6048 13.0813C9.93747 13.3577 9.22227 13.5 8.5 13.5C7.77773 13.5 7.06253 13.3577 6.39524 13.0813C5.72795 12.8049 5.12164 12.3998 4.61091 11.8891C4.10019 11.3784 3.69506 10.772 3.41866 10.1048C3.14226 9.43747 3 8.72227 3 8C3 7.27773 3.14226 6.56253 3.41866 5.89524C3.69506 5.22795 4.10019 4.62163 4.61091 4.11091C5.12163 3.60019 5.72795 3.19506 6.39524 2.91866ZM10.8536 7.02022C11.0488 6.82496 11.0488 6.50838 10.8536 6.31311C10.6583 6.11785 10.3417 6.11785 10.1464 6.31311L7.83333 8.62623L6.85355 7.64645C6.65829 7.45118 6.34171 7.45118 6.14645 7.64645C5.95118 7.84171 5.95118 8.15829 6.14645 8.35355L7.47978 9.68689C7.67504 9.88215 7.99162 9.88215 8.18689 9.68689L10.8536 7.02022Z" fill="#2ED15D"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1,3 @@
<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.75 5.25L1.25 2.75L6.25 2.75L3.75 5.25Z" fill="#999999"/>
</svg>

After

Width:  |  Height:  |  Size: 168 B

@ -0,0 +1,3 @@
<svg width="22" height="14" viewBox="0 0 22 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.9825 14C4.46596 14 0.178638 8.74474 0 0H3.76515C3.88882 6.41842 6.66459 9.13714 8.86321 9.6977V0H12.4085V5.53553C14.5796 5.2973 16.8607 2.77477 17.6302 0H21.1755C20.8855 1.43908 20.3075 2.80165 19.4776 4.0025C18.6477 5.20335 17.5837 6.21663 16.3523 6.97898C17.7269 7.67555 18.941 8.6615 19.9145 9.87175C20.888 11.082 21.5988 12.489 22 14H18.0974C17.7373 12.6876 17.0054 11.5128 15.9934 10.6228C14.9814 9.73284 13.7343 9.16727 12.4085 8.997V14H11.9825Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 584 B

@ -0,0 +1,3 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.62404 2.77566C3.38807 2.54301 3.00683 2.54436 2.77252 2.77867C2.53821 3.01299 2.53954 3.39154 2.77551 3.62419L6.90259 7.6933L2.77551 11.7624C2.53954 11.9951 2.53821 12.3736 2.77252 12.6079C3.00684 12.8422 3.38807 12.8436 3.62404 12.6109L7.75716 8.53587L11.8903 12.6109C12.1262 12.8436 12.5075 12.8422 12.7418 12.6079C12.9761 12.3736 12.9748 11.995 12.7388 11.7624L8.61173 7.6933L12.7388 3.62421C12.9748 3.39156 12.9761 3.01301 12.7418 2.77869C12.5075 2.54438 12.1262 2.54303 11.8903 2.77568L7.75716 6.85073L3.62404 2.77566Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 695 B

@ -0,0 +1,3 @@
<svg width="14" height="20" viewBox="0 0 14 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.1991 2.77628H8.65909C5.83576 2.77628 4.35076 4.20628 4.35076 6.31461C4.35076 8.69794 5.37742 9.81461 7.48576 11.2463L9.22742 12.4196L4.22242 19.8979H0.482422L4.97409 13.2079C2.39076 11.3563 0.940755 9.55794 0.940755 6.51628C0.940755 2.70294 3.59909 0.0996094 8.64076 0.0996094H13.6458V19.8796H10.1991V2.77628Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 442 B

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9995 3.53846C11.3616 3.53846 10.7499 3.78159 10.2988 4.21437C9.84778 4.64715 9.59439 5.23412 9.59439 5.84615V7.12821H14.4045V5.84615C14.4045 5.23412 14.1511 4.64715 13.7001 4.21437C13.2491 3.78159 12.6373 3.53846 11.9995 3.53846ZM16.0079 7.12821V5.84615C16.0079 4.82609 15.5856 3.84781 14.8339 3.12651C14.0821 2.40522 13.0626 2 11.9995 2C10.9364 2 9.91679 2.40522 9.16506 3.12651C8.41333 3.84781 7.99102 4.82609 7.99102 5.84615V7.12821H5.93986M7.99102 8.66667H5.93976C5.74711 8.66665 5.55664 8.7066 5.38159 8.78378C5.20654 8.86097 5.05095 8.97356 4.9255 9.11385C4.80004 9.25413 4.70769 9.41879 4.65477 9.59653C4.60186 9.77423 4.58961 9.9608 4.61887 10.1435C4.61886 10.1434 4.61888 10.1435 4.61887 10.1435L5.96036 18.5045C6.04768 19.0493 6.33539 19.5463 6.77139 19.9052C7.20738 20.2642 7.76287 20.4615 8.33735 20.4615C8.33734 20.4615 8.33736 20.4615 8.33735 20.4615H15.6616C16.2362 20.4617 16.7921 20.2644 17.2283 19.9055C17.6645 19.5465 17.9523 19.0496 18.0396 18.5046L19.3811 10.1436C19.3811 10.1436 19.3811 10.1435 19.3811 10.1436C19.4104 9.96093 19.3981 9.77423 19.3452 9.59653C19.2923 9.41879 19.1999 9.25413 19.0745 9.11385C18.949 8.97356 18.7935 8.86097 18.6184 8.78378C18.4433 8.7066 18.253 8.66665 18.0603 8.66667H16.0079V10.9744C16.0079 11.3992 15.649 11.7436 15.2062 11.7436C14.7635 11.7436 14.4045 11.3992 14.4045 10.9744V8.66667H9.59439V10.9744C9.59439 11.3992 9.23547 11.7436 8.79271 11.7436C8.34995 11.7436 7.99102 11.3992 7.99102 10.9744V8.66667ZM16.0079 7.12821H18.0601C18.0601 7.12821 18.0602 7.12821 18.0601 7.12821C18.4839 7.12817 18.9028 7.21606 19.2879 7.38586C19.673 7.55567 20.0153 7.80338 20.2913 8.11201C20.5673 8.42063 20.7705 8.78288 20.8869 9.1739C21.0033 9.56493 21.0303 9.97549 20.9658 10.3774L19.6244 18.7385C19.6243 18.7385 19.6244 18.7384 19.6244 18.7385C19.4788 19.6467 18.9991 20.475 18.2722 21.0732C17.5453 21.6715 16.6192 22.0002 15.6616 22C15.6615 22 15.6616 22 15.6616 22H8.33735C7.37986 22 6.45398 21.6711 5.72732 21.0728C5.00069 20.4746 4.52121 19.6466 4.37565 18.7386C4.37565 18.7385 4.37566 18.7386 4.37565 18.7386L3.03416 10.3776C2.96974 9.97561 2.99665 9.56493 3.11308 9.1739C3.22951 8.78288 3.43268 8.42063 3.70868 8.11201C3.98468 7.80338 4.32697 7.55567 4.71208 7.38586C5.09717 7.21606 5.51606 7.12817 5.93986 7.12821" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9995 3.53846C11.3616 3.53846 10.7499 3.78159 10.2988 4.21437C9.84778 4.64715 9.59439 5.23412 9.59439 5.84615V7.12821H14.4045V5.84615C14.4045 5.23412 14.1511 4.64715 13.7001 4.21437C13.2491 3.78159 12.6373 3.53846 11.9995 3.53846ZM16.0079 7.12821V5.84615C16.0079 4.82609 15.5856 3.84781 14.8339 3.12651C14.0821 2.40522 13.0626 2 11.9995 2C10.9364 2 9.91679 2.40522 9.16506 3.12651C8.41333 3.84781 7.99102 4.82609 7.99102 5.84615V7.12821H5.93986M7.99102 8.66667H5.93976C5.74711 8.66665 5.55664 8.7066 5.38159 8.78378C5.20654 8.86097 5.05095 8.97356 4.9255 9.11385C4.80004 9.25413 4.70769 9.41879 4.65477 9.59653C4.60186 9.77423 4.58961 9.9608 4.61887 10.1435C4.61886 10.1434 4.61888 10.1435 4.61887 10.1435L5.96036 18.5045C6.04768 19.0493 6.33539 19.5463 6.77139 19.9052C7.20738 20.2642 7.76287 20.4615 8.33735 20.4615C8.33734 20.4615 8.33736 20.4615 8.33735 20.4615H15.6616C16.2362 20.4617 16.7921 20.2644 17.2283 19.9055C17.6645 19.5465 17.9523 19.0496 18.0396 18.5046L19.3811 10.1436C19.3811 10.1436 19.3811 10.1435 19.3811 10.1436C19.4104 9.96093 19.3981 9.77423 19.3452 9.59653C19.2923 9.41879 19.1999 9.25413 19.0745 9.11385C18.949 8.97356 18.7935 8.86097 18.6184 8.78378C18.4433 8.7066 18.253 8.66665 18.0603 8.66667H16.0079V10.9744C16.0079 11.3992 15.649 11.7436 15.2062 11.7436C14.7635 11.7436 14.4045 11.3992 14.4045 10.9744V8.66667H9.59439V10.9744C9.59439 11.3992 9.23547 11.7436 8.79271 11.7436C8.34995 11.7436 7.99102 11.3992 7.99102 10.9744V8.66667ZM16.0079 7.12821H18.0601C18.0601 7.12821 18.0602 7.12821 18.0601 7.12821C18.4839 7.12817 18.9028 7.21606 19.2879 7.38586C19.673 7.55567 20.0153 7.80338 20.2913 8.11201C20.5673 8.42063 20.7705 8.78288 20.8869 9.1739C21.0033 9.56493 21.0303 9.97549 20.9658 10.3774L19.6244 18.7385C19.6243 18.7385 19.6244 18.7384 19.6244 18.7385C19.4788 19.6467 18.9991 20.475 18.2722 21.0732C17.5453 21.6715 16.6192 22.0002 15.6616 22C15.6615 22 15.6616 22 15.6616 22H8.33735C7.37986 22 6.45398 21.6711 5.72732 21.0728C5.00069 20.4746 4.52121 19.6466 4.37565 18.7386C4.37565 18.7385 4.37566 18.7386 4.37565 18.7386L3.03416 10.3776C2.96974 9.97561 2.99665 9.56493 3.11308 9.1739C3.22951 8.78288 3.43268 8.42063 3.70868 8.11201C3.98468 7.80338 4.32697 7.55567 4.71208 7.38586C5.09717 7.21606 5.51606 7.12817 5.93986 7.12821" fill="#333333"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.64124 3.64124C9.53204 2.75044 10.7402 2.25 12 2.25C13.2598 2.25 14.468 2.75044 15.3588 3.64124C16.2496 4.53204 16.75 5.74022 16.75 7C16.75 8.25978 16.2496 9.46796 15.3588 10.3588C14.468 11.2496 13.2598 11.75 12 11.75C10.7402 11.75 9.53204 11.2496 8.64124 10.3588C7.75044 9.46796 7.25 8.25978 7.25 7C7.25 5.74022 7.75044 4.53204 8.64124 3.64124ZM12 3.75C11.138 3.75 10.3114 4.09241 9.7019 4.7019C9.09241 5.3114 8.75 6.13805 8.75 7C8.75 7.86195 9.09241 8.6886 9.7019 9.2981C10.3114 9.90759 11.138 10.25 12 10.25C12.862 10.25 13.6886 9.90759 14.2981 9.2981C14.9076 8.6886 15.25 7.86195 15.25 7C15.25 6.13805 14.9076 5.3114 14.2981 4.7019C13.6886 4.09241 12.862 3.75 12 3.75Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 15.75C9.13805 15.75 8.3114 16.0924 7.7019 16.7019C7.09241 17.3114 6.75 18.138 6.75 19V21C6.75 21.4142 6.41421 21.75 6 21.75C5.58579 21.75 5.25 21.4142 5.25 21V19C5.25 17.7402 5.75044 16.532 6.64124 15.6412C7.53204 14.7504 8.74022 14.25 10 14.25H14C15.2598 14.25 16.468 14.7504 17.3588 15.6412C18.2496 16.532 18.75 17.7402 18.75 19V21C18.75 21.4142 18.4142 21.75 18 21.75C17.5858 21.75 17.25 21.4142 17.25 21V19C17.25 18.138 16.9076 17.3114 16.2981 16.7019C15.6886 16.0924 14.862 15.75 14 15.75H10Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.64124 3.64124C9.53204 2.75044 10.7402 2.25 12 2.25C13.2598 2.25 14.468 2.75044 15.3588 3.64124C16.2496 4.53204 16.75 5.74022 16.75 7C16.75 8.25978 16.2496 9.46796 15.3588 10.3588C14.468 11.2496 13.2598 11.75 12 11.75C10.7402 11.75 9.53204 11.2496 8.64124 10.3588C7.75044 9.46796 7.25 8.25978 7.25 7C7.25 5.74022 7.75044 4.53204 8.64124 3.64124ZM12 3.75C11.138 3.75 10.3114 4.09241 9.7019 4.7019C9.09241 5.3114 8.75 6.13805 8.75 7C8.75 7.86195 9.09241 8.6886 9.7019 9.2981C10.3114 9.90759 11.138 10.25 12 10.25C12.862 10.25 13.6886 9.90759 14.2981 9.2981C14.9076 8.6886 15.25 7.86195 15.25 7C15.25 6.13805 14.9076 5.3114 14.2981 4.7019C13.6886 4.09241 12.862 3.75 12 3.75Z" fill="#333333"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 15.75C9.13805 15.75 8.3114 16.0924 7.7019 16.7019C7.09241 17.3114 6.75 18.138 6.75 19V21C6.75 21.4142 6.41421 21.75 6 21.75C5.58579 21.75 5.25 21.4142 5.25 21V19C5.25 17.7402 5.75044 16.532 6.64124 15.6412C7.53204 14.7504 8.74022 14.25 10 14.25H14C15.2598 14.25 16.468 14.7504 17.3588 15.6412C18.2496 16.532 18.75 17.7402 18.75 19V21C18.75 21.4142 18.4142 21.75 18 21.75C17.5858 21.75 17.25 21.4142 17.25 21V19C17.25 18.138 16.9076 17.3114 16.2981 16.7019C15.6886 16.0924 14.862 15.75 14 15.75H10Z" fill="#333333"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16 0C7.16387 0 0 7.16387 0 16C0 24.8361 7.16387 32 16 32C24.8361 32 32 24.8361 32 16C32 7.16387 24.8361 0 16 0ZM23.8555 10.9626L21.2335 23.3394C21.0374 24.2168 20.5213 24.4335 19.7884 24.0206L15.7832 21.0684L13.8529 22.9265C13.6361 23.1432 13.4606 23.3187 13.0477 23.3187L13.3265 19.2516L20.7381 12.5523C21.0581 12.2735 20.6658 12.1084 20.2426 12.3871L11.0761 18.1574L7.1329 16.929C6.27613 16.6606 6.25548 16.0723 7.31871 15.6594L22.751 9.70323C23.4632 9.44516 24.0929 9.87871 23.8555 10.9626Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 623 B

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.25023 2.25053C0 4.50106 0 8.1189 0 15.3588V16.6369C0 23.8769 0 27.4989 2.25023 29.7495C4.50046 32 8.11782 32 15.361 32H16.639C23.8779 32 27.4995 32 29.7498 29.7495C32 27.4989 32 23.8811 32 16.6369V15.3588C32 8.1189 32 4.49682 29.7498 2.24628C27.4995 0 23.8779 0 16.639 0H15.361C8.11782 0 4.50046 0 2.25023 2.25053ZM5.40056 9.73673C5.57463 18.0552 9.73544 23.0573 17.0253 23.0573H17.4372V18.2972C20.1162 18.5648 22.1414 20.5223 22.9566 23.0573H26.7438C25.7036 19.2696 22.9694 17.1762 21.2626 16.3779C22.9694 15.3928 25.3682 12.9894 25.9414 9.73673H22.5023C21.7551 12.3779 19.5431 14.7771 17.4372 15.0021V9.73673H13.9981V18.9639C11.8668 18.4289 9.17076 15.8429 9.05188 9.73673H5.40056Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 855 B

@ -0,0 +1,6 @@
<svg width="33" height="32" viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.568 0C15.3825 2.50628 15.3939 5.04672 14.9687 7.51149C14.1605 12.1873 11.5304 14.5683 6.79636 15.1227C4.54453 15.3866 2.2659 15.4261 0 15.5674C0 15.0765 0.160702 13.7889 0.188825 13.6262C1.18518 7.88646 4.32691 3.76713 9.62271 1.37266C11.0322 0.736552 15.0772 0 15.568 0Z" fill="white"/>
<path d="M0 16.4092C1.98668 16.5478 3.98207 16.6134 5.9567 16.8504C7.26575 17.0071 8.59221 17.2817 9.82962 17.7276C12.4651 18.6778 14.1652 20.6477 14.6935 23.3508C15.2399 26.1477 15.4375 29.0136 15.8051 31.9933C13.2814 32.0689 11.2063 31.5179 9.25913 30.5624C4.19768 28.0795 1.14634 24.0512 0.190834 18.4682C0.156685 18.268 0 16.9007 0 16.4092Z" fill="white"/>
<path d="M19.7049 0.420142C26.3895 1.89994 31.7127 8.12046 32.0114 14.8057C32.0207 15.0126 32.0127 15.2201 32.0127 15.5657C28.4491 15.4398 24.8916 15.6045 21.5845 14.0684C18.8217 12.7848 17.514 10.3837 17.0841 7.51381C16.7741 5.44276 16.7259 3.33287 16.5545 1.24039C16.5203 0.825915 16.4587 0.414116 16.4092 0.000977742C16.9 0.00030815 19.0963 0.284885 19.7049 0.420142Z" fill="white"/>
<path d="M16.3945 31.937C16.6202 29.4173 16.7032 26.9653 17.0862 24.5608C17.7719 20.2546 20.1751 17.8106 24.4544 17.1008C26.8897 16.6971 29.3799 16.6221 31.844 16.3984C32.5009 23.4211 25.5157 32.1385 16.3945 31.937Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,300 @@
'use strict';
let widthPhoneCabinet = 1200;
toggleOpenX('.cabinet-card__order', '.cabinet-card-order__open-detail', '.cabinet-card-order__detail', '.cabinet-card-order__block-detail');
// modalFormOpen('.form-open');
// closeModalForm('.modal-form__close');
// closeModalForm('.modal-form__button-close');
controlCabinet('.cabinet-control__button', '.cabinet', widthPhoneCabinet);
function controlCabinet(buttons, main, minWidth){
let thisWidth = window.innerWidth;
let thisMain = document.querySelector(main);
let thisButtons = document.querySelectorAll(buttons);
thisButtons.forEach(e => {
e.onclick = function (element){
let thisContent = document.querySelector(`.cabinet__${e.dataset.cabinet}`);
let newHeight = thisContent.clientHeight + 48;
let thisButton = element.target;
thisMain.style.height = `${newHeight}px`
if (!thisContent.classList.contains('active')) {
thisMain.querySelector('.active').classList.remove('active');
thisContent.classList.add('active');
setTimeout(() => {
thisMain.style.height = 'auto';
if (thisMain.querySelector('.hide')) {
thisMain.querySelector('.hide').classList.remove('hide');
}
thisMain.querySelector('.active').classList.add('hide');
}, 200);
}
thisButtons.forEach(e => {
e.classList.remove('active');
})
thisButton.classList.add('active');
}
})
}
// let modal = document.querySelector('.modal');
// modal.onclick = function (eventModal) {
// let thisTarget = eventModal.target;
// if (thisTarget.classList.contains('modal')) {
// thisTarget.classList.remove('active');
// if (!thisTarget.querySelector('.modal-map.active')) {
// thisTarget.querySelector('.modal-form.active').classList.remove('active');
// }else{
// thisTarget.querySelector('.modal-map.active').classList.remove('active');
// }
// }
// }
// function modalOpen(buttonElement, contentElement){
// let modal = document.querySelector('.modal'),
// aside = document.querySelector('.modal__aside'),
// elements = document.querySelectorAll(buttonElement),
// device = window.screen.width;
// elements.forEach(e => {
// let thisContentElement = document.querySelector(contentElement);
// e.onclick = function () {
// modal.classList.add('active');
// thisContentElement.classList.add('active');
// let width = thisContentElement.clientWidth;
// setTimeout(() => {
// if (device <= 720) {
// aside.style.width = `${device}px`;
// thisContentElement.style.opacity = 1;
// thisContentElement.style.filter = 'blur(0px)';
// }else{
// aside.style.width = `${width}px`;
// thisContentElement.style.opacity = 1;
// thisContentElement.style.filter = 'blur(0px)';
// }
// }, 10);
// }
// })
// }
// function modalClose(buttonElement) {
// let modal = document.querySelector('.modal'),
// aside = document.querySelector('.modal__aside'),
// asideItems = document.querySelectorAll('.modal__item'),
// elements = document.querySelectorAll(buttonElement);
// elements.forEach(e => {
// e.onclick = function () {
// aside.style.width = '0px';
// asideItems.forEach(e => {
// if (e.classList.contains('active')) {
// e.style.filter = 'blur(10px)';
// }
// });
// setTimeout(() => {
// asideItems.forEach(e => {
// if (e.classList.contains('active')) {
// e.classList.remove('active');
// }
// });
// modal.classList.remove('active');
// }, 300);
// }
// })
// }
// function closeModalForm(close){
// let buttons = document.querySelectorAll(close),
// modal = document.querySelector('.modal');
// buttons.forEach(button => {
// button.onclick = function (buttonEvent) {
// modal.classList.remove('active');
// if (!modal.querySelector('.modal-map.active')) {
// modal.querySelector('.modal-form.active').classList.remove('active');
// }else{
// modal.querySelector('.modal-map.active').classList.remove('active');
// }
// }
// })
// }
function toggleOpenX(mainElement, buttonElement ,heightElement, contentElement, close) {
let elements = document.querySelectorAll(mainElement);
elements.forEach(e => {
let thisMainElement = e,
thisButtonElement = e.querySelector(buttonElement),
thisHeightElement = e.querySelector(heightElement),
thisContentElement = e.querySelector(contentElement);
thisButtonElement.onclick = function (e) {
let height = thisHeightElement.clientHeight;
if (close == true && !thisMainElement.classList.contains('active')) {
elements.forEach(e => {
if (e.classList.contains('active')) {
e.classList.remove('active');
e.querySelector(contentElement).style.height = null
}
})
}
if (!thisMainElement.classList.contains('active')) {
thisContentElement.style.height = `${height}px`;
thisMainElement.classList.add('active');
}else{
thisContentElement.style.height = null;
thisMainElement.classList.remove('active');
}
}
});
}
// function toggleHeader(button, content, blockheight, removeBlock, removeClass) {
// let thisButton = document.querySelector(button),
// thisContent = document.querySelector(content),
// thisRemoveBlock = document.querySelector(removeBlock) || '',
// thisBlockheight = document.querySelector(blockheight);
// thisButton.onclick = function () {
// let height = thisBlockheight.clientHeight;
// if (!thisContent.classList .contains('open')) {
// thisContent.style.height = `${height}px`;
// thisContent.classList .add('open');
// if (removeBlock) {
// thisRemoveBlock.classList.remove(removeClass);
// }
// }else{
// thisContent.style.height = null;
// thisContent.classList .remove('open');
// if (removeBlock) {
// if (window.scrollY <= 25) {
// thisRemoveBlock.classList.add(removeClass);
// }
// }
// }
// }
// }
// function modalFormOpen(formOrNotification) {
// let buttons = document.querySelectorAll(formOrNotification),
// modal = document.querySelector('.modal');
// buttons.forEach(button => {
// button.onclick = function (eventButton) {
// let classOpenForm = button.dataset.form,
// form = modal.querySelector(`.${classOpenForm}`);
// form.classList.add('active');
// modal.classList.add('active');
// }
// })
// }
// function
// export function toggleOpenX(mainElement, buttonElement ,heightElement, contentElement, close) {
// let elements = document.querySelectorAll(mainElement);
// elements.forEach(e => {
// let thisMainElement = e,
// thisButtonElement = e.querySelector(buttonElement),
// thisHeightElement = e.querySelector(heightElement),
// thisContentElement = e.querySelector(contentElement);
// thisButtonElement.onclick = function (e) {
// let height = thisHeightElement.clientHeight;
// if (close == true && !thisMainElement.classList.contains('active')) {
// elements.forEach(e => {
// if (e.classList.contains('active')) {
// e.classList.remove('active');
// e.querySelector(contentElement).style.height = null
// }
// })
// }
// if (!thisMainElement.classList.contains('active')) {
// thisContentElement.style.height = `${height}px`;
// thisMainElement.classList.add('active');
// }else{
// thisContentElement.style.height = null;
// thisMainElement.classList.remove('active');
// }
// }
// });
// }
// export function toggleHeader(button, content, blockheight, removeBlock, removeClass) {
// let thisButton = document.querySelector(button),
// thisContent = document.querySelector(content),
// thisRemoveBlock = document.querySelector(removeBlock) || '',
// thisBlockheight = document.querySelector(blockheight);
// thisButton.onclick = function () {
// let height = thisBlockheight.clientHeight;
// if (!thisContent.classList .contains('open')) {
// thisContent.style.height = `${height}px`;
// thisContent.classList .add('open');
// if (removeBlock) {
// thisRemoveBlock.classList.remove(removeClass);
// }
// }else{
// thisContent.style.height = null;
// thisContent.classList .remove('open');
// if (removeBlock) {
// if (window.scrollY <= 25) {
// thisRemoveBlock.classList.add(removeClass);
// }
// }
// }
// }
// }
// export function modalFormOpen(formOrNotification) {
// let buttons = document.querySelectorAll(formOrNotification),
// modal = document.querySelector('.modal');
// buttons.forEach(button => {
// button.onclick = function (eventButton) {
// let classOpenForm = button.dataset.form,
// form = modal.querySelector(`.${classOpenForm}`);
// form.classList.add('active');
// modal.classList.add('active');
// }
// })
// }
// function

@ -0,0 +1,188 @@
<?php
// namespace Cdek\UI;
// use Cdek\UI\Cdek\CdekApi;
// use Cdek\UI\Cdek\Config;
// use Cdek\UI\Cdek\Helpers\WeightCalc;
// use Cdek\UI\Cdek\MetaKeys;
// use Cdek\UI\Exception;
// use Cdek\UI\WC_Order_Item_Shipping;
// $api = new CdekApi();
$context = Timber::get_context();
$current_user = wp_get_current_user();
$context['current_user'] = $current_user;
$context['first_name'] = $current_user->user_firstname;
$context['last_name'] = $current_user->user_lastname;
$context['email'] = $current_user->user_email;
$context['phone'] = get_user_meta($current_user->ID, 'billing_phone', true);
$context['tg_account'] = get_user_meta($current_user->ID, 'tg_account', true);
// ACF поля для пользователя
$context['activated'] = get_field('activated', 'user_' . get_current_user_id());
$context['uuid'] = get_field('uuid', 'user_' . get_current_user_id());
// Запрос для питомцев
$current_user_id = get_current_user_id();
if ($current_user_id) {
$args = [
'post_type' => 'pets',
'meta_query' => [
[
'key' => 'user',
'value' => $current_user_id,
'compare' => '='
]
]
];
$context['pets'] = Timber::get_posts($args);
}
// Заказы пользователя
$context['customer_orders'] = wc_get_orders(['customer_id' => $current_user->ID]);
// В page-profile.php, внутри цикла заказов
// foreach ($context['customer_orders'] as &$order) {
// $meta_data = get_post_meta($order->get_id(), 'order_data', true);
// if (isset($meta_data['office_code'])) {
// $office_data = json_decode($api->getOffices(['code' => $meta_data['office_code']])['body'], true);
// $order->office_name = $office_data[0]['name'] ?? '';
// }
// }
$context['bot_username'] = defined('BOT_USERNAME') ? BOT_USERNAME : '';
// Текущий пользователь
$current_user_id = get_current_user_id();
$context['current_user_id'] = $current_user_id;
// Запрос для питомцев
// if ($current_user_id) {
// $args = [
// 'post_type' => 'pets',
// 'meta_query' => [
// [
// 'key' => 'user',
// 'value' => $current_user_id,
// 'compare' => '='
// ]
// ]
// ];
// $pets = Timber::get_posts($args);
// // Обработка ACF-полей для каждого питомца
// foreach ($pets as &$pet) {
// // ACF-поля
// $pet->weight = get_field('weight', $pet->ID);
// $pet->old = get_field('old', $pet->ID);
// $pet->activity = get_field('activity', $pet->ID);
// // Перевод веса
// switch ($pet->weight) {
// case 'below_1_5':
// $pet->weight_text = __('from 0,5 kg to 1,5 kg', 'woodmart');
// break;
// case '1_5-3':
// $pet->weight_text = __('from 1.5 to 3 kg', 'woodmart');
// break;
// case '3-5':
// $pet->weight_text = __('from 3 to 5 kg', 'woodmart');
// break;
// case '5-8':
// $pet->weight_text = __('from 5 to 8 kg', 'woodmart');
// break;
// case '8-11':
// $pet->weight_text = __('from 8 to 11 kg', 'woodmart');
// break;
// case '11-15':
// $pet->weight_text = __('from 11 to 15 kg', 'woodmart');
// break;
// case '15-20':
// $pet->weight_text = __('from 15 to 20 kg', 'woodmart');
// break;
// case '20-25':
// $pet->weight_text = __('from 20 to 25 kg', 'woodmart');
// break;
// case '25-35':
// $pet->weight_text = __('from 25 to 35 kg', 'woodmart');
// break;
// case 'more_35':
// $pet->weight_text = __('More than 35 kg', 'woodmart');
// break;
// default:
// $pet->weight_text = '';
// }
// // Перевод возраста
// switch ($pet->old) {
// case 'normal':
// $pet->old_text = __('Adult (from 1 year to 7 years)', 'woodmart');
// break;
// case 'old':
// $pet->old_text = __('Elderly (from 7 to 12 years)', 'woodmart');
// break;
// case 'very_old':
// $pet->old_text = __('Aging (12 years and older)', 'woodmart');
// break;
// case 'baby':
// $pet->old_text = __('Baby (from 0 to 1 year)', 'woodmart');
// break;
// default:
// $pet->old_text = '';
// }
// // Перевод активности
// switch ($pet->activity) {
// case 'low':
// $pet->activity_text = __('Low', 'woodmart');
// break;
// case 'moderate':
// $pet->activity_text = __('Moderate', 'woodmart');
// break;
// case 'high':
// $pet->activity_text = __('High', 'woodmart');
// break;
// default:
// $pet->activity_text = '';
// }
// }
// $context['pets'] = $pets;
// }
// Месяцы для локализации
$context['months'] = [
__('january', 'woodmart'),
__('february', 'woodmart'),
__('march', 'woodmart'),
__('april', 'woodmart'),
__('may', 'woodmart'), // Исправлено 'mail' на 'may'
__('june', 'woodmart'),
__('july', 'woodmart'),
__('august', 'woodmart'),
__('september', 'woodmart'),
__('october', 'woodmart'),
__('november', 'woodmart'),
__('december', 'woodmart'),
];
Timber::render('templates/profile/profile.twig', $context);
?>

@ -0,0 +1,133 @@
<?php
// include_module('profile');
// Сохранить значения полей
add_action('wp_ajax_edit_user', 'save_custom_user_profile_fields');
add_action('wp_ajax_nopriv_edit_user', 'save_custom_user_profile_fields'); //
function save_custom_user_profile_fields() {
// Проверка прав пользователя
wp_update_user( array(
'ID' => get_current_user_id(),
'first_name' => $_POST['name'],
'last_name' => $_POST['l_name'],
) );
$phone = update_user_meta( get_current_user_id(), 'billing_phone', $_POST['full'] );
}
function ajax_add_pet() {
$current_user = wp_get_current_user();
// Подготовка данных
$pet_name = $_POST['name'];
$old_type = $_POST['old_type'];
if ($old_type == 'ex'){
$old= $_POST['old'];
}
$weight= $_POST['weight'];
$activity = $_POST['activity'];
$pet = $_POST['pet'];
$breed = $_POST['breed'];
$sex = $_POST['sex'];
$user = $current_user->ID;
$post_data = array(
'post_title' => $pet_name,
'post_type' => 'pets',
'post_status' => 'publish',
);
$post_id = wp_insert_post($post_data);
var_dump($post_id);
if ($post_id) {
// Добавление мета-полей
if ($old_type == 'ex'){
update_field( 'old', $old, $post_id );
}
else{
update_field( 'day', $_POST['day'], $post_id );
update_field( 'month', $_POST['month'], $post_id );
update_field( 'year', $_POST['year'], $post_id );
}
update_field( 'weight', $weight, $post_id );
update_field( 'breed', $breed, $post_id );
update_field( 'sex', $sex, $post_id );
update_field( 'type', $pet, $post_id );
update_field( 'user', $user, $post_id );
update_field( 'activity', $activity, $post_id );
if($_POST['sterilized']=='1' && $pet=='cat'){
update_field( 'sterilized', true );
}
else{
update_field( 'sterilized', false );
}
wp_send_json_success('Питомец успешно добавлен!');
} else {
wp_send_json_error('Ошибка при добавлении питомца.');
}
wp_die(); // Завершение работы
}
add_action('wp_ajax_add_pet', 'ajax_add_pet');
add_action('wp_ajax_nopriv_add_pet', 'ajax_add_pet'); // Если нужно разрешить для незалогиненных пользователей
function ajax_edit_pet() {
$current_user = wp_get_current_user();
// Подготовка данных
$pet_name = $_POST['name'];
$old_type = $_POST['old_type'];
if ($old_type == 'ex'){
$old= $_POST['old'];
}
else{
$old_acc = $_POST['day'] . ' ' . $_POST['month'] . ' ' . $_POST['year'];
}
$weight= $_POST['weight'];
$activity = $_POST['activity'];
$pet = $_POST['pet'];
$breed = $_POST['breed'];
$sex = $_POST['sex'];
$user = $current_user->ID;
$post_id = intval($_POST['pet_id']);
if (get_field('user', $post_id) == $user) {
// Добавление мета-полей
if ($old_type == 'ex'){
update_field( 'old', $old, $post_id );
}
else{
update_field( 'old', '', $post_id );
update_field( 'day', $_POST['day'], $post_id );
update_field( 'month', $_POST['month'], $post_id );
update_field( 'year', $_POST['year'], $post_id );
}
update_field( 'weight', $weight, $post_id );
update_field( 'breed', $breed, $post_id );
update_field( 'sex', $sex, $post_id );
update_field( 'type', $pet, $post_id );
update_field( 'activity', $activity, $post_id );
if($_POST['sterilized']=='1' && $pet=='cat'){
update_field( 'sterilized', true );
}
else{
update_field( 'sterilized', false );
}
wp_send_json_success('Питомец успешно отредактирован!');
} else {
wp_send_json_error('Ошибка при редактировании питомца.');
}
wp_die(); // Завершение работы
}
add_action('wp_ajax_edit_pet', 'ajax_edit_pet');
add_action('wp_ajax_nopriv_edit_pet', 'ajax_edit_pet');

@ -0,0 +1,178 @@
<?php
pll_register_string( 'Link email', 'Link email');
pll_register_string( 'Linked accounts', 'Linked accounts');
add_action('template_redirect', 'redirect_non_logged_in_users');
function redirect_non_logged_in_users() {
// URL личного кабинета (замените 'your-account-page-slug' на ваш slug)
$account_page_slug = 'my-account-3';
$account_page_slug__2 = 'my-account';
// Проверяем, находится ли пользователь на странице личного кабинета
if (is_page($account_page_slug) && !is_user_logged_in() || is_page($account_page_slug__2) && !is_user_logged_in() ) {
wp_redirect(home_url()); // Перенаправляем на главную страницу
exit;
}
}
add_action('init', 'register_pets');
function register_pets(){
register_post_type('pets', array(
'labels' => array(
'name' => 'Питомцы', // Основное название типа записи
'singular_name' => 'Питомец', // отдельное название записи типа Book
'add_new' => 'Добавить нового',
'add_new_item' => 'Добавить нового питомца',
'edit_item' => 'Редактировать питомца',
'new_item' => 'Новый питомец',
'view_item' => 'Посмотреть питомца',
'search_items' => 'Найти питомца',
'not_found' => 'Питомцев не найдено',
'not_found_in_trash' => 'В корзине книг не найдено',
'parent_item_colon' => '',
'menu_name' => 'Питомцы'
),
'public' => false,
'show_ui' => true,
'supports' => array('title','editor')
) );
}
function get_pet_card($item){
?>
<?php
switch (get_field('weight')){
case ('below_1_5'):
$w = esc_html__('from 0,5 kg to 1,5 kg', 'woodmart' );
break;
case ('1_5-3'):
$w = esc_html__('from 1.5 to 3 kg', 'woodmart' );
break;
case ('3-5'):
$w = esc_html__('from 3 to 5 kg', 'woodmart' );
break;
case ('5-8'):
$w = esc_html__('from 5 to 8 kg', 'woodmart' );
break;
case ('8-11'):
$w = esc_html__('from 8 to 11 kg', 'woodmart' );
break;
case ('11-15'):
$w = esc_html__('from 11 to 15 kg', 'woodmart' );
break;
case ('15-20'):
$w = esc_html__('from 15 to 20 kg', 'woodmart' );
break;
case ('20-25'):
$w = esc_html__('from 20 to 25 kg', 'woodmart' );
break;
case ('25-35'):
$w = esc_html__('from 25 to 35 kg', 'woodmart' );
break;
case ('more_35'):
$w = esc_html__('More than 35 kg', 'woodmart' );
break;
}
switch (get_field('old')){
case ('normal'):
$old = esc_html__('Adult (from 1 year to 7 years)', 'woodmart' );
break;
case ('old'):
$old = esc_html__('Elderly (from 7 to 12 years)', 'woodmart' );
break;
case ('very_old'):
$old = esc_html__('Aging (12 years and older)', 'woodmart' );
break;
case ('baby'):
$old = esc_html__('Baby (from 0 to 1 year)' );
break;
}
switch (get_field('activity')){
case ('low'):
$act = esc_html__('Low', 'woodmart' );
break;
case ('moderate'):
$act = esc_html__('Moderate', 'woodmart' );
break;
case ('high'):
$act = esc_html__('High', 'woodmart' );
break;
}
?>
<div class="cabinet-card cabinet-card--green">
<div class="cabinet-card__content">
<div class="cabinet-card__pet">
<div class="cabinet-card-pet__icon">
<div class="cabinet-card-pet-icon__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/pet/mini-<?php echo get_field('type', $item) ?>.png" alt="">
</div>
</div>
<p class="cabinet-card-pet__name"><?php echo get_the_title($item) ?></p>
</div>
<div class="cabinet-card__element">
<p class="cabinet-card__label"><?php echo esc_html__('Breed', 'woodmart' ) ?>:</p>
<p class="cabinet-card__text"><?php echo get_field('breed', $item) ?></p>
</div>
<div class="cabinet-card__element">
<p class="cabinet-card__label"><?php echo esc_html__('Weight', 'woodmart' ) ?>:</p>
<p class="cabinet-card__text"><?php echo $w; ?></p>
</div>
<?php if ($old): ?>
<div class="cabinet-card__element">
<p class="cabinet-card__label"><?php echo esc_html__('Age', 'woodmart' ) ?>:</p>
<p class="cabinet-card__text"><?php echo $old; ?></p>
</div>
<?php
else:
?>
<?php
$zero = '';
if (intval(get_field('month', $item)) < 10){
$zero = '0';
}
?>
<div class="cabinet-card__element">
<p class="cabinet-card__label"><?php echo esc_html__('Birhtday', 'woodmart' ) ?>:</p>
<p class="cabinet-card__text"><?php echo get_field('day', $item) . '.' . $zero . get_field('month', $item) . '.' . get_field('year', $item); ?></p>
</div>
<?php
endif;
?>
<div class="cabinet-card__element">
<p class="cabinet-card__label"><?php echo esc_html__('Activity', 'woodmart' ) ?>:</p>
<p class="cabinet-card__text"><?php echo $act; ?></p>
</div>
<?php
if (get_field('type', $item) == 'cat' && get_field('sterilized', $item)):
?>
<div class="cabinet-card__element">
<p class="cabinet-card__label"><?php echo esc_html__('Sterilized', 'woodmart' ) ?></p>
</div>
<?php
endif;
?>
<div class="cabinet-card__element">
<button class="cabinet-card__button" data-edit="<?php echo get_the_ID($item); ?>">
<?php echo esc_html__('Edit', 'woodmart' ) ?>
</button>
</div>
</div>
</div>
<?php
}

@ -0,0 +1,15 @@
<?php
/**
* The template for displaying all pages.
*
* This is the template that renders pages using Timber (Twig).
*/
include_module('profile');
include_component('profile', 'profile');
$context = Timber::context();
$context['post'] = Timber::get_post();
Timber::render('page.twig', $context);

@ -491,3 +491,57 @@ document.addEventListener('DOMContentLoaded', function () {
}, index * 1000); // Задержка перед стартом: 0, 1000, 2000 мс
});
});
// Находим все элементы с классом login-open
document.addEventListener('DOMContentLoaded', function() {
const loginButtons = document.querySelectorAll('.login-open');
// Добавляем обработчик события для каждой кнопки
loginButtons.forEach(button => {
button.addEventListener('click', function(event) {
event.preventDefault(); // Предотвращаем стандартное действие (если это ссылка)
// Находим элементы модального окна
const modal = document.querySelector('.modal');
const modalAside = document.querySelector('.modal__aside');
const modalLogin = document.querySelector('.modal__login');
// Добавляем классы active
modal.classList.add('active');
modalLogin.classList.add('active');
// Устанавливаем ширину для modal__aside
modalAside.style.width = '412px';
});
});
// Опционально: добавляем функцию закрытия модального окна
// Например, при клике на фон или кнопку закрытия
const closeButtons = document.querySelectorAll('.modal-close');
const modal = document.querySelector('.modal');
// Закрытие по клику на кнопку закрытия
closeButtons.forEach(button => {
button.addEventListener('click', closeModal);
});
// Закрытие по клику на фон (если клик не на модальное окно)
modal.addEventListener('click', function(event) {
if (event.target === modal) {
closeModal();
}
});
function closeModal() {
const modal = document.querySelector('.modal');
const modalAside = document.querySelector('.modal__aside');
const modalLogin = document.querySelector('.modal__login');
// Удаляем классы active
modal.classList.remove('active');
modalLogin.classList.remove('active');
// Сбрасываем ширину
modalAside.style.width = '';
}
});

@ -0,0 +1,839 @@
{% extends 'layout.twig' %}
{% block content %}
{% set bodyClass = 'bg-white' %}
<main class="wrapper">
<div class="cabinet-card cabinet-card--green-white cabinet__subscription-mobile">
<div class="cabinet-card__content">
<p class="cabinet-card__title">
<?php echo esc_html__( 'Feed subscription', '_pll_e' ) ?>
</p>
<div class="cabinet-card__element">
<p class="cabinet-card__text"><?php echo esc_html__( 'Weekly food delivery for your pet', '_pll_e' ) ?></p>
</div>
<div class="cabinet-card__element">
<button class="button button--gradient button--high-46 form-sub__btn">
<?php echo esc_html__( 'Get details', '_pll_e' ) ?>
</button>
</div>
</div>
</div>
<div class="cabinet__control">
<button class="cabinet-control__button active start" data-cabinet="orders"> <?php echo esc_html__( 'Orders', '_pll_e' ) ?></button>
<button class="cabinet-control__button" data-cabinet="profile"> <?php echo esc_html__( 'Profile', '_pll_e' ) ?></button>
</div>
<div class="cabinet">
<div class="cabinet__profile cabinet-content">
<div class="cabinet-card cabinet-card--green">
<div class="cabinet-card__content">
<div class="cabinet-card__element">
<?php
$first_name = $current_user->user_firstname;
$last_name = $current_user->user_lastname;?>
<p class="cabinet-card__text <?php if (!$first_name && !$last_name): ?>cabinet-card__text--grey<?php endif; ?>">
<?php
$phone = get_user_meta( $current_user->ID, 'billing_phone', true );
if($first_name || $last_name):
echo $first_name . ' ' . $last_name;
else:
?>
<?php echo esc_html__( 'Name is not set', '_pll_e' ) ?>
<?php endif; ?>
</p>
</div>
<div class="cabinet-card__element">
<p class="cabinet-card__label"> <?php echo esc_html__( 'Phone', '_pll_e' ) ?>:</p>
<p class="cabinet-card__text <?php if (!$phone): ?>cabinet-card__text--grey<?php endif; ?>">
<?php if ($phone):
echo $phone;
else:
?>
<?php echo esc_html__( 'Not filled', '_pll_e' ) ?>
<?php endif ?>
</p>
</div>
<div class="cabinet-card__element">
<p class="cabinet-card__label"> <?php echo esc_html__( 'Email', '_pll_e' ) ?>:</p>
<?php if($current_user->user_email): ?>
<p class="cabinet-card__text"><?php echo $current_user->user_email ?></p>
<?php
if (get_field('activated', 'user_' . get_current_user_id())):
?>
<p class="cabinet-card__status cabinet-card__status--chek"> <?php echo esc_html__( 'Email is verified', '_pll_e' ) ?></p>
<?php
else:
?>
<p class="cabinet-card__status cabinet-card__status--cancelled"> <?php echo esc_html__( 'Email is not verified', '_pll_e' ) ?></p>
<form class="email_approve_form">
<input type="hidden" name="action" value="email_activate">
<button type="submit" class="cabinet-card__confirm">
<?php echo esc_html__( 'Verify', '_pll_e' ) ?>
</button>
</form>
<?php
if (get_field('uuid', 'user_' . get_current_user_id())):
?>
<p class="cabinet-card__status"> <?php echo esc_html__( 'Email width verification link is sent to your email.', '_pll_e' ) ?></p>
<?php
endif;
?>
<?php
endif;
?>
<?php else: ?>
<div class="cabinet-card__label">
<form class="email_link_form">
<input type="hidden" name="action" value="email_link">
<div class="cabinet-card_linked-email">
<input class="form__input" type="text" name="email" placeholder="example@example.com" required>
</div>
<button class="cabinet-card__confirm" type="submit"><?php echo pll__('Link email', '_pll_e'); ?></button>
</form>
</div>
<?php endif; ?>
</div>
<?php
$tg_account = get_user_meta( $current_user->ID, ' Traveling', true );
?>
<div class="cabinet-card__element">
<p class="cabinet-card__label"> <?php echo pll__( 'Linked accounts') ?>:</p>
<p class="cabinet-card__text cabinet-accounts">
<?php if ($tg_account): ?>
<svg width="40px" height="40px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid"><g><path d="M128,0 C57.307,0 0,57.307 0,128 L0,128 C0,198.693 57.307,256 128,256 L128,256 C198.693,256 256,198.693 256,128 L256,128 C256,57.307 198.693,0 128,0 L128,0 Z" fill="#40B3E0"></path><path d="M190.2826,73.6308 L167.4206,188.8978 C167.4206,188.8978 164.2236,196.8918 155.4306,193.0548 L102.6726,152.6068 L83.4886,143.3348 L51.1946,132.4628 C51.1946,132.4628 46.2386,130.7048 45.7586,126.8678 C45.2796,123.0308 51.3546,120.9528 51.3546,120.9528 L179.7306,70.5928 C179.7306,70.5928 190.2826,65.9568 190.2826,73.6308" fill="#FFFFFF"></path><path d="M98.6178,187.6035 C98.6178,187.6035 97.0778,187.4595 95.1588,181.3835 C93.2408,175.3085 83.4888,143.3345 83.4888,143.3345 L161.0258,94.0945 C161.0258,94.0945 165.5028,91.3765 165.3428,94.0945 C165.3428,94.0945 166.1418,94.5735 163.7438,96.8115 C161.3458,99.0505 102.8328,151.6475 102.8328,151.6475" fill="#D2E5F1"></path><path d="M122.9015,168.1154 L102.0335,187.1414 C102.0335,187.1414 100.4025,188.3794 98.6175,187.6034 L102.6135,152.2624" fill="#B5CFE4"></path></g></svg>
<?php else: ?>
<script async src="https://telegram.org/js/telegram-widget.js?2" data-telegram-login="<?= BOT_USERNAME; ?>" data-size="large" data-onauth="linkTelegram(user)"></script>
<?php endif ?>
</p>
</div>
<div class="cabinet-card__element">
<div class="cabinet-card__block-buttons">
<button class="cabinet-card__button user-edit-open">
<?php echo esc_html__( 'Edit', '_pll_e' ) ?>
</button>
<a href="<?php echo wp_logout_url(home_url()) ?>" class="cabinet-card__button">
<?php echo esc_html__( 'Logout', '_pll_e' ) ?>
</a>
</div>
</div>
</div>
</div>
<?php
// Получаем текущего пользователя
$current_user_id = get_current_user_id();
// Проверяем, что пользователь авторизован
if ($current_user_id) {
// Параметры для WP_Query
$args = array(
'post_type' => 'pets', // Тип постов
'meta_query' => array(
array(
'key' => 'user', // Имя метаполя
'value' => $current_user_id, // Значение метаполя (ID текущего пользователя)
'compare' => '=' // Условие сравнения
)
)
);
// Создаем новый объект WP_Query
$query = new \WP_Query($args);
if ($query->have_posts()) {
// Начинаем цикл по постам
while ($query->have_posts()) {
$query->the_post();
get_pet_card($post);
}
// Сбрасываем данные постов
wp_reset_postdata();
}
}
?>
<div class="cabinet-card cabinet-card--green">
<div class="cabinet-card__content">
<button class="cabinet-card__block-add-pets form-open" data-form="form-pet">
<div class="cabinet-card-add-pets__circle">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/plus-grey.svg" alt="">
</div>
<p class="cabinet-card-add-pets__text">
<?php echo esc_html__( 'Add a pet', '_pll_e' ) ?>
</p>
</button>
</div>
</div>
</div>
<div class="cabinet__orders cabinet-content active hide">
<div class="cabinet-card cabinet-card--green-white cabinet__subscription-pc">
<div class="cabinet-card__content">
<p class="cabinet-card__title">
<?php echo esc_html__( 'Feed subscription', '_pll_e' ) ?>
</p>
<div class="cabinet-card__element">
<p class="cabinet-card__text"> <?php echo esc_html__( 'Weekly food delivery for your pet', '_pll_e' ) ?></p>
</div>
<div class="cabinet-card__element">
<button class="button button--gradient button--high-46 form-sub__btn">
<?php echo esc_html__( 'Get details', '_pll_e' ) ?>
</button>
</div>
</div>
</div>
<?php
$customer_orders = wc_get_orders( array(
'customer_id' => $current_user->ID,
) );
if ($customer_orders):
foreach($customer_orders as $order):
$meta_data = get_post_meta($order->get_id(), 'order_data', true);
$shipping_address = $order->get_address( 'shipping' );
?>
<div class="cabinet-card cabinet-card--grey">
<div class="cabinet-card__content">
<div class="cabinet-card__order">
<div class="cabinet-card-order__header">
<div class="cabinet-card-order__main">
<p class="cabinet-card-order-main__date"><?php echo esc_html__( 'Order from', '_pll_e' ) ?> <?php echo $order->get_date_created()->date('Y.m.d') ?></p>
<p class="cabinet-card-order-main__number"><?php echo $order->get_id() ?></p>
</div>
<div class="cabinet-card-order__payment">
<p class="cabinet-card-order-payment__title"><?php echo esc_html__( 'Summary', '_pll_e' ) ?>:</p>
<p class="cabinet-card-order-payment__price"><?php echo $order->get_total() ?></p>
</div>
</div>
<div class="cabinet-card-order__bottom">
<div class="cabinet-card-order__content">
<?php
if ($meta_data){
$order_track = $meta_data['order_number'];
}
else{
$order_track = '';
}
?>
<div class="cabinet-card-order__block-detail">
<div class="cabinet-card-order__detail">
<div class="cabinet-card-order-detail__address">
<p class="cabinet-card-order-detail-address__title"><?php echo esc_html__( 'Delivery address', '_pll_e' ) ?> </p>
<p class="cabinet-card-order-detail-address__text">
<?php
if (isset($meta_data['office_code'])):
echo esc_html__( 'CDEK shipping point', '_pll_e' );
echo '<br>';
echo json_decode($api->getOffices(['code' => $meta_data['office_code']])['body'])[0]->name;
?>
<?php
else:
echo $shipping_address['city'] . ' ' . $shipping_address['address_1'];
?>
<?php
endif;
?>
</p>
</div>
<div class="cabinet-card-order-detail__main">
<div class="cabinet-card-order-detail-main__products">
<?php
foreach ($order->get_items() as $item_id => $item) :
$product_name = $item->get_name();
$product_quantity = $item->get_quantity();
$product_total = $item->get_total();
$product = $item->get_product();
if ($product){
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $product->get_id() ), 'thumbnail' );
}
else{
$thumbnail = '';
}
?>
<div class="cabinet-card-order-detail-main__product">
<img src="<?php echo $thumbnail[0]; ?>" alt="" class="cabinet-card-order-detail-main-product__img">
<div class="cabinet-card-order-detail-main-product__content">
<div class="cabinet-card-order-detail-main-product__description">
<p class="cabinet-card-order-detail-main-product-description__what"><?php echo $product_name ?></p>
<!-- <p class="cabinet-card-order-detail-main-product-description__with-what">Индейка, 2 <?php echo esc_html__('kg', '_pll_e' ); ?></p> -->
</div>
<p class="cabinet-card-order-detail-main-product__count"><?php echo $product_quantity ?></p>
<p class="cabinet-card-order-detail-main-product__price"><?php echo $product_total ?></p>
</div>
</div>
<?php endforeach; ?>
</div>
<div class="cabinet-card-order-detail-main__links">
<?php
if($order_track):
?>
<a href="https://www.cdek.ru/ru/tracking/?order_id=<?php echo $order_track ?>" target="_blank" class="cabinet-card__button cabinet-card-order-detail-main__link">
<?php echo esc_html__( 'Track order', '_pll_e' ) ?>
</a>
<?php endif; ?>
</div>
</div>
</div>
</div>
<button class="cabinet-card-order__open-detail"><?php echo esc_html__( 'Order details', '_pll_e' ) ?></button>
</div>
<div class="cabinet-card-order__detail-short">
<?php
foreach ($order->get_items() as $item_id => $item) :
$product = $item->get_product();
if ($product){
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $product->get_id() ), 'thumbnail' );
}
else{
$thumbnail = '';
}
?>
<?php if ($thumbnail[0]): ?>
<a href="<?php echo get_the_permalink($product->get_id()) ?>"><img src="<?= $thumbnail[0] ?>" alt="" class="cabinet-card-order-detail-short__item"></a>
<?php endif; ?>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
</div>
<?php
endforeach;
else:
?>
<div class="cabinet-card__no-orders">
<div class="cabinet-card-no-orders__element">
<p class="cabinet-card-no-orders__title"><?php echo esc_html__( 'No orders yet', '_pll_e' ) ?></p>
</div>
<div class="cabinet-card-no-orders__element">
<a href="/shop/" class="to-know button--100-perc to-know--background-none">
<p><?php echo esc_html__( 'Catalog', '_pll_e' ) ?></p>
</a>
</div>
</div>
<?php
endif;
?>
</div>
</div>
</main>
<?php
$args = array(
'post_type' => 'pets', // Тип постов
'meta_query' => array(
array(
'key' => 'user', // Имя метаполя
'value' => $current_user_id, // Значение метаполя (ID текущего пользователя)
'compare' => '=' // Условие сравнения
)
)
);
// Создаем новый объект WP_Query
$query = new \WP_Query($args);
if ($query->have_posts()) {
// Начинаем цикл по постам
while ($query->have_posts()) {
$query->the_post();
switch (get_field('weight')){
case ('below_1_5'):
$w = esc_html__('from 0,5 kg to 1,5 kg', '_pll_e' );
break;
case ('1_5-3'):
$w = esc_html__('from 1.5 to 3 kg', '_pll_e' );
break;
case ('3-5'):
$w = esc_html__('from 3 to 5 kg', '_pll_e' );
break;
case ('5-8'):
$w = esc_html__('from 5 to 8 kg', '_pll_e' );
break;
case ('8-11'):
$w = esc_html__('from 8 to 11 kg', '_pll_e' );
break;
case ('11-15'):
$w = esc_html__('from 11 to 15 kg', '_pll_e' );
break;
case ('15-20'):
$w = esc_html__('from 15 to 20 kg', '_pll_e' );
break;
case ('20-25'):
$w = esc_html__('from 20 to 25 kg', '_pll_e' );
break;
case ('25-35'):
$w = esc_html__('from 25 to 35 kg', '_pll_e' );
break;
case ('more_35'):
$w = esc_html__('More than 35 kg', '_pll_e' );
break;
}
switch (get_field('old')){
case ('normal'):
$old = __('Adult (from 1 year to 7 years)', '_pll_e' );
break;
case ('old'):
$old = __('Elderly (from 7 to 12 years)', '_pll_e' );
break;
case ('very_old'):
$old = __('Aging (12 years and older)', '_pll_e' );
break;
case ('baby'):
$old = __('Baby (from 0 to 1 year)', '_pll_e' );
break;
}
switch (get_field('activity')){
case ('low'):
$act = esc_html__('Low', '_pll_e' );
break;
case ('moderate'):
$act = esc_html__('Moderate', '_pll_e' );
break;
case ('high'):
$act = esc_html__('High', '_pll_e' );
break;
}
?>
<?php
$months = array(
esc_html__('january', '_pll_e' ),
esc_html__('february', '_pll_e' ),
esc_html__('march', '_pll_e' ),
esc_html__('april', '_pll_e' ),
esc_html__('may', '_pll_e' ),
esc_html__('june', '_pll_e' ),
esc_html__('july', '_pll_e' ),
esc_html__('august', '_pll_e' ),
esc_html__('september', '_pll_e' ),
esc_html__('october', '_pll_e' ),
esc_html__('november', '_pll_e' ),
esc_html__('december', '_pll_e' ),
);
?>
<div class="modalProfile" id="pet_edit_<?php echo get_the_ID($post); ?>">
<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"><?php echo esc_html__('Edit pet', '_pll_e' ); ?> <?php echo get_the_title() ?></p>
<form class="modal-form__content edit-pet-form" method="post" action="">
<input type="hidden" name="action" value="edit_pet">
<div class="modal-form-content__line">
<label class="label-name"><?php echo esc_html__('Pet type', '_pll_e' ); ?></label>
<div class="form-input__tabs">
<label class="form-input-tabs__button <?php if (get_field('type', $post) == 'cat'): ?> active <?php endif; ?>">
<?php echo esc_html__('Dog', '_pll_e' ); ?>
<input type="radio" value="cat" <?php if (get_field('type', $post) == 'cat'): ?> checked <?php endif; ?> name="pet" class="form-input-tabs__input">
</label>
<label class="form-input-tabs__button <?php if (get_field('type', $post) == 'dog'): ?> active <?php endif; ?>">
<?php echo esc_html__('Cat', '_pll_e' ); ?>
<input type="radio" value="dog" <?php if (get_field('type', $post) == 'dog'): ?> checked <?php endif; ?> name="pet" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line sterilized" <?php if (get_field('type', $post) == 'dog'): ?> style="display: none;" <?php endif; ?>>
<label for="" class="label-name"><?php echo esc_html__('Sterilized', '_pll_e' ); ?></label>
<div class="form-input__tabs">
<label class="form-input-tabs__button <?php if (get_field('sterilized', $post)): ?> active<?php endif; ?>">
<?php echo esc_html__('Yes', '_pll_e' ); ?>
<input type="radio" value="1" <?php if (get_field('sterilized', $post)): ?> checked <?php endif; ?> name="sterilized" class="form-input-tabs__input">
</label>
<label class="form-input-tabs__button <?php if (!get_field('sterilized', $post)): ?> active<?php endif; ?>">
<?php echo esc_html__('No', '_pll_e' ); ?>
<input type="radio" value="0" <?php if (!get_field('sterilized', $post)): ?> checked <?php endif; ?> name="sterilized" class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal-form-content__line">
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name"><?php echo esc_html__('Breed', '_pll_e' ); ?></label>
<input id="firstname" class="form__input" type="text" value="<?php echo get_field('breed', $post) ?>" name="breed"
placeholder="Порода вашего питомца" required="">
<!-- <span class="form-input__error form-input__error--absolute">Порода введено неверно</span> -->
</div>
</div>
<div class="modal-form-content__line">
<label for="" class="label-name"><?php echo esc_html__('Gender of your pet', '_pll_e' ); ?></label>
<div class="form-input__tabs">
<label class="form-input-tabs__button <?php if (get_field('sex', $post) == 'male'): ?> active<?php endif; ?>">
<?php echo esc_html__('Boy', '_pll_e' ); ?>
<input type="radio" value="male" <?php if (get_field('sex', $post) == 'male'): ?> checked<?php endif; ?> name="sex" class="form-input-tabs__input">
</label>
<label class="form-input-tabs__button <?php if (get_field('sex', $post) != 'male'): ?> active<?php endif; ?>">
<?php echo esc_html__('Girl', '_pll_e' ); ?>
<input type="radio" value="female" <?php if (get_field('sex', $post) != 'male'): ?> checked<?php endif; ?> name="sex" 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"><?php echo esc_html__('Type of activity', '_pll_e' ); ?></label>
<div class="form-input__list">
<div class="form-input-list__input"><?php echo $act ?></div>
<div class="form-input-list__block-content" style="height: 0px;">
<div class="form-input-list__content">
<label class="form-input-list__item <?php if (get_field('activity', $post) == 'low'): ?> active<?php endif; ?>">
<p class="form-input-list-item__text"><?php echo esc_html__('Low', '_pll_e' ); ?></p>
<input type="radio" required name="activity" <?php if (get_field('activity', $post) == 'low'): ?> checked<?php endif; ?> value="low" class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item <?php if (get_field('activity', $post) == 'moderate'): ?> active<?php endif; ?>">
<p class="form-input-list-item__text"><?php echo esc_html__('Moderate', '_pll_e' ); ?></p>
<input type="radio" required name="activity" <?php if (get_field('activity', $post) == 'moderate'): ?> checked<?php endif; ?> value="moderate" class="v-hidden"
id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item <?php if (get_field('activity', $post) == 'high'): ?> active<?php endif; ?>">
<p class="form-input-list-item__text"><?php echo esc_html__('High', '_pll_e' ); ?></p>
<input type="radio" required name="activity" value="high" <?php if (get_field('activity', $post) == 'high'): ?> checked<?php endif; ?> class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
</div>
</div>
</div>
</div>
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name"><?php echo esc_html__('Weight', '_pll_e' ); ?></label>
<div class="form-input__list">
<div class="form-input-list__input"><?php echo $w ?></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">1-1.5 <?php echo esc_html__('kg', '_pll_e' ); ?></p>
<input type="radio" required name="weight" <?php if (get_field('weight', $post) == 'below_1_5'): ?> checked<?php endif; ?> value="below_1_5" class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">1.5-3 <?php echo esc_html__('kg', '_pll_e' ); ?></p>
<input type="radio" required name="weight" <?php if (get_field('weight', $post) == '1_5-3'): ?> checked<?php endif; ?> value="1_5-3" class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">3-5 <?php echo esc_html__('kg', '_pll_e' ); ?></p>
<input type="radio" required name="weight" <?php if (get_field('weight', $post) == '3-5'): ?> checked<?php endif; ?> value="3-5" class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">5-8 <?php echo esc_html__('kg', '_pll_e' ); ?></p>
<input type="radio" required name="weight" <?php if (get_field('weight', $post) == '5-8'): ?> checked<?php endif; ?> value="5-8" class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">8-11 <?php echo esc_html__('kg', '_pll_e' ); ?></p>
<input type="radio" required name="weight" <?php if (get_field('weight', $post) == '8-11'): ?> checked<?php endif; ?> value="8-11" class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">11-15 <?php echo esc_html__('kg', '_pll_e' ); ?></p>
<input type="radio" required name="weight" <?php if (get_field('weight', $post) == '11-15'): ?> checked<?php endif; ?> value="11-15" class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">15-20 <?php echo esc_html__('kg', '_pll_e' ); ?></p>
<input type="radio" required name="weight" <?php if (get_field('weight', $post) == '15-20'): ?> checked<?php endif; ?> value="15-20" class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">20-25 <?php echo esc_html__('kg', '_pll_e' ); ?></p>
<input type="radio" required name="weight" <?php if (get_field('weight', $post) == '20-25'): ?> checked<?php endif; ?> value="20-25" class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text">25-35 <?php echo esc_html__('kg', '_pll_e' ); ?></p>
<input type="radio" required name="weight" <?php if (get_field('weight', $post) == '25-35'): ?> checked<?php endif; ?> value="25-35" class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text"><?php echo esc_html__('More than', '_pll_e' ); ?> 35 <?php echo esc_html__('kg', '_pll_e' ); ?></p>
<input type="radio" required name="weight" <?php if (get_field('weight', $post) == 'more_35'): ?> checked<?php endif; ?> value="more_35" class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/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 for="" class="label-name"><?php echo esc_html__("Pet's age", '_pll_e' ); ?></label>
<div class="form-input__tabs form-input__remote-control" data-content="modal__age">
<label class="form-input-tabs__button active" data-rm="0">
<?php echo esc_html__('Exemplary', '_pll_e' ); ?>
<input type="radio" checked value="ex" name="old_type" required
class="form-input-tabs__input">
</label>
<label class="form-input-tabs__button" data-rm="1">
<?php echo esc_html__('Exact', '_pll_e' ); ?>
<input type="radio" value="acc" name="old_type" required
class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal__age">
<div class="form-input__radio remote-control__item active" data-rmcont="0">
<label class="form-input-radio__item <?php if (get_field('old', $post) == 'baby'): ?> active<?php endif; ?>" >
<input type="radio" name="old" value="baby" <?php if (get_field('old', $post) == 'baby'): ?> checked<?php endif; ?> class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title"> <?php echo __('Baby <span>(from 0 to 1 year)</span>', '_pll_e' ); ?></p>
</label>
<label class="form-input-radio__item <?php if (get_field('old', $post) == 'normal'): ?> active<?php endif; ?>">
<input type="radio" name="old" value="normal" <?php if (get_field('old', $post) == 'normal'): ?> checked<?php endif; ?> class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title"> <?php echo __('Adult <span>(from 1 year to 7 years)</span>', '_pll_e' ); ?></p>
</label>
<label class="form-input-radio__item <?php if (get_field('old', $post) == 'old'): ?> active<?php endif; ?>">
<input type="radio" name="old" value="old" <?php if (get_field('old', $post) == 'old'): ?> checked<?php endif; ?> class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title"> <?php echo __('Elderly <span>(from 7 to 12 years)</span>', '_pll_e' ); ?></p>
</label>
<label class="form-input-radio__item <?php if (get_field('old', $post) == 'very_old'): ?> active<?php endif; ?>">
<input type="radio" name="old" <?php if (get_field('old', $post) == 'very_old'): ?> checked<?php endif; ?> 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"> <?php echo __('Aging <span>(12 years and older)</span>', '_pll_e' ); ?></p>
</label>
</div>
<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="firstname" class="label-name"><?php echo esc_html__('Day', '_pll_e' ); ?></label>
<input id="firstname" class="form__input form__input--center" maxlength="2" type="text"
name="day" placeholder="<?php echo esc_html__('DD', '_pll_e' ); ?>" value="<?php echo get_field('day', $post) ?>">
</div>
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name"><?php echo esc_html__('Month', '_pll_e' ); ?></label>
<div class="form-input__list">
<?php
if(get_field('month', $post)):
?>
<div class="form-input-list__input"><?php echo $months[intval(get_field('month', $post)) - 1 ]; ?></div>
<?php
else:
?>
<div class="form-input-list__input"><?php echo esc_html__('Month', '_pll_e' ); ?></div>
<?php
endif;
?>
<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"><?php echo esc_html__('January', '_pll_e' ); ?></p>
<input type="radio" name="month" value="1" <?php if (get_field('month', $post) == '1'): ?> checked<?php endif; ?> class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text"><?php echo esc_html__('February', '_pll_e' ); ?></p>
<input type="radio" name="month" value="2" <?php if (get_field('month', $post) == '2'): ?> checked<?php endif; ?> class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text"><?php echo esc_html__('March', '_pll_e' ); ?></p>
<input type="radio" name="month" value="3" <?php if (get_field('month', $post) == '3'): ?> checked<?php endif; ?> class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text"><?php echo esc_html__('April', '_pll_e' ); ?></p>
<input type="radio" name="month" value="4" <?php if (get_field('month', $post) == '4'): ?> checked<?php endif; ?> class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text"><?php echo esc_html__('May', '_pll_e' ); ?></p>
<input type="radio" name="month" value="5" <?php if (get_field('month', $post) == '5'): ?> checked<?php endif; ?> class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text"><?php echo esc_html__('June', '_pll_e' ); ?></p>
<input type="radio" name="month" value="6" <?php if (get_field('month', $post) == '6'): ?> checked<?php endif; ?> class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text"><?php echo esc_html__('July', '_pll_e' ); ?></p>
<input type="radio" name="month" value="7" <?php if (get_field('month', $post) == '7'): ?> checked<?php endif; ?> class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text"><?php echo esc_html__('August', '_pll_e' ); ?></p>
<input type="radio" name="month" value="8" <?php if (get_field('month', $post) == '8'): ?> checked<?php endif; ?> class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text"><?php echo esc_html__('September', '_pll_e' ); ?></p>
<input type="radio" name="month" value="9" <?php if (get_field('month', $post) == '9'): ?> checked<?php endif; ?> class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg"
alt="">
</div>
</div>
</label>
<label class="form-input-list__item">
<p class="form-input-list-item__text"><?php echo esc_html__('October', '_pll_e' ); ?></p>
<input type="radio" name="month" value="10" <?php if (get_field('month', $post) == '10'): ?> checked<?php endif; ?> class="v-hidden" id="">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="<?= get_template_directory_uri();?>/gp-include/assets/lk/img/svg/main/arrow Progressive Web App (PWA) support
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

@ -54,8 +54,64 @@
<!-- Footer end -->
{% verbatim %}
<div class="modal">
<aside class="modal__aside">
<div class="modal__item modal__login">
<button class="modal__close">
<img src="<?php bloginfo('template_url');?>/gp-include/assets/core/img/svg/main/black-x.svg" alt="">
</button>
<div class="login_wrap login_forms">
<div class="login_inner step active">
<h2 class="login_title">Войти или зарегистрироваться</h2>
<div class="login_subtitle">Подтвердите свой e-mail в письме</div>
<div class="login_input js-input-email">
<input type="text" name="email" placeholder="example@example.com"/>
<div class="login_error"></div>
</div>
<button class="login_btn btn_gradient js-get-code">Получить код</button>
{{ function('tgWidget') }}
</div>
<div class="login_inner step">
<div class="login_back">
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="32" height="32" rx="16" fill="#121212"/><path d="M8.5 16.3633H25" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M8.5 16.3633L14.864 22.7272" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M8.5 16.3633L14.864 9.99932" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
</div>
<h2 class="login_title">Введите код</h2>
<div class="login_subtitle">Код отправленный на e-mail:<span class="sended_email"></span></div>
<div class="login_input js-input-code">
<input type="text" name="code" placeholder="0000"/>
<div class="login_error"></div>
</div>
<div class="login_timer">Запросить новый код: <span class="seconds">15</span> секунд</div>
<button class="login_btn btn_gradient js-repeat-code">Запросить новый код</button>
</div>
<div class="login_privacy">
Нажимая на кнопку «Получить код», я даю согласие на обработку моих персональных данных в соответствии с <a href="/privacy-policy">политикой обработки персональных данных</a>
</div>
</div>
<div class="login_wrap login_success hide">
<div class="login_inner active">
<h2 class="login_title">Спасибо<br />за авторизацию</h2>
<div class="login_subtitle">Теперь вы можете получать промокоды за покупки.</div>
<img src="<?php bloginfo('template_url');?>/images/people.png" alt=""/>
<a href="/my-account" class="login_btn account_link">Заполнить профиль</a>
</div>
</div>
<div class="login_wrap login_auth hide">
<div class="login_inner active">
<h2 class="login_title --text-center">
Вы вошли в систему</h2>
<img src="<?php bloginfo('template_url');?>/images/people.png" alt=""/>
<a href="/my-account" class="login_btn account_link">Профиль</a>
</div>
</div>
</div>
</aside>
</div>
{% verbatim %}
<div class="modal modal-success" style="display: none;">
<div class="modal-content">
<div class="close-button">&times;</div>
@ -104,3 +160,120 @@
</div>
</div>
{% endverbatim %}
<script>
function onTelegramAuth(user) {
var data = {
action: 'ontelegramauth',
userid: user.id,
username: user.username,
fname: user.first_name,
lname: user.last_name
}
jQuery.ajax({
type: 'POST',
url: '/wp-admin/admin-ajax.php',
data: data,
success: function(){
location.href = '/my-account';
}
});
}
function linkTelegram(user) {
var data = {
action: 'linktelegram',
userid: user.id,
username: user.username,
fname: user.first_name,
lname: user.last_name
}
jQuery.ajax({
type: 'POST',
url: '/wp-admin/admin-ajax.php',
data: data,
success: function(){
jQuery('.cabinet-accounts').html('<svg width="40px" height="40px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid"><g><path d="M128,0 C57.307,0 0,57.307 0,128 L0,128 C0,198.693 57.307,256 128,256 L128,256 C198.693,256 256,198.693 256,128 L256,128 C256,57.307 198.693,0 128,0 L128,0 Z" fill="#40B3E0"></path><path d="M190.2826,73.6308 L167.4206,188.8978 C167.4206,188.8978 164.2236,196.8918 155.4306,193.0548 L102.6726,152.6068 L83.4886,143.3348 L51.1946,132.4628 C51.1946,132.4628 46.2386,130.7048 45.7586,126.8678 C45.2796,123.0308 51.3546,120.9528 51.3546,120.9528 L179.7306,70.5928 C179.7306,70.5928 190.2826,65.9568 190.2826,73.6308" fill="#FFFFFF"></path><path d="M98.6178,187.6035 C98.6178,187.6035 97.0778,187.4595 95.1588,181.3835 C93.2408,175.3085 83.4888,143.3345 83.4888,143.3345 L161.0258,94.0945 C161.0258,94.0945 165.5028,91.3765 165.3428,94.0945 C165.3428,94.0945 166.1418,94.5735 163.7438,96.8115 C161.3458,99.0505 102.8328,151.6475 102.8328,151.6475" fill="#D2E5F1"></path><path d="M122.9015,168.1154 L102.0335,187.1414 C102.0335,187.1414 100.4025,188.3794 98.6175,187.6034 L102.6135,152.2624" fill="#B5CFE4"></path></g></svg>');
}
});
}
document.addEventListener('DOMContentLoaded', function() {
// Получаем все формы на странице
const forms = document.querySelectorAll('form');
// Текущий URL страницы
const currentUrl = window.location.href;
// Перебираем все формы
forms.forEach(function(form) {
// Проверяем, нет ли уже такого поля в форме
const existingInput = form.querySelector('input[name="url"]');
if (!existingInput) {
// Создаем скрытое поле input
const urlInput = document.createElement('input');
urlInput.type = 'hidden';
urlInput.name = 'url';
urlInput.value = currentUrl;
// Добавляем поле в форму
form.appendChild(urlInput);
}
});
});
// Находим все элементы с классом login-open
document.addEventListener('DOMContentLoaded', function() {
const loginButtons = document.querySelectorAll('.login-open');
// Добавляем обработчик события для каждой кнопки
loginButtons.forEach(button => {
button.addEventListener('click', function(event) {
event.preventDefault(); // Предотвращаем стандартное действие (если это ссылка)
// Находим элементы модального окна
const modal = document.querySelector('.modal');
const modalAside = document.querySelector('.modal__aside');
const modalLogin = document.querySelector('.modal__login');
// Добавляем классы active
modal.classList.add('active');
modalLogin.classList.add('active');
// Устанавливаем ширину для modal__aside
modalAside.style.width = '412px';
});
});
// Опционально: добавляем функцию закрытия модального окна
// Например, при клике на фон или кнопку закрытия
const closeButtons = document.querySelectorAll('.modal-close');
const modal = document.querySelector('.modal');
// Закрытие по клику на кнопку закрытия
closeButtons.forEach(button => {
button.addEventListener('click', closeModal);
});
// Закрытие по клику на фон (если клик не на модальное окно)
modal.addEventListener('click', function(event) {
if (event.target === modal) {
closeModal();
}
});
function closeModal() {
const modal = document.querySelector('.modal');
const modalAside = document.querySelector('.modal__aside');
const modalLogin = document.querySelector('.modal__login');
// Удаляем классы active
modal.classList.remove('active');
modalLogin.classList.remove('active');
// Сбрасываем ширину
modalAside.style.width = '';
}
});
</script>

@ -169,6 +169,20 @@
</ul>
<div class="mini-profile">
<div class="mini-profile__item">
{% if fn('is_user_logged_in') %}
<a href="{{ fn('wc_get_page_permalink', 'myaccount') }}" class="mini-profile__button">
<img src="https://cosmopet.shop/wp-content/themes/woodmart/gp-include/assets/core/img/svg/mini-profile/profile.svg" alt="" class="mini-profile__icon black">
<img src="https://cosmopet.shop/wp-content/themes/woodmart/gp-include/assets/core/img/svg/mini-profile/profile-w.svg" alt="" class="mini-profile__icon white">
</a>
{% else %}
<button class="mini-profile__button login-open">
<img src="https://cosmopet.shop/wp-content/themes/woodmart/gp-include/assets/core/img/svg/mini-profile/profile.svg" alt="" class="mini-profile__icon black">
<img src="https://cosmopet.shop/wp-content/themes/woodmart/gp-include/assets/core/img/svg/mini-profile/profile-w.svg" alt="" class="mini-profile__icon white">
</button>
{% endif %}
</div>
<div class="mini-profile__item">
<div class="lang">
<button class="lang__open">

@ -0,0 +1,10 @@
{% set bodyClass = 'bg-white' %}
{% set mainClass = 'wrapper' %}
{% extends 'layout.twig' %}
{% block content %}
{{ post.content }}
{% endblock %}

@ -0,0 +1,537 @@
<main class="wrapper">
<div class="cabinet-card cabinet-card--green-white cabinet__subscription-mobile">
<div class="cabinet-card__content">
<p class="cabinet-card__title">
{{ __('Feed subscription', 'woodmart')|esc_html }}
</p>
<div class="cabinet-card__element">
<p class="cabinet-card__text">{{ __('Weekly food delivery for your pet', 'woodmart')|esc_html }}</p>
</div>
<div class="cabinet-card__element">
<button class="button button--gradient button--high-46 form-sub__btn">
{{ __('Get details', 'woodmart')|esc_html }}
</button>
</div>
</div>
</div>
<div class="cabinet__control">
<button class="cabinet-control__button active start" data-cabinet="orders">{{ __('Orders', 'woodmart')|esc_html }}</button>
<button class="cabinet-control__button" data-cabinet="profile">{{ __('Profile', 'woodmart')|esc_html }}</button>
</div>
<div class="cabinet">
<div class="cabinet__profile cabinet-content">
<div class="cabinet-card cabinet-card--green">
<div class="cabinet-card__content">
<div class="cabinet-card__element">
<p class="cabinet-card__text {% if not first_name and not last_name %}cabinet-card__text--grey{% endif %}">
{% if first_name or last_name %}
{{ first_name }} {{ last_name }}
{% else %}
{{ __('Name is not set', 'woodmart')|esc_html }}
{% endif %}
</p>
</div>
<div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Phone', 'woodmart')|esc_html }}:</p>
<p class="cabinet-card__text {% if not phone %}cabinet-card__text--grey{% endif %}">
{% if phone %}
{{ phone }}
{% else %}
{{ __('Not filled', 'woodmart')|esc_html }}
{% endif %}
</p>
</div>
<div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Email', 'woodmart')|esc_html }}:</p>
{% if email %}
<p class="cabinet-card__text">{{ email }}</p>
{% if activated %}
<p class="cabinet-card__status cabinet-card__status--chek">{{ __('Email is verified', 'woodmart')|esc_html }}</p>
{% else %}
<p class="cabinet-card__status cabinet-card__status--cancelled">{{ __('Email is not verified', 'woodmart')|esc_html }}</p>
<form class="email_approve_form">
<input type="hidden" name="action" value="email_activate">
<button type="submit" class="cabinet-card__confirm">{{ __('Verify', 'woodmart')|esc_html }}</button>
</form>
{% if uuid %}
<p class="cabinet-card__status">{{ __('Email with verification link is sent to your email.', 'woodmart')|esc_html }}</p>
{% endif %}
{% endif %}
{% else %}
<div class="cabinet-card__label">
<form class="email_link_form">
<input type="hidden" name="action" value="email_link">
<div class="cabinet-card_linked-email">
<input class="form__input" type="text" name="email" placeholder="example@example.com" required>
</div>
<button class="cabinet-card__confirm" type="submit">{{ __('Link email', 'woodmart')|esc_html }}</button>
</form>
</div>
{% endif %}
</div>
<div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Linked accounts', 'woodmart')|esc_html }}:</p>
<p class="cabinet-card__text cabinet-accounts">
{% if tg_account %}
<svg width="40px" height="40px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
<g>
<path d="M128,0 C57.307,0 0,57.307 0,128 L0,128 C0,198.693 57.307,256 128,256 L128,256 C198.693,256 256,198.693 256,128 L256,128 C256,57.307 198.693,0 128,0 L128,0 Z" fill="#40B3E0"></path>
<path d="M190.2826,73.6308 L167.4206,188.8978 C167.4206,188.8978 164.2236,196.8918 155.4306,193.0548 L102.6726,152.6068 L83.4886,143.3348 L51.1946,132.4628 C51.1946,132.4628 46.2386,130.7048 45.7586,126.8678 C45.2796,123.0308 51.3546,120.9528 51.3546,120.9528 L179.7306,70.5928 C179.7306,70.5928 190.2826,65.9568 190.2826,73.6308" fill="#FFFFFF"></path>
<path d="M98.6178,187.6035 C98.6178,187.6035 97.0778,187.4595 95.1588,181.3835 C93.2408,175.3085 83.4888,143.3345 83.4888,143.3345 L161.0258,94.0945 C161.0258,94.0945 165.5028,91.3765 165.3428,94.0945 C165.3428,94.0945 166.1418,94.5735 163.7438,96.8115 C161.3458,99.0505 102.8328,151.6475 102.8328,151.6475" fill="#D2E5F1"></path>
<path d="M122.9015,168.1154 L102.0335,187.1414 C102.0335,187.1414 100.4025,188.3794 98.6175,187.6034 L102.6135,152.2624" fill="#B5CFE4"></path>
</g>
</svg>
{% else %}
<script async src="https://telegram.org/js/telegram-widget.js?2" data-telegram-login="{{ bot_username }}" data-size="large" data-onauth="linkTelegram(user)"></script>
{% endif %}
</p>
</div>
<div class="cabinet-card__element">
<div class="cabinet-card__block-buttons">
<button class="cabinet-card__button user-edit-open">{{ __('Edit', 'woodmart')|esc_html }}</button>
<a href="{{ fn('wp_logout_url', fn('home_url')) }}" class="cabinet-card__button">{{ __('Logout', 'woodmart')|esc_html }}</a>
</div>
</div>
</div>
</div>
{% if pets %}
{% for pet in pets %}
{% include 'pet-card.twig' with { 'post': pet } %}
{% endfor %}
{% endif %}
<div class="cabinet-card cabinet-card--green">
<div class="cabinet-card__content">
<button class="cabinet-card__block-add-pets form-open" data-form="form-pet">
<div class="cabinet-card-add-pets__circle">
<img src="{{ theme.link }}/gp-include/assets/lk/img/svg/main/plus-grey.svg" alt="">
</div>
<p class="cabinet-card-add-pets__text">{{ __('Add a pet', 'woodmart')|esc_html }}</p>
</button>
</div>
</div>
</div>
<div class="cabinet__orders cabinet-content active hide">
<div class="cabinet-card cabinet-card--green-white cabinet__subscription-pc">
<div class="cabinet-card__content">
<p class="cabinet-card__title">{{ __('Feed subscription', 'woodmart')|esc_html }}</p>
<div class="cabinet-card__element">
<p class="cabinet-card__text">{{ __('Weekly food delivery for your pet', 'woodmart')|esc_html }}</p>
</div>
<div class="cabinet-card__element">
<button class="button button--gradient button--high-46 form-sub__btn">{{ __('Get details', 'woodmart')|esc_html }}</button>
</div>
</div>
</div>
{% if customer_orders %}
{% for order in customer_orders %}
{% set meta_data = order.meta_data.order_data %}
{% set shipping_address = order.get_address('shipping') %}
<div class="cabinet-card cabinet-card--grey">
<div class="cabinet-card__content">
<div class="cabinet-card__order">
<div class="cabinet-card-order__header">
<div class="cabinet-card-order__main">
<p class="cabinet-card-order-main__date">{{ __('Order from', 'woodmart')|esc_html }} {{ order.date_created|date('Y.m.d') }}</p>
<p class="cabinet-card-order-main__number">{{ order.id }}</p>
</div>
<div class="cabinet-card-order__payment">
<p class="cabinet-card-order-payment__title">{{ __('Summary', 'woodmart')|esc_html }}:</p>
<p class="cabinet-card-order-payment__price">{{ order.total }}</p>
</div>
</div>
<div class="cabinet-card-order__bottom">
<div class="cabinet-card-order__content">
{% set order_track = meta_data.order_number|default('') %}
<div class="cabinet-card-order__block-detail">
<div class="cabinet-card-order__detail">
<div class="cabinet-card-order-detail__address">
<p class="cabinet-card-order-detail-address__title">{{ __('Delivery address', 'woodmart')|esc_html }}</p>
<p class="cabinet-card-order-detail-address__text">
{% if meta_data.office_code %}
{{ __('CDEK shipping point', 'woodmart')|esc_html }}<br>
{# Предполагается, что API-запрос обрабатывается в PHP, добавляем в контекст #}
{{ office_name }}
{% else %}
{{ shipping_address.city }} {{ shipping_address.address_1 }}
{% endif %}
</p>
</div>
<div class="cabinet-card-order-detail__main">
<div class="cabinet-card-order-detail-main__products">
{% for item in order.get_items %}
{% set product = item.get_product %}
{% set thumbnail = product ? product.thumbnail.src('thumbnail') : '' %}
<div class="cabinet-card-order-detail-main__product">
<img src="{{ thumbnail }}" alt="" class="cabinet-card-order-detail-main-product__img">
<div class="cabinet-card-order-detail-main-product__content">
<div class="cabinet-card-order-detail-main-product__description">
<p class="cabinet-card-order-detail-main-product-description__what">{{ item.name }}</p>
</div>
<p class="cabinet-card-order-detail-main-product__count">{{ item.quantity }}</p>
<p class="cabinet-card-order-detail-main-product__price">{{ item.total }}</p>
</div>
</div>
{% endfor %}
</div>
<div class="cabinet-card-order-detail-main__links">
{% if order_track %}
<a href="https://www.cdek.ru/ru/tracking/?order_id={{ order_track }}" target="_blank" class="cabinet-card__button cabinet-card-order-detail-main__link">
{{ __('Track order', 'woodmart')|esc_html }}
</a>
{% endif %}
</div>
</div>
</div>
</div>
<button class="cabinet-card-order__open-detail">{{ __('Order details', 'woodmart')|esc_html }}</button>
</div>
<div class="cabinet-card-order__detail-short">
{% for item in order.get_items %}
{% set product = item.get_product %}
{% set thumbnail = product ? product.thumbnail.src('thumbnail') : '' %}
{% if thumbnail %}
<a href="{{ product.permalink }}"><img src="{{ thumbnail }}" alt="" class="cabinet-card-order-detail-short__item"></a>
{% endif %}
{% endfor %}
</div>
</div>
</div>
</div>
</div>
{% endfor %}
{% else %}
<div class="cabinet-card__no-orders">
<div class="cabinet-card-no-orders__element">
<p class="cabinet-card-no-orders__title">{{ __('No orders yet', 'woodmart')|esc_html }}</p>
</div>
<div class="cabinet-card-no-orders__element">
<a href="/shop/" class="to-know button--100-perc to-know--background-none">
<p>{{ __('Catalog', 'woodmart')|esc_html }}</p>
</a>
</div>
</div>
{% endif %}
</div>
</div>
</main>
{% if pet %}
<div class="cabinet-card cabinet-card--green">
<div class="cabinet-card__content">
<div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Weight', 'woodmart')|esc_html }}:</p>
<p class="cabinet-card__text">{{ pet.weight_text }}</p>
</div>
<div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Age', 'woodmart')|esc_html }}:</p>
<p class="cabinet-card__text">{{ pet.old_text }}</p>
</div>
<div class="cabinet-card__element">
<p class="cabinet-card__label">{{ __('Activity', 'woodmart')|esc_html }}:</p>
<p class="cabinet-card__text">{{ pet.activity_text }}</p>
</div>
</div>
</div>
{% endif %}
<div class="modalProfile" id="pet_edit_{{ pet.ID }}">
<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">{{ __('Edit pet', 'woodmart')|esc_html }} {{ pet.title }}</p>
<form class="modal-form__content edit-pet-form" method="post" action="">
<input type="hidden" name="action" value="edit_pet">
<div class="modal-form-content__line">
<label class="label-name">{{ __('Pet type', 'woodmart')|esc_html }}</label>
<div class="form-input__tabs">
<label class="form-input-tabs__button {% if pet.type == 'cat' %}active{% endif %}">
{{ __('Dog', 'woodmart')|esc_html }}
<input come="true" inputtype="radio" value="cat" {% if pet.type == 'cat' %}checked{% endif %} name="pet" class="form-input-tabs__input" />
</label>
<label class="form-input-tabs__button {% if pet.type == 'dog' %}active{% endif %}">
{{ __('Cat', 'woodmart')|esc_html }}
<input type="radio" value="dog" {% if pet.type == 'dog' %}checked{% endif %} name="pet" class="form-input-tabs__input" />
</label>
</div>
</div>
<div class="modal-form-content__line sterilized" {% if pet.type == 'dog' %}style="display: none;"{% endif %}>
<label class="label-name">{{ __('Sterilized', 'woodmart')|esc_html }}</label>
<div class="form-input__tabs">
<label class="form-input-tabs__button {% if pet.sterilized %}active{% endif %}">
{{ __('Yes', 'woodmart')|esc_html }}
<input type="radio" value="1" {% if pet.sterilized %}checked{% endif %} name="sterilized" class="form-input-tabs__input" />
</label>
<label class="form-input-tabs__button {% if not pet.sterilized %}active{% endif %}">
{{ __('No', 'woodmart')|esc_html }}
<input type="radio" value="0" {% if not pet.sterilized %}checked{% endif %} name="sterilized" class="form-input-tabs__input" />
</label>
</div>
</div>
<div class="modal-form-content__line">
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name">{{ __('Breed', 'woodmart')|esc_html }}</label>
<input id="firstname" class="form__input" type="text" value="{{ pet.breed }}" name="breed" placeholder="Порода вашего питомца" required>
</div>
</div>
<div class="modal-form-content__line">
<label class="label-name">{{ __('Gender of your pet', 'woodmart')|esc_html }}</label>
<div class="form-input__tabs">
<label class="form-input-tabs__button {% if pet.sex == 'male' %}active{% endif %}">
{{ __('Boy', 'woodmart')|esc_html }}
<input type="radio" value="male" {% if pet.sex == 'male' %}checked{% endif %} name="sex" class="form-input-tabs__input" />
</label>
<label class="form-input-tabs__button {% if pet.sex != 'male' %}active{% endif %}">
{{ __('Girl', 'woodmart')|esc_html }}
<input type="radio" value="female" {% if pet.sex != 'male' %}checked{% endif %} name="sex" 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">{{ __('Type of activity', 'woodmart')|esc_html }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ pet.activity_text }}</div>
<div class="form-input-list__block-content" style="height: 0px;">
<div class="form-input-list__content">
<label class="form-input-list__item {% if pet.activity == 'low' %}active{% endif %}">
<p class="form-input-list-item__text">{{ __('Low', 'woodmart')|esc_html }}</p>
<input type="radio" required name="activity" {% if pet.activity == 'low' %}checked{% endif %} value="low" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {% if pet.activity == 'moderate' %}active{% endif %}">
<p class="form-input-list-item__text">{{ __('Moderate', 'woodmart')|esc_html }}</p>
<input type="radio" required name="activity" {% if pet.activity == 'moderate' %}checked{% endif %} value="moderate" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {% if pet.activity == 'high' %}active{% endif %}">
<p class="form-input-list-item__text">{{ __('High', 'woodmart')|esc_html }}</p>
<input type="radio" required name="activity" {% if pet.activity == 'high' %}checked{% endif %} value="high" class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
</div>
</div>
</div>
</div>
<div class="modal-form-content-line__element">
<label class="label-name">{{ __('Weight', 'woodmart')|esc_html }}</label>
<div class="form-input__list">
<div class="form-input-list__input">{{ pet.weight_text }}</div>
<div class="form-input-list__block-content" style="height: 0px;">
<div class="form-input-list__content">
<label class="form-input-list__item {% if pet.weight == 'below_1_5' %}active{% endif %}">
<p class="form-input-list-item__text">1-1.5 {{ __('kg', 'woodmart')|esc_html }}</p>
<input type="radio" required name="weight" {% if pet.weight == 'below_1_5' %}checked{% endif %} 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 }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {% if pet.weight == '1_5-3' %}active{% endif %}">
<p class="form-input-list-item__text">1.5-3 {{ __('kg', 'woodmart')|esc_html }}</p>
<input type="radio" required name="weight" {% if pet.weight == '1_5-3' %}checked{% endif %} 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 }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {% if pet.weight == '3-5' %}active{% endif %}">
<p class="form-input-list-item__text">3-5 {{ __('kg', 'woodmart')|esc_html }}</p>
<input type="radio" required name="weight" {% if pet.weight == '3-5' %}checked{% endif %} 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 }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {% if pet.weight == '5-8' %}active{% endif %}">
<p class="form-input-list-item__text">5-8 {{ __('kg', 'woodmart')|esc_html }}</p>
<input type="radio" required name="weight" {% if pet.weight == '5-8' %}checked{% endif %} 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 }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {% if pet.weight == '8-11' %}active{% endif %}">
<p class="form-input-list-item__text">8-11 {{ __('kg', 'woodmart')|esc_html }}</p>
<input type="radio" required name="weight" {% if pet.weight == '8-11' %}checked{% endif %} 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 }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {% if pet.weight == '11-15' %}active{% endif %}">
<p class="form-input-list-item__text">11-15 {{ __('kg', 'woodmart')|esc_html }}</p>
<input type="radio" required name="weight" {% if pet.weight == '11-15' %}checked{% endif %} 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 }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {% if pet.weight == '15-20' %}active{% endif %}">
<p class="form-input-list-item__text">15-20 {{ __('kg', 'woodmart')|esc_html }}</p>
<input type="radio" required name="weight" {% if pet.weight == '15-20' %}checked{% endif %} 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 }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {% if pet.weight == '20-25' %}active{% endif %}">
<p class="form-input-list-item__text">20-25 {{ __('kg', 'woodmart')|esc_html }}</p>
<input type="radio" required name="weight" {% if pet.weight == '20-25' %}checked{% endif %} 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 }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {% if pet.weight == '25-35' %}active{% endif %}">
<p class="form-input-list-item__text">25-35 {{ __('kg', 'woodmart')|esc_html }}</p>
<input type="radio" required name="weight" {% if pet.weight == '25-35' %}checked{% endif %} 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 }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
<label class="form-input-list__item {% if pet.weight == 'more_35' %}active{% endif %}">
<p class="form-input-list-item__text">{{ __('More than', 'woodmart')|esc_html }} 35 {{ __('kg', 'woodmart')|esc_html }}</p>
<input type="radio" required name="weight" {% if pet.weight == 'more_35' %}checked{% endif %} 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 }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
</div>
</div>
</div>
</div>
</div>
<div class="modal-form-content__line">
<label class="label-name">{{ __('Pet\'s age', 'woodmart')|esc_html }}</label>
<div class="form-input__tabs form-input__remote-control" data-content="modal__age">
<label class="form-input-tabs__button active" data-rm="0">
{{ __('Exemplary', 'woodmart')|esc_html }}
<input type="radio" checked value="ex" name="old_type" required class="form-input-tabs__input">
</label>
<label class="form-input-tabs__button" data-rm="1">
{{ __('Exact', 'woodmart')|esc_html }}
<input type="radio" value="acc" name="old_type" required class="form-input-tabs__input">
</label>
</div>
</div>
<div class="modal__age">
<div class="form-input__radio remote-control__item active" data-rmcont="0">
<label class="form-input-radio__item {% if pet.old == 'baby' %}active{% endif %}">
<input type="radio" name="old" value="baby" {% if pet.old == 'baby' %}checked{% endif %} class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ __('Baby <span>(from 0 to 1 year)</span>', 'woodmart')|raw }}</p>
</label>
<label class="form-input-radio__item {% if pet.old == 'normal' %}active{% endif %}">
<input type="radio" name="old" value="normal" {% if pet.old == 'normal' %}checked{% endif %} class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ __('Adult <span>(from 1 year to 7 years)</span>', 'woodmart')|raw }}</p>
</label>
<label class="form-input-radio__item {% if pet.old == 'old' %}active{% endif %}">
<input type="radio" name="old" value="old" {% if pet.old == 'old' %}checked{% endif %} class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ __('Elderly <span>(from 7 to 12 years)</span>', 'woodmart')|raw }}</p>
</label>
<label class="form-input-radio__item {% if pet.old == 'veryVvery_old' %}active{% endif %}">
<input type="radio" name="old" value="very_old" {% if pet.old == 'very_old' %}checked{% endif %} class="v-hidden">
<div class="form-input-radio__circle">
<div class="form-input-radio-circle__content"></div>
</div>
<p class="form-input-radio__title">{{ __('Aging <span>(12 years and older)</span>', 'woodmart')|raw }}</p>
</label>
</div>
<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="firstname" class="label-name">{{ __('Day', 'woodmart')|esc_html }}</label>
<input id="firstname" class="form__input form__input--center" maxlength="2" type="text" name="day" placeholder="{{ __('DD', 'woodmart')|esc_html }}" value="{{ pet.day }}">
</div>
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name">{{ __('Month', 'woodmart')|esc_html }}</label>
<div class="form-input__list">
{% if pet.month %}
<div class="form-input-list__input">{{ months[pet.month - 1] }}</div>
{% else %}
<div class="form-input-list__input">{{ __('Month', 'woodmart')|esc_html }}</div>
{% endif %}
<div class="form-input-list__block-content">
<div class="form-input-list__content">
{% for month, month_name in months %}
<label class="form-input-list__item {% if pet.month == loop.index %}active{% endif %}">
<p class="form-input-list-item__text">{{ month_name|esc_html }}</p>
<input type="radio" name="month" value="{{ loop.index }}" {% if pet.month == loop.index %}checked{% endif %} class="v-hidden">
<div class="form-input-list-item__box">
<div class="form-input-list-item-box__content">
<img src="{{ theme.link }}/gp-include/assets/lk/img/svg/main/arrow-selected-white.svg" alt="">
</div>
</div>
</label>
{% endfor %}
</div>
</div>
</div>
</div>
<div class="modal-form-content-line__element">
<label for="firstname" class="label-name">{{ __('Year', 'woodmart')|esc_html }}</label>
<input id="firstname" class="form__input form__input--center" maxlength="4" type="text" name="year" placeholder="{{ __('YYYY', 'woodmart')|esc_html }}" value="{{ pet.year }}">
</div>
</div>
</div>
<input type="hidden" name="pet_id" value="{{ pet.ID }}">
<div class="modal-form__buttons">
<button class="button button--gradient button--high button--100-perc" type="submit">{{ __('Save', 'woodmart')|esc_html }}</button>
</div>
</form>
</div>
</div>
</div>

@ -0,0 +1,119 @@
<?php
/**
* Login Form
*
* This template can be overridden by copying it to yourtheme/woocommerce/myaccount/form-login.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://woocommerce.com/document/template-structure/
* @package WooCommerce\Templates
* @version 9.7.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
do_action( 'woocommerce_before_customer_login_form' ); ?>
<?php if ( 'yes' === get_option( 'woocommerce_enable_myaccount_registration' ) ) : ?>
<div class="u-columns col2-set" id="customer_login">
<div class="u-column1 col-1">
<?php endif; ?>
<h2><?php esc_html_e( 'Login', 'woocommerce' ); ?></h2>
<form class="woocommerce-form woocommerce-form-login login" method="post" novalidate>
<?php do_action( 'woocommerce_login_form_start' ); ?>
<p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
<label for="username"><?php esc_html_e( 'Username or email address', 'woocommerce' ); ?>&nbsp;<span class="required" aria-hidden="true">*</span><span class="screen-reader-text"><?php esc_html_e( 'Required', 'woocommerce' ); ?></span></label>
<input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="username" id="username" autocomplete="username" value="<?php echo ( ! empty( $_POST['username'] ) ) ? esc_attr( wp_unslash( $_POST['username'] ) ) : ''; ?>" required aria-required="true" /><?php // @codingStandardsIgnoreLine ?>
</p>
<p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
<label for="password"><?php esc_html_e( 'Password', 'woocommerce' ); ?>&nbsp;<span class="required" aria-hidden="true">*</span><span class="screen-reader-text"><?php esc_html_e( 'Required', 'woocommerce' ); ?></span></label>
<input class="woocommerce-Input woocommerce-Input--text input-text" type="password" name="password" id="password" autocomplete="current-password" required aria-required="true" />
</p>
<?php do_action( 'woocommerce_login_form' ); ?>
<p class="form-row">
<label class="woocommerce-form__label woocommerce-form__label-for-checkbox woocommerce-form-login__rememberme">
<input class="woocommerce-form__input woocommerce-form__input-checkbox" name="rememberme" type="checkbox" id="rememberme" value="forever" /> <span><?php esc_html_e( 'Remember me', 'woocommerce' ); ?></span>
</label>
<?php wp_nonce_field( 'woocommerce-login', 'woocommerce-login-nonce' ); ?>
<button type="submit" class="woocommerce-button button woocommerce-form-login__submit<?php echo esc_attr( wc_wp_theme_get_element_class_name( 'button' ) ? ' ' . wc_wp_theme_get_element_class_name( 'button' ) : '' ); ?>" name="login" value="<?php esc_attr_e( 'Log in', 'woocommerce' ); ?>"><?php esc_html_e( 'Log in', 'woocommerce' ); ?></button>
</p>
<p class="woocommerce-LostPassword lost_password">
<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php esc_html_e( 'Lost your password?', 'woocommerce' ); ?></a>
</p>
<?php do_action( 'woocommerce_login_form_end' ); ?>
</form>
<?php if ( 'yes' === get_option( 'woocommerce_enable_myaccount_registration' ) ) : ?>
</div>
<div class="u-column2 col-2">
<h2><?php esc_html_e( 'Register', 'woocommerce' ); ?></h2>
<form method="post" class="woocommerce-form woocommerce-form-register register" <?php do_action( 'woocommerce_register_form_tag' ); ?> >
<?php do_action( 'woocommerce_register_form_start' ); ?>
<?php if ( 'no' === get_option( 'woocommerce_registration_generate_username' ) ) : ?>
<p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
<label for="reg_username"><?php esc_html_e( 'Username', 'woocommerce' ); ?>&nbsp;<span class="required" aria-hidden="true">*</span><span class="screen-reader-text"><?php esc_html_e( 'Required', 'woocommerce' ); ?></span></label>
<input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="username" id="reg_username" autocomplete="username" value="<?php echo ( ! empty( $_POST['username'] ) ) ? esc_attr( wp_unslash( $_POST['username'] ) ) : ''; ?>" required aria-required="true" /><?php // @codingStandardsIgnoreLine ?>
</p>
<?php endif; ?>
<p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
<label for="reg_email"><?php esc_html_e( 'Email address', 'woocommerce' ); ?>&nbsp;<span class="required" aria-hidden="true">*</span><span class="screen-reader-text"><?php esc_html_e( 'Required', 'woocommerce' ); ?></span></label>
<input type="email" class="woocommerce-Input woocommerce-Input--text input-text" name="email" id="reg_email" autocomplete="email" value="<?php echo ( ! empty( $_POST['email'] ) ) ? esc_attr( wp_unslash( $_POST['email'] ) ) : ''; ?>" required aria-required="true" /><?php // @codingStandardsIgnoreLine ?>
</p>
<?php if ( 'no' === get_option( 'woocommerce_registration_generate_password' ) ) : ?>
<p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
<label for="reg_password"><?php esc_html_e( 'Password', 'woocommerce' ); ?>&nbsp;<span class="required" aria-hidden="true">*</span><span class="screen-reader-text"><?php esc_html_e( 'Required', 'woocommerce' ); ?></span></label>
<input type="password" class="woocommerce-Input woocommerce-Input--text input-text" name="password" id="reg_password" autocomplete="new-password" required aria-required="true" />
</p>
<?php else : ?>
<p><?php esc_html_e( 'A link to set a new password will be sent to your email address.', 'woocommerce' ); ?></p>
<?php endif; ?>
<?php do_action( 'woocommerce_register_form' ); ?>
<p class="woocommerce-form-row form-row">
<?php wp_nonce_field( 'woocommerce-register', 'woocommerce-register-nonce' ); ?>
<button type="submit" class="woocommerce-Button woocommerce-button button<?php echo esc_attr( wc_wp_theme_get_element_class_name( 'button' ) ? ' ' . wc_wp_theme_get_element_class_name( 'button' ) : '' ); ?> woocommerce-form-register__submit" name="register" value="<?php esc_attr_e( 'Register', 'woocommerce' ); ?>"><?php esc_html_e( 'Register', 'woocommerce' ); ?></button>
</p>
<?php do_action( 'woocommerce_register_form_end' ); ?>
</form>
</div>
</div>
<?php endif; ?>
<?php do_action( 'woocommerce_after_customer_login_form' ); ?>

@ -0,0 +1,4 @@
<?php
// include_module('profile');
// include_component('profile', 'profile');
?>

@ -0,0 +1,93 @@
<?php
/**
* My Addresses
*
* This template can be overridden by copying it to yourtheme/woocommerce/myaccount/my-address.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://woocommerce.com/document/template-structure/
* @package WooCommerce\Templates
* @version 9.3.0
*/
defined( 'ABSPATH' ) || exit;
$customer_id = get_current_user_id();
if ( ! wc_ship_to_billing_address_only() && wc_shipping_enabled() ) {
$get_addresses = apply_filters(
'woocommerce_my_account_get_addresses',
array(
'billing' => __( 'Billing address', 'woocommerce' ),
'shipping' => __( 'Shipping address', 'woocommerce' ),
),
$customer_id
);
} else {
$get_addresses = apply_filters(
'woocommerce_my_account_get_addresses',
array(
'billing' => __( 'Billing address', 'woocommerce' ),
),
$customer_id
);
}
$oldcol = 1;
$col = 1;
?>
<p>
<?php echo apply_filters( 'woocommerce_my_account_my_address_description', esc_html__( 'The following addresses will be used on the checkout page by default.', 'woocommerce' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</p>
<?php if ( ! wc_ship_to_billing_address_only() && wc_shipping_enabled() ) : ?>
<div class="u-columns woocommerce-Addresses col2-set addresses">
<?php endif; ?>
<?php foreach ( $get_addresses as $name => $address_title ) : ?>
<?php
$address = wc_get_account_formatted_address( $name );
$col = $col * -1;
$oldcol = $oldcol * -1;
?>
<div class="u-column<?php echo $col < 0 ? 1 : 2; ?> col-<?php echo $oldcol < 0 ? 1 : 2; ?> woocommerce-Address">
<header class="woocommerce-Address-title title">
<h2><?php echo esc_html( $address_title ); ?></h2>
<a href="<?php echo esc_url( wc_get_endpoint_url( 'edit-address', $name ) ); ?>" class="edit">
<?php
printf(
/* translators: %s: Address title */
$address ? esc_html__( 'Edit %s', 'woocommerce' ) : esc_html__( 'Add %s', 'woocommerce' ),
esc_html( $address_title )
);
?>
</a>
</header>
<address>
<?php
echo $address ? wp_kses_post( $address ) : esc_html_e( 'You have not set up this type of address yet.', 'woocommerce' );
/**
* Used to output content after core address fields.
*
* @param string $name Address type.
* @since 8.7.0
*/
do_action( 'woocommerce_my_account_after_my_address', $name );
?>
</address>
</div>
<?php endforeach; ?>
<?php if ( ! wc_ship_to_billing_address_only() && wc_shipping_enabled() ) : ?>
</div>
<?php
endif;

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="121" height="121" viewBox="0 0 121 121" fill="none"><path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" d="M103.293 60.2828C103.293 76.4596 98.412 91.066 90.5695 101.605C85.027 109.053 78.0294 114.445 70.2389 116.967C74.3157 113.838 77.8884 108.836 80.7637 102.622C85.8012 91.7348 88.8903 76.7646 88.8903 60.2828C88.8903 43.8009 85.8012 28.8307 80.7637 17.9436C77.8885 11.7295 74.3157 6.72732 70.2389 3.59884C78.0294 6.12069 85.027 11.5123 90.5695 18.9605C98.412 29.4996 103.293 44.1059 103.293 60.2828ZM60.46 120.566C60.4231 120.566 60.3862 120.566 60.3494 120.565C60.2951 120.565 60.2408 120.566 60.1864 120.566C60.1835 120.566 60.1806 120.566 60.1776 120.566C60.1752 120.566 60.1728 120.566 60.1704 120.566C58.3847 120.565 56.6246 120.427 54.8956 120.158C24.1275 117.438 -2.75205e-06 91.6409 0 60.2154C2.44683e-06 27.8551 25.5845 1.46296 57.6588 0.092141C58.4923 0.0309959 59.3322 -7.39604e-08 60.1779 0C60.2353 5.02441e-09 60.2927 0.000143045 60.3501 0.000428854C60.3867 0.000143983 60.4233 1.39357e-06 60.46 1.39686e-06C60.6265 1.4118e-06 60.7926 0.00294737 60.9582 0.00881014C61.452 0.0199689 61.9438 0.0416977 62.4334 0.0738259C94.7279 1.20495 120.563 27.6968 120.563 60.2154C120.563 91.8003 96.1902 117.7 65.1988 120.197C63.8045 120.403 62.3903 120.524 60.9589 120.557C60.793 120.563 60.6267 120.566 60.46 120.566ZM56.398 117.863C50.968 115.972 45.9285 110.334 41.9713 101.782C37.081 91.2132 34.0296 76.5419 34.0296 60.2828C34.0296 44.0236 37.081 29.3524 41.9713 18.7834C45.9285 10.2312 50.968 4.5937 56.398 2.70286C55.9307 3.43365 55.491 4.29568 55.0757 5.26482C53.7467 8.36594 52.5728 12.7918 51.5951 18.1851C49.6369 28.9881 48.4317 43.8713 48.4317 60.2828C48.4317 76.6942 49.6369 91.5775 51.5951 102.38C52.5727 107.774 53.7466 112.2 55.0757 115.301C55.491 116.27 55.9307 117.132 56.398 117.863ZM59.5738 118.391C59.3359 118.259 59.0646 118.041 58.7605 117.698C58.1613 117.022 57.5368 115.966 56.914 114.513C55.6717 111.614 54.5301 107.359 53.5631 102.024C51.632 91.3705 50.4317 76.6123 50.4317 60.2828C50.4317 43.9532 51.632 29.195 53.5631 18.5419C54.5301 13.2071 55.6717 8.95127 56.914 6.05265C57.5368 4.59943 58.1613 3.54387 58.7605 2.8675C59.2172 2.35195 59.6 2.11972 59.9065 2.03738C60.0315 2.03659 60.1565 2.0362 60.2816 2.0362C60.3361 2.0362 60.3906 2.03627 60.4451 2.03642C60.7523 2.11792 61.1363 2.34994 61.5947 2.8675C62.1939 3.54387 62.8185 4.59943 63.4413 6.05265C64.6835 8.95127 65.8251 13.2071 66.7922 18.5419C68.7232 29.195 69.9235 43.9532 69.9235 60.2828C69.9235 76.6123 68.7232 91.3705 66.7921 102.024C65.8251 107.359 64.6835 111.614 63.4412 114.513C62.8185 115.966 62.1939 117.022 61.5947 117.698C61.289 118.043 61.0164 118.261 60.7776 118.393C60.6124 118.394 60.4471 118.395 60.2816 118.395C60.0453 118.395 59.8094 118.393 59.5738 118.391ZM63.8089 118.089C64.3318 117.312 64.8206 116.372 65.2795 115.301C66.6086 112.2 67.7825 107.774 68.7601 102.38C70.7183 91.5775 71.9235 76.6942 71.9235 60.2828C71.9235 43.8713 70.7183 28.9881 68.7601 18.1851C67.7825 12.7919 66.6086 8.36594 65.2796 5.26482C64.8206 4.19382 64.3318 3.25364 63.8089 2.47682C69.5101 4.10729 74.8188 9.858 78.9486 18.7834C83.8389 29.3524 86.8903 44.0236 86.8903 60.2828C86.8903 76.5419 83.8389 91.2132 78.9486 101.782C74.8188 110.708 69.5101 116.458 63.8089 118.089ZM29.7862 101.605C35.5546 109.357 42.899 114.881 51.0731 117.261C46.8331 114.157 43.1233 109.035 40.1562 102.622C35.1187 91.7348 32.0296 76.7646 32.0296 60.2828C32.0296 43.8009 35.1187 28.8307 40.1562 17.9436C43.1233 11.5311 46.8331 6.40909 51.0731 3.3049C42.899 5.68469 35.5546 11.2088 29.7862 18.9605C21.9437 29.4995 17.063 44.1059 17.063 60.2828C17.063 76.4596 21.9437 91.066 29.7862 101.605ZM77.583 4.64253C83.0999 7.7243 88.047 12.2205 92.174 17.7665C100.298 28.6836 105.293 43.7186 105.293 60.2828C105.293 76.8469 100.298 91.882 92.174 102.799C88.1799 108.166 83.4176 112.551 78.1141 115.621C101.58 108.101 118.563 86.1369 118.563 60.2154C118.563 34.0987 101.324 11.9996 77.583 4.64253ZM41.9809 115.469C18.7572 107.808 2 85.9642 2 60.2154C2 34.2712 19.0125 12.2917 42.5107 4.79022C37.0991 7.86718 32.2433 12.3085 28.1817 17.7665C20.0579 28.6836 15.063 43.7186 15.063 60.2828C15.063 76.8469 20.0579 91.882 28.1817 102.799C32.1103 108.078 36.782 112.407 41.9809 115.469Z" fill="url(#paint0_linear_11666_41291)"></path><defs><linearGradient id="paint0_linear_11666_41291" x1="4.63847" y1="82.4894" x2="29.4618" y2="20.0946" gradientUnits="userSpaceOnUse"><stop stop-color="#F44242"></stop><stop offset="1" stop-color="#569EF0"></stop></linearGradient></defs></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="166" height="104" viewBox="0 0 166 104" fill="none"><path d="M142.355 59.8173L142.372 59.801L142.387 59.7839L147.777 53.871C148.857 52.6864 148.814 50.8622 147.681 49.7288L142.355 44.4031L109.757 11.8051C107.414 9.46199 107.414 5.663 109.757 3.31986C112.101 0.976713 115.9 0.976713 118.243 3.31986L162.79 47.8676C165.134 50.2107 165.134 54.0097 162.79 56.3529L118.243 100.901C115.9 103.244 112.101 103.244 109.757 100.901C107.414 98.5575 107.414 94.7585 109.757 92.4153L142.355 59.8173Z" stroke="url(#paint0_linear_11666_41297)" stroke-width="2"></path><path d="M88.8554 59.8173L88.8717 59.801L88.8873 59.7839L94.2768 53.871C95.3566 52.6864 95.3144 50.8622 94.181 49.7288L88.8554 44.4031L56.2574 11.8051C53.9142 9.46199 53.9142 5.663 56.2574 3.31986C58.6005 0.976713 62.3995 0.976713 64.7427 3.31986L109.29 47.8676C111.634 50.2107 111.634 54.0097 109.29 56.3529L64.7427 100.901C62.3995 103.244 58.6005 103.244 56.2574 100.901C53.9142 98.5575 53.9142 94.7585 56.2574 92.4153L88.8554 59.8173Z" stroke="url(#paint1_linear_11666_41297)" stroke-width="2"></path><path d="M35.3554 59.8173L35.3717 59.801L35.3873 59.7839L40.7768 53.871C41.8566 52.6864 41.8144 50.8622 40.681 49.7288L35.3554 44.4031L2.75736 11.8051C0.414214 9.46199 0.414213 5.663 2.75736 3.31986C5.10051 0.976713 8.89951 0.976713 11.2427 3.31986L55.7904 47.8676C58.1335 50.2107 58.1335 54.0097 55.7904 56.3529L11.2427 100.901C8.89951 103.244 5.10052 103.244 2.75737 100.901C0.414222 98.5575 0.41422 94.7585 2.75737 92.4153L35.3554 59.8173Z" stroke="url(#paint2_linear_11666_41297)" stroke-width="2"></path><defs><linearGradient id="paint0_linear_11666_41297" x1="109.253" y1="71.0991" x2="138.293" y2="29.6446" gradientUnits="userSpaceOnUse"><stop stop-color="#F44242"></stop><stop offset="1" stop-color="#569EF0"></stop></linearGradient><linearGradient id="paint1_linear_11666_41297" x1="55.7525" y1="71.0991" x2="84.793" y2="29.6446" gradientUnits="userSpaceOnUse"><stop stop-color="#F44242"></stop><stop offset="1" stop-color="#569EF0"></stop></linearGradient><linearGradient id="paint2_linear_11666_41297" x1="2.25254" y1="71.0991" x2="31.293" y2="29.6446" gradientUnits="userSpaceOnUse"><stop stop-color="#F44242"></stop><stop offset="1" stop-color="#569EF0"></stop></linearGradient></defs></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="145" height="98" viewBox="0 0 145 98" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M66.9613 0.661133C66.3364 0.661133 65.7371 0.904633 65.2952 1.33807L33.1564 32.8619C32.3011 33.7008 32.2323 35.0387 32.9972 35.9577L39.739 44.0584C27.9109 49.1211 17.8349 54.9282 10.8059 60.7227C7.17983 63.712 4.31581 66.7378 2.45064 69.7005C0.582667 72.6678 -0.333613 75.658 0.110647 78.4864C0.707324 82.2852 3.54344 85.1201 7.74426 87.101C11.9591 89.0887 17.7247 90.3088 24.5811 90.782C35.5224 91.5371 49.4098 90.4007 64.605 87.2774V95.3499C64.605 96.6264 65.66 97.6611 66.9613 97.6611H82.2655C83.5668 97.6611 84.6218 96.6264 84.6218 95.3499V82.1903C101.016 77.2236 115.448 70.8146 126.064 64.11C132.234 60.2132 137.174 56.1793 140.455 52.2216C143.725 48.2771 145.481 44.2353 144.885 40.4365C144.377 37.203 142.079 34.7256 138.709 32.9022C135.33 31.0739 130.725 29.8167 125.268 29.091C114.481 27.6562 100.115 28.2669 84.6218 30.9123V2.97234C84.6218 1.69589 83.5668 0.661133 82.2655 0.661133H66.9613ZM84.6218 33.2672V79.7951C100.665 74.8984 114.716 68.6299 125.002 62.1332C131.046 58.3159 135.731 54.457 138.763 50.8003C141.805 47.1305 143.049 43.8363 142.609 41.0347C142.246 38.727 140.565 36.6846 137.48 35.015C134.403 33.3503 130.074 32.1413 124.751 31.4333C114.212 30.0315 100.024 30.6249 84.6218 33.2672ZM82.2655 80.5002V2.97234H66.9613L34.8226 34.4962L44.2405 45.8124L66.9613 24.1037V84.4148C69.9535 83.7611 72.9948 83.0303 76.0727 82.2214C78.1646 81.6716 80.23 81.0971 82.2655 80.5002ZM66.9613 86.7794V95.3499H82.2655V82.8902C80.345 83.4494 78.3994 83.9885 76.4314 84.5057C73.2335 85.3462 70.0722 86.1038 66.9613 86.7794ZM64.605 84.9157V29.5815L45.8847 47.468C45.4113 47.9203 44.7661 48.1568 44.1064 48.1199C43.4467 48.083 42.8331 47.7761 42.4152 47.274L41.2541 45.8789C29.2075 50.965 19.0684 56.7905 12.1377 62.5041C8.63995 65.3876 6.00819 68.2027 4.35063 70.8357C2.69589 73.4643 2.06251 75.8246 2.38665 77.8882C2.8267 80.6898 4.96565 83.0949 8.87395 84.938C12.7682 86.7744 18.2459 87.9624 24.9624 88.4259C35.7179 89.1682 49.4812 88.042 64.605 84.9157Z" fill="url(#paint0_linear_1_3164)"></path><defs><linearGradient id="paint0_linear_1_3164" x1="5.57864" y1="67.0273" x2="20.0296" y2="12.7285" gradientUnits="userSpaceOnUse"><stop stop-color="#F44242"></stop><stop offset="1" stop-color="#569EF0"></stop></linearGradient></defs></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="145" height="98" viewBox="0 0 145 98" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M32.9201 36.0402C32.8523 36.689 33.0711 37.3353 33.5224 37.8191C33.9737 38.3028 34.6152 38.5789 35.2882 38.5789H36.328C26.3176 43.1677 17.6325 48.3985 11.2812 53.6175C7.53717 56.694 4.55692 59.805 2.60355 62.8198C0.651972 65.8318 -0.341358 68.8573 0.106108 71.6716C0.70351 75.4289 3.54284 78.2313 7.74461 80.1887C11.9606 82.1527 17.7268 83.3581 24.5831 83.8256C27.0569 83.9942 29.6812 84.0674 32.4372 84.0439V95.3548C32.4372 96.6285 33.5028 97.6611 34.8174 97.6611H100.97C102.284 97.6611 103.35 96.6285 103.35 95.3548V80.8694C103.35 79.5956 102.284 78.563 100.97 78.563H72.6935C73.933 78.2631 75.1789 77.9507 76.4304 77.6257C96.1922 72.4948 113.709 65.1843 126.06 57.4782C132.23 53.6286 137.171 49.6432 140.453 45.7325C143.724 41.8349 145.482 37.8388 144.885 34.0814C144.458 31.3958 142.82 29.2222 140.361 27.5222C137.908 25.8267 134.575 24.5548 130.587 23.6694C122.614 21.8992 111.787 21.6239 99.4679 22.8192C98.3782 17.7407 96.432 13.3742 93.5637 9.78139C88.6641 3.46393 80.0441 0.661133 68.5999 0.661133C58.431 0.661133 50.1046 3.33308 43.9074 8.92099L43.8953 8.932C37.7155 14.5828 34.1995 23.7981 32.9201 36.0402ZM99.896 25.1229C100.318 27.789 100.525 30.6337 100.525 33.6492C100.525 39.1049 98.9851 44.3635 95.9728 49.3948C93.0423 54.4203 88.3149 59.5967 81.9253 64.9368L81.9235 64.9383C77.0925 68.9677 70.9409 73.3994 63.4868 78.2321C67.5877 77.4174 71.7925 76.4563 76.068 75.3462C95.6509 70.2618 112.913 63.0388 124.988 55.5055C131.03 51.7353 135.713 47.9246 138.743 44.3142C141.784 40.6906 143.025 37.4406 142.586 34.6784C142.277 32.7351 141.075 30.9981 138.922 29.5104C136.764 28.0182 133.713 26.8254 129.877 25.9737C122.305 24.2928 111.899 23.9893 99.896 25.1229ZM57.3983 79.348C57.8185 79.0851 58.2351 78.8235 58.6479 78.563C67.6603 72.8765 74.9012 67.7522 80.3708 63.1903C86.6486 57.9436 91.1607 52.9631 93.9073 48.2487C96.7323 43.5343 98.1448 38.6678 98.1448 33.6492C98.1448 24.0683 95.9868 16.5785 91.6708 11.1797C87.4333 5.7049 79.743 2.9675 68.5999 2.9675C58.8692 2.9675 51.1789 5.51481 45.5289 10.6094C40.3207 15.3718 36.9982 23.1574 35.5614 33.9662C35.4612 34.7202 35.3701 35.489 35.2882 36.2725H41.603C41.6849 36.2384 41.7669 36.2043 41.8489 36.1703C42.2364 36.0096 42.6393 36.0616 42.9319 36.2725H50.2373C51.1005 29.429 52.9838 24.6006 55.8873 21.7871C58.7908 18.9737 63.0283 17.567 68.5999 17.567C73.7791 17.567 77.5065 18.9737 79.7822 21.7871C82.0579 24.5245 83.1958 28.4786 83.1958 33.6492C83.1958 37.9074 81.744 42.0515 78.8405 46.0816C76.0155 50.1116 71.2287 54.75 64.48 59.9967C57.8099 65.2434 47.9223 72.2009 34.8174 80.8694V81.6496C41.6564 81.4691 49.2771 80.7093 57.3983 79.348ZM34.8174 84.0005V95.3548H100.97V80.8694H62.0343C52.2129 82.7389 42.9886 83.7739 34.8174 84.0005ZM32.4372 81.6893V80.8694C32.4372 80.1072 32.8258 79.3942 33.4754 78.9645C46.5632 70.3074 56.3867 63.3922 62.9799 58.206L62.9905 58.1978C69.6671 53.0071 74.2418 48.5372 76.8716 44.7856C76.8773 44.7775 76.8831 44.7694 76.8889 44.7613C79.5578 41.0568 80.8156 37.3652 80.8156 33.6492C80.8156 28.7654 79.7354 25.4074 77.9286 23.234C77.922 23.226 77.9154 23.218 77.9089 23.2099C76.2469 21.1553 73.3595 19.8733 68.5999 19.8733C63.4283 19.8733 59.8869 21.1733 57.5703 23.418C55.2319 25.6839 53.4411 29.8832 52.5999 36.5523C52.4539 37.7093 51.4401 38.5789 50.2373 38.5789H41.9659C30.0356 43.5809 19.7553 49.5372 12.6357 55.3876C9.01639 58.3617 6.26107 61.2699 4.5118 63.9697C2.76075 66.6723 2.08436 69.0568 2.40519 71.0747C2.84438 73.8369 4.97947 76.2104 8.88576 78.0302C12.7779 79.8433 18.2533 81.0166 24.9682 81.4744C27.3198 81.6348 29.8152 81.7068 32.4372 81.6893Z" fill="url(#paint0_linear_1_3169)"></path><defs><linearGradient id="paint0_linear_1_3169" x1="5.57864" y1="67.0273" x2="20.0296" y2="12.7285" gradientUnits="userSpaceOnUse"><stop stop-color="#F44242"></stop><stop offset="1" stop-color="#569EF0"></stop></linearGradient></defs></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="145" height="98" viewBox="0 0 145 98" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M38.9515 84.0341C33.7684 84.3385 28.9484 84.3376 24.5949 84.0373C17.7393 83.5644 11.973 82.345 7.75662 80.3578C3.55451 78.3772 0.713038 75.5409 0.115148 71.7365C-0.327501 68.9199 0.526682 65.9612 2.32256 63.0258C4.11345 60.0986 6.87992 57.1244 10.4079 54.1885C17.4603 48.3197 27.7525 42.4418 40.059 37.2741L49.0623 32.9348C49.0885 32.9221 49.1148 32.9105 49.1412 32.8999L70.8457 18.6302H38.5945C37.2702 18.6302 36.1967 17.5778 36.1967 16.2797V3.0117C36.1967 1.71352 37.2702 0.661133 38.5945 0.661133H100.498C101.822 0.661133 102.896 1.71352 102.896 3.0117V16.2797C102.896 17.1018 102.458 17.8643 101.74 18.2902L92.8708 23.5566L99.3855 22.3176L99.4382 22.3124C111.768 21.1 122.604 21.3774 130.584 23.1696C134.572 24.0654 137.905 25.3523 140.359 27.0681C142.819 28.7885 144.457 30.9888 144.885 33.7083C145.482 37.5127 143.722 41.5578 140.451 45.5014C137.169 49.4584 132.228 53.4904 126.059 57.3846C119.991 61.2147 112.677 64.9481 104.462 68.3708C103.373 76.4414 100.224 83.1146 94.875 88.2254L94.8637 88.2361C88.0985 94.6165 78.7635 97.6611 67.1925 97.6611C58.8897 97.6611 51.6871 95.4534 45.7211 90.9415C43.1739 89.0152 40.9202 86.7075 38.9515 84.0341ZM47.8839 62.7147C47.6171 62.0565 47.0617 61.5514 46.3723 61.3397C45.6829 61.128 44.9328 61.2324 44.3307 61.6238L33.5035 68.6616C32.6025 69.2472 32.2127 70.3513 32.5516 71.3576C33.8487 75.2085 35.4541 78.6705 37.3783 81.7247C32.9219 81.9318 28.7661 81.9021 24.9828 81.6411C18.2697 81.1781 12.7964 79.9914 8.90618 78.1579C5.00171 76.3176 2.86967 73.9184 2.43116 71.1281C2.10565 69.0568 2.70003 66.7239 4.27485 64.1499C5.85466 61.5677 8.38103 58.8148 11.7734 55.9917C18.5559 50.3475 28.6032 44.5851 40.7874 39.4713L40.818 39.4585L46.8112 36.57C46.821 36.597 46.8315 36.6239 46.8424 36.6508L52.9622 51.6493C53.4521 52.8502 54.8397 53.4374 56.0672 52.9634C60.9959 51.0599 65.7982 50.1272 70.4877 50.1272C75.2247 50.1272 78.7925 51.1965 81.4063 53.1183L81.4201 53.1284C81.4259 53.1326 81.4317 53.1367 81.4376 53.1409C83.8065 54.8246 85.1547 57.4848 85.1547 61.6215C85.1547 67.2588 83.4182 71.2752 80.2148 74.0366C80.0423 74.1813 79.8674 74.3224 79.6899 74.46C78.4928 74.7955 77.2861 75.1232 76.0705 75.4425C72.1126 76.4822 68.2154 77.3926 64.4052 78.1759C60.6283 77.802 57.7367 76.6428 55.5791 74.8414C52.8501 72.4957 50.2455 68.5399 47.8839 62.7147ZM58.6304 79.2784C56.8876 78.6247 55.348 77.7385 54.0115 76.6201C51.2719 74.27 48.8014 70.6598 46.5998 65.7895C46.2794 65.0806 45.9647 64.3451 45.6557 63.5828L34.8285 70.6206C36.2342 74.7943 37.9997 78.4439 40.1251 81.5694C45.8875 81.1872 52.1037 80.4274 58.6304 79.2784ZM101.879 69.425C100.692 76.4429 97.7995 82.1486 93.2014 86.5422C87.0032 92.3878 78.3336 95.3106 67.1925 95.3106C59.3467 95.3106 52.6777 93.2338 47.1856 89.0804C45.2155 87.5904 43.422 85.8431 41.8052 83.8385C48.858 83.287 56.5181 82.1953 64.5437 80.5493C65.3949 80.6218 66.2779 80.6581 67.1925 80.6581C72.6015 80.6581 77.1487 79.2933 80.8341 76.5637C88.2648 74.4538 95.3345 72.0405 101.879 69.425ZM102.238 66.7887C102.412 65.133 102.499 63.4107 102.499 61.6215C102.499 53.9299 99.9488 48.0074 94.849 43.854C89.8277 39.6236 82.8057 37.5084 73.783 37.5084C72.3022 37.5084 70.7111 37.5805 69.0097 37.7246C67.1956 37.8782 65.256 38.1139 63.1911 38.4314L100.498 16.2797V3.0117H38.5945V16.2797H78.7259L49.0686 35.7778L55.1883 50.7762C60.3666 48.7764 65.4664 47.7767 70.4877 47.7767C75.5875 47.7767 79.7066 48.9304 82.8449 51.2379C85.9833 53.4684 87.5524 56.9296 87.5524 61.6215C87.5524 66.2671 86.4567 70.1017 84.2653 73.1252C90.6002 71.204 96.6274 69.0685 102.238 66.7887ZM104.74 65.7511C112.439 62.4912 119.286 58.9676 124.978 55.3742C131.019 51.5608 135.701 47.7068 138.729 44.0559C141.768 40.3916 143.007 37.107 142.568 34.3167C142.26 32.3539 141.06 30.5984 138.909 29.0944C136.752 27.5858 133.703 26.3796 129.868 25.5182C122.212 23.7986 111.657 23.5043 99.4824 24.6976L90.0422 26.493C89.5381 26.5889 89.081 26.3479 88.8787 25.927L73.329 35.1599C73.4813 35.1585 73.6326 35.1578 73.783 35.1578C83.1621 35.1578 90.8062 37.3562 96.3967 42.0585C102.137 46.7413 104.896 53.3805 104.896 61.6215C104.896 63.0331 104.844 64.4098 104.74 65.7511Z" fill="url(#paint0_linear_1_3174)"></path><defs><linearGradient id="paint0_linear_1_3174" x1="5.57864" y1="67.0273" x2="20.0296" y2="12.7285" gradientUnits="userSpaceOnUse"><stop stop-color="#F44242"></stop><stop offset="1" stop-color="#569EF0"></stop></linearGradient></defs></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="145" height="98" viewBox="0 0 145 98" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M76.7999 62.6744V21.095L44.5417 62.6744H76.7999ZM49.1258 60.3738L74.6437 27.4823V60.3738H49.1258Z" fill="url(#paint0_linear_1_3179)"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M104.719 69.5394C112.74 65.9858 119.896 62.1587 125.861 58.2669C132.059 54.2231 137.027 50.0735 140.34 46.0409C143.633 42.0334 145.456 37.9289 144.902 34.0885C144.505 31.34 142.883 29.1655 140.462 27.5023C138.044 25.841 134.744 24.628 130.785 23.8206C122.86 22.2046 112.062 22.169 99.7455 23.6636L99.7181 23.667L93.0286 24.8654V2.96178C93.0286 1.69117 92.0632 0.661133 90.8723 0.661133H75.7174C75.0836 0.661133 74.4819 0.958656 74.0722 1.47463L44.3558 38.8998C44.0907 38.6365 43.6931 38.554 43.3094 38.7238C30.9526 44.1914 19.8817 50.6387 12.052 56.987C8.14123 60.158 4.98889 63.3443 2.89426 66.4162C0.808053 69.4758 -0.333601 72.5829 0.0862154 75.4903C0.640754 79.3307 3.45795 82.1084 7.60101 83.9901C11.77 85.8836 17.4949 86.9762 24.3228 87.296C37.6536 87.9204 55.4239 85.6084 74.6437 80.248V95.3605C74.6437 96.6311 75.6091 97.6611 76.7999 97.6611H90.8723C92.0632 97.6611 93.0286 96.6311 93.0286 95.3605V79.5279H102.563C103.754 79.5279 104.719 78.4979 104.719 77.2272V69.5394ZM104.719 62.6744C104.719 61.4038 103.754 60.3738 102.563 60.3738H93.0286V27.2086L99.7925 25.9968C111.989 24.5187 122.557 24.574 130.209 26.1344C134.041 26.9158 137.085 28.0634 139.231 29.5376C141.374 31.0097 142.539 32.7452 142.819 34.684C143.217 37.4455 141.955 40.7722 138.851 44.5501C135.768 48.3029 131.028 52.293 124.936 56.2678C119.234 59.9881 112.396 63.6636 104.719 67.0968V62.6744ZM102.563 68.0452V62.6744H90.8723V2.96178H75.7174L28.3043 62.6744V77.2272H76.7999V77.2665C86.0058 74.5894 94.6942 71.4489 102.563 68.0452ZM76.7999 79.6355C85.9732 76.9827 94.6593 73.8676 102.563 70.4791V77.2272H90.8723V95.3605H76.7999V79.6355ZM68.4442 79.5279H28.3043C27.1135 79.5279 26.1481 78.4979 26.1481 77.2272V62.6744C26.1481 62.1298 26.3292 61.6028 26.6591 61.1873L42.1368 41.6945C30.6197 46.9322 20.4222 52.9658 13.1771 58.8402C9.3653 61.9308 6.42088 64.9373 4.52605 67.7162C2.62279 70.5074 1.88226 72.909 2.16899 74.8948C2.56774 77.6563 4.65267 80.0261 8.5583 81.8C12.438 83.5621 17.9084 84.6332 24.6199 84.9475C36.3412 85.4965 51.6605 83.73 68.4442 79.5279Z" fill="url(#paint1_linear_1_3179)"></path><defs><linearGradient id="paint0_linear_1_3179" x1="5.57864" y1="67.0273" x2="20.0296" y2="12.7285" gradientUnits="userSpaceOnUse"><stop stop-color="#F44242"></stop><stop offset="1" stop-color="#569EF0"></stop></linearGradient><linearGradient id="paint1_linear_1_3179" x1="5.57864" y1="67.0273" x2="20.0296" y2="12.7285" gradientUnits="userSpaceOnUse"><stop stop-color="#F44242"></stop><stop offset="1" stop-color="#569EF0"></stop></linearGradient></defs></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="32" height="33" viewBox="0 0 32 33" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.25023 2.99272C0 5.24325 0 8.86108 0 16.101V17.3791C0 24.619 0 28.2411 2.25023 30.4917C4.50046 32.7422 8.11782 32.7422 15.361 32.7422H16.639C23.8779 32.7422 27.4995 32.7422 29.7498 30.4917C32 28.2411 32 24.6233 32 17.3791V16.101C32 8.86108 32 5.239 29.7498 2.98847C27.4995 0.742188 23.8779 0.742188 16.639 0.742188H15.361C8.11782 0.742188 4.50046 0.742188 2.25023 2.99272ZM5.40056 10.4789C5.57463 18.7974 9.73544 23.7995 17.0253 23.7995H17.4372V19.0394C20.1162 19.3069 22.1414 21.2645 22.9566 23.7995H26.7438C25.7036 20.0118 22.9694 17.9184 21.2626 17.1201C22.9694 16.135 25.3682 13.7316 25.9414 10.4789H22.5023C21.7551 13.1201 19.5431 15.5193 17.4372 15.7443V10.4789H13.9981V19.7061C11.8668 19.1711 9.17076 16.5851 9.05188 10.4789H5.40056Z" fill="white"></path></svg>

After

Width:  |  Height:  |  Size: 954 B

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="32" height="33" viewBox="0 0 32 33" fill="none"><path d="M16 0.742188C7.16387 0.742188 0 7.90606 0 16.7422C0 25.5783 7.16387 32.7422 16 32.7422C24.8361 32.7422 32 25.5783 32 16.7422C32 7.90606 24.8361 0.742188 16 0.742188ZM23.8555 11.7048L21.2335 24.0815C21.0374 24.959 20.5213 25.1757 19.7884 24.7628L15.7832 21.8106L13.8529 23.6686C13.6361 23.8854 13.4606 24.0609 13.0477 24.0609L13.3265 19.9938L20.7381 13.2944C21.0581 13.0157 20.6658 12.8506 20.2426 13.1293L11.0761 18.8996L7.1329 17.6712C6.27613 17.4028 6.25548 16.8144 7.31871 16.4015L22.751 10.4454C23.4632 10.1873 24.0929 10.6209 23.8555 11.7048Z" fill="white"></path></svg>

After

Width:  |  Height:  |  Size: 719 B

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="33" height="33" viewBox="0 0 33 33" fill="none"><path d="M15.568 0.742188C15.3825 3.24847 15.3939 5.78891 14.9687 8.25368C14.1605 12.9294 11.5304 15.3105 6.79636 15.8649C4.54453 16.1288 2.2659 16.1683 0 16.3095C0 15.8187 0.160702 14.5311 0.188825 14.3684C1.18518 8.62865 4.32691 4.50931 9.62271 2.11485C11.0322 1.47874 15.0772 0.742188 15.568 0.742188Z" fill="white"></path><path d="M0 17.1484C1.98668 17.287 3.98207 17.3527 5.9567 17.5897C7.26575 17.7464 8.59221 18.0209 9.82962 18.4669C12.4651 19.417 14.1652 21.387 14.6935 24.0901C15.2399 26.887 15.4375 29.7528 15.8051 32.7325C13.2814 32.8082 11.2063 32.2571 9.25913 31.3016C4.19768 28.8188 1.14634 24.7905 0.190834 19.2074C0.156685 19.0072 0 17.6399 0 17.1484Z" fill="white"></path><path d="M19.7047 1.16135C26.3892 2.64115 31.7125 8.86167 32.0111 15.5469C32.0205 15.7538 32.0124 15.9614 32.0124 16.3069C28.4489 16.181 24.8913 16.3457 21.5842 14.8097C18.8215 13.526 17.5138 11.1249 17.0839 8.25502C16.7739 6.18397 16.7257 4.07408 16.5542 1.9816C16.5201 1.56713 16.4585 1.15533 16.4089 0.742189C16.8997 0.741519 19.096 1.0261 19.7047 1.16135Z" fill="white"></path><path d="M16.3945 32.6792C16.6202 30.1595 16.7032 27.7075 17.0862 25.303C17.7719 20.9968 20.1751 18.5528 24.4544 17.843C26.8897 17.4393 29.3799 17.3643 31.844 17.1406C32.5009 24.1633 25.5157 32.8807 16.3945 32.6792Z" fill="white"></path></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="54" height="49" viewBox="0 0 54 49" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.0815 7.92932C49.4355 6.5889 51.629 6.5889 52.983 7.92932C54.339 9.27186 54.339 11.4501 52.983 12.7927L29.1999 36.3385C27.8459 37.6789 25.6524 37.6789 24.2984 36.3385L10.8231 22.9976C9.46708 21.6551 9.46708 19.4768 10.8231 18.1343C12.1771 16.7939 14.3706 16.7939 15.7246 18.1343L26.7492 29.0489L48.0815 7.92932ZM51.8777 9.03434C51.1351 8.29909 49.9294 8.29909 49.1867 9.03434L26.7492 31.2481L14.6194 19.2393C13.8767 18.504 12.671 18.504 11.9284 19.2393C11.1878 19.9724 11.1878 21.1595 11.9284 21.8926L25.4037 35.2335C26.1463 35.9687 27.352 35.9687 28.0946 35.2335L51.8777 11.6877C52.6182 10.9545 52.6182 9.76747 51.8777 9.03434Z" fill="url(#paint0_radial_11666_41321)"></path><path d="M1.56688 24.6641C1.56688 12.2738 11.7134 2.22296 24.238 2.22296C32.565 2.22296 39.8409 6.66576 43.7825 13.2851L44.9262 12.1528C40.6662 5.26123 32.9929 0.664062 24.238 0.664062C10.8554 0.664062 0 11.4056 0 24.6641C0 37.9225 10.8554 48.6641 24.238 48.6641C37.6206 48.6641 48.476 37.9225 48.476 24.6641C48.476 22.0965 48.0689 19.6234 47.3152 17.3043L46.0573 18.5496C46.6122 20.4936 46.9091 22.5446 46.9091 24.6641C46.9091 37.0543 36.7625 47.1052 24.238 47.1052C11.7134 47.1052 1.56688 37.0543 1.56688 24.6641Z" fill="url(#paint1_radial_11666_41321)"></path><defs><radialGradient id="paint0_radial_11666_41321" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(54 0.664065) rotate(138.366) scale(72.2496 97.959)"><stop stop-color="#188892"></stop><stop offset="0.45" stop-color="#1EA49C"></stop><stop offset="0.9" stop-color="#76CE75"></stop><stop offset="1" stop-color="#BBE38D"></stop></radialGradient><radialGradient id="paint1_radial_11666_41321" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(54 0.664065) rotate(138.366) scale(72.2496 97.959)"><stop stop-color="#188892"></stop><stop offset="0.45" stop-color="#1EA49C"></stop><stop offset="0.9" stop-color="#76CE75"></stop><stop offset="1" stop-color="#BBE38D"></stop></radialGradient></defs></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="54" height="49" viewBox="0 0 54 49" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.0815 7.92932C49.4355 6.5889 51.629 6.5889 52.983 7.92932C54.339 9.27186 54.339 11.4501 52.983 12.7927L29.1999 36.3385C27.8459 37.6789 25.6524 37.6789 24.2984 36.3385L10.8231 22.9976C9.46708 21.6551 9.46708 19.4768 10.8231 18.1343C12.1771 16.7939 14.3706 16.7939 15.7246 18.1343L26.7492 29.0489L48.0815 7.92932ZM51.8777 9.03434C51.1351 8.29909 49.9294 8.29909 49.1867 9.03434L26.7492 31.2481L14.6194 19.2393C13.8767 18.504 12.671 18.504 11.9284 19.2393C11.1878 19.9724 11.1878 21.1595 11.9284 21.8926L25.4037 35.2335C26.1463 35.9687 27.352 35.9687 28.0946 35.2335L51.8777 11.6877C52.6182 10.9545 52.6182 9.76747 51.8777 9.03434Z" fill="url(#paint0_radial_11666_41321)"></path><path d="M1.56688 24.6641C1.56688 12.2738 11.7134 2.22296 24.238 2.22296C32.565 2.22296 39.8409 6.66576 43.7825 13.2851L44.9262 12.1528C40.6662 5.26123 32.9929 0.664062 24.238 0.664062C10.8554 0.664062 0 11.4056 0 24.6641C0 37.9225 10.8554 48.6641 24.238 48.6641C37.6206 48.6641 48.476 37.9225 48.476 24.6641C48.476 22.0965 48.0689 19.6234 47.3152 17.3043L46.0573 18.5496C46.6122 20.4936 46.9091 22.5446 46.9091 24.6641C46.9091 37.0543 36.7625 47.1052 24.238 47.1052C11.7134 47.1052 1.56688 37.0543 1.56688 24.6641Z" fill="url(#paint1_radial_11666_41321)"></path><defs><radialGradient id="paint0_radial_11666_41321" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(54 0.664065) rotate(138.366) scale(72.2496 97.959)"><stop stop-color="#188892"></stop><stop offset="0.45" stop-color="#1EA49C"></stop><stop offset="0.9" stop-color="#76CE75"></stop><stop offset="1" stop-color="#BBE38D"></stop></radialGradient><radialGradient id="paint1_radial_11666_41321" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(54 0.664065) rotate(138.366) scale(72.2496 97.959)"><stop stop-color="#188892"></stop><stop offset="0.45" stop-color="#1EA49C"></stop><stop offset="0.9" stop-color="#76CE75"></stop><stop offset="1" stop-color="#BBE38D"></stop></radialGradient></defs></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save