@@ -9,21 +9,12 @@ import React, {
99} from 'react' ;
1010
1111import HelpPanelTabContainer from './HelpPanelTabs/HelpPanelTabContainer' ;
12- import QuickStartsPanel from './HelpPanelTabs/QuickStartsPanel' ;
1312import { TabType } from './HelpPanelTabs/helpPanelTabsMapper' ;
1413import { getOpenQuickstartInHelpPanelStore } from '../../store/openQuickstartInHelpPanelStore' ;
1514import { useGetState } from '@scalprum/react-core' ;
1615import { useFlag , useFlags } from '@unleash/proxy-client-react' ;
1716import { SearchIcon } from '@patternfly/react-icons' ;
1817import { AiChatbotIcon } from '../common/AiChatbotIcon' ;
19- import {
20- QuickStartCloseModal ,
21- QuickStartStatus ,
22- } from '@patternfly/quickstarts' ;
23- import type { AllQuickStartStates } from '@patternfly/quickstarts' ;
24- import useChrome from '@redhat-cloud-services/frontend-components/useChrome' ;
25- import fetchQuickstarts from '../../utils/fetchQuickstarts' ;
26- import type { ExtendedQuickstart } from '../../utils/fetchQuickstarts' ;
2718import { HelpPanelTabContent } from './HelpPanelLink' ;
2819import type { OpenQuickstartInHelpPanelState } from '../../store/openQuickstartInHelpPanelStore' ;
2920
@@ -101,7 +92,6 @@ const filterTabsByFeatureFlags = (
10192
10293const HelpPanelCustomTabs = React . forwardRef < HelpPanelCustomTabsRef > (
10394 ( _ , ref ) => {
104- const chrome = useChrome ( ) ;
10595 const vaFlag = useFlag ( 'platform.chrome.help-panel_chatbot' ) ;
10696 const vaEnvFlag = useFlag ( 'platform.va.environment.enabled' ) ;
10797 const flags = useFlags ( ) ;
@@ -123,69 +113,6 @@ const HelpPanelCustomTabs = React.forwardRef<HelpPanelCustomTabsRef>(
123113 defaultTab ?. id || 'learn'
124114 ) ;
125115
126- // Quickstart state (for when quickstarts are opened as overlays)
127- const [ helpPanelQuickStarts , setHelpPanelQuickStarts ] = useState <
128- ExtendedQuickstart [ ]
129- > ( [ ] ) ;
130- const [ helpPanelQuickStartsLoading , setHelpPanelQuickStartsLoading ] =
131- useState ( true ) ;
132- const [ allQuickStartStates , setAllQuickStartStates ] =
133- useState < AllQuickStartStates > ( { } ) ;
134- const [ activeQuickstartId , setActiveQuickstartId ] = useState < string | null > (
135- null
136- ) ;
137- const [ closeModalOpen , setCloseModalOpen ] = useState ( false ) ;
138-
139- const closeQuickstart = useCallback ( ( ) => {
140- setActiveQuickstartId ( null ) ;
141- } , [ ] ) ;
142-
143- const handleQuickstartDrawerClose = useCallback (
144- ( activeQuickStartStatus : string | number ) => {
145- if ( activeQuickStartStatus === QuickStartStatus . IN_PROGRESS ) {
146- setCloseModalOpen ( true ) ;
147- } else {
148- closeQuickstart ( ) ;
149- }
150- } ,
151- [ closeQuickstart ]
152- ) ;
153-
154- // Load quickstarts for the panel
155- useEffect ( ( ) => {
156- let cancelled = false ;
157- setHelpPanelQuickStartsLoading ( true ) ;
158- if ( ! chrome ?. auth ?. getUser ) {
159- setHelpPanelQuickStartsLoading ( false ) ;
160- return ( ) => {
161- cancelled = true ;
162- } ;
163- }
164- chrome . auth
165- . getUser ( )
166- . then ( ( user ) => {
167- if ( ! user || cancelled ) {
168- if ( ! cancelled ) setHelpPanelQuickStartsLoading ( false ) ;
169- return ;
170- }
171- return fetchQuickstarts ( chrome . auth . getUser , { } ) . then ( ( data ) => {
172- if ( ! cancelled ) {
173- setHelpPanelQuickStarts ( data ) ;
174- setHelpPanelQuickStartsLoading ( false ) ;
175- }
176- } ) ;
177- } )
178- . catch ( ( err ) => {
179- if ( ! cancelled ) {
180- setHelpPanelQuickStartsLoading ( false ) ;
181- console . error ( 'Help Panel: failed to load quickstarts' , err ) ;
182- }
183- } ) ;
184- return ( ) => {
185- cancelled = true ;
186- } ;
187- } , [ chrome ?. auth ] ) ;
188-
189116 // Placeholder for setNewActionTitle - no longer used but kept for TabContainer API compatibility
190117 const setNewActionTitle = useCallback ( ( title : string ) => {
191118 // No-op: tabs are now static, titles don't change
@@ -227,13 +154,15 @@ const HelpPanelCustomTabs = React.forwardRef<HelpPanelCustomTabsRef>(
227154 useEffect ( ( ) => {
228155 const { pendingOpen } = openQuickstartState ;
229156 if ( ! pendingOpen ) return ;
230- const { quickstartId } = pendingOpen ;
231157
232- // Open quickstart as an overlay (not as a separate tab)
233- setActiveQuickstartId ( quickstartId ) ;
158+ // Switch to Learn tab (quickstart will be opened in drill-down mode by LearnPanel)
159+ const learnTab = tabs . find ( ( tab ) => tab . tabType === TabType . learn ) ;
160+ if ( learnTab ) {
161+ setActiveTabId ( learnTab . id ) ;
162+ }
234163
235- openQuickstartStore . updateState ( 'CONSUMED_OPEN' ) ;
236- } , [ openQuickstartState . pendingOpen , openQuickstartStore ] ) ;
164+ // Note: we do NOT consume the event here - LearnPanel will consume it after opening the quickstart
165+ } , [ openQuickstartState . pendingOpen , tabs ] ) ;
237166
238167 // Update active tab when tabs change (due to feature flags)
239168 useEffect ( ( ) => {
@@ -286,30 +215,6 @@ const HelpPanelCustomTabs = React.forwardRef<HelpPanelCustomTabsRef>(
286215 } ) }
287216 </ Tabs >
288217 </ div >
289- { /* Quickstart overlay - rendered on top of tabs when a quickstart is opened */ }
290- { activeQuickstartId && (
291- < div className = "lr-c-help-panel-quickstart-overlay" >
292- < QuickStartsPanel
293- activeQuickStartID = { activeQuickstartId }
294- quickStarts = { helpPanelQuickStarts }
295- loading = { helpPanelQuickStartsLoading }
296- allQuickStartStates = { allQuickStartStates }
297- setAllQuickStartStates = { setAllQuickStartStates }
298- onClose = { handleQuickstartDrawerClose }
299- onCloseNotInProgress = { closeQuickstart }
300- />
301- </ div >
302- ) }
303- < QuickStartCloseModal
304- isOpen = { closeModalOpen }
305- onConfirm = { ( ) => {
306- closeQuickstart ( ) ;
307- setCloseModalOpen ( false ) ;
308- } }
309- onCancel = { ( ) => {
310- setCloseModalOpen ( false ) ;
311- } }
312- />
313218 </ >
314219 ) ;
315220 }
0 commit comments