fix/dashboard: нейтральное приветствие без коллега когда имя не задано U2

Без имени дашборд звал коллега — звучит как к чужому. Теперь Доброе утро! без обращения;
имя клиент задаёт в Настройки Профиль. U6 автопополнение уже имел тултип-пояснение.
Тест DashboardPageHead 6/6.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-06-25 12:28:38 +03:00
parent f1a99fc874
commit bddd2a8d7d
2 changed files with 11 additions and 5 deletions
@@ -29,7 +29,10 @@ const props = withDefaults(
const auth = useAuthStore();
/** Имя залогиненного пользователя (было захардкожено «Иван»). */
const firstName = computed(() => auth.user?.first_name?.trim() || 'коллега');
const firstName = computed(() => auth.user?.first_name?.trim() || '');
// U2 (UX-аудит 25.06): без имени НЕ зовём «коллега» (звучит как к чужому) —
// приветствуем нейтрально «Доброе утро!». Имя клиент задаёт в Настройки→Профиль.
const hasName = computed(() => firstName.value !== '');
/** Приветствие по времени суток (МСК машины пользователя). */
const greeting = computed(() => {
@@ -55,7 +58,8 @@ const avgCostLabel = computed(() => {
<header class="page-head">
<div>
<h1 class="text-h4 mb-2 page-greet">
{{ greeting }}, <em class="text-primary">{{ firstName }}</em>
{{ greeting }}<template v-if="hasName">, <em class="text-primary">{{ firstName }}</em></template
><template v-else>!</template>
</h1>
<div class="page-meta text-body-2 text-medium-emphasis">
<span>сегодня <span class="num">{{ leadsToday }}</span> · вчера <span class="num">{{ leadsYesterday }}</span></span>
+5 -3
View File
@@ -34,10 +34,12 @@ describe('DashboardPageHead.vue', () => {
expect(greet).not.toContain('Иван');
});
it('при отсутствии user приветствие рендерится без падения', () => {
it('без имени приветствие нейтральное, без «коллега» (U2)', () => {
const wrapper = mountHead(null);
expect(wrapper.find('.page-greet').exists()).toBe(true);
expect(wrapper.find('.page-greet').text().length).toBeGreaterThan(0);
const greet = wrapper.find('.page-greet').text();
expect(greet.length).toBeGreaterThan(0);
expect(greet).not.toContain('коллега');
expect(greet).toContain('!'); // «Доброе утро!» — без обращения к чужому
});
// F5: meta-строка раньше была захардкоженной «рыбой» (+3 / 11 / 38 / 2 248 ₽).