Svelte: welcome banner followups (#64222)

This commit is contained in:
Camden Cheek 2024-08-01 15:12:06 -06:00 committed by GitHub
parent e073ae59cf
commit eb1a76ee7a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 10 additions and 8 deletions

View File

@ -90,6 +90,7 @@
: undefined
$: welcomeOverlayDismissed = $temporarySettingsStorage.get('webNext.welcomeOverlay.dismissed', false)
$: showWelcomeOverlay = !$welcomeOverlayDismissed ?? false
function handleDismissWelcomeOverlay() {
$temporarySettingsStorage.set('webNext.welcomeOverlay.dismissed', true)
}
@ -111,10 +112,7 @@
<slot />
</main>
<WelcomeOverlay
show={(process.env.PW_TEST === 'true' && !$welcomeOverlayDismissed) ?? false}
handleDismiss={handleDismissWelcomeOverlay}
/>
<WelcomeOverlay show={showWelcomeOverlay} handleDismiss={handleDismissWelcomeOverlay} />
<FuzzyFinderContainer />

View File

@ -83,7 +83,7 @@
background: var(--color-background, #f9fafb);
}
:global(.theme-dark) & {
background: var(--color-background, #f9fafb);
background: var(--color-background, #0f111a);
}
}

View File

@ -45,7 +45,7 @@ const defaultMocks: TypeMocks = {
}),
TemporarySettings: () => ({
// Ensure this is valid JSON
contents: '{}',
contents: '{"webNext.welcomeOverlay.dismissed": true}',
}),
GitBlob: () => ({
highlight: {
@ -117,6 +117,9 @@ class Sourcegraph {
},
})
})
await this.page.addInitScript(() =>
window.localStorage.setItem('temporarySettings', '{"webNext.welcomeOverlay.dismissed": true}')
)
}
// mock graphql calls
await this.page.route(/\.api\/graphql/, route => {

View File

@ -16,7 +16,7 @@ export const SvelteKitNavItem: FC<{ userID?: string }> = ({ userID }) => {
const location = useLocation()
const client = useApolloClient()
const [departureDismissed, setDepartureDismissed] = useTemporarySetting('webNext.departureMessage.dismissed', false)
const [_welcomeDismissed, setWelcomeDismissed] = useTemporarySetting('webNext.welcomeOverlay.dismissed', false)
const [welcomeDismissed, setWelcomeDismissed] = useTemporarySetting('webNext.welcomeOverlay.dismissed', false)
const departureRef = useRef<HTMLDivElement | null>(null)
@ -40,7 +40,8 @@ export const SvelteKitNavItem: FC<{ userID?: string }> = ({ userID }) => {
return null
}
const showDeparture = !departureDismissed
// only show if the welcome message has been dismissed so we know they have been introduced to the new webapp
const showDeparture = !departureDismissed && welcomeDismissed
const popoverProps = showDeparture ? { isOpen: true, onOpenChange: () => {} } : {}
return (