diff --git a/app/about-us/page.tsx b/app/about-us/page.tsx index d87ad2b..1cef0ea 100644 --- a/app/about-us/page.tsx +++ b/app/about-us/page.tsx @@ -6,6 +6,7 @@ import Carousel from '../components/about-us/carousel'; import FunFact from '../components/about-us/funfact'; import ModalOverlay from '../components/modal-overlay'; import { useState } from 'react'; +import { FadeInDiv } from '../components/animations'; export default function AboutUs() { //To Test the modal Overlay Uncomment below const [isModalOpen, setIsModalOpen] = useState(true); @@ -42,94 +43,105 @@ export default function AboutUs() { } {/* What is Nuansa section */}
-

What is "Nuansa"

-

- An annual arts and cultural event by a group of Indonesian students in NUS. - It aims to promote the rich and diverse cultures of Indonesia. -

+ +

What is "Nuansa"

+

+ An annual arts and cultural event by a group of Indonesian students in NUS. + It aims to promote the rich and diverse cultures of Indonesia. +

+
{/* Fun Fact Section */} -
-

Fun Fact

-
+
+ +

Fun Fact

+
+

Fun Fact

Fun Fict

-
+
{/* Vision and Mission Section */}
-
+

Our Vision

To enrich society by creating and sharing diverse cultural expressions that inspire, challenge, and connect people across different backgrounds.

-
-
+ +

Our Mission

To produce and promote cultural works that reflect, preserve, and innovate cultural heritage, fostering greater understanding.

-
+
{/* Memorable Clips Section */}
-

Memorable Clips

-
- - Some Memorable Clips - Some Memorable Clips - Some Memorable Clips - -
+ +

Memorable Clips

+
+ + Some Memorable Clips + Some Memorable Clips + Some Memorable Clips + +
+
{/* Flex container for Why Join Us section */} -
- {/* Grid of Features (Networking, Collaboration, Creativity) */} -
-
- Networking -
-
- Networking + +
+ {/* Grid of Features (Networking, Collaboration, Creativity) */} +
+
+ Networking +
+
+ Networking +
+
+ Networking +
-
- Networking -
-
+ - {/* Why Join Us heading */} -
-

Why Join Us

+ {/* Why Join Us heading */} +
+

Why Join Us

+
-
+ {/* Video section */} -
-

View Our Latest Show{">>"} -

- -
+ +
+

View Our Latest Show{">>"} +

+ +
+
); diff --git a/app/components/animations.tsx b/app/components/animations.tsx new file mode 100644 index 0000000..c45d410 --- /dev/null +++ b/app/components/animations.tsx @@ -0,0 +1,28 @@ +/** + * Contains React components to wrap other components in framer-motion animations. + */ + +import React from "react"; +import { motion } from "framer-motion"; + +// TODO: add type checking +// @ts-ignore +export function FadeInDiv({ children, ...props }) { + const variants = { + hidden: { y: 10, opacity: 0 }, + visible: { y: 0, opacity: 1 }, + }; + + return ( + + {children} + + ); +} diff --git a/app/contact-us/page.tsx b/app/contact-us/page.tsx index 4a59b6a..b8df100 100644 --- a/app/contact-us/page.tsx +++ b/app/contact-us/page.tsx @@ -1,11 +1,14 @@ +"use client" + import Image from "next/image"; import BusinessForm from "@/app/components/contact-us/business-form"; import GeneralForm from "@/app/components/contact-us/general-form"; +import { FadeInDiv } from "../components/animations"; export default function ContactPage() { return (
-
+
@@ -13,8 +16,8 @@ export default function ContactPage() { {'logo'}
-
-
+ +
{'logo'} @@ -22,7 +25,7 @@ export default function ContactPage() {
-
+
) } \ No newline at end of file diff --git a/app/our-team/arts/page.tsx b/app/our-team/arts/page.tsx index 6a70f4b..d11080b 100644 --- a/app/our-team/arts/page.tsx +++ b/app/our-team/arts/page.tsx @@ -1,12 +1,15 @@ +"use client" + import MemberCard from "@/app/components/our-team/member-card"; import Image from "next/image"; +import { FadeInDiv } from "@/app/components/animations"; export default function Page() { return (
What We Do -
+

ARTS @@ -20,23 +23,27 @@ export default function Page() { Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

-
+
-

- Divisions and Tasks -

-

- Members -

-
+ +

+ Divisions and Tasks +

+
+ +

+ Members +

+
+ -
+
) diff --git a/app/our-team/external-affairs/page.tsx b/app/our-team/external-affairs/page.tsx index 5d84144..e2a98bf 100644 --- a/app/our-team/external-affairs/page.tsx +++ b/app/our-team/external-affairs/page.tsx @@ -1,12 +1,15 @@ +"use client" + import MemberCard from "@/app/components/our-team/member-card"; import Image from "next/image"; +import { FadeInDiv } from "@/app/components/animations"; export default function Page() { return (
What We Do -
+

EXTERNAL AFFAIRS @@ -20,23 +23,27 @@ export default function Page() { Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

-
+
-

- Divisions and Tasks -

-

- Members -

-
+ +

+ Divisions and Tasks +

+
+ +

+ Members +

+
+ -
+
) diff --git a/app/our-team/page.tsx b/app/our-team/page.tsx index 1dfd3a7..2db9db3 100644 --- a/app/our-team/page.tsx +++ b/app/our-team/page.tsx @@ -1,32 +1,39 @@ +'use client' + import Image from "next/image"; import TeamCard from "../components/our-team/team-card"; +import { FadeInDiv } from "../components/animations"; export default function Page() { return (
-
-

- Structure -

- Structure +
+ +

+ Structure +

+ Structure +
-
+

Management Profile

Management Profile -
+
-
-

- Find Out More -

-
- - - -
+
+ +

+ Find Out More +

+
+ + + +
+
) diff --git a/app/our-team/production/page.tsx b/app/our-team/production/page.tsx index 5cb1933..7318233 100644 --- a/app/our-team/production/page.tsx +++ b/app/our-team/production/page.tsx @@ -1,12 +1,15 @@ +"use client" + import MemberCard from "@/app/components/our-team/member-card"; import Image from "next/image"; +import { FadeInDiv } from "@/app/components/animations"; export default function Page() { return (
What We Do -
+

PRODUCTION @@ -20,23 +23,27 @@ export default function Page() { Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

-
+
-

- Divisions and Tasks -

-

- Members -

-
+ +

+ Divisions and Tasks +

+
+ +

+ Members +

+
+ -
+
) diff --git a/app/page.tsx b/app/page.tsx index 1e18e53..08f75bc 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,5 +1,8 @@ +'use client' + import Image from "next/image"; import Timer from "./components/timer"; +import { FadeInDiv } from "./components/animations"; export default function Home() { @@ -8,11 +11,11 @@ export default function Home() {
{'Background'}
-
+ {'The -
-
+ +

Synopsis

@@ -21,8 +24,8 @@ export default function Home() { As punishment for her mistreatment of her mother, a prayer by the widow causes the daughter to be struck by lightning and turned into a crying stone statue. The story teaches the importance of honoring one's parents.

-
-
+ +

Characters

@@ -46,7 +49,7 @@ export default function Home() {

- +