From 921b369feb1305184c96e1f037b1434bca4c5662 Mon Sep 17 00:00:00 2001 From: Keith Daulton Date: Fri, 30 Sep 2022 10:38:34 -0400 Subject: [PATCH] Updates home webview content --- src/storage.ts | 6 + .../apps/home/components/card-section.ts | 110 ++++++ .../apps/home/components/stepped-section.ts | 108 ++++++ src/webviews/apps/home/home.html | 330 ++++++++++++++++-- src/webviews/apps/home/home.scss | 256 +++++++++++++- src/webviews/apps/home/home.ts | 298 +++++++++------- src/webviews/apps/media/getting-started.png | Bin 0 -> 51604 bytes src/webviews/apps/media/gitlens-backdrop.png | Bin 0 -> 70928 bytes src/webviews/apps/media/gitlens-logo.png | Bin 0 -> 2925 bytes src/webviews/apps/media/play-button-dark.png | Bin 0 -> 1057 bytes src/webviews/apps/media/play-button.png | Bin 0 -> 1119 bytes src/webviews/apps/play-button.svg | 4 + src/webviews/home/homeWebviewView.ts | 80 ++++- src/webviews/home/protocol.ts | 18 +- src/webviews/webviewViewBase.ts | 9 + 15 files changed, 1062 insertions(+), 157 deletions(-) create mode 100644 src/webviews/apps/home/components/card-section.ts create mode 100644 src/webviews/apps/home/components/stepped-section.ts create mode 100644 src/webviews/apps/media/getting-started.png create mode 100644 src/webviews/apps/media/gitlens-backdrop.png create mode 100644 src/webviews/apps/media/gitlens-logo.png create mode 100644 src/webviews/apps/media/play-button-dark.png create mode 100644 src/webviews/apps/media/play-button.png create mode 100644 src/webviews/apps/play-button.svg diff --git a/src/storage.ts b/src/storage.ts index e6f95836b5769..9db08bc15f22d 100644 --- a/src/storage.ts +++ b/src/storage.ts @@ -123,6 +123,12 @@ export interface GlobalStorage { actions: { completed?: CompletedActions[]; }; + steps: { + completed?: string[]; + }; + sections: { + dismissed?: string[]; + }; }; pendingWelcomeOnFocus?: boolean; pendingWhatsNewOnFocus?: boolean; diff --git a/src/webviews/apps/home/components/card-section.ts b/src/webviews/apps/home/components/card-section.ts new file mode 100644 index 0000000000000..e69b801bdafab --- /dev/null +++ b/src/webviews/apps/home/components/card-section.ts @@ -0,0 +1,110 @@ +import { attr, css, customElement, FASTElement, html, volatile, when } from '@microsoft/fast-element'; +import { numberConverter } from '../../shared/components/converters/number-converter'; +import '../../shared/components/codicon'; + +const template = html``; + +const styles = css` + * { + box-sizing: border-box; + } + + :host { + display: block; + padding: 1.2rem; + background-color: #aaaaaa10; + margin-bottom: 1rem; + border-radius: 0.4rem; + background-repeat: no-repeat; + background-size: cover; + } + + header { + display: flex; + flex-direction: row; + justify-content: space-between; + gap: 0.4rem; + margin-bottom: 1rem; + } + + .dismiss { + width: 2rem; + height: 2rem; + padding: 0; + font-size: var(--vscode-editor-font-size); + line-height: 2rem; + font-family: inherit; + border: none; + color: inherit; + background: none; + text-align: left; + cursor: pointer; + opacity: 0.5; + flex: none; + text-align: center; + } + + .dismiss:focus { + outline: 1px solid var(--vscode-focusBorder); + outline-offset: 0.2rem; + } + + .heading { + text-transform: uppercase; + } + + .description { + margin-left: 0.2rem; + text-transform: none; + /* color needs to come from some sort property */ + color: #b68cd8; + } +`; + +@customElement({ name: 'card-section', template: template, styles: styles }) +export class CardSection extends FASTElement { + @attr + backdrop = ''; + + @attr({ attribute: 'no-heading', mode: 'boolean' }) + noHeading = false; + + @attr({ attribute: 'heading-level', converter: numberConverter }) + headingLevel = 2; + + @attr({ mode: 'boolean' }) + dismissable = false; + + @attr({ mode: 'boolean' }) + expanded = true; + + handleDismiss(e: Event) { + this.$emit('dismiss'); + } +} diff --git a/src/webviews/apps/home/components/stepped-section.ts b/src/webviews/apps/home/components/stepped-section.ts new file mode 100644 index 0000000000000..93da395eb559d --- /dev/null +++ b/src/webviews/apps/home/components/stepped-section.ts @@ -0,0 +1,108 @@ +import { attr, css, customElement, FASTElement, html, volatile, when } from '@microsoft/fast-element'; +import { numberConverter } from '../../shared/components/converters/number-converter'; +import '../../shared/components/codicon'; + +const template = html``; + +const styles = css` + * { + box-sizing: border-box; + } + + :host { + display: grid; + gap: 0 0.8rem; + grid-template-columns: 16px auto; + grid-auto-flow: column; + margin-bottom: 2.4rem; + } + + .button { + width: 100%; + padding: 0.1rem 0 0 0; + font-size: var(--vscode-editor-font-size); + line-height: 1.6rem; + font-family: inherit; + border: none; + color: inherit; + background: none; + text-align: left; + text-transform: uppercase; + cursor: pointer; + } + + .button:focus { + outline: 1px solid var(--vscode-focusBorder); + outline-offset: 0.2rem; + } + + .checkbox { + position: relative; + grid-column: 1; + grid-row: 1 / span 2; + color: var(--vscode-textLink-foreground); + } + + :host(:not(:last-of-type)) .checkbox:after { + content: ''; + position: absolute; + border-left: 0.1rem solid currentColor; + width: 0; + top: 1.6rem; + bottom: -2.4rem; + left: 50%; + transform: translateX(-50%); + opacity: 0.3; + } + + .content { + margin-top: 1rem; + } + + .content.is-hidden { + display: none; + } + + .description { + margin-left: 0.2rem; + text-transform: none; + /* color needs to come from some sort property */ + color: #b68cd8; + opacity: 0.6; + font-style: italic; + } +`; + +@customElement({ name: 'stepped-section', template: template, styles: styles }) +export class SteppedSection extends FASTElement { + @attr({ attribute: 'heading-level', converter: numberConverter }) + headingLevel = 2; + + @attr({ mode: 'boolean' }) + completed = false; + + handleClick(e: Event) { + this.completed = !this.completed; + this.$emit('complete', this.completed); + } +} diff --git a/src/webviews/apps/home/home.html b/src/webviews/apps/home/home.html index 1bf95270afab4..75b20e1d15a58 100644 --- a/src/webviews/apps/home/home.html +++ b/src/webviews/apps/home/home.html @@ -4,24 +4,312 @@ - -
-
- GitLens+ - introductory pricing will end with the next release - (late Sept, early Oct). - + + skip to content + skip to footer links +
+
+ +

GitLens 12 Git supercharged

+ +
+
+
-
-
-
-
+
+
+ +
+ + Welcome to GitLens 12 +

+ GitLens supercharges Git inside VS Code and unlocks the untapped knowledge within each + repository. +

+

+ Quick Setup +

+
+ + Getting Started + + Get Started Tutorial Video + + + + + Features + *Always available to you at no cost +
+
    +
  • + Find GitLens features by opening the + Source Control Side Bar +
  • +
  • Keep an eye out for feature updates and new components here.
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Want even more from GitLens? + +
+

+
+ *optional +

+
+

+ GitLens+ adds all-new, completely optional, features that enhance your current + GitLens experience. +

+

These features are free for local and public repos with no account required.

+ +

+ Try GitLens+ with private repositories +

+

+ Hide GitLens+ features, cannot use them +

+
+
+
+
-
- + +
+ + Introducing the Commit Graph +

+ The + Commit Graph + helps you to easily visualize branch structure and commit history. Not only does it help you + verify your changes, but also easily see changes made by others and when. +

+ Commit Graph illustration +
+ + Introducing Visual File History +

+ The + Visual File History + allows you to quickly see the evolution of a file, including when changes were made, how large + they were, and who made them. +

+ Visual File History illustration +
+ + Introducing Worktrees +

+ Worktrees + allow you to easily work on different branches of a repository simultaneously. +

+ Worktrees illustration +
-
+
+ Restore GitLens+ features + Restore Welcome +
+
+ +
+ +
+ #{endOfBody} - - - <%= require('html-loader?{"esModule":false}!./partials/welcome.html') %> - <%= require('html-loader?{"esModule":false}!./partials/views.html') %> - <%= require('html-loader?{"esModule":false}!./partials/links.html') %> - <%= require('html-loader?{"esModule":false}!./partials/state.free.html') %> - <%= require('html-loader?{"esModule":false}!./partials/state.free-preview-trial.html') %> - <%= require('html-loader?{"esModule":false}!./partials/state.free-preview-trial-expired.html') %> - <%= require('html-loader?{"esModule":false}!./partials/state.plus-trial.html') %> - <%= require('html-loader?{"esModule":false}!./partials/state.plus-trial-expired.html') %> - <%= require('html-loader?{"esModule":false}!./partials/state.paid.html') %> - <%= require('html-loader?{"esModule":false}!./partials/state.verify-email.html') %> diff --git a/src/webviews/apps/home/home.scss b/src/webviews/apps/home/home.scss index ff6ca9e1ea895..443c4c051ec4d 100644 --- a/src/webviews/apps/home/home.scss +++ b/src/webviews/apps/home/home.scss @@ -1,19 +1,84 @@ +:root { + --gitlens-z-inline: 1000; + --gitlens-z-sticky: 1100; + --gitlens-z-popover: 1200; + --gitlens-z-cover: 1300; + --gitlens-z-dialog: 1400; + --gitlens-z-modal: 1500; + --gitlens-brand-color: #914db3; + --gitlens-brand-color-2: #a16dc4; +} + * { box-sizing: border-box; } +// avoids FOUC for elements not yet called with `define()` +:not(:defined) { + visibility: hidden; +} + html { height: 100%; font-size: 62.5%; + text-size-adjust: 100%; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } body { background-color: var(--color-view-background); color: var(--color-view-foreground); font-family: var(--font-family); - height: 100%; + min-height: 100%; line-height: 1.4; - font-size: 100% !important; + font-size: var(--vscode-font-size); +} + +:focus { + outline-color: var(--vscode-focusBorder); +} + +.sr-skip { + position: fixed; + z-index: var(--gitlens-z-popover); + top: 0.2rem; + left: 0.2rem; + display: inline-block; + padding: 0.2rem 0.4rem; + background-color: var(--color-view-background); +} +.sr-only, +.sr-only-focusable:not(:active):not(:focus) { + clip: rect(0 0 0 0); + clip-path: inset(50%); + width: 1px; + height: 1px; + overflow: hidden; + position: absolute; + white-space: nowrap; +} + +.home { + padding: 0; + height: 100%; + display: flex; + flex-direction: column; + gap: 0.4rem; + + &__header { + flex: none; + padding: 0 2rem; + } + &__main { + flex: 1; + overflow: auto; + padding: 2rem 2rem 0.4rem; + } + &__footer { + flex: none; + padding: 0 2rem; + } } .container { @@ -75,13 +140,172 @@ b { } p { - margin-bottom: 0; + margin-top: 0; +} + +ul { + margin-top: 0; + padding-left: 1.2em; } .feature-desc { margin-bottom: 1rem; } +.button-container { + display: flex; + flex-direction: column; + margin-bottom: 1rem; +} + +.button-link { + code-icon { + margin-right: 0.4rem; + } +} + +.centered { + text-align: center; +} + +.progress { + width: 100%; + .vscode-dark & { + background-color: var(--color-background--lighten-15); + } + .vscode-light & { + background-color: var(--color-background--darken-15); + } + &__indicator { + height: 4px; + } +} + +.header-card { + position: relative; + display: grid; + padding: 1rem 1rem 1.2rem; + background-color: #aaaaaa10; + border-radius: 0.4rem; + gap: 0 0.8rem; + grid-template-columns: 3.4rem auto; + grid-auto-flow: column; + + &__logo { + grid-column: 1; + grid-row: 1 / span 2; + } + + &__title { + font-size: var(--vscode-font-size); + color: var(--gitlens-brand-color-2); + margin: 0; + + em { + font-weight: normal; + color: var(--color-view-foreground); + opacity: 0.4; + } + } + &__account { + margin: 0; + display: flex; + flex-direction: row; + justify-content: space-between; + } + &__progress { + position: absolute; + bottom: 0; + left: 0; + border-bottom-left-radius: 0.4rem; + border-bottom-right-radius: 0.4rem; + } +} + +.foreground { + color: var(--color-view-foreground); +} + +.inline-nav { + display: flex; + flex-direction: row; + gap: 0.4rem; + + a { + display: flex; + justify-content: center; + align-items: center; + width: 2.2rem; + height: 2.2rem; + // line-height: 2.2rem; + + .codicon { + line-height: 1.6rem; + } + + &:hover { + text-decoration: none; + } + } +} + +.logo { + font-size: 1.8rem; + color: var(--gitlens-brand-color-2); +} + +.description { + color: #b68cd8; + opacity: 0.6; +} + +.activitybar-banner { + display: flex; + flex-direction: row; + justify-content: space-between; + gap: 1.6rem; + ul { + margin: { + top: 0.2rem; + bottom: 0; + } + } + svg { + flex: none; + max-width: 10rem; + height: auto; + } +} + +.video-banner { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-end; + margin-bottom: 0.8rem; + background: no-repeat var(--video-banner-play) center center, no-repeat var(--video-banner-bg) left center; + background-size: clamp(2.9rem, 8%, 6rem), cover; + aspect-ratio: var(--video-banner-ratio, 354 / 54); + padding: 0.4rem 1.2rem; + color: inherit; + line-height: 1.2; + font-size: clamp(var(--vscode-font-size), 4vw, 2.4rem); + transition: aspect-ratio linear 100ms; + + @media (min-width: 564px) { + aspect-ratio: var(--video-banner-ratio, 354 / 40); + } + + &:hover { + text-decoration: none; + color: inherit; + } + + small { + color: #8d778d; + } +} + .image--preview { border-radius: 8px; box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.8), 0px 0px 12px 1px rgba(0, 0, 0, 0.5); @@ -128,9 +352,12 @@ p { vscode-button { align-self: center; - margin-top: 1.5rem; max-width: 300px; width: 100%; + + & + & { + margin-top: 1rem; + } } span.button-subaction { @@ -153,7 +380,22 @@ vscode-divider { @import '../shared/codicons'; -.codicon { - position: relative; - top: -2px; +// .codicon { +// position: relative; +// top: -2px; +// } + +.type-tight { + line-height: 1.2; +} + +.mb-1 { + margin-bottom: 0.4rem; +} +.mb-0 { + margin-bottom: 0; +} + +.hide { + display: none; } diff --git a/src/webviews/apps/home/home.ts b/src/webviews/apps/home/home.ts index 3ca6e73bd8ced..b8a7dec3e680b 100644 --- a/src/webviews/apps/home/home.ts +++ b/src/webviews/apps/home/home.ts @@ -2,17 +2,28 @@ import './home.scss'; import { provideVSCodeDesignSystem, vsCodeButton } from '@vscode/webview-ui-toolkit'; import type { Disposable } from 'vscode'; -import { getSubscriptionTimeRemaining, SubscriptionState } from '../../../subscription'; +// import { RepositoriesVisibility } from '../../../git/gitProviderService'; +import { getSubscriptionTimeRemaining, isSubscriptionTrial, SubscriptionState } from '../../../subscription'; +import { pluralize } from '../../../system/string'; import type { State } from '../../home/protocol'; -import { CompletedActions, DidChangeSubscriptionNotificationType } from '../../home/protocol'; +import { + CompleteStepCommandType, + DidChangeSubscriptionNotificationType, + DismissSectionCommandType, +} from '../../home/protocol'; import type { IpcMessage } from '../../protocol'; import { ExecuteCommandType, onIpc } from '../../protocol'; import { App } from '../shared/appBase'; import { DOM } from '../shared/dom'; +import type { CardSection } from './components/card-section'; +import type { SteppedSection } from './components/stepped-section'; +import '../shared/components/codicon'; +import './components/card-section'; +import './components/stepped-section'; export class HomeApp extends App { - private $slots!: HTMLElement[]; - private $footer!: HTMLElement; + private $steps!: SteppedSection[]; + private $cards!: CardSection[]; constructor() { super('HomeApp'); @@ -21,12 +32,8 @@ export class HomeApp extends App { protected override onInitialize() { provideVSCodeDesignSystem().register(vsCodeButton()); - this.$slots = [ - document.getElementById('slot1') as HTMLDivElement, - document.getElementById('slot2') as HTMLDivElement, - document.getElementById('slot3') as HTMLDivElement, - ]; - this.$footer = document.getElementById('slot-footer') as HTMLDivElement; + this.$steps = [...document.querySelectorAll('stepped-section[id]')]; + this.$cards = [...document.querySelectorAll('card-section[id]')]; this.updateState(); } @@ -35,6 +42,16 @@ export class HomeApp extends App { const disposables = super.onBind?.() ?? []; disposables.push(DOM.on('[data-action]', 'click', (e, target: HTMLElement) => this.onActionClicked(e, target))); + disposables.push( + DOM.on('stepped-section', 'complete', (e, target: HTMLElement) => + this.onStepComplete(e, target), + ), + ); + disposables.push( + DOM.on('card-section', 'dismiss', (e, target: HTMLElement) => + this.onCardDismissed(e, target), + ), + ); return disposables; } @@ -47,7 +64,8 @@ export class HomeApp extends App { this.log(`${this.appName}.onMessageReceived(${msg.id}): name=${msg.method}`); onIpc(DidChangeSubscriptionNotificationType, msg, params => { - this.state = params; + this.state.subscription = params.subscription; + this.state.completedActions = params.completedActions; this.updateState(); }); break; @@ -58,6 +76,19 @@ export class HomeApp extends App { } } + private onStepComplete(e: CustomEvent, target: HTMLElement) { + const id = target.id; + console.log('onStepComplete', id, e.detail); + this.sendCommand(CompleteStepCommandType, { id: id, completed: e.detail ?? false }); + } + + private onCardDismissed(e: CustomEvent, target: HTMLElement) { + const id = target.id; + console.log('onCardDismissed', id); + this.sendCommand(DismissSectionCommandType, { id: id }); + target.remove(); + } + private onActionClicked(e: MouseEvent, target: HTMLElement) { const action = target.dataset.action; if (action?.startsWith('command:')) { @@ -66,119 +97,152 @@ export class HomeApp extends App { } private updateState() { - const { subscription, completedActions } = this.state; - - const viewsVisible = !completedActions.includes(CompletedActions.OpenedSCM); - const welcomeVisible = !completedActions.includes(CompletedActions.DismissedWelcome); - - let index = 0; - - if (subscription.account?.verified === false) { - DOM.insertTemplate('state:verify-email', this.$slots[index++]); - DOM.insertTemplate(welcomeVisible ? 'welcome' : 'links', this.$slots[index++]); - } else { - switch (subscription.state) { - case SubscriptionState.Free: - if (welcomeVisible) { - DOM.insertTemplate('welcome', this.$slots[index++]); - DOM.resetSlot(this.$footer); - } else { - DOM.insertTemplate('links', this.$footer); - } - - if (viewsVisible) { - DOM.insertTemplate('views', this.$slots[index++]); - } - - DOM.insertTemplate('state:free', this.$slots[index++]); - - break; - case SubscriptionState.FreeInPreviewTrial: { - if (viewsVisible) { - DOM.insertTemplate('views', this.$slots[index++]); - } - - const remaining = getSubscriptionTimeRemaining(subscription, 'days') ?? 0; - DOM.insertTemplate('state:free-preview-trial', this.$slots[index++], { - bindings: { - previewDays: `${ - remaining < 1 - ? 'less than one day' - : remaining === 1 - ? `${remaining} day` - : `${remaining} days` - }`, - }, - }); - - break; - } - case SubscriptionState.FreePreviewTrialExpired: - if (viewsVisible) { - DOM.insertTemplate('views', this.$slots[index++]); - } - - DOM.insertTemplate('state:free-preview-trial-expired', this.$slots[index++]); - - break; - case SubscriptionState.FreePlusInTrial: { - if (viewsVisible) { - DOM.insertTemplate('views', this.$slots[index++]); - } - - const remaining = getSubscriptionTimeRemaining(subscription, 'days') ?? 0; - DOM.insertTemplate('state:plus-trial', this.$slots[index++], { - bindings: { - plan: subscription.plan.effective.name, - trialDays: `${ - remaining < 1 - ? 'less than one day' - : remaining === 1 - ? `${remaining} day` - : `${remaining} days` - }`, - }, - }); - - break; - } - case SubscriptionState.FreePlusTrialExpired: - if (viewsVisible) { - DOM.insertTemplate('views', this.$slots[index++]); - } - - DOM.insertTemplate('state:plus-trial-expired', this.$slots[index++]); - - break; - case SubscriptionState.Paid: - if (viewsVisible) { - DOM.insertTemplate('views', this.$slots[index++]); - } - - DOM.insertTemplate('state:paid', this.$slots[index++], { - bindings: { plan: subscription.plan.effective.name }, - }); - - break; - } + const { subscription, completedSteps, dismissedSections, plusEnabled, visibility } = this.state; + + // banner + document.getElementById('plus')?.classList.toggle('hide', !plusEnabled); + document.getElementById('restore-plus')?.classList.toggle('hide', plusEnabled); + document.getElementById('plus-sections')?.classList.toggle('hide', !plusEnabled); + + const showRestoreWelcome = completedSteps?.length || dismissedSections?.length; + document.getElementById('restore-welcome')?.classList.toggle('hide', !showRestoreWelcome); + + // TODO: RepositoriesVisibility causes errors during the build + // const alwaysFree = [RepositoriesVisibility.Local, RepositoriesVisibility.Public].includes(visibility); + const alwaysFree = ['local', 'public'].includes(visibility); + const needsAccount = ['mixed', 'private'].includes(visibility); + + console.log('updateState', alwaysFree, needsAccount, this.state); + + let days = 0; + if ([SubscriptionState.FreeInPreviewTrial, SubscriptionState.FreePlusInTrial].includes(subscription.state)) { + days = getSubscriptionTimeRemaining(subscription, 'days') ?? 0; + } - if (subscription.state !== SubscriptionState.Free) { - if (welcomeVisible) { - DOM.insertTemplate('welcome', this.$slots[index++]); - DOM.resetSlot(this.$footer); - } else { - DOM.insertTemplate('links', this.$footer); - } + const timeRemaining = days < 1 ? 'less than one day' : pluralize('day', days); + const shortTimeRemaining = days < 1 ? '<1 day' : pluralize('day', days); + + let plan = subscription.plan.effective.name; + let content; + let actions; + let forcePlus = false; + // switch (-1 as SubscriptionState) { + switch (subscription.state) { + case SubscriptionState.Free: + plan = 'Free'; + break; + case SubscriptionState.Paid: + break; + case SubscriptionState.FreeInPreviewTrial: + case SubscriptionState.FreePlusInTrial: { + plan = 'Trial'; + content = ` +

GitLens+ Trial

+

+ You have ${timeRemaining} left in your  + + GitLens+ trial . Once your trial ends, you'll need a paid plan to continue to use GitLens+ features on this + and other private repos. +

+ `; + actions = shortTimeRemaining; + break; } + case SubscriptionState.FreePreviewTrialExpired: + forcePlus = true; + plan = 'Free Trial (0 days)'; + content = ` +

Extend Your GitLens+ Trial

+

+ Your free trial has ended, please sign in to extend your trial of GitLens+ features on private + repos by an additional 7-days. +

+

+ Extend Trial +

+ `; + actions = ` + + Extend Trial + + `; + break; + case SubscriptionState.FreePlusTrialExpired: + forcePlus = true; + plan = 'GitLens+ Trial (0 days)'; + content = ` +

GitLens+ Trial Expired

+

+ Your free trial has ended, please upgrade your account to continue to use GitLens+ features, + including the Commit Graph, on this and other private repos. +

+

+ Upgrade Your Account +

+ `; + actions = ` + + Upgrade Your Account + + `; + break; + case SubscriptionState.VerificationRequired: + forcePlus = true; + plan = 'Unverified'; + content = ` +

Please verify your email

+

Please verify the email for the account you created.

+

+ Resend Verification Email +

+

+ Refresh Verification Status +

+ `; + actions = ` + Verify  + `; + break; } - for (let i = 1; i < index; i++) { - this.$slots[i].classList.add('divider'); + if (content) { + const $plusContent = document.getElementById('plus-content'); + if ($plusContent) { + $plusContent.innerHTML = content; + } } - for (let i = index; i < this.$slots.length; i++) { - DOM.resetSlot(this.$slots[i]); + const $headerContent = document.getElementById('header-content'); + if ($headerContent) { + $headerContent.innerHTML = plan ?? ''; + } + const $headerActions = document.getElementById('header-actions'); + if ($headerActions) { + $headerActions.innerHTML = actions ?? ''; } + + this.$steps?.forEach(el => { + el.setAttribute( + 'completed', + (el.id === 'plus' && forcePlus) || completedSteps?.includes(el.id) !== true ? 'false' : 'true', + ); + }); + + this.$cards?.forEach(el => { + if (dismissedSections?.includes(el.id)) { + el.remove(); + } + }); } } diff --git a/src/webviews/apps/media/getting-started.png b/src/webviews/apps/media/getting-started.png new file mode 100644 index 0000000000000000000000000000000000000000..c515b31f76a0f86d8b6f6fa415ada0f012836a57 GIT binary patch literal 51604 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 literal 0 HcmV?d00001 diff --git a/src/webviews/apps/media/gitlens-backdrop.png b/src/webviews/apps/media/gitlens-backdrop.png new file mode 100644 index 0000000000000000000000000000000000000000..830fdcb5c840d29549c1af9de41be51b9c212c83 GIT binary patch literal 70928 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/gcY) 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 E^strB#I0R=Dg;);B0;ND; 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%0D%k!B{2Ne4V?vYpv783(6J|e$ la`bQnq5t0gzc(^(4>{9sSGl0{cl`k7b&+{Cs#4!I`hRQ0@N578 literal 0 HcmV?d00001 diff --git a/src/webviews/apps/media/gitlens-logo.png b/src/webviews/apps/media/gitlens-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9f35e25a15c1966fa32793bbd18805a1775d9f33 GIT binary patch literal 2925 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 literal 0 HcmV?d00001 diff --git a/src/webviews/apps/media/play-button.png b/src/webviews/apps/media/play-button.png new file mode 100644 index 0000000000000000000000000000000000000000..e24fe6b10092f50873d2018fc695faa450ab93e4 GIT binary patch literal 1119 zcmV-l1fctgP)W@8=qwRzjsfz zF_ykgI-l<35d{DtUCtSFu+wfrmhgt^ zBI-P;ZqEcnw@r=Sxrb&TIj0`M8_N6EWMS!gN7A80Hlb_Kcajbs+2(T=*7Z0iX#fCO z)#|$GpN>650|Mt>Rs9j@y_^#o81Po$i^d7s?ESo~0_R@aeXS{QhOSMAO09ZxGbKY{l*}kHyt$f{e|WIAv|g_=hj73z*S`SSv48Q6 zo4jo6RkVU}OFcL3fg-`PIWu=*j0>iX0Lcu;{^EHZOS|aYg*%zmddW7gWL=&ko_4n} ztUEgQXkfpH90^LqZ9{<}bu6X$A@VAcalQmhC>)fNj;66A8l0qqkll%-a`-5s^Jg7U zyE~ML64lu1Uy2MNt8?cTjR~b)r@)C49aF(PDxh5*%D+TX%C$QsBk1#ScpSP3eT<+- zg*0d`#W$QP*(b8ak!UXf?J8N-?!0WV+oCr_9iUw$Yw9{G(N2eL88Apc$=GflcaG>+>JV@d)z{Wn&a=p^XEEC#L3t#qN!ahy5j-ub<8r6YgoxF2 zN>Cn@=)0Rl5rM^o)1tQFHbCNcDsoWwR*AlN7oz}6Cv~<}i;wCw7!B1jbfj+lii_op z5h_+Mer`4Ba_!UQCzdmNGDMjupXOGBFTlBoa7?Jw2)6Vy5n;$mT8x%k<*LvvH_csK zuE@n~wjepDNZ@n9J}xrJ2^j#Iba5lo=tYgXtJ5l66(SrMJZ)y@Zkk)q)!1-`_3X%m zR=1XOH6}cxIYd0lS^Z<+g_5au@fEx64lh=^c|O(mRf zT-x`QEEl`kmedw~CF^N&Nmk&~jY}zY2-uGdB<;5cf$W>}I=av<7b~FfuRlKBU71n@ z@M+p{6YaH!ir1kDqaL>k+H+Uig1E?cI>H&Z^pi0MQ#RhlZt|4`$fcAAo)tUFV>PcR z51-{<(fEY&*pZ6Hc&7MS@7K`h!XheY_Bn`xi|<`D_@#|*GMAK$>zo(s?_W%bmI2~Q l)@iOh{B{I_fuex#_z#~yU0DO4HO~M5002ovPDHLkV1l8+0@eTk literal 0 HcmV?d00001 diff --git a/src/webviews/apps/play-button.svg b/src/webviews/apps/play-button.svg new file mode 100644 index 0000000000000..cde16d442323c --- /dev/null +++ b/src/webviews/apps/play-button.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/webviews/home/homeWebviewView.ts b/src/webviews/home/homeWebviewView.ts index a15edf1537021..005fdd86262b5 100644 --- a/src/webviews/home/homeWebviewView.ts +++ b/src/webviews/home/homeWebviewView.ts @@ -1,14 +1,23 @@ import type { Disposable } from 'vscode'; import { window } from 'vscode'; +import { configuration } from '../../configuration'; import { CoreCommands } from '../../constants'; import type { Container } from '../../container'; +import type { RepositoriesVisibility } from '../../git/gitProviderService'; import type { SubscriptionChangeEvent } from '../../plus/subscription/subscriptionService'; import { ensurePlusFeaturesEnabled } from '../../plus/subscription/utils'; import type { Subscription } from '../../subscription'; import { executeCoreCommand, registerCommand } from '../../system/command'; +import type { IpcMessage } from '../protocol'; +import { onIpc } from '../protocol'; import { WebviewViewBase } from '../webviewViewBase'; -import type { State } from './protocol'; -import { CompletedActions, DidChangeSubscriptionNotificationType } from './protocol'; +import type { CompleteStepParams, DismissSectionParams, State } from './protocol'; +import { + CompletedActions, + CompleteStepCommandType, + DidChangeSubscriptionNotificationType, + DismissSectionCommandType, +} from './protocol'; export class HomeWebviewView extends WebviewViewBase { constructor(container: Container) { @@ -46,9 +55,17 @@ export class HomeWebviewView extends WebviewViewBase { await this.container.storage.store('views:welcome:visible', welcomeVisible); if (welcomeVisible) { await this.container.storage.store('home:actions:completed', []); + await this.container.storage.store('home:steps:completed', []); + await this.container.storage.store('home:sections:dismissed', []); } - void this.notifyDidChangeData(); + void this.refresh(); + }), + registerCommand('gitlens.home.restoreWelcome', async () => { + await this.container.storage.store('home:steps:completed', []); + await this.container.storage.store('home:sections:dismissed', []); + + void this.refresh(); }), registerCommand('gitlens.home.showSCM', async () => { @@ -65,6 +82,39 @@ export class HomeWebviewView extends WebviewViewBase { ]; } + protected override onMessageReceived(e: IpcMessage) { + switch (e.method) { + case CompleteStepCommandType.method: + onIpc(CompleteStepCommandType, e, params => this.completeStep(params)); + break; + case DismissSectionCommandType.method: + onIpc(DismissSectionCommandType, e, params => this.dismissSection(params)); + break; + } + } + + private completeStep({ id, completed = false }: CompleteStepParams) { + const steps = this.container.storage.get('home:steps:completed', []); + + const hasStep = steps.includes(id); + if (!hasStep && completed) { + steps.push(id); + } else if (hasStep && !completed) { + steps.splice(steps.indexOf(id), 1); + } + void this.container.storage.store('home:steps:completed', steps); + } + + private dismissSection(params: DismissSectionParams) { + const sections = this.container.storage.get('home:sections:dismissed', []); + + if (!sections.includes(params.id)) { + sections.push(params.id); + } + + void this.container.storage.store('home:sections:dismissed', sections); + } + protected override async includeBootstrap(): Promise { return this.getState(); } @@ -73,7 +123,12 @@ export class HomeWebviewView extends WebviewViewBase { return this.container.storage.get('views:welcome:visible', true); } - private async getState(subscription?: Subscription): Promise { + private async getRepoVisibility(): Promise { + const visibility = await this.container.git.visibility(); + return visibility; + } + + private async getSubscription(subscription?: Subscription) { // Make sure to make a copy of the array otherwise it will be live to the storage value const completedActions = [...this.container.storage.get('home:actions:completed', [])]; if (!this.welcomeVisible) { @@ -86,11 +141,26 @@ export class HomeWebviewView extends WebviewViewBase { }; } + private async getState(subscription?: Subscription): Promise { + const subscriptionState = await this.getSubscription(subscription); + const steps = this.container.storage.get('home:steps:completed', []); + const sections = this.container.storage.get('home:sections:dismissed', []); + + return { + subscription: subscriptionState.subscription, + completedActions: subscriptionState.completedActions, + plusEnabled: configuration.get('plusFeatures.enabled'), + visibility: await this.getRepoVisibility(), + completedSteps: steps, + dismissedSections: sections, + }; + } + private notifyDidChangeData(subscription?: Subscription) { if (!this.isReady) return false; return window.withProgress({ location: { viewId: this.id } }, async () => - this.notify(DidChangeSubscriptionNotificationType, await this.getState(subscription)), + this.notify(DidChangeSubscriptionNotificationType, await this.getSubscription(subscription)), ); } diff --git a/src/webviews/home/protocol.ts b/src/webviews/home/protocol.ts index 5149da65dee2f..d09c62b13b7cf 100644 --- a/src/webviews/home/protocol.ts +++ b/src/webviews/home/protocol.ts @@ -1,5 +1,6 @@ +import type { RepositoriesVisibility } from '../../git/gitProviderService'; import type { Subscription } from '../../subscription'; -import { IpcNotificationType } from '../protocol'; +import { IpcCommandType, IpcNotificationType } from '../protocol'; export const enum CompletedActions { DismissedWelcome = 'dismissed:welcome', @@ -9,8 +10,23 @@ export const enum CompletedActions { export interface State { subscription: Subscription; completedActions: CompletedActions[]; + completedSteps?: string[]; + dismissedSections?: string[]; + plusEnabled: boolean; + visibility: RepositoriesVisibility; } +export interface CompleteStepParams { + id: string; + completed: boolean; +} +export const CompleteStepCommandType = new IpcCommandType('home/step/complete'); + +export interface DismissSectionParams { + id: string; +} +export const DismissSectionCommandType = new IpcCommandType('home/section/dismiss'); + export interface DidChangeSubscriptionParams { subscription: Subscription; completedActions: CompletedActions[]; diff --git a/src/webviews/webviewViewBase.ts b/src/webviews/webviewViewBase.ts index 6c13375700aa8..a4b7e0c46baeb 100644 --- a/src/webviews/webviewViewBase.ts +++ b/src/webviews/webviewViewBase.ts @@ -189,6 +189,15 @@ export abstract class WebviewViewBase implements } } + protected getWebRoot() { + if (this._view == null) return; + + const webRootUri = Uri.joinPath(this.container.context.extensionUri, 'dist', 'webviews'); + const webRoot = this._view.webview.asWebviewUri(webRootUri).toString(); + + return webRoot; + } + private async getHtml(webview: Webview): Promise { const webRootUri = Uri.joinPath(this.container.context.extensionUri, 'dist', 'webviews'); const uri = Uri.joinPath(webRootUri, this.fileName);