diff --git a/wp-content/themes/dekart/assets/css/camp.css b/wp-content/themes/dekart/assets/css/camp.css index d94707d..c3f0967 100644 --- a/wp-content/themes/dekart/assets/css/camp.css +++ b/wp-content/themes/dekart/assets/css/camp.css @@ -1886,89 +1886,183 @@ html { } /* contact END */ -/* reviews */ -.camp-reviews-wrapper { - position: relative; +/* ═══════════════════════════════════════════════ + REVIEWS — Yandex-style via lazeweb utilities + ═══════════════════════════════════════════════ */ +.lw-scroll-x { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding-bottom: 8px; +} +.lw-scroll-x::-webkit-scrollbar { + height: 6px; +} +.lw-scroll-x::-webkit-scrollbar-thumb { + background: #ccc; + border-radius: 8px; } -.camp-reviews-wrapper .reviews__item-client_name { - font-size: 16px; - font-weight: 400; - text-align: start; +.lw-grid { + display: grid; +} +.lw-grid--3 { + grid-template-columns: repeat(3, 1fr); +} +.lw-grid--2 { + grid-template-columns: repeat(2, 1fr); +} +.lw-gap-20 { + gap: 20px; } -.camp-reviews-wrapper .reviews__item-client_text { - text-align: start; - line-height: 1.4; - font-size: 16px; - font-weight: 400; +.lw-flex { + display: flex; +} +.lw-flex--row { + flex-direction: row; +} +.lw-flex--col { + flex-direction: column; +} +.lw-gap-12 { + gap: 12px; +} +.lw-gap-8 { + gap: 8px; +} +.lw-items-center { + align-items: center; +} +.lw-justify-between { + justify-content: space-between; } -.camp-reviews-wrapper .reviews-wrapper { - margin-top: 0; +.lw-card { + background: #fff; + border-radius: 16px; + padding: 20px; + box-shadow: 0 2px 12px rgba(0,0,0,0.06); + display: flex; + flex-direction: column; + transition: box-shadow .2s; +} +.lw-card:hover { + box-shadow: 0 4px 20px rgba(0,0,0,0.1); } -.camp-reviews-wrapper .reviews__item, -.camp-reviews-wrapper .reviews__item-wrapper { - min-height: auto; - width: 100%; +.lw-avatar { + border-radius: 50%; + overflow: hidden; + flex-shrink: 0; + background: #e8f5e9; + display: flex; + align-items: center; + justify-content: center; } -.camp-reviews-wrapper .reviews__item-wrapper:before { - display: none; +.lw-avatar--48 { + width: 48px; + height: 48px; } -.camp-reviews-wrapper .custom-button-next, -.camp-reviews-wrapper .custom-button-prev { - position: absolute; - top: var(--swiper-navigation-top-offset, 50%); - width: 54px; - height: 54px; - margin-top: calc(0px -(var(--swiper-navigation-size) / 2)); - z-index: 10; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; - color: var(--swiper-navigation-color, var(--swiper-theme-color)); - background-image: none; +.lw-avatar__img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; } -.camp-reviews-wrapper .custom-button-next { - right: -50px; +.lw-text-dark { + color: #1c2b2d; } -.camp-reviews-wrapper .custom-button-prev { - left: -50px; +.lw-text-gray { + color: #888; +} +.lw-text-sm { + font-size: 14px; + line-height: 1.4; +} +.lw-text-xs { + font-size: 12px; + line-height: 1.3; +} +.lw-font-medium { + font-weight: 500; +} +.lw-font-semibold { + font-weight: 600; +} +.lw-font-bold { + font-weight: 700; } -.camp-reviews-wrapper .custom-button-next:after { - content: 'next'; +.lw-mt-8 { + margin-top: 8px; +} +.lw-mb-8 { + margin-bottom: 8px; +} +.lw-mb-12 { + margin-bottom: 12px; } -.camp-reviews-wrapper .custom-button-next:after, -.camp-reviews-wrapper .custom-button-prev:after { - font-family: swiper-icons; - color: #fff; - font-weight: 600; - font-size: 26px; - padding: 5px; - border-radius: 50%; - height: 54px; - width: 54px; - display: flex; - background: #3bb273; - align-items: center; - justify-content: center; +.lw-badge { + display: inline-flex; + align-items: center; + padding: 4px 10px; + border-radius: 50px; + font-size: 11px; + font-weight: 600; + line-height: 1.2; + white-space: nowrap; + margin-left: auto; + flex-shrink: 0; +} +.lw-badge--verified { + background: #e8f5e9; + color: #2e7d32; } -.camp-reviews-wrapper .custom-button-next:after { - content: 'next'; +.lw-stars { + display: flex; + gap: 2px; + align-items: center; +} +.lw-star { + color: #e0e0e0; + flex-shrink: 0; +} +.lw-star--filled { + color: #FFD43E; } -.camp-reviews-wrapper .custom-button-prev:after { - content: 'prev'; +.lw-card__text { + font-size: 14px; + line-height: 1.55; + color: #444; + word-break: break-word; } -.camp-reviews-wrapper .swiper-button-disabled { - opacity: 0; +@media (max-width: 768px) { + .lw-grid--3, + .lw-grid--2 { + display: flex; + gap: 16px; + overflow-x: auto; + scroll-snap-type: x mandatory; + -webkit-overflow-scrolling: touch; + padding-bottom: 4px; + } + .lw-grid--3 .lw-card, + .lw-grid--2 .lw-card { + flex: 0 0 300px; + scroll-snap-align: start; + } +} + +@media (max-width: 480px) { + .lw-grid--3 .lw-card, + .lw-grid--2 .lw-card { + flex: 0 0 260px; + } } /* reviews END*/ @@ -2665,29 +2759,6 @@ html { height: clamp(292px, 37.5vw, 450px); } - .camp-reviews-wrapper .reviews__item-client_name { - font-size: clamp(10px, 1.33vw, 16px); - } - - .camp-reviews-wrapper .reviews__item-client_text { - font-size: clamp(10px, 1.33vw, 16px); - } - - .camp-reviews-wrapper .custom-button-next, - .camp-reviews-wrapper .custom-button-prev { - width: clamp(35px, 4.5vw, 54px); - height: clamp(35px, 4.5vw, 54px); - margin-top: calc(1px -(var(--swiper-navigation-size) / 2)); - } - - .camp-reviews-wrapper .custom-button-next:after, - .camp-reviews-wrapper .custom-button-prev:after { - font-size: clamp(17px, 2.17vw, 26px); - padding: clamp(3px, .42vw, 5px); - height: clamp(35px, 4.5vw, 54px); - width: clamp(35px, 4.5vw, 54px); - } - } @media (width < 780px) { @@ -2909,11 +2980,6 @@ html { left: 10px; } - .more .btn-more { - height: 24px; - background: #fff; - } - .faq-wrapper { gap: 0; flex-direction: column; @@ -2964,14 +3030,6 @@ html { .mentors__item_img { max-height: 195px; } - .camp-reviews-wrapper .custom-button-next { - right: -20px; - top: 40%; - } - .camp-reviews-wrapper .custom-button-prev { - left: -20px; - top: 40%; - } .modal-mentors-wrapper { position: relative; padding: 15px; @@ -3027,12 +3085,6 @@ html { width: 100%; padding-left: 10px; } - .camp-reviews-wrapper .custom-button-next:after, .camp-reviews-wrapper .custom-button-prev:after { - font-size: 12px; - height: 27px; - width: 27px; - display: flex; - } } .modal-camp-request-form { diff --git a/wp-content/themes/dekart/page-camp.php b/wp-content/themes/dekart/page-camp.php index 4dfe1b0..522eedc 100644 --- a/wp-content/themes/dekart/page-camp.php +++ b/wp-content/themes/dekart/page-camp.php @@ -463,91 +463,64 @@ $metrics = [

Что говорят о нас родители

- 'review_type', - 'value' => 'camp', - 'compare' => '=' - ] - ]; - - ?> -
-
-
-
- -1, - 'post_type' => 'reviews', - 'orderby' => 'date', - 'order' => 'DESC', - 'suppress_filters' => true, - 'meta_query' => $key, - ); - $the_query = new WP_Query($args); - if ($the_query->have_posts()) : - while ($the_query->have_posts()) : $the_query->the_post(); - - $review_id = get_the_ID(); - - $review_date = get_the_date( 'd.m.Y'); - $review_level = carbon_get_post_meta( $review_id, 'review_level' ); - - $avatar = carbon_get_post_meta( $review_id, 'review_avatar' ); - - $stars = carbon_get_post_meta( $review_id, 'review_star' ); - $tekst_otzyva = carbon_get_post_meta( $review_id, 'review_text' ); - $prepodavatel = carbon_get_post_meta( $review_id, 'review_teacher' ); - - $add_class= "more"; - - if ( strlen($tekst_otzyva) < 350 ) $add_class= ""; - - if ( $tekst_otzyva ) : ?> -
-
-
-
- - <?php echo get_post_meta( $avatar, '_wp_attachment_image_alt', true ); ?> - -
-
-
-
-
-
-
- - - - - - -
-
- - -
-
-
- + 'review_type', + 'value' => 'camp', + 'compare' => '=' + ) + ); + $args = array( + 'posts_per_page' => -1, + 'post_type' => 'reviews', + 'orderby' => 'date', + 'order' => 'DESC', + 'suppress_filters' => true, + 'meta_query' => $key, + ); + $the_query = new WP_Query($args); + if ($the_query->have_posts()) : + ?> +
+
+ have_posts()) : $the_query->the_post(); + $review_id = get_the_ID(); + $avatar = carbon_get_post_meta($review_id, 'review_avatar'); + $stars = carbon_get_post_meta($review_id, 'review_star'); + $text = carbon_get_post_meta($review_id, 'review_text'); + $date = get_the_date('d.m.Y'); + $name = get_the_title(); + if (!$stars) $stars = 5; + if (!$text) continue; + ?> +
+
+
+ + <?php echo esc_attr($name); ?> +
+
+
+
+
+
Проверенный отзыв
- +
+ + + + + +
+
-
-
- +
-
+ + +

Часто задаваемые вопросы