[ci] format

This commit is contained in:
matthewp 2023-07-28 13:09:24 +00:00 committed by astrobot-houston
parent 49a4b28202
commit 2f95a3e0ca
2 changed files with 16 additions and 12 deletions

View file

@ -41,11 +41,11 @@ const { fallback = 'animate' } = Astro.props as Props;
if (wait) return; if (wait) return;
cb(...args); cb(...args);
wait = true wait = true;
setTimeout(() => { setTimeout(() => {
wait = false wait = false;
}, delay); }, delay);
} };
}; };
async function getHTML(href: string) { async function getHTML(href: string) {
@ -89,7 +89,7 @@ const { fallback = 'animate' } = Astro.props as Props;
const swap = () => { const swap = () => {
document.documentElement.replaceWith(doc.documentElement); document.documentElement.replaceWith(doc.documentElement);
if(state?.scrollY != null) { if (state?.scrollY != null) {
scrollTo(0, state.scrollY); scrollTo(0, state.scrollY);
} }
@ -237,10 +237,14 @@ const { fallback = 'animate' } = Astro.props as Props;
addEventListener('load', onload); addEventListener('load', onload);
// There's not a good way to record scroll position before a back button. // There's not a good way to record scroll position before a back button.
// So the way we do it is by listening to scroll and just continuously recording it. // So the way we do it is by listening to scroll and just continuously recording it.
addEventListener('scroll', throttle(() => { addEventListener(
if(history.state) { 'scroll',
persistState({ ...history.state, scrollY }) throttle(() => {
} if (history.state) {
}, 300), { passive: true }); persistState({ ...history.state, scrollY });
}
}, 300),
{ passive: true }
);
} }
</script> </script>

View file

@ -190,7 +190,7 @@ test.describe('View Transitions', () => {
await expect(p, 'should have content').toHaveText('Page 1'); await expect(p, 'should have content').toHaveText('Page 1');
}); });
test('Scroll position restored on back button', async ({ page, astro }) => { test('Scroll position restored on back button', async ({ page, astro }) => {
// Go to page 1 // Go to page 1
await page.goto(astro.resolveUrl('/long-page')); await page.goto(astro.resolveUrl('/long-page'));
let article = page.locator('#longpage'); let article = page.locator('#longpage');
@ -211,7 +211,7 @@ test.describe('View Transitions', () => {
expect(oldScrollY).toEqual(newScrollY); expect(oldScrollY).toEqual(newScrollY);
}); });
test('Scroll position restored on forward button', async ({ page, astro }) => { test('Scroll position restored on forward button', async ({ page, astro }) => {
// Go to page 1 // Go to page 1
await page.goto(astro.resolveUrl('/one')); await page.goto(astro.resolveUrl('/one'));
let p = page.locator('#one'); let p = page.locator('#one');
@ -235,7 +235,7 @@ test.describe('View Transitions', () => {
const newScrollY = await page.evaluate(() => window.scrollY); const newScrollY = await page.evaluate(() => window.scrollY);
expect(oldScrollY).toEqual(newScrollY); expect(oldScrollY).toEqual(newScrollY);
}) });
test('<Image /> component forwards transitions to the <img>', async ({ page, astro }) => { test('<Image /> component forwards transitions to the <img>', async ({ page, astro }) => {
// Go to page 1 // Go to page 1