diff --git a/packages/astro/components/ViewTransitions.astro b/packages/astro/components/ViewTransitions.astro
index 3a4ef12ce..ac40608d3 100644
--- a/packages/astro/components/ViewTransitions.astro
+++ b/packages/astro/components/ViewTransitions.astro
@@ -41,11 +41,11 @@ const { fallback = 'animate' } = Astro.props as Props;
if (wait) return;
cb(...args);
- wait = true
+ wait = true;
setTimeout(() => {
- wait = false
+ wait = false;
}, delay);
- }
+ };
};
async function getHTML(href: string) {
@@ -89,7 +89,7 @@ const { fallback = 'animate' } = Astro.props as Props;
const swap = () => {
document.documentElement.replaceWith(doc.documentElement);
- if(state?.scrollY != null) {
+ if (state?.scrollY != null) {
scrollTo(0, state.scrollY);
}
@@ -237,10 +237,14 @@ const { fallback = 'animate' } = Astro.props as Props;
addEventListener('load', onload);
// 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.
- addEventListener('scroll', throttle(() => {
- if(history.state) {
- persistState({ ...history.state, scrollY })
- }
- }, 300), { passive: true });
+ addEventListener(
+ 'scroll',
+ throttle(() => {
+ if (history.state) {
+ persistState({ ...history.state, scrollY });
+ }
+ }, 300),
+ { passive: true }
+ );
}
diff --git a/packages/astro/e2e/view-transitions.test.js b/packages/astro/e2e/view-transitions.test.js
index 222d4108d..e71b892ba 100644
--- a/packages/astro/e2e/view-transitions.test.js
+++ b/packages/astro/e2e/view-transitions.test.js
@@ -190,7 +190,7 @@ test.describe('View Transitions', () => {
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
await page.goto(astro.resolveUrl('/long-page'));
let article = page.locator('#longpage');
@@ -211,7 +211,7 @@ test.describe('View Transitions', () => {
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
await page.goto(astro.resolveUrl('/one'));
let p = page.locator('#one');
@@ -235,7 +235,7 @@ test.describe('View Transitions', () => {
const newScrollY = await page.evaluate(() => window.scrollY);
expect(oldScrollY).toEqual(newScrollY);
- })
+ });
test(' component forwards transitions to the ', async ({ page, astro }) => {
// Go to page 1