diff --git a/client/public/sponsor-logos/Casio.svg b/client/public/sponsor-logos/Casio.svg new file mode 100644 index 00000000..e48576cc --- /dev/null +++ b/client/public/sponsor-logos/Casio.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/client/public/sponsor-logos/DoE.svg b/client/public/sponsor-logos/DoE.svg new file mode 100644 index 00000000..948398e1 --- /dev/null +++ b/client/public/sponsor-logos/DoE.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/client/public/sponsor-logos/ECU.svg b/client/public/sponsor-logos/ECU.svg new file mode 100644 index 00000000..1b435492 --- /dev/null +++ b/client/public/sponsor-logos/ECU.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/client/public/sponsor-logos/MAWA.svg b/client/public/sponsor-logos/MAWA.svg new file mode 100644 index 00000000..2430e51b --- /dev/null +++ b/client/public/sponsor-logos/MAWA.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/client/public/sponsor-logos/Murdoch.svg b/client/public/sponsor-logos/Murdoch.svg new file mode 100644 index 00000000..eae021c3 --- /dev/null +++ b/client/public/sponsor-logos/Murdoch.svg @@ -0,0 +1,3 @@ + + + diff --git a/client/public/sponsor-logos/New-Edition.svg b/client/public/sponsor-logos/New-Edition.svg new file mode 100644 index 00000000..0baf3369 --- /dev/null +++ b/client/public/sponsor-logos/New-Edition.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/client/public/sponsor-logos/UWA.svg b/client/public/sponsor-logos/UWA.svg new file mode 100644 index 00000000..5cf915fb --- /dev/null +++ b/client/public/sponsor-logos/UWA.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/client/src/components/layout.tsx b/client/src/components/layout.tsx index fe85e830..b554e17a 100644 --- a/client/src/components/layout.tsx +++ b/client/src/components/layout.tsx @@ -7,6 +7,7 @@ import { useFetchData } from "@/hooks/use-fetch-data"; import { User } from "@/types/user"; import Sidebar from "./sidebar"; +import Footer from "./ui/footer"; interface LayoutProps { children: React.ReactNode; @@ -47,6 +48,7 @@ export default function Layout({ children }: LayoutProps) {
{children}
+
); } diff --git a/client/src/components/ui/button.tsx b/client/src/components/ui/button.tsx index 5a50b6cf..a27e4773 100644 --- a/client/src/components/ui/button.tsx +++ b/client/src/components/ui/button.tsx @@ -21,6 +21,8 @@ const buttonVariants = cva( "tab-active": "bg-gray-200 text-black rounded-bl-none rounded-br-none", // to use in `MathInput` component "tab-inactive": "bg-gray-500 hover:bg-primary text-black rounded-bl-none rounded-br-none", // to use in `MathInput` component + inactive: + "bg-background text-grey border border-grey hover:bg-grey hover:text-black", }, size: { default: "h-10 px-4 py-2", diff --git a/client/src/components/ui/footer.tsx b/client/src/components/ui/footer.tsx new file mode 100644 index 00000000..c200d9c3 --- /dev/null +++ b/client/src/components/ui/footer.tsx @@ -0,0 +1,23 @@ +import Link from "next/link"; + +export default function Footer() { + return ( +
+
Western Australian Junior mathematics Olympiad
+
+ + News + + + Awards + + + Resources + + + Contact us + +
+
+ ); +} diff --git a/client/src/components/ui/sponsor.tsx b/client/src/components/ui/sponsor.tsx new file mode 100644 index 00000000..67754cc6 --- /dev/null +++ b/client/src/components/ui/sponsor.tsx @@ -0,0 +1,39 @@ +import Image from "next/image"; + +import Casio from "../../../public/sponsor-logos/Casio.svg"; +import DoE from "../../../public/sponsor-logos/DoE.svg"; +import ECU from "../../../public/sponsor-logos/ECU.svg"; +import MAWA from "../../../public/sponsor-logos/MAWA.svg"; +import Murdoch from "../../../public/sponsor-logos/Murdoch.svg"; +import NewEdition from "../../../public/sponsor-logos/New-Edition.svg"; +import UWA from "../../../public/sponsor-logos/UWA.svg"; + +const images = [ + { src: DoE, href: "https://www.education.wa.edu.au/", name: "DoE" }, + { src: UWA, href: "https://www.uwa.edu.au/", name: "UWA" }, + { src: MAWA, href: "https://mawainc.org.au/", name: "MAWA" }, + { src: ECU, href: "https://www.ecu.edu.au/", name: "ECU" }, + { src: NewEdition, href: "https://newedition.com.au", name: "NewEdition" }, + { src: Murdoch, href: "https://www.murdoch.edu.au/", name: "Murdoch" }, + { src: Casio, href: "https://casioeducation.com.au/", name: "Casio" }, +]; + +export default function Sponsor() { + return ( +
+
+ {[...images, ...images].map((item, index) => ( + + {`Logo + + ))} +
+
+ ); +} diff --git a/client/src/pages/index.tsx b/client/src/pages/index.tsx index 26604529..2defda45 100644 --- a/client/src/pages/index.tsx +++ b/client/src/pages/index.tsx @@ -1,29 +1,185 @@ -import { useState } from "react"; +import { Ghost } from "lucide-react"; +import Image from "next/image"; +import { useRouter } from "next/router"; +import { useEffect, useState } from "react"; +import Sponsor from "@/components/ui/sponsor"; import { usePings } from "@/hooks/pings"; import { Button } from "../components/ui/button"; export default function Home() { + const [Loading, setLoading] = useState(true); const [clicked, setClicked] = useState(false); const { data, isLoading } = usePings({ enabled: clicked, }); + const router = useRouter(); + + useEffect(() => { + // Simulate a delay (e.g., data fetching or other asynchronous operation) + const timer = setTimeout(() => { + setLoading(false); // Set loading to false after the delay + }, 2000); // Replace with your actual loading logic + + return () => clearTimeout(timer); // Cleanup the timer + }, []); + + if (Loading) { + return ( +
+ +

+ Response from server: {data as string} +

+
+ ); + } return ( -
-

Test title

-

Test title

-

Test title

-

Test title

-
Test title
-
Test title
- -

- Response from server: {data as string} -

+
+
+

WAJO Olympiads will be back next year!

+ +
+
+

What is WAJO and what are the Olympiads?

+
+ The Western Australian Junior Mathematics Olympiad is an annual + competition celebrating top young mathematicians. Open to students in + Years 7-9 (exceptional younger students may apply), it consists of two + parts: an online individual paper and an in-person team paper. +
+
+ +
+

Updates

+
+
+ WAJO is over for 2024, but we'll be back again in 2025, with similar + dates to below!{" "} +
+
+

2024 format:

combination + of online and paper-based formats.{" "} +

Confirmed Dates:

+
    + {" "} +
  • + Individual paper:{" "} +

    + Tuesday, 15 October, 2024 for 100 minutes starting between + 2:30pm and 4pm, online at your school +

    +
  • {" "} +
  • + Team paper:{" "} +

    + Saturday, 19 October, 2024 for 50 minutes. Registration at + 9:00am. Prize Ceremony finishes 12:30pm. +

    +
  • +
+
+
+

At two venues:

+
    + {" "} +
  • +

    Perth:

    UWA, in Arts + Building centred around Alexander Lecture Theatre (Search for: + Alex). +
  • +
  • + {" "} +

    Bunbury:

    Building 6, + Edith Cowan University – Bunbury Campus (Grid Reference: E4), + 585 Robertson Drive, Bunbury WA 6230. +
  • +
+

You need:

Pens, pencils, + and if you wish, ruler and compass. Special +

+ conditions: +

No calculators. Brains only. +
+
+ {" "} +

Prize Ceremony (Perth):

+
    +
  • + Date:{" "} +

    + Saturday, 19 October 2024 +

    +
  • +
  • + {" "} + Time:{" "} +

    11:30am – 12:30pm

    +
  • +
  • + {" "} + Venue:{" "} +

    + Social Sciences Lecture Theatre, near Hackett Entrance No. 1{" "} +

    + (see campus map - in SEARCH enter: Social Sciences Lecture T One + selection will come up. Click on it, and a balloon will + highlight its location below Car park 3, a good place to park.) +
  • +
+
+
+ Future news to come, In the meantime, feel free to look at past + papers and try a practice test here! +
+
+ +
+
+

🏅 Major Prizes 🏆

+
    +
  • UWA Mathematics & Statistics Prize – Best Year 9 student
  • +
  • MAWA "Jack Bana Award" – Best Year 9 team
  • +
  • Curtin Mathematics & Statistics Prize – Best Year 8 student
  • +
  • ECU "David McDougall Award" – Best Year 8 team
  • +
  • + Department of Education Gifted & Talented Awards – Top public school + individual & team +
  • +
  • + Awards of Excellence – Sponsored by New Edition Bookshop, Data + Analysis Australia, Murdoch University, Dept. of Education, and + Optiver +
  • +
+
+
+ Prizes also include second and third place awards in the first four + categories, plus numerous merit prizes. See our awards section for + details and past winners. +
+
+

Our sponsors

+
+ +
+
); } diff --git a/client/src/styles/globals.css b/client/src/styles/globals.css index 2015f1c8..c5fcea99 100644 --- a/client/src/styles/globals.css +++ b/client/src/styles/globals.css @@ -150,10 +150,22 @@ .font-roboto { font-family: var(--font-roboto); } + .body-1 { + @apply font-urbanist; + font-size: 18px; + font-weight: 500; + line-height: 28px; + } + .body-1-bold { + @apply font-urbanist; + font-size: 18px; + font-weight: 600; + line-height: 28px; + } .body-2 { @apply font-urbanist; font-size: 14px; - font-weight: 600; + font-weight: 500; line-height: 24px; } .body-2-bold { diff --git a/client/tailwind.config.ts b/client/tailwind.config.ts index 6d5c5570..c36e1fb7 100644 --- a/client/tailwind.config.ts +++ b/client/tailwind.config.ts @@ -39,6 +39,8 @@ const config = { border: "hsl(var(--border))", input: "hsl(var(--input))", ring: "hsl(var(--ring))", + background1: "#FFE8A3", + background2: "#FFD659", background: "#ffffff", foreground: "hsl(var(--foreground))", primary: "#f8b400", @@ -102,10 +104,19 @@ const config = { height: "0", }, }, + slide: { + from: { + transform: `translateX(0)`, + }, + to: { + transform: `translateX(-100%)`, + }, + }, }, animation: { "accordion-down": "accordion-down 0.2s ease-out", "accordion-up": "accordion-up 0.2s ease-out", + slide: "slide 20s linear infinite", }, }, },