Skip to content

Commit d09c3a7

Browse files
committed
Finetuning member button
1 parent 27ea766 commit d09c3a7

File tree

2 files changed

+30
-26
lines changed

2 files changed

+30
-26
lines changed

next/app/(main)/[slug]/PageProgram.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -54,31 +54,30 @@ export default function ProgramPage({
5454
let promo_box = program.promo_box as ItemsPromoBox;
5555
let { isMobile } = useResponsive();
5656
let [shareButtonTitle, setShareButtonTitle] = useState("Teilen");
57+
const memberButtonContainerRef = useRef<HTMLElement>(null);
5758
const memberButtonRef = useRef<HTMLElement>(null);
58-
const postRef = useRef<HTMLElement>(null);
59-
if (postRef.current) {
60-
console.log("element:", postRef.current.getBoundingClientRect());
61-
}
59+
const containerRef = useRef<HTMLElement>(null);
60+
const shareButtonRef = useRef<HTMLElement>(null);
6261

6362
useGSAP(() => {
64-
gsap.to(memberButtonRef.current, {
63+
gsap.to(memberButtonContainerRef.current, {
6564
scrollTrigger: {
66-
trigger: memberButtonRef.current,
67-
start: "0 top",
65+
trigger: memberButtonContainerRef.current,
66+
start: `${-containerRef.current.getBoundingClientRect().width * 0.05} top`,
6867

6968
end: () =>
70-
`${postRef.current.getBoundingClientRect().y - memberButtonRef.current.getBoundingClientRect().y + memberButtonRef.current.getBoundingClientRect().height / 2} bottom`,
69+
`${shareButtonRef.current.getBoundingClientRect().y - memberButtonContainerRef.current.getBoundingClientRect().y + memberButtonContainerRef.current.getBoundingClientRect().height / 2 - memberButtonRef.current.getBoundingClientRect().height / 2 - containerRef.current.getBoundingClientRect().width * 0.05} bottom`,
7170
scrub: true,
7271
pin: true,
73-
// markers: true, // Remove after debugging
72+
markers: true, // Remove after debugging
7473
},
7574
});
7675
});
7776

7877
return (
79-
<View style={styles.container}>
78+
<View ref={containerRef} style={styles.container}>
8079
<View
81-
ref={memberButtonRef}
80+
ref={memberButtonContainerRef}
8281
style={{
8382
position: "absolute",
8483
top: "75vh",
@@ -89,11 +88,11 @@ export default function ProgramPage({
8988
}}
9089
>
9190
<View
92-
// ref={memberButtonRef}
9391
style={styles.memberButtonContainer}
9492
dataSet={{ media: ids.memberButtonContainer }}
9593
>
9694
<View
95+
ref={memberButtonRef}
9796
style={{
9897
backgroundColor: Colors.darkGreen,
9998
paddingVertical: Metrics.halfHalfBaseMargin,
@@ -244,6 +243,7 @@ export default function ProgramPage({
244243
)}
245244

246245
<View
246+
ref={shareButtonRef}
247247
// dataSet={{media:ids.}}
248248
style={{ flexDirection: "row" }}
249249
>
@@ -286,7 +286,7 @@ export default function ProgramPage({
286286
></PromoBox>
287287
</View>
288288
)}
289-
<View ref={postRef}>
289+
<View>
290290
{posts && posts.length > 0 && (
291291
<View style={{ width: "90vw", paddingTop: Metrics.tripleBaseMargin }}>
292292
<View

next/app/(main)/beitrag/[date]/[postslug]/PagePost.tsx

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)