Skip to content

Conversation

@didu4
Copy link
Contributor

@didu4 didu4 commented Nov 6, 2025

Изменения

  1. Продублировал функционал сворачивания отзывов из админки на страницу лектора

Детали реализации

  1. Перенес уже имеющийся функционал
  2. Добавил от себя функцию checkExpandButton()
  3. Добавил хук watch, для корректной работы функции showExpandButton и отображения кнопки "развернуть" при переключении пагинации.

Check-List

  • Вы проверили свой код перед отправкой запроса?
  • Вы написали тесты к реализованным функциям?
  • Вы не забыли применить форматирование black и isort для Back-End или Prettier для Front-End?

@Dmatrushka19 Dmatrushka19 self-assigned this Nov 6, 2025
@Dmatrushka19 Dmatrushka19 assigned didu4 and unassigned Dmatrushka19 Nov 7, 2025
Copy link
Contributor

@Dmatrushka19 Dmatrushka19 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

При тесте не всегда сворачивание работает корректно: пример /lecturer?lecturer_id=6757 первый отзыв сворачивает неверно. Должен оставлять только первые три строки. Возможно дело в том, как был спарсен этот отзыв с сайта, но надо разобраться.

В идеале, зафиксировать длину 3 строки, и если отзыв длиннее - всегда сворачивать.

То, что при 'pnpm check' стили ругаются на другие файлы - не обращай внимания.

@BatuevIO
Copy link
Contributor

BatuevIO commented Nov 7, 2025

Давайте более содержательно называть ПРы и ветки

@didu4 didu4 changed the title Fix rating Import Expand Button on the Lecturer page Nov 8, 2025
@Dmatrushka19 Dmatrushka19 self-requested a review November 9, 2025 21:10
Copy link
Contributor

@Dmatrushka19 Dmatrushka19 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тесты прокатил, все гуд

Изменения, как у Дани в админке, кроме хука watch, который нужен, чтобы при переиспользовании кнопки "свернуть" для нового комментария корректно применялась функция showExpandButton.

Без watch работает так:
проблема в поведении v-data-iterator и Vue при переходе между страницами: Когда используется TheReviewCard в LecturerPage компоненты не пересоздаются при переключении пагинации, а переиспользуются (потому что key="review.uuid" остаётся тем же).
Поэтому состояние expanded и showExpandButton сохраняется между переключениями страниц. То есть если первый отзыв на первой странице переключил expanded = true, то при переходе на вторую страницу, у первого отзыва expanded = true и кнопка больше не отображается, потому что считается, что это короткий отзыв, которому кнопка не нужна.

Почему не работает функция showExpandButton: Хук onUpdated() вызывается до того, как Vue переразметит и пересчитает высоту текста при переходе на следующую страницу, то есть высота текста проверяется слишком рано и Vue решает, что кнопка не нужна.

@Dmatrushka19 Dmatrushka19 merged commit da4a22a into main Nov 10, 2025
2 checks passed
@Dmatrushka19 Dmatrushka19 deleted the fix-rating branch November 10, 2025 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Сворачивание длинных отзывов на странице лектора

4 participants