-
Saturday, April 13th | 9am–5pm | DIB 208
-
Journey beyond the horizons of innovation!
-
- Design Frontiers is Design Co's very own long day sprint,
- where student teams of all backgrounds come together to create
- innovative solutions for real-world problems.
-
+
+
+
+
+
+

+
-
-
- Saturday, May 20th
- 9am-5pm
-
-
DIB ROOM 208
+
+
+
Saturday, April 13th | 9am–5pm | DIB 208
+
Journey beyond the horizons of innovation!
+
+ Design Frontiers is Design Co's very own long day sprint,
+ where student teams of all backgrounds come together to create
+ innovative solutions for real-world problems.
+
+
+
+
+ Saturday, May 20th
+ 9am-5pm
+
+ DIB ROOM 208
+
+
+
-
-
-
-
+
+
);
}
diff --git a/src/pages/Judges/Judges.tsx b/src/pages/Judges/Judges.tsx
index 65b896e..2e14ddf 100644
--- a/src/pages/Judges/Judges.tsx
+++ b/src/pages/Judges/Judges.tsx
@@ -4,50 +4,54 @@ import { useRef } from 'react';
import { JudgeInfo } from './JudgeInfo';
import useIsDesktop from '../../util/useIsDesktop';
-export default function Judges() {
+type JudgesProps = {
+ scroll4Ref: React.RefObject
;
+};
+
+export default function Judges({ scroll4Ref }: JudgesProps) {
const judge1Ref = useRef(null);
const judge2Ref = useRef(null);
- const judge1ContainerRef = useRef(null);
- const judge2ContainerRef = useRef(null);
const isDesktop = useIsDesktop();
- console.log(JudgeInfo.slice(3, 5));
-
return (
{isDesktop ? (
<>
-
-
-
Judges
- {JudgeInfo.slice(0, 3).map(item => (
-
- ))}
-
-
-
-
-
Judges
- {JudgeInfo.slice(3, 5).map(item => (
-
- ))}
-
-
+
+
+
+
Judges
+ {JudgeInfo.slice(0, 3).map(item => (
+
+ ))}
+
+
+
+
+
+
+
Judges
+ {JudgeInfo.slice(3, 5).map(item => (
+
+ ))}
+
+
+
>
) : (
diff --git a/src/pages/Timeline/Timeline.tsx b/src/pages/Timeline/Timeline.tsx
index 5e9f48e..d36ca9b 100644
--- a/src/pages/Timeline/Timeline.tsx
+++ b/src/pages/Timeline/Timeline.tsx
@@ -35,24 +35,30 @@ const TimlineList = [
}
];
-export default function Timeline() {
+type TimelineProps = {
+ scroll3Ref: React.RefObject;
+};
+
+export default function Timeline({ scroll3Ref }: TimelineProps) {
return (
-
+
);
}
diff --git a/src/pages/Timeline/TimelineInfo.tsx b/src/pages/Timeline/TimelineInfo.tsx
new file mode 100644
index 0000000..e69de29
diff --git a/src/styles/App.scss b/src/styles/App.scss
index 9a8ec7f..501d9a3 100644
--- a/src/styles/App.scss
+++ b/src/styles/App.scss
@@ -48,7 +48,9 @@
.scroll-section-one,
.scroll-section-two,
.scroll-section-three,
- .scroll-section-four {
+ .scroll-section-four,
+ .scroll-section-five,
+ .scroll-section-six {
scroll-snap-align: center;
height: 100vh;
padding-left: $content-offset;
@@ -64,7 +66,9 @@
.two,
.three,
- .four {
+ .four,
+ .five,
+ .six {
opacity: 1;
height: 100vh;
transform: rotate(80deg);
diff --git a/src/util/handleRotate.ts b/src/util/handleRotate.ts
index f3fde1b..aa5d130 100644
--- a/src/util/handleRotate.ts
+++ b/src/util/handleRotate.ts
@@ -152,7 +152,7 @@ export function handleRotate(planetRef: React.RefObject) {
trigger: '.scroll-section-four',
scrub: 0.1,
//Where animation starts and ends
- start: 'bottom 100%',
+ start: 'bottom 99%',
end: 'bottom'
},
opacity: 1,
@@ -174,6 +174,92 @@ export function handleRotate(planetRef: React.RefObject) {
ease: 'none'
});
+ gsap.from('.five', {
+ scrollTrigger: {
+ scroller: '.scroll-cont',
+ trigger: '.scroll-section-five',
+ scrub: 0.1,
+ start: 'top 99%',
+ end: 'top'
+ },
+ opacity: 0,
+ duration: 1,
+ ease: 'out',
+ x: -1000,
+ y: 200
+ });
+
+ gsap.from('.five', {
+ scrollTrigger: {
+ scroller: '.scroll-cont',
+ trigger: '.scroll-section-five',
+ scrub: 0.1,
+ //Where animation starts and ends
+ start: 'bottom 99%',
+ end: 'bottom'
+ },
+ opacity: 1,
+ duration: 1,
+ ease: 'none'
+ });
+
+ gsap.to('.five', {
+ scrollTrigger: {
+ scroller: '.scroll-cont',
+ trigger: '.scroll-section-five',
+ scrub: 0.01,
+ start: 'top 99%',
+ end: 'bottom'
+ },
+ rotation: -80,
+ transformOrigin: transformOrigin,
+ duration: 1,
+ ease: 'none'
+ });
+
+ gsap.from('.six', {
+ scrollTrigger: {
+ scroller: '.scroll-cont',
+ trigger: '.scroll-section-six',
+ scrub: 0.1,
+ start: 'top 99%',
+ end: 'top'
+ },
+ opacity: 0,
+ duration: 1,
+ ease: 'out',
+ x: -1000,
+ y: 200
+ });
+
+ gsap.from('.six', {
+ scrollTrigger: {
+ scroller: '.scroll-cont',
+ trigger: '.scroll-section-six',
+ scrub: 0.1,
+ //Where animation starts and ends
+ start: 'bottom 99%',
+ end: 'bottom'
+ },
+ opacity: 1,
+ duration: 1,
+ ease: 'none'
+ });
+
+ gsap.to('.six', {
+ scrollTrigger: {
+ scroller: '.scroll-cont',
+ trigger: '.scroll-section-six',
+ scrub: 0.01,
+ start: 'top 99%',
+ end: 'bottom'
+ },
+ rotation: -80,
+ transformOrigin: transformOrigin,
+ duration: 1,
+ ease: 'none'
+ });
+
return () => {
// optionally return a cleanup function that will be called when none of the conditions match anymore (after having matched)
// it'll automatically call context.revert() - do NOT do that here . Only put custom cleanup code here.