@@ -38,9 +38,20 @@ import { useAgentSelectedModel } from './agentModelSelection';
3838import { CoworkUiEvent } from './constants' ;
3939import CoworkPromptInput , { type CoworkPromptInputRef } from './CoworkPromptInput' ;
4040import CoworkSessionDetail from './CoworkSessionDetail' ;
41+ import HomeRecentTasks from './HomeRecentTasks' ;
4142import { reportPromptTemplateAction } from './promptAnalytics' ;
4243import { buildCoworkContinuationSystemPrompt , buildCoworkSystemPrompt } from './skillSystemPrompt' ;
4344
45+ // Time-aware hero greeting: the brand mark stays as the logo, so the heading
46+ // can greet the user instead of repeating the product name on every visit.
47+ const resolveHomeGreetingKey = ( date : Date = new Date ( ) ) : string => {
48+ const hour = date . getHours ( ) ;
49+ if ( hour >= 5 && hour < 12 ) return 'coworkGreetingMorning' ;
50+ if ( hour >= 12 && hour < 18 ) return 'coworkGreetingAfternoon' ;
51+ if ( hour >= 18 && hour < 23 ) return 'coworkGreetingEvening' ;
52+ return 'coworkGreetingLateNight' ;
53+ } ;
54+
4455const logCoworkViewModel = ( message : string ) : void => {
4556 console . debug ( `[CoworkView] ${ message } ` ) ;
4657 window . electron ?. log ?. fromRenderer ?.( 'debug' , 'CoworkView' , message ) ;
@@ -795,13 +806,13 @@ const CoworkView: React.FC<CoworkViewProps> = ({ onRequestAppSettings, onShowSki
795806 className = "mt-4 text-2xl font-semibold leading-[var(--lobster-leading-2xl)] tracking-normal text-foreground animate-fade-in-up"
796807 style = { { animationDelay : '70ms' , animationFillMode : 'both' } }
797808 >
798- { i18nService . t ( 'coworkWelcome' ) }
809+ { i18nService . t ( resolveHomeGreetingKey ( ) ) }
799810 </ h2 >
800811 < p
801812 className = "mt-2 text-[length:var(--lobster-text-promptLarge)] font-normal leading-[var(--lobster-leading-promptLarge)] text-secondary animate-fade-in-up"
802813 style = { { animationDelay : '120ms' , animationFillMode : 'both' } }
803814 >
804- { i18nService . t ( 'coworkDescription ' ) }
815+ { i18nService . t ( 'coworkHomeTagline ' ) }
805816 </ p >
806817 </ div >
807818
@@ -846,6 +857,9 @@ const CoworkView: React.FC<CoworkViewProps> = ({ onRequestAppSettings, onShowSki
846857 ) }
847858 < CreditsResetCampaignFloat />
848859 </ div >
860+
861+ { /* Recent tasks - one-click resume for returning users */ }
862+ < HomeRecentTasks />
849863 < div aria-hidden = "true" className = "w-full min-h-[24px] flex-[3_0_0px]" />
850864 </ div >
851865 </ div >
0 commit comments