fix/dashboard: нейтральное приветствие без коллега когда имя не задано U2
Без имени дашборд звал коллега — звучит как к чужому. Теперь Доброе утро! без обращения; имя клиент задаёт в Настройки Профиль. U6 автопополнение уже имел тултип-пояснение. Тест DashboardPageHead 6/6. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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 ₽).
|
||||
|
||||
Reference in New Issue
Block a user