1- import React , { useState } from "react" ;
1+ import React , { useState , useEffect , useRef } from "react" ;
22import "./header.css" ;
33import Link from "@docusaurus/Link" ;
44import { motion } from "framer-motion" ;
@@ -123,7 +123,29 @@ const HeaderContent = () => {
123123} ;
124124
125125const HeaderToaster = ( ) => {
126- const [ showActivity , setShowActivity ] = useState ( true ) ;
126+ // Terminal shows first; Live Activity auto-opens after 10s (or on prompt click)
127+ const [ showActivity , setShowActivity ] = useState ( false ) ;
128+ const autoOpenTimerRef = useRef < NodeJS . Timeout | null > ( null ) ;
129+
130+ useEffect ( ( ) => {
131+ autoOpenTimerRef . current = setTimeout ( ( ) => {
132+ setShowActivity ( true ) ;
133+ } , 10000 ) ;
134+
135+ return ( ) => {
136+ if ( autoOpenTimerRef . current ) {
137+ clearTimeout ( autoOpenTimerRef . current ) ;
138+ }
139+ } ;
140+ } , [ ] ) ;
141+
142+ const openActivity = ( ) => {
143+ if ( autoOpenTimerRef . current ) {
144+ clearTimeout ( autoOpenTimerRef . current ) ;
145+ autoOpenTimerRef . current = null ;
146+ }
147+ setShowActivity ( true ) ;
148+ } ;
127149
128150 return (
129151 < motion . div
@@ -146,7 +168,7 @@ const HeaderToaster = () => {
146168 width : "100%" ,
147169 } }
148170 >
149- { /* Live Activity by default; mock terminal takes its place once closed */ }
171+ { /* Mock terminal by default; Live Activity opens after 10s or on prompt click */ }
150172 < div
151173 style = { {
152174 position : "relative" ,
@@ -164,7 +186,7 @@ const HeaderToaster = () => {
164186 animate = { { opacity : 1 , scale : 1 } }
165187 transition = { { duration : 0.5 , ease : [ 0.4 , 0 , 0.2 , 1 ] } }
166188 >
167- < MockTerminal />
189+ < MockTerminal onPromptClick = { openActivity } />
168190 </ motion . div >
169191 ) }
170192 </ div >
0 commit comments