-
-
404 - Page Not Found
-
- Sorry! We can't find the page you're looking for!
-
-
-
-
Oops! This page must have been garbage collected.
+ <>
+
+ 404
+
+
+
-
-
+
+
+ >
+
);
}
diff --git a/frontend/src/pages/_document.tsx b/frontend/src/pages/_document.tsx
index e2f2010..5a64930 100644
--- a/frontend/src/pages/_document.tsx
+++ b/frontend/src/pages/_document.tsx
@@ -4,6 +4,7 @@ export default function Document() {
return (
+
{
return (
+
+ Constitution | CseSoc UNSW
+
@@ -52,4 +56,4 @@ const ConstitutionPage = () => {
);
}
-export default ConstitutionPage;
\ No newline at end of file
+export default ConstitutionPage;
diff --git a/frontend/src/pages/about/election-guide.tsx b/frontend/src/pages/about/election-guide.tsx
index 4c913f2..ef0ec27 100644
--- a/frontend/src/pages/about/election-guide.tsx
+++ b/frontend/src/pages/about/election-guide.tsx
@@ -1,10 +1,14 @@
import Layout from "@/components/Layout";
import PageBody from "@/components/PageBody";
import PageTitle from "@/components/PageTitle";
+import TabTitle from 'next/head'
const ElectionGuidePage = () => {
return (
+
+ Constitution | CseSoc UNSW
+
@@ -114,4 +118,4 @@ const ElectionGuidePage = () => {
);
};
-export default ElectionGuidePage;
\ No newline at end of file
+export default ElectionGuidePage;
diff --git a/frontend/src/pages/about/execs-directors-subcoms.tsx b/frontend/src/pages/about/execs-directors-subcoms.tsx
index 3321419..0fbc040 100644
--- a/frontend/src/pages/about/execs-directors-subcoms.tsx
+++ b/frontend/src/pages/about/execs-directors-subcoms.tsx
@@ -3,10 +3,14 @@ import Layout from "@/components/Layout";
import PageBody from "@/components/PageBody";
import PageTitle from "@/components/PageTitle";
import { EXECS } from "@/../public/data/execs";
+import TabTitle from 'next/head'
const ExecsDirectorsSubcommitteesPage = () => {
return (
+
+ Execs, Directors, Subcom | CseSoc UNSW
+
{/* CSESOC TEAM */}
diff --git a/frontend/src/pages/about/faqs.tsx b/frontend/src/pages/about/faqs.tsx
index 1c4654e..1ff036d 100644
--- a/frontend/src/pages/about/faqs.tsx
+++ b/frontend/src/pages/about/faqs.tsx
@@ -1,10 +1,14 @@
import Layout from "@/components/Layout";
import PageBody from "@/components/PageBody";
import PageTitle from "@/components/PageTitle";
+import TabTitle from 'next/head'
const FaqsPage = () => {
return (
+
+ FAQs | CseSoc UNSW
+
@@ -54,4 +58,4 @@ const FaqsPage = () => {
);
};
-export default FaqsPage;
\ No newline at end of file
+export default FaqsPage;
diff --git a/frontend/src/pages/about/index.tsx b/frontend/src/pages/about/index.tsx
index 1b99746..28ab4a5 100644
--- a/frontend/src/pages/about/index.tsx
+++ b/frontend/src/pages/about/index.tsx
@@ -2,10 +2,15 @@ import Layout from "@/components/Layout";
import PageTitle from "@/components/PageTitle";
import Image from 'next/image';
import Link from 'next/link';
+import TabTitle from 'next/head';
export default function AboutPage() {
return (
+
+ About Us | CseSoc UNSW
+
+
diff --git a/frontend/src/pages/about/our-history.tsx b/frontend/src/pages/about/our-history.tsx
index b2cbce6..e370bd3 100644
--- a/frontend/src/pages/about/our-history.tsx
+++ b/frontend/src/pages/about/our-history.tsx
@@ -1,6 +1,7 @@
import Layout from "@/components/Layout";
import PageBody from "@/components/PageBody";
import PageTitle from "@/components/PageTitle";
+import TabTitle from 'next/head'
import { useState } from "react";
const MIN_YEAR = 2007;
@@ -13,6 +14,10 @@ const OurHistoryPage = () => {
return (
+
+ Our History | CseSoc UNSW
+
+
diff --git a/frontend/src/pages/contact-us.tsx b/frontend/src/pages/contact-us.tsx
index d41ef35..d2a4426 100644
--- a/frontend/src/pages/contact-us.tsx
+++ b/frontend/src/pages/contact-us.tsx
@@ -2,10 +2,15 @@ import Contacts from '@/components/Contacts';
import Layout from '@/components/Layout';
import PageBody from '@/components/PageBody';
import PageTitle from '@/components/PageTitle';
+import TabTitle from 'next/head';
export default function ContactUsPage() {
return (
+
+ Contact Us | CseSoc UNSW
+
+
diff --git a/frontend/src/pages/events.tsx b/frontend/src/pages/events.tsx
index cf248c8..e43397c 100644
--- a/frontend/src/pages/events.tsx
+++ b/frontend/src/pages/events.tsx
@@ -2,17 +2,24 @@ import Navbar from '@/components/Navbar';
import Footer from '@/components/Footer';
// import axios from 'axios';
import Events from '@/components/Event';
+import TabTitle from 'next/head'
export default function EventsPage() {
return (
-
+ <>
+
+ Events | CseSoc UNSW
+
+
+
+ >
);
}
\ No newline at end of file
diff --git a/frontend/src/pages/index.tsx b/frontend/src/pages/index.tsx
index 445bc19..25fb5cd 100644
--- a/frontend/src/pages/index.tsx
+++ b/frontend/src/pages/index.tsx
@@ -3,10 +3,16 @@ import Landing from '@/components/Landing';
import Sponsors from '@/components/Sponsors/index';
import AboutHomePage from '@/components/About/AboutHomepage';
import EventsBrief from '@/components/Event/EventsBrief';
+import TabTitle from 'next/head';
export default function HomePage() {
return (
-
+ <>
+
+ CseSoc UNSW
+
+
+
@@ -18,6 +24,8 @@ export default function HomePage() {
-
+
+ >
+
);
}
diff --git a/frontend/src/pages/resources.tsx b/frontend/src/pages/resources.tsx
index f656165..f1386f9 100644
--- a/frontend/src/pages/resources.tsx
+++ b/frontend/src/pages/resources.tsx
@@ -2,6 +2,7 @@ import Layout from '@/components/Layout';
import Image from 'next/image';
import { resourceCards, stage1, stage2, stage3 } from '@/../public/data/resourceCards';
import PageTitle from '@/components/PageTitle';
+import TabTitle from 'next/head';
export default function ResourcesPage() {
const boxStyling =
@@ -9,6 +10,10 @@ export default function ResourcesPage() {
return (
+
+ Resources | CseSoc UNSW
+
+
diff --git a/frontend/src/pages/sponsors.tsx b/frontend/src/pages/sponsors.tsx
index f42c7dd..15641a2 100644
--- a/frontend/src/pages/sponsors.tsx
+++ b/frontend/src/pages/sponsors.tsx
@@ -3,6 +3,7 @@ import { useState } from 'react';
import { diamondLinks, goldLinks, silverLinks, sponsorInfo } from '@/../public/data/sponsorInfos';
import SponsorModal from '@/components/Sponsors/SponsorModal';
import { EmojiRain } from 'next-emoji-rain';
+import TabTitle from 'next/head';
export default function SponsorsPage() {
const logostyle =
@@ -29,6 +30,10 @@ export default function SponsorsPage() {
return (
+
+ Sponsers | CseSoc UNSW
+
+
diff --git a/frontend/src/styles/globals.css b/frontend/src/styles/globals.css
index b94c5b5..3f7691b 100644
--- a/frontend/src/styles/globals.css
+++ b/frontend/src/styles/globals.css
@@ -29,3 +29,58 @@ body {
.hover-animate:hover {
transform: scale(1.03);
}
+
+@keyframes expandDown {
+ from {
+ max-height: 0;
+ opacity: 0;
+ }
+ to {
+ max-height: auto;
+ opacity: 1;
+ }
+}
+
+@keyframes smoothClose {
+ from {
+ max-height: auto;
+ opacity: 1;
+ }
+ to {
+ max-height: 0;
+ opacity: 0;
+ }
+}
+
+@keyframes fadeInUp {
+ from {
+ opacity: 0;
+ transform: translateY(-8px);
+ }
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+
+.dropdown-content {
+ animation: expandDown 1.2s ease-out;
+ transform-origin: top;
+}
+
+.dropdown-content[data-state="closed"] {
+ animation: smoothClose 0.3s ease-in-out;
+ transform-origin: top;
+}
+
+.dropdown-item {
+ opacity: 0;
+ animation: fadeInUp 0.5s ease-out forwards;
+}
+
+.dropdown-item:nth-child(1) { animation-delay: 0.1s; }
+.dropdown-item:nth-child(2) { animation-delay: 0.2s; }
+.dropdown-item:nth-child(3) { animation-delay: 0.3s; }
+.dropdown-item:nth-child(4) { animation-delay: 0.4s; }
+.dropdown-item:nth-child(5) { animation-delay: 0.5s; }
+.dropdown-item:nth-child(6) { animation-delay: 0.6s; }
\ No newline at end of file