파라미터 오류 수정
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
export * from './use-navigate';
|
||||
export * from './use-change-bg-color';
|
||||
export * from './use-device-uid';
|
||||
export * from './use-fix-scroll-view-safari';
|
||||
export * from './use-has-bio-hardware';
|
||||
@@ -7,5 +6,4 @@ export * from './use-navigate';
|
||||
export * from './use-location-permission';
|
||||
export * from './use-window-focus-change';
|
||||
export * from './use-router-listener';
|
||||
export * from './use-scroll-to-top';
|
||||
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
/* eslint-disable react-hooks/exhaustive-deps */
|
||||
import { useLayoutEffect } from 'react';
|
||||
|
||||
import useLocalStorageState from 'use-local-storage-state';
|
||||
import { DEFAULT_BACKGROUND_COLOR } from '@/shared/constants/colors';
|
||||
import { StorageKeys } from '@/shared/constants/local-storage';
|
||||
import { NativeFunction } from '@/shared/constants/native-function';
|
||||
import { useRouterListener } from './use-router-listener';
|
||||
|
||||
export const useChangeBgColor = (color: string) => {
|
||||
const [, setAppColor] = useAppColor();
|
||||
|
||||
useLayoutEffect(() => {
|
||||
setAppColor(color);
|
||||
window.webViewBridge.send(NativeFunction.SetAppColor, color);
|
||||
document.body.style.backgroundColor = color;
|
||||
}, []);
|
||||
};
|
||||
|
||||
export const useResetBgColor = () => {
|
||||
const [, setAppColor] = useAppColor();
|
||||
const defaultColor = DEFAULT_BACKGROUND_COLOR;
|
||||
|
||||
useLayoutEffect(() => {
|
||||
setAppColor(defaultColor);
|
||||
window.webViewBridge.send(NativeFunction.SetAppColor, defaultColor);
|
||||
document.body.style.backgroundColor = defaultColor;
|
||||
}, []);
|
||||
};
|
||||
|
||||
export const useResetBgColorOnLeave = () => {
|
||||
const [, setAppColor] = useAppColor();
|
||||
const defaultColor = DEFAULT_BACKGROUND_COLOR;
|
||||
|
||||
useRouterListener(() => {
|
||||
setAppColor(defaultColor);
|
||||
document.body.style.backgroundColor = defaultColor;
|
||||
window.webViewBridge.send(NativeFunction.SetAppColor, defaultColor);
|
||||
});
|
||||
};
|
||||
|
||||
export const useAppColor = () => {
|
||||
return useLocalStorageState(StorageKeys.AppColor, { defaultValue: DEFAULT_BACKGROUND_COLOR });
|
||||
};
|
||||
@@ -1,45 +0,0 @@
|
||||
import { CSSProperties, useEffect, useState } from 'react';
|
||||
|
||||
export const useFixedButtonPosition = () => {
|
||||
const [buttonStyle, setButtonStyle] = useState<CSSProperties | undefined>();
|
||||
|
||||
const updateButtonPosition = () => {
|
||||
const viewport = window.visualViewport;
|
||||
const viewportHeight = viewport?.height;
|
||||
const viewportOffsetTop = viewport?.offsetTop ?? 0;
|
||||
|
||||
if (viewportHeight && viewportHeight < window.innerHeight) {
|
||||
setButtonStyle({ bottom: `${window.innerHeight - viewportHeight - viewportOffsetTop + 15}px` });
|
||||
} else {
|
||||
setButtonStyle(undefined);
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
const handleResize = () => {
|
||||
updateButtonPosition();
|
||||
};
|
||||
|
||||
visualViewport?.addEventListener('resize', handleResize);
|
||||
window.addEventListener('resize', handleResize); // fallback for window resize
|
||||
|
||||
return () => {
|
||||
visualViewport?.removeEventListener('resize', handleResize);
|
||||
window.removeEventListener('resize', handleResize);
|
||||
};
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
const handleScroll = () => {
|
||||
updateButtonPosition();
|
||||
};
|
||||
|
||||
window.addEventListener('scroll', handleScroll);
|
||||
|
||||
return () => {
|
||||
window.removeEventListener('scroll', handleScroll);
|
||||
};
|
||||
}, []);
|
||||
|
||||
return buttonStyle;
|
||||
};
|
||||
@@ -1,7 +0,0 @@
|
||||
import { useEffect } from 'react';
|
||||
|
||||
export const useScrollToTop = () => {
|
||||
useEffect(() => {
|
||||
document.body.scrollTop = 0;
|
||||
}, []);
|
||||
};
|
||||
Reference in New Issue
Block a user