Skip to content

fix: add allowAvatar prop to task-header component for conditional av… - #1610

Merged
HlukhovYe merged 2 commits into
mainfrom
fix/WTEL-10421/fix-call-header-avatar-displayment
Sep 18, 2026
Merged

HlukhovYe merged 2 commits into
mainfrom
fix/WTEL-10421/fix-call-header-avatar-displayment

Conversation

@HlukhovYe

@HlukhovYe HlukhovYe commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

…atar display WTEL-10421


const withAvatar = computed(
() => props.size === ComponentSize.SM && !!props.username,
() => props.size === ComponentSize.SM && props.allowAvatar,

@liza-pohranichna liza-pohranichna Sep 17, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

не розумію, чого воно не робе, враховуючи що ти в пропс новий дописав буквально те ж саме, що є в пропсі username
а шо там не так?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

воно то робе, але якщо передавати юзернейм як Unknown Contact, то аватарка відображається як UC, а треба N/A, посилання на комент - https://webitel.atlassian.net/browse/WTEL-10421?focusedCommentId=785599

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

всеодно недоганяю.... мені вже тупо цікаво розібратися)))

@@ -1,5 +1,5 @@
<template>
<task-header :size="props.size" :username="call?.contact ? title : undefined">
<task-header :size="props.size" :allow-avatar="!!call?.contact" :username="call?.contact ? displayName : undefined">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

отут, (якщо без нового пропса) якщо немає контакту, то вертається андерфайнд, а значіть аватар не покажеться

@@ -1,5 +1,5 @@
<template>
<task-header :size="props.size" :username="chatInfo.username">
<task-header :size="props.size" :allow-avatar="!!chatInfo.username" :username="chatInfo.username">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

тут (якщо без нового пропса), по-суті !!chatInfo.username перевірка йде в компоненті самому отут https://github.com/webitel/cc-workspaces/pull/1610/changes#diff-f0c32be5b0b386dbffe3b60e00b309ebf8149d136ffe37d4079f3644bfe37bb4L34

якщо ж З новим пропсом, то якщо в chatInfo.username значення якесь тіпа "Unknown Contact", то allow-avatar буде тру

@@ -1,5 +1,5 @@
<template>
<task-header :size="props.size" :username="task.displayName">
<task-header :size="props.size" :allow-avatar="!!task.displayName" :username="task.displayName">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

тут так само

@webitel-review

Copy link
Copy Markdown

🤖 Webitel Code Review

Цей комміт додає нову властивість allowAvatar до компонента task-header та використовує її в call-header для керування відображенням аватара (показувати лише тоді, коли є контакт call?.contact). Проте через логічну помилку в task-header.vue аватар все одно буде відображатися для всіх дзвінків, у яких є displayName (наприклад, номер телефону), навіть якщо allowAvatar дорівнює false.

📋 Walkthrough (2 файл(и/ів))
Файл Зміни
src/ui/modules/work-section/modules/_shared/components/task-header/task-header.vue Додано проп allowAvatar та оновлено обчислювану властивість withAvatar для підтримки нового прапорця.
src/ui/modules/work-section/modules/call/components/call-header.vue Передано проп :allow-avatar="!!call?.contact" та змінено передачу :username на displayName.

Знахідки

  • [medium] src/ui/modules/work-section/modules/_shared/components/task-header/task-header.vue:37 — Через використання оператора || у виразі props.allowAvatar || !!props.username, значення allowAvatar=false ігнорується, якщо username є правдивим (truthy). Оскільки в call-header.vue тепер завжди передається displayName (який майже завжди містить номер телефону або ім'я), аватар буде відображатися для всіх дзвінків, навіть якщо call?.contact відсутній (тобто allow-avatar дорівнює false). Для збереження зворотної сумісності та коректної роботи нового пропу слід використовувати оператор нульового злиття ?? замість ||.

Index-grounded review across the Webitel codebase. Знахідки можуть бути неточними — перевіряйте перед застосуванням.

@webitel-review webitel-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🤖 Webitel Code Review — пропозиції змін

const withAvatar = computed(
() => props.size === ComponentSize.SM && !!props.username,
() =>
props.size === ComponentSize.SM && (props.allowAvatar || !!props.username),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Використання оператора ?? дозволить враховувати явне передане значення false для allowAvatar, а за його відсутності (undefined) повертатися до перевірки наявності username.

Suggested change
props.size === ComponentSize.SM && (props.allowAvatar || !!props.username),
props.size === ComponentSize.SM && (props.allowAvatar ?? !!props.username),

@HlukhovYe
HlukhovYe merged commit df2bd4a into main Sep 18, 2026
11 checks passed
@HlukhovYe
HlukhovYe deleted the fix/WTEL-10421/fix-call-header-avatar-displayment branch September 18, 2026 08:11
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.

2 participants