@@ -34,14 +34,17 @@ import {
34
34
UnsnoozeQuickInputButton ,
35
35
} from '../../commands/quickCommand.buttons' ;
36
36
import { ensureAccessStep } from '../../commands/quickCommand.steps' ;
37
+ import type { OpenWalkthroughCommandArgs } from '../../commands/walkthroughs' ;
37
38
import { proBadge , urls } from '../../constants' ;
39
+ import { Commands } from '../../constants.commands' ;
38
40
import type { LaunchpadTelemetryContext , Source , Sources , TelemetryEvents } from '../../constants.telemetry' ;
39
41
import type { Container } from '../../container' ;
40
42
import { PlusFeatures } from '../../features' ;
41
43
import type { QuickPickItemOfT } from '../../quickpicks/items/common' ;
42
44
import { createQuickPickItemOfT , createQuickPickSeparator } from '../../quickpicks/items/common' ;
43
45
import type { DirectiveQuickPickItem } from '../../quickpicks/items/directive' ;
44
46
import { createDirectiveQuickPickItem , Directive , isDirectiveQuickPickItem } from '../../quickpicks/items/directive' ;
47
+ import { executeCommand } from '../../system/command' ;
45
48
import { configuration } from '../../system/configuration' ;
46
49
import { getScopedCounter } from '../../system/counter' ;
47
50
import { fromNow } from '../../system/date' ;
@@ -838,7 +841,20 @@ export class LaunchpadCommand extends QuickCommand<State> {
838
841
state : StepState < State > ,
839
842
context : Context ,
840
843
) : AsyncStepResultGenerator < { connected : boolean | IntegrationId ; resume : ( ) => void } > {
841
- const confirmations : ( QuickPickItemOfT < IntegrationId > | DirectiveQuickPickItem ) [ ] = [ ] ;
844
+ const confirmations : ( QuickPickItemOfT < IntegrationId > | DirectiveQuickPickItem ) [ ] = [
845
+ createDirectiveQuickPickItem ( Directive . Cancel , undefined , {
846
+ label : 'Launchpad prioritizes your pull requests to keep you focused and your team unblocked' ,
847
+ detail : 'Click to learn more about Launchpad' ,
848
+ iconPath : new ThemeIcon ( 'rocket' ) ,
849
+ onDidSelect : ( ) =>
850
+ void executeCommand < OpenWalkthroughCommandArgs > ( Commands . OpenWalkthrough , {
851
+ step : 'launchpad' ,
852
+ source : 'launchpad' ,
853
+ detail : 'info' ,
854
+ } ) ,
855
+ } ) ,
856
+ createQuickPickSeparator ( ) ,
857
+ ] ;
842
858
843
859
for ( const integration of supportedLaunchpadIntegrations ) {
844
860
if ( context . connectedIntegrations . get ( integration ) ) {
@@ -876,7 +892,7 @@ export class LaunchpadCommand extends QuickCommand<State> {
876
892
`${ this . title } \u00a0\u2022\u00a0 Connect an Integration` ,
877
893
confirmations ,
878
894
createDirectiveQuickPickItem ( Directive . Cancel , false , { label : 'Cancel' } ) ,
879
- { placeholder : 'Launchpad requires a connected integration' , ignoreFocusOut : false } ,
895
+ { placeholder : 'Connect an integration to get started with Launchpad' , buttons : [ ] , ignoreFocusOut : false } ,
880
896
) ;
881
897
882
898
// Note: This is a hack to allow the quickpick to stay alive after the user finishes connecting the integration.
@@ -905,21 +921,35 @@ export class LaunchpadCommand extends QuickCommand<State> {
905
921
const step = this . createConfirmStep (
906
922
`${ this . title } \u00a0\u2022\u00a0 Connect an ${ hasConnectedIntegration ? 'Additional ' : '' } Integration` ,
907
923
[
924
+ createDirectiveQuickPickItem ( Directive . Cancel , undefined , {
925
+ label : 'Launchpad prioritizes your pull requests to keep you focused and your team unblocked' ,
926
+ detail : 'Click to learn more about Launchpad' ,
927
+ iconPath : new ThemeIcon ( 'rocket' ) ,
928
+ onDidSelect : ( ) =>
929
+ void executeCommand < OpenWalkthroughCommandArgs > ( Commands . OpenWalkthrough , {
930
+ step : 'launchpad' ,
931
+ source : 'launchpad' ,
932
+ detail : 'info' ,
933
+ } ) ,
934
+ } ) ,
935
+ createQuickPickSeparator ( ) ,
908
936
createQuickPickItemOfT (
909
937
{
910
938
label : `Connect an ${ hasConnectedIntegration ? 'Additional ' : '' } Integration...` ,
911
939
detail : hasConnectedIntegration
912
- ? 'Add additional integrations to view their pull requests in Launchpad'
913
- : 'Launchpad organizes your pull requests into actionable groups to keep your team unblocked' ,
940
+ ? 'Connect additional integrations to view their pull requests in Launchpad'
941
+ : 'Connect an integration to accelerate your PR reviews' ,
942
+ picked : true ,
914
943
} ,
915
944
true ,
916
945
) ,
917
946
] ,
918
947
createDirectiveQuickPickItem ( Directive . Cancel , false , { label : 'Cancel' } ) ,
919
948
{
920
949
placeholder : hasConnectedIntegration
921
- ? 'Add additional integrations to Launchpad'
922
- : 'Launchpad requires a connected integration' ,
950
+ ? 'Connect additional integrations to Launchpad'
951
+ : 'Connect an integration to get started with Launchpad' ,
952
+ buttons : [ ] ,
923
953
ignoreFocusOut : true ,
924
954
} ,
925
955
) ;
0 commit comments