@@ -157,6 +157,10 @@ export class WebviewService {
157157 {
158158 find : "@RELEASE_NOTES" ,
159159 replace : "releaseNotes"
160+ } ,
161+ {
162+ find : "@CHECKED" ,
163+ replace : "checked"
160164 }
161165 ]
162166 } ,
@@ -189,6 +193,10 @@ export class WebviewService {
189193 {
190194 find : "@GISTS" ,
191195 replace : "gists"
196+ } ,
197+ {
198+ find : "@SKIP" ,
199+ replace : "skip"
192200 }
193201 ]
194202 }
@@ -306,28 +314,24 @@ export class WebviewService {
306314 }
307315
308316 public IsLandingPageEnabled ( ) : boolean {
309- const dontShowThisAgain = state . context . globalState . get < boolean > (
317+ return ! state . context . globalState . get < boolean > (
310318 "landingPage.dontShowThisAgain"
311319 ) ;
312- if ( dontShowThisAgain ) {
313- return false ;
314- } else {
315- return true ;
316- }
317320 }
318321
319- public OpenLandingPage ( ) {
322+ public OpenLandingPage ( cmd ?: string ) {
320323 const webview = this . webviews [ 0 ] ;
321324 const releaseNotes = require ( "../../release-notes.json" ) ;
322325 const content : string = this . GenerateContent ( {
323326 content : webview . htmlContent ,
324327 items : webview . replaceables ,
325- releaseNotes
328+ releaseNotes,
329+ checked : this . IsLandingPageEnabled ( )
326330 } ) ;
327331 if ( webview . webview ) {
328332 webview . webview . webview . html = content ;
329333 webview . webview . reveal ( ) ;
330- return webview ;
334+ return webview . webview ;
331335 }
332336 const landingPanel = vscode . window . createWebviewPanel (
333337 "landingPage" ,
@@ -341,7 +345,7 @@ export class WebviewService {
341345 landingPanel . webview . onDidReceiveMessage ( async message => {
342346 switch ( message . command ) {
343347 case "loginWithGitHub" :
344- new GitHubOAuthService ( 54321 ) . StartProcess ( ) ;
348+ new GitHubOAuthService ( 54321 ) . StartProcess ( cmd ) ;
345349 const customSettings = await state . commons . GetCustomSettings ( ) ;
346350 const host = customSettings . githubEnterpriseUrl
347351 ? new URL ( customSettings . githubEnterpriseUrl )
@@ -398,17 +402,21 @@ export class WebviewService {
398402 return landingPanel ;
399403 }
400404
401- public OpenGistSelectionpage ( gists : any ) {
405+ public OpenGistSelectionpage ( gists : any , cmd ?: string ) {
402406 const webview = this . webviews [ 2 ] ;
403407 const content : string = this . GenerateContent ( {
404408 content : webview . htmlContent ,
405409 items : webview . replaceables ,
406- gists
410+ gists,
411+ skip :
412+ cmd !== "extension.downloadSettings"
413+ ? `<a href="#" onclick="vscode.postMessage({close: true});" title="Skip (new one will be created upon first upload)" class="btn btn-primary mt-4">Skip (new one will be created upon first upload)</a>`
414+ : ""
407415 } ) ;
408416 if ( webview . webview ) {
409417 webview . webview . webview . html = content ;
410418 webview . webview . reveal ( ) ;
411- return webview ;
419+ return webview . webview ;
412420 }
413421 const gistSelectionPanel = vscode . window . createWebviewPanel (
414422 "selectGist" ,
@@ -428,6 +436,9 @@ export class WebviewService {
428436 } else {
429437 gistSelectionPanel . dispose ( ) ;
430438 }
439+ if ( cmd ) {
440+ vscode . commands . executeCommand ( cmd ) ;
441+ }
431442 } ) ;
432443 webview . webview = gistSelectionPanel ;
433444 gistSelectionPanel . onDidDispose ( ( ) => ( webview . webview = null ) ) ;
0 commit comments