@@ -40,31 +40,34 @@ export default function BeitragPage({ post, morePosts }: Props) {
4040
4141 let [ shareButtonTitle , setShareButtonTitle ] = useState ( "Teilen" ) ;
4242
43+ const memberButtonContainerRef = useRef < HTMLElement > ( null ) ;
4344 const memberButtonRef = useRef < HTMLElement > ( null ) ;
44- const postRef = useRef < HTMLElement > ( null ) ;
45- if ( postRef . current ) {
46- console . log ( "element:" , postRef . current . getBoundingClientRect ( ) ) ;
47- }
45+ const containerRef = useRef < HTMLElement > ( null ) ;
46+ const shareButtonRef = useRef < HTMLElement > ( null ) ;
4847
4948 useGSAP ( ( ) => {
50- gsap . to ( memberButtonRef . current , {
49+ gsap . to ( memberButtonContainerRef . current , {
5150 scrollTrigger : {
52- trigger : memberButtonRef . current ,
53- start : "0 top" ,
51+ trigger : memberButtonContainerRef . current ,
52+ start : ` ${ - containerRef . current . getBoundingClientRect ( ) . width * 0.05 } top` , // 5vw offset
5453
5554 end : ( ) =>
56- `${ postRef . current . getBoundingClientRect ( ) . y - memberButtonRef . current . getBoundingClientRect ( ) . y + memberButtonRef . current . getBoundingClientRect ( ) . height / 2 } bottom` ,
55+ `${ shareButtonRef . current . getBoundingClientRect ( ) . y - memberButtonContainerRef . current . getBoundingClientRect ( ) . y + memberButtonContainerRef . current . getBoundingClientRect ( ) . height / 2 - memberButtonRef . current . getBoundingClientRect ( ) . height / 2 - containerRef . current . getBoundingClientRect ( ) . width * 0.03 } bottom` ,
5756 scrub : true ,
5857 pin : true ,
59- // markers: true, // Remove after debugging
58+ markers : true , // Remove after debugging
6059 } ,
6160 } ) ;
6261 } ) ;
6362
6463 return (
65- < View dataSet = { { media : ids . container } } style = { styles . container } >
64+ < View
65+ ref = { containerRef }
66+ dataSet = { { media : ids . container } }
67+ style = { styles . container }
68+ >
6669 < View
67- ref = { memberButtonRef }
70+ ref = { memberButtonContainerRef }
6871 style = { {
6972 position : "absolute" ,
7073 top : 0 ,
@@ -76,11 +79,11 @@ export default function BeitragPage({ post, morePosts }: Props) {
7679 } }
7780 >
7881 < View
79- // ref={memberButtonRef}
8082 style = { styles . memberButtonContainer }
8183 dataSet = { { media : ids . memberButtonContainer } }
8284 >
8385 < View
86+ ref = { memberButtonRef }
8487 style = { {
8588 backgroundColor : Colors . darkGreen ,
8689 paddingVertical : Metrics . halfHalfBaseMargin ,
@@ -194,6 +197,7 @@ export default function BeitragPage({ post, morePosts }: Props) {
194197 </ View >
195198 ) }
196199 < View
200+ ref = { shareButtonRef }
197201 // dataSet={{media:ids.}}
198202 style = { { flexDirection : "row" } }
199203 >
@@ -225,7 +229,7 @@ export default function BeitragPage({ post, morePosts }: Props) {
225229 ) }
226230 </ View >
227231 </ View >
228- < View ref = { postRef } >
232+ < View >
229233 { morePosts && morePosts . length > 0 && (
230234 < View
231235 style = { styles . morePostsContainer }
0 commit comments