From fc7af3a170b2882763d226eb82787288b4a5531f Mon Sep 17 00:00:00 2001 From: Wolfdragon24 Date: Fri, 18 Oct 2024 22:55:49 +1100 Subject: [PATCH 1/3] Add sponsors rain --- frontend/package-lock.json | 12 ++++++++++++ frontend/package.json | 1 + frontend/src/pages/_app.tsx | 1 + frontend/src/pages/sponsors.tsx | 22 ++++++++++++++++++++-- 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index c67a2eb..79da725 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -17,6 +17,7 @@ "eslint-config-next": "13.4.19", "framer-motion": "^11.2.13", "next": "13.4.12", + "next-emoji-rain": "^1.0.2", "postcss": "8.4.29", "react": "18.2.0", "react-dom": "18.2.0", @@ -3540,6 +3541,17 @@ } } }, + "node_modules/next-emoji-rain": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/next-emoji-rain/-/next-emoji-rain-1.0.2.tgz", + "integrity": "sha512-O17hSWxtexkjzLeaTyrNlSm7BC0iO5JGRe3WBoan8qRepVz9AfPDli2EQ4BXFQx1fvR3e3S35ShyFD31FjEMLg==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, "node_modules/next/node_modules/postcss": { "version": "8.4.14", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", diff --git a/frontend/package.json b/frontend/package.json index 1da8df9..a697947 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -22,6 +22,7 @@ "eslint-config-next": "13.4.19", "framer-motion": "^11.2.13", "next": "13.4.12", + "next-emoji-rain": "^1.0.2", "postcss": "8.4.29", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/frontend/src/pages/_app.tsx b/frontend/src/pages/_app.tsx index c14313e..b5de74a 100644 --- a/frontend/src/pages/_app.tsx +++ b/frontend/src/pages/_app.tsx @@ -1,5 +1,6 @@ import '@/styles/globals.css'; import type { AppProps } from 'next/app'; +import 'next-emoji-rain/dist/index.css'; export default function App({ Component, pageProps }: AppProps) { return ; diff --git a/frontend/src/pages/sponsors.tsx b/frontend/src/pages/sponsors.tsx index b22271c..065f850 100644 --- a/frontend/src/pages/sponsors.tsx +++ b/frontend/src/pages/sponsors.tsx @@ -2,6 +2,7 @@ import Layout from '@/components/Layout'; 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'; export default function SponsorsPage() { const logostyle = @@ -15,10 +16,27 @@ export default function SponsorsPage() { setShowModal(true); }; + const handleRainClick = (type: string) => { + const rainElement = document.getElementById(`${type}Rain`); + + if (!rainElement) return; + + rainElement.classList.toggle('opacity-0', false); + setTimeout(() => { + rainElement.classList.toggle('opacity-0', true); + }, 4000); + }; + return ( +
+ +
+
+ +
-

DIAMOND SPONSORS

+

handleRainClick('diamond')}>DIAMOND SPONSORS

{showModal && ( @@ -38,7 +56,7 @@ export default function SponsorsPage() {
-

GOLD SPONSORS

+

handleRainClick('gold')}>GOLD SPONSORS

{goldLinks.map((item, index) => { From dcb60f7bc7f1ab3c93d3bcabfd3eddbb13c11fc6 Mon Sep 17 00:00:00 2001 From: Wolfdragon24 Date: Fri, 18 Oct 2024 23:00:41 +1100 Subject: [PATCH 2/3] Add typing --- frontend/src/typing/types.d.ts | 1 + 1 file changed, 1 insertion(+) create mode 100644 frontend/src/typing/types.d.ts diff --git a/frontend/src/typing/types.d.ts b/frontend/src/typing/types.d.ts new file mode 100644 index 0000000..2d26ccc --- /dev/null +++ b/frontend/src/typing/types.d.ts @@ -0,0 +1 @@ +declare module 'next-emoji-rain'; \ No newline at end of file From 18a7f9630c58181389377a57a3a766065f788bdd Mon Sep 17 00:00:00 2001 From: Wolfdragon24 Date: Fri, 18 Oct 2024 23:39:05 +1100 Subject: [PATCH 3/3] Found an emoji for silver --- frontend/src/pages/sponsors.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/sponsors.tsx b/frontend/src/pages/sponsors.tsx index 065f850..01eb342 100644 --- a/frontend/src/pages/sponsors.tsx +++ b/frontend/src/pages/sponsors.tsx @@ -35,6 +35,9 @@ export default function SponsorsPage() {
+
+ +

handleRainClick('diamond')}>DIAMOND SPONSORS

@@ -68,7 +71,7 @@ export default function SponsorsPage() { })}
-

SILVER SPONSORS

+

handleRainClick('silver')}>SILVER SPONSORS

{silverLinks.map((item, index) => {