Files
projectbrain-Public/src/app/scrollReset.ts
T

20 lines
492 B
TypeScript

type ScrollOptionsTarget = {
scrollTo: (options: ScrollToOptions) => void;
};
type FocusTarget = ScrollOptionsTarget & {
focus: (options?: FocusOptions) => void;
};
const topLeft: ScrollToOptions = { top: 0, left: 0, behavior: "auto" };
export const resetApplicationScroll = (
main: FocusTarget | undefined,
viewport: ScrollOptionsTarget,
focusMain = true,
) => {
main?.scrollTo(topLeft);
viewport.scrollTo(topLeft);
if (focusMain) main?.focus({ preventScroll: true });
};