-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #619 from depromeet/develop
배포용 PR
- Loading branch information
Showing
10 changed files
with
522 additions
and
65 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -44,6 +44,8 @@ type QueryList = { | |
}; | ||
feedList: { | ||
visibility: string; | ||
size: number; | ||
lastId?: number; | ||
}; | ||
|
||
// reaction | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
import { useCallback, useEffect, useRef } from 'react'; | ||
|
||
//https://tech.kakaoenterprise.com/149 | ||
interface IntersectionObserverInit { | ||
/** | ||
* target의 가시성을 확인할 때 사용되는 상위 속성 이름- null 입력 시, 기본값으로 브라우저의 Viewport가 설정됨 | ||
*/ | ||
root?: Element | Document | null; | ||
/** | ||
* root에 마진값을 주어 범위를 확장 가능 | ||
*/ | ||
rootMargin?: string; | ||
/** | ||
* 콜백이 실행되기 위해 target의 가시성이 얼마나 필요한지 백분율로 표시 | ||
*/ | ||
threshold?: number | number[]; | ||
} | ||
|
||
type IntersectHandler = (entry: IntersectionObserverEntry, observer: IntersectionObserver) => void; | ||
|
||
const useIntersect = (onIntersect: IntersectHandler, options?: IntersectionObserverInit) => { | ||
const ref = useRef<HTMLDivElement>(null); | ||
const callback = useCallback( | ||
(entries: IntersectionObserverEntry[], observer: IntersectionObserver) => { | ||
entries.forEach((entry) => { | ||
if (entry.isIntersecting) onIntersect(entry, observer); | ||
}); | ||
}, | ||
[onIntersect], | ||
); | ||
|
||
useEffect(() => { | ||
if (!ref.current) return; | ||
const observer = new IntersectionObserver(callback, options); | ||
observer.observe(ref.current); | ||
return () => observer.disconnect(); | ||
}, [ref, options, callback]); | ||
|
||
return ref; | ||
}; | ||
|
||
export default useIntersect; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
import { css } from '@/styled-system/css'; | ||
|
||
export const fixedPositionCss = css({ | ||
position: 'fixed', | ||
marginLeft: 'auto', | ||
marginRight: 'auto', | ||
left: 0, | ||
right: 0, | ||
maxWidth: '475px', | ||
}); |
Oops, something went wrong.