[ci] format
This commit is contained in:
parent
f66053a1ea
commit
5c23bf1c90
2 changed files with 6 additions and 11 deletions
|
@ -34,12 +34,12 @@ const { fallback = 'animate' } = Astro.props as Props;
|
||||||
// can use that to determine popstate if going forward or back.
|
// can use that to determine popstate if going forward or back.
|
||||||
let currentHistoryIndex = 0;
|
let currentHistoryIndex = 0;
|
||||||
if (history.state) {
|
if (history.state) {
|
||||||
// we reloaded a page with history state
|
// we reloaded a page with history state
|
||||||
// (e.g. history navigation from non-transition page or browser reload)
|
// (e.g. history navigation from non-transition page or browser reload)
|
||||||
currentHistoryIndex = history.state.index;
|
currentHistoryIndex = history.state.index;
|
||||||
scrollTo({ left: 0, top: history.state.scrollY });
|
scrollTo({ left: 0, top: history.state.scrollY });
|
||||||
} else if (transitionEnabledOnThisPage()) {
|
} else if (transitionEnabledOnThisPage()) {
|
||||||
history.replaceState({index: currentHistoryIndex, scrollY}, '');
|
history.replaceState({ index: currentHistoryIndex, scrollY }, '');
|
||||||
}
|
}
|
||||||
const throttle = (cb: (...args: any[]) => any, delay: number) => {
|
const throttle = (cb: (...args: any[]) => any, delay: number) => {
|
||||||
let wait = false;
|
let wait = false;
|
||||||
|
@ -201,11 +201,7 @@ const { fallback = 'animate' } = Astro.props as Props;
|
||||||
scrollTo(0, state.scrollY); // usings default scrollBehavior
|
scrollTo(0, state.scrollY); // usings default scrollBehavior
|
||||||
}
|
}
|
||||||
!state &&
|
!state &&
|
||||||
history.pushState(
|
history.pushState({ index: ++currentHistoryIndex, scrollY: initialScrollY }, '', loc.href);
|
||||||
{ index: ++currentHistoryIndex, scrollY: initialScrollY },
|
|
||||||
'',
|
|
||||||
loc.href
|
|
||||||
);
|
|
||||||
triggerEvent('astro:after-swap');
|
triggerEvent('astro:after-swap');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -253,7 +249,7 @@ const { fallback = 'animate' } = Astro.props as Props;
|
||||||
|
|
||||||
async function navigate(dir: Direction, loc: URL, state?: State) {
|
async function navigate(dir: Direction, loc: URL, state?: State) {
|
||||||
let finished: Promise<void>;
|
let finished: Promise<void>;
|
||||||
const href=loc.href;
|
const href = loc.href;
|
||||||
const { html, ok } = await getHTML(href);
|
const { html, ok } = await getHTML(href);
|
||||||
// If there is a problem fetching the new page, just do an MPA navigation to it.
|
// If there is a problem fetching the new page, just do an MPA navigation to it.
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
|
@ -411,9 +407,9 @@ const { fallback = 'animate' } = Astro.props as Props;
|
||||||
addEventListener('load', onPageLoad);
|
addEventListener('load', onPageLoad);
|
||||||
// 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 scrollend if supported, and if not continuously record the scroll position.
|
// So the way we do it is by listening to scrollend if supported, and if not continuously record the scroll position.
|
||||||
const updateState = () => {
|
const updateState = () => {
|
||||||
persistState({ ...history.state, scrollY });
|
persistState({ ...history.state, scrollY });
|
||||||
}
|
};
|
||||||
|
|
||||||
if ('onscrollend' in window) addEventListener('scrollend', updateState);
|
if ('onscrollend' in window) addEventListener('scrollend', updateState);
|
||||||
else addEventListener('scroll', throttle(updateState, 300));
|
else addEventListener('scroll', throttle(updateState, 300));
|
||||||
|
|
|
@ -544,4 +544,3 @@ test.describe('View Transitions', () => {
|
||||||
await expect(p, 'should have content').toHaveText('Page 1');
|
await expect(p, 'should have content').toHaveText('Page 1');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue