diff options
Diffstat (limited to 'apps/dashboard/src/App.vue')
-rw-r--r-- | apps/dashboard/src/App.vue | 43 |
1 files changed, 34 insertions, 9 deletions
diff --git a/apps/dashboard/src/App.vue b/apps/dashboard/src/App.vue index c5eed836faa..30e9a2835ca 100644 --- a/apps/dashboard/src/App.vue +++ b/apps/dashboard/src/App.vue @@ -163,18 +163,43 @@ export default { }, greeting() { const time = this.timer.getHours() - const shouldShowName = this.displayName && this.uid !== this.displayName - if (time > 18) { - return { text: shouldShowName ? t('dashboard', 'Good evening, {name}', { name: this.displayName }) : t('dashboard', 'Good evening') } - } - if (time > 12) { - return { text: shouldShowName ? t('dashboard', 'Good afternoon, {name}', { name: this.displayName }) : t('dashboard', 'Good afternoon') } + // Determine part of the day + let partOfDay + if (time >= 22 && time < 5) { + partOfDay = 'night' + } else if (time >= 18) { + partOfDay = 'evening' + } else if (time >= 12) { + partOfDay = 'afternoon' + } else { + partOfDay = 'morning' } - if (time > 5) { - return { text: shouldShowName ? t('dashboard', 'Good morning, {name}', { name: this.displayName }) : t('dashboard', 'Good morning') } + + // Define the greetings + const good = { + morning: { + generic: t('dashboard', 'Good morning'), + withName: t('dashboard', 'Good morning, {name}', { name: this.displayName }), + }, + afternoon: { + generic: t('dashboard', 'Good afternoon'), + withName: t('dashboard', 'Good afternoon, {name}', { name: this.displayName }), + }, + evening: { + generic: t('dashboard', 'Good evening'), + withName: t('dashboard', 'Good evening, {name}', { name: this.displayName }), + }, + night: { + // Don't use "Good night" as it's not a greeting + generic: t('dashboard', 'Hello'), + withName: t('dashboard', 'Hello, {name}', { name: this.displayName }), + }, } - return { text: shouldShowName ? t('dashboard', 'Good night, {name}', { name: this.displayName }) : t('dashboard', 'Good night') } + + // Figure out which greeting to show + const shouldShowName = this.displayName && this.uid !== this.displayName + return { text: shouldShowName ? good[partOfDay].withName : good[partOfDay].generic } }, isActive() { return (panel) => this.layout.indexOf(panel.id) > -1 |