From 407074529ff56f86b99932dd26645bedb89aa018 Mon Sep 17 00:00:00 2001 From: dylan Date: Sun, 18 May 2025 20:03:05 +1000 Subject: [PATCH 1/6] add tradedesk logo --- .../public/assets/the_trade_desk_logo.svg | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 frontend/public/assets/the_trade_desk_logo.svg diff --git a/frontend/public/assets/the_trade_desk_logo.svg b/frontend/public/assets/the_trade_desk_logo.svg new file mode 100644 index 0000000..25545c1 --- /dev/null +++ b/frontend/public/assets/the_trade_desk_logo.svg @@ -0,0 +1,33 @@ + + TTD_BIG + + + + + + + + + + + + + + + + + + + + + + From d9ab958de9630a28b6b1a49a2c4aca582bd4667e Mon Sep 17 00:00:00 2001 From: dylan Date: Sun, 18 May 2025 20:03:46 +1000 Subject: [PATCH 2/6] update sponsor info added names and updated to reflect 2025 sponsors --- frontend/public/data/sponsorInfos.ts | 162 +++++++++++++++------------ 1 file changed, 88 insertions(+), 74 deletions(-) diff --git a/frontend/public/data/sponsorInfos.ts b/frontend/public/data/sponsorInfos.ts index 79c6fca..a8f136f 100644 --- a/frontend/public/data/sponsorInfos.ts +++ b/frontend/public/data/sponsorInfos.ts @@ -1,4 +1,5 @@ export type sponsorInfo = { + name: string; href: string; svg: string; alt: string; @@ -7,6 +8,15 @@ export type sponsorInfo = { export const diamondLinks: sponsorInfo[] = [ { + name: 'Atlassian', + href: 'https://www.atlassian.com/', + svg: '/assets/atlassian_logo.svg', + alt: 'Atlassian logo', + description: + 'Atlassian Corporation is an Australian-American software company that develops products for software developers, and project managers among other groups.' + }, + { + name: 'Jane Street', href: 'https://www.janestreet.com/', svg: '/assets/janestreet_logo.svg', alt: 'Jane Street logo', @@ -14,6 +24,7 @@ export const diamondLinks: sponsorInfo[] = [ 'Jane Street is a research-driven trading firm where curious people work together on deep problems.' }, { + name: 'Tiktok', href: 'https://careers.tiktok.com/', svg: '/assets/tiktok_logo.svg', alt: 'Tiktok logo', @@ -23,21 +34,16 @@ export const diamondLinks: sponsorInfo[] = [ ]; export const goldLinks: sponsorInfo[] = [ - { - href: 'https://www.atlassian.com/', - svg: '/assets/atlassian_logo.svg', - alt: 'Atlassian logo', - description: - 'Atlassian Corporation is an Australian-American software company that develops products for software developers, and project managers among other groups.' - }, - { - href: 'https://www.citadel.com/', - svg: '/assets/citadel_logo.svg', - alt: 'Citadel logo', - description: - "We are an alternative investment manager working on behalf of the world's preeminent institutions. Discover our work, teams, careers and more." - }, - { + // { + // name: 'Citadel', + // href: 'https://www.citadel.com/', + // svg: '/assets/citadel_logo.svg', + // alt: 'Citadel logo', + // description: + // "We are an alternative investment manager working on behalf of the world's preeminent institutions. Discover our work, teams, careers and more." + // }, + { + name: 'IMC', href: 'https://www.imc.com/ap/', svg: '/assets/imc_logo.svg', alt: 'IMC logo', @@ -45,6 +51,15 @@ export const goldLinks: sponsorInfo[] = [ 'For three decades IMC has provided liquidity to the financial markets globally. Specialised in algorithmic trading and advanced technology, we set the pace for the evolution of market making.' }, { + name: 'Zurich', + href: 'https://www.zurich.com.au/', + svg: '/assets/zurich_logo.svg', + alt: 'Zurich logo', + description: + "Zurich is one of the world's most experienced insurers whose strategy focuses on providing the right general insurance and life insurance solutions for its clients." + }, + { + name: 'Neara', href: 'https://neara.com/', svg: '/assets/neara_logo.svg', alt: 'Neara logo', @@ -52,50 +67,34 @@ export const goldLinks: sponsorInfo[] = [ 'Neara electric utility software is a physics-enabled platform that builds 3D interactive models of critical infrastructure networks and assets.' }, { + name: 'TheTradeDesk', + href: 'https://www.thetradedesk.com/', + svg: '/assets/the_trade_desk_logo.svg', + alt: 'TheTradeDesk logo', + description: + 'The Trade Desk is a global advertising technology company that empowers buyers with a platform to purchase digital advertising across various channels.' + }, + { + name: 'SafetyCulture', href: 'https://safetyculture.com/', svg: '/assets/safetyculture_logo.svg', alt: 'SafetyCulture logo', description: 'Get to the root cause of workplace trends with total visibility across your organization. Use data from completed inspections, reported incidents, sensors, and asset history to keep workers safe, and prevent things from happening in the first place.' }, - { - href: 'https://www.zurich.com.au/', - svg: '/assets/zurich_logo.svg', - alt: 'Zurich logo', - description: - "Zurich is one of the world's most experienced insurers whose strategy focuses on providing the right general insurance and life insurance solutions for its clients." - } ]; export const silverLinks: sponsorInfo[] = [ { - href: 'https://appian.com/', - svg: '/assets/appian_logo.svg', - alt: 'Appian logo', - description: - 'Appian Corporation is an American cloud computing and enterprise software company headquartered in McLean, Virginia, part of the Dulles Technology Corridor. The company sells a platform as a service for building enterprise software applications.' - }, - { - href: 'https://www.flowtraders.com/', - svg: '/assets/flowtraders_logo.svg', - alt: 'FlowTraders logo', - description: - 'Flow Traders is a proprietary trading firm. A market maker, it provides liquidity in the securities market by using high frequency and quantitative trading strategies.' - }, - { - href: 'https://www.jds.net.au/', - svg: '/assets/jds_logo.svg', - alt: 'jds logo', - description: "JDS Australia delivers specialist services in a set of technologies and capabilities that ensure critical IT systems work.", - }, - { - href: 'https://www.macquarie.com.au/', - svg: '/assets/macquarie_logo.svg', - alt: 'Macquarie logo', + name: 'Quantium', + href: 'https://quantium.com/', + svg: '/assets/quantium_logo.svg', + alt: 'Quantium logo', description: - 'Macquarie Bank offers transaction accounts, home loans, credit cards, online banking, business banking and more.' + "We combine the best of human and artificial intelligence to power possibilities for individuals, organisations and society. Through the application of world leading, advanced analytics solutions, we help our clients solve their most complex problems." }, { + name: 'Optiver', href: 'https://optiver.com/', svg: '/assets/optiver_logo.svg', alt: 'Optiver logo', @@ -103,40 +102,54 @@ export const silverLinks: sponsorInfo[] = [ 'Optiver is a global market maker. As one of the oldest market making firms in the world, Optiver has been improving financial markets since 1986.' }, { - href: 'https://quantium.com/', - svg: '/assets/quantium_logo.svg', - alt: 'Quantium logo', + name: 'Macquarie', + href: 'https://www.macquarie.com.au/', + svg: '/assets/macquarie_logo.svg', + alt: 'Macquarie logo', description: - "We combine the best of human and artificial intelligence to power possibilities for individuals, organisations and society. Through the application of world leading, advanced analytics solutions, we help our clients solve their most complex problems." + 'Macquarie Bank offers transaction accounts, home loans, credit cards, online banking, business banking and more.' }, { - href: 'https://quickli.com.au/', - svg: '/assets/quickli_logo.svg', - alt: 'Quickli logo', + name: 'Sig Susquehanna', + href: 'https://sig.com/', + svg: '/assets/susquehanna_logo.svg', + alt: 'Susquehanna logo', description: - 'Bringing 30+ lender calcs into one, easy-to-use interface delivering accurate results and relevant policy insights for even the most complex scenarios.' + 'Discover Susquehanna, a global quantitative trading firm built on a rigorous, analytical foundation in financial markets.' }, { - href: 'https://www.revolutionise.com.au/', - svg: '/assets/revsport_logo.svg', - alt: 'revolutioniseSport logo', + name: 'Freelancer', + href: 'https://www.freelancer.com/', + svg: '/assets/freelancer_logo.svg', + alt: 'Freelancer logo', description: - 'revolutioniseSPORT is an online management platform for sports of all shapes and sizes.' + 'Freelancer is a global crowdsourcing marketplace connecting employers and freelancers to collaborate on a wide range of projects.' }, { - href: 'https://www.recordpoint.com/', - svg: '/assets/recordpoint_logo.svg', - alt: 'RecordPoint logo', - description: 'Manage all your data and records in one central place – without moving them.' - }, - { - href: 'https://sig.com/', - svg: '/assets/susquehanna_logo.svg', - alt: 'Susquehanna logo', + name: 'FlowTraders', + href: 'https://www.flowtraders.com/', + svg: '/assets/flowtraders_logo.svg', + alt: 'FlowTraders logo', description: - 'Discover Susquehanna, a global quantitative trading firm built on a rigorous, analytical foundation in financial markets.' + 'Flow Traders is a proprietary trading firm. A market maker, it provides liquidity in the securities market by using high frequency and quantitative trading strategies.' }, - { + // { + // href: 'https://quickli.com.au/', + // svg: '/assets/quickli_logo.svg', + // alt: 'Quickli logo', + // description: + // 'Bringing 30+ lender calcs into one, easy-to-use interface delivering accurate results and relevant policy insights for even the most complex scenarios.' + // }, + // { + // name: 'Finma', + // href: 'https://www.finma.au/', + // svg: '/assets/finma_logo.svg', + // alt: 'Finma logo', + // description: + // 'Finma is an Australian fintech company that provides digital solutions for financial planning, helping users better manage their money and achieve long-term financial goals.' + // }, + { + name: 'Zip', href: 'https://zip.co/au', svg: '/assets/zip_logo.svg', alt: 'Zip logo', @@ -144,10 +157,11 @@ export const silverLinks: sponsorInfo[] = [ "Zip Co Limited is a global 'buy now pay later' financial technology company with operations in Australia, New Zealand and the USA." }, { - href: 'https://www.canva.com/en_au/', - svg: '/assets/canva_logo.svg', - alt: 'Canva logo', + name: 'revolutioniseSport', + href: 'https://www.revolutionise.com.au/', + svg: '/assets/revsport_logo.svg', + alt: 'revolutioniseSport logo', description: - 'Canva is a free-to-use online graphic design tool. Use it to create social media posts, presentations, posters, videos, logos and more.' - } + 'revolutioniseSPORT is an online management platform for sports of all shapes and sizes.' + }, ]; From e976116e8c6a57a209ec2a727708bb19b0609eea Mon Sep 17 00:00:00 2001 From: dylan Date: Sun, 18 May 2025 20:05:09 +1000 Subject: [PATCH 3/6] Revamped sponsor modal now less flat and a bit more appealing with some small animations you can now also exit the modal using esc and an extra x button --- .../src/components/Sponsors/SponsorModal.tsx | 130 ++++++++++++++---- 1 file changed, 101 insertions(+), 29 deletions(-) diff --git a/frontend/src/components/Sponsors/SponsorModal.tsx b/frontend/src/components/Sponsors/SponsorModal.tsx index 26d28e1..a28c1b1 100644 --- a/frontend/src/components/Sponsors/SponsorModal.tsx +++ b/frontend/src/components/Sponsors/SponsorModal.tsx @@ -1,40 +1,112 @@ -import { sponsorInfo } from '@/../public/data/sponsorInfos'; +import { X } from "lucide-react" +import { useEffect } from "react" +import type { sponsorInfo } from "@/../public/data/sponsorInfos" -export default function SponsorModal(props: { sponsorInfo: sponsorInfo | null; setFalse: () => void }) { - if (props.sponsorInfo === null) { - return ( -
-

Error no sponsor selected!

-
- ); +export default function SponsorModal({ + sponsorInfo, + setFalse, +}: { + sponsorInfo: sponsorInfo | null + setFalse: () => void +}) { + // Close modal with Escape key + useEffect(() => { + const handleEscKey = (event: KeyboardEvent) => { + if (event.key === "Escape") setFalse() + } + + window.addEventListener("keydown", handleEscKey) + return () => window.removeEventListener("keydown", handleEscKey) + }, [setFalse]) + + if (sponsorInfo === null) { + return null } + return (
{ - props.setFalse(); + className="fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm animate-in fade-in duration-200" + onClick={(e) => { + if (e.target === e.currentTarget) setFalse() }} > -
- - {props.sponsorInfo.alt} - -

{props.sponsorInfo.description}

+
e.stopPropagation()} + > + {/* Close button */} + +
+ {/* Sponsor logo */} + + + {/* Sponsor description */} +
+

About {sponsorInfo.name}

+

{sponsorInfo.description}

+
+ + {/* Action buttons */} +
+ + + + + Visit Website + + +
+
- ); -} + ) +} From c1fcf9f61c05ada9f28591f3af1488535818970d Mon Sep 17 00:00:00 2001 From: dylan Date: Sun, 18 May 2025 20:05:26 +1000 Subject: [PATCH 4/6] small changes to sponsors to make diamond sponsors bigger --- frontend/src/pages/sponsors.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/pages/sponsors.tsx b/frontend/src/pages/sponsors.tsx index 01eb342..f42c7dd 100644 --- a/frontend/src/pages/sponsors.tsx +++ b/frontend/src/pages/sponsors.tsx @@ -52,7 +52,7 @@ export default function SponsorsPage() { {diamondLinks.map((item, index) => { return (
handleSponsorClick(item)}> - {item.alt} + {item.alt}
); })} @@ -65,7 +65,7 @@ export default function SponsorsPage() { {goldLinks.map((item, index) => { return (
handleSponsorClick(item)}> - {item.alt} + {item.alt}
); })} @@ -77,7 +77,7 @@ export default function SponsorsPage() { {silverLinks.map((item, index) => { return (
handleSponsorClick(item)}> - {item.alt} + {item.alt}
); })} From f8b169fa3e77af36581beaad1c52427bd1d992a2 Mon Sep 17 00:00:00 2001 From: dylan Date: Sun, 18 May 2025 20:06:49 +1000 Subject: [PATCH 5/6] update packages --- frontend/package-lock.json | 9 +++++++++ frontend/package.json | 1 + 2 files changed, 10 insertions(+) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 24c12f0..d02cf92 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -16,6 +16,7 @@ "axios": "^1.7.2", "eslint-config-next": "13.4.19", "framer-motion": "^11.2.13", + "lucide-react": "^0.511.0", "next": "13.4.12", "next-emoji-rain": "^1.0.2", "postcss": "8.4.29", @@ -3378,6 +3379,14 @@ "node": ">=10" } }, + "node_modules/lucide-react": { + "version": "0.511.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.511.0.tgz", + "integrity": "sha512-VK5a2ydJ7xm8GvBeKLS9mu1pVK6ucef9780JVUjw6bAjJL/QXnd4Y0p7SPeOUMC27YhzNCZvm5d/QX0Tp3rc0w==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index a697947..4a04cd5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -21,6 +21,7 @@ "axios": "^1.7.2", "eslint-config-next": "13.4.19", "framer-motion": "^11.2.13", + "lucide-react": "^0.511.0", "next": "13.4.12", "next-emoji-rain": "^1.0.2", "postcss": "8.4.29", From e5090d5f7fe114e06ca625adb5d13ac48cad95ce Mon Sep 17 00:00:00 2001 From: dylan Date: Wed, 28 May 2025 19:49:37 +1000 Subject: [PATCH 6/6] update to include finma --- frontend/public/assets/finma_logo.png | Bin 0 -> 4356 bytes frontend/public/data/sponsorInfos.ts | 16 ++++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 frontend/public/assets/finma_logo.png diff --git a/frontend/public/assets/finma_logo.png b/frontend/public/assets/finma_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f4e1966632c9965878e42e3429290cbb6a9baeb5 GIT binary patch literal 4356 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 hak2lqukdKsJ>kM3p*q&u`aj