diff --git a/.firebaserc b/.firebaserc index af8f5ac..96e3342 100644 --- a/.firebaserc +++ b/.firebaserc @@ -1,5 +1,7 @@ { "projects": { - "default": "firetest-c524f" + "default": "firetest-c524f", + "development": "firetest-c524f", + "production": "rur-24" } } diff --git a/package-lock.json b/package-lock.json index 268ed13..5c205e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "clsx": "^2.1.1", "cobe": "^0.6.3", "dompurify": "^3.2.1", + "dotenv": "^16.4.7", "firebase": "^11.0.1", "firebase-admin": "^13.0.1", "firebase-functions": "^6.1.1", @@ -27,6 +28,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-element-to-jsx-string": "^15.0.0", + "react-helmet-async": "^2.0.5", "react-icons": "^5.3.0", "react-lottie-player": "^2.1.0", "sweetalert2": "^11.14.5", @@ -4508,6 +4510,17 @@ "node": ">=8" } }, + "node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/duplexify": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz", @@ -6909,6 +6922,14 @@ "node": ">= 0.4" } }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/ip-address": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", @@ -9954,6 +9975,24 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==" }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet-async": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.5.tgz", + "integrity": "sha512-rYUYHeus+i27MvFE+Jaa4WsyBKGkL6qVgbJvSBoX8mbsWoABJXdEO0bZyi0F6i+4f0NuIb8AvqPMj3iXFHkMwg==", + "dependencies": { + "invariant": "^2.2.4", + "react-fast-compare": "^3.2.2", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-icons": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.3.0.tgz", @@ -10552,6 +10591,11 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "node_modules/sharp": { "version": "0.33.5", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", @@ -15656,6 +15700,11 @@ "is-obj": "^2.0.0" } }, + "dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==" + }, "duplexify": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz", @@ -17475,6 +17524,14 @@ "side-channel": "^1.0.4" } }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, "ip-address": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", @@ -19687,6 +19744,21 @@ } } }, + "react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "react-helmet-async": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.5.tgz", + "integrity": "sha512-rYUYHeus+i27MvFE+Jaa4WsyBKGkL6qVgbJvSBoX8mbsWoABJXdEO0bZyi0F6i+4f0NuIb8AvqPMj3iXFHkMwg==", + "requires": { + "invariant": "^2.2.4", + "react-fast-compare": "^3.2.2", + "shallowequal": "^1.1.0" + } + }, "react-icons": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.3.0.tgz", @@ -20134,6 +20206,11 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "sharp": { "version": "0.33.5", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", diff --git a/package.json b/package.json index df1982f..29c6118 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "dev": "next dev", "build": "next build", "start": "next start", - "lint": "next lint" + "lint": "next lint", + "build-prod": "dotenv -f .env.prod run next build" }, "dependencies": { "@heroicons/react": "^2.1.5", @@ -17,6 +18,7 @@ "clsx": "^2.1.1", "cobe": "^0.6.3", "dompurify": "^3.2.1", + "dotenv": "^16.4.7", "firebase": "^11.0.1", "firebase-admin": "^13.0.1", "firebase-functions": "^6.1.1", @@ -28,6 +30,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-element-to-jsx-string": "^15.0.0", + "react-helmet-async": "^2.0.5", "react-icons": "^5.3.0", "react-lottie-player": "^2.1.0", "sweetalert2": "^11.14.5", diff --git a/public/Images/RUR (1).jpg b/public/Images/RUR (1).jpg index e6a4ec7..f753336 100644 Binary files a/public/Images/RUR (1).jpg and b/public/Images/RUR (1).jpg differ diff --git a/public/Images/RUR (10).jpg b/public/Images/RUR (10).jpg index e20147b..b58c186 100644 Binary files a/public/Images/RUR (10).jpg and b/public/Images/RUR (10).jpg differ diff --git a/public/Images/RUR (11).jpg b/public/Images/RUR (11).jpg index b42a335..b37d07c 100644 Binary files a/public/Images/RUR (11).jpg and b/public/Images/RUR (11).jpg differ diff --git a/public/Images/RUR (12).jpg b/public/Images/RUR (12).jpg index a88af98..4e02df7 100644 Binary files a/public/Images/RUR (12).jpg and b/public/Images/RUR (12).jpg differ diff --git a/public/Images/RUR (13).jpg b/public/Images/RUR (13).jpg index 63fab21..d2c5bd8 100644 Binary files a/public/Images/RUR (13).jpg and b/public/Images/RUR (13).jpg differ diff --git a/public/Images/RUR (14).jpg b/public/Images/RUR (14).jpg index 253aa61..84f2e7f 100644 Binary files a/public/Images/RUR (14).jpg and b/public/Images/RUR (14).jpg differ diff --git a/public/Images/RUR (15).jpg b/public/Images/RUR (15).jpg index 00c1788..e9983e8 100644 Binary files a/public/Images/RUR (15).jpg and b/public/Images/RUR (15).jpg differ diff --git a/public/Images/RUR (2).jpg b/public/Images/RUR (2).jpg index eb0cee6..c1acbfe 100644 Binary files a/public/Images/RUR (2).jpg and b/public/Images/RUR (2).jpg differ diff --git a/public/Images/RUR (3).jpg b/public/Images/RUR (3).jpg index 03dbdd9..6617d8e 100644 Binary files a/public/Images/RUR (3).jpg and b/public/Images/RUR (3).jpg differ diff --git a/public/Images/RUR (4).jpg b/public/Images/RUR (4).jpg index 73d130e..1be60f2 100644 Binary files a/public/Images/RUR (4).jpg and b/public/Images/RUR (4).jpg differ diff --git a/public/Images/RUR (5).jpg b/public/Images/RUR (5).jpg index b1f3f34..38cd6e0 100644 Binary files a/public/Images/RUR (5).jpg and b/public/Images/RUR (5).jpg differ diff --git a/public/Images/RUR (6).jpg b/public/Images/RUR (6).jpg index fe196d1..b9045ec 100644 Binary files a/public/Images/RUR (6).jpg and b/public/Images/RUR (6).jpg differ diff --git a/public/Images/RUR (7).jpg b/public/Images/RUR (7).jpg index be051ea..f42fb64 100644 Binary files a/public/Images/RUR (7).jpg and b/public/Images/RUR (7).jpg differ diff --git a/public/Images/logo/icon.ico b/public/Images/logo/icon.ico new file mode 100644 index 0000000..39169da Binary files /dev/null and b/public/Images/logo/icon.ico differ diff --git a/public/Images/partners/Dimo-logo-1.svg b/public/Images/partners/Dimo-logo-1.svg deleted file mode 100644 index 7afe74d..0000000 --- a/public/Images/partners/Dimo-logo-1.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/Images/partners/JKH Logo.png b/public/Images/partners/JKH Logo.png deleted file mode 100644 index f76af9b..0000000 Binary files a/public/Images/partners/JKH Logo.png and /dev/null differ diff --git a/public/Images/partners/Logo_of_MAS_Holdings.png b/public/Images/partners/Logo_of_MAS_Holdings.png deleted file mode 100644 index d3a515d..0000000 Binary files a/public/Images/partners/Logo_of_MAS_Holdings.png and /dev/null differ diff --git a/public/Images/partners/lseg.png b/public/Images/partners/lseg.png deleted file mode 100644 index bd3e956..0000000 Binary files a/public/Images/partners/lseg.png and /dev/null differ diff --git a/public/Images/partners/the-ai-team.png b/public/Images/partners/the-ai-team.png deleted file mode 100644 index ad84d36..0000000 Binary files a/public/Images/partners/the-ai-team.png and /dev/null differ diff --git a/public/Images/sessions/career insights.png b/public/Images/sessions/career insights.png deleted file mode 100644 index ada52a8..0000000 Binary files a/public/Images/sessions/career insights.png and /dev/null differ diff --git a/public/Images/sessions/flagship.png b/public/Images/sessions/flagship.png deleted file mode 100644 index d6c4a43..0000000 Binary files a/public/Images/sessions/flagship.png and /dev/null differ diff --git a/public/Images/sessions/global.png b/public/Images/sessions/global.png deleted file mode 100644 index ab19c2b..0000000 Binary files a/public/Images/sessions/global.png and /dev/null differ diff --git a/public/Images/sessions/heads up.png b/public/Images/sessions/heads up.png deleted file mode 100644 index 96ff7dd..0000000 Binary files a/public/Images/sessions/heads up.png and /dev/null differ diff --git a/public/Images/sessions/image_1.png b/public/Images/sessions/image_1.png deleted file mode 100644 index 9f6e97c..0000000 Binary files a/public/Images/sessions/image_1.png and /dev/null differ diff --git a/public/Images/sessions/resume centre.png b/public/Images/sessions/resume centre.png deleted file mode 100644 index 5ec133b..0000000 Binary files a/public/Images/sessions/resume centre.png and /dev/null differ diff --git a/public/Images/sponsor.png b/public/Images/sponsor.png new file mode 100644 index 0000000..3f91fed Binary files /dev/null and b/public/Images/sponsor.png differ diff --git a/public/Images/th.jpg b/public/Images/th.jpg deleted file mode 100644 index c8826e2..0000000 Binary files a/public/Images/th.jpg and /dev/null differ diff --git a/robots.ts b/robots.ts new file mode 100644 index 0000000..da8cc51 --- /dev/null +++ b/robots.ts @@ -0,0 +1,12 @@ +import type { MetadataRoute } from 'next' + +export default function robots(): MetadataRoute.Robots { + return { + rules: { + userAgent: '*', + allow: '/', + disallow: '/admin/', + }, + sitemap: 'https://areyouready.uom.lk/sitemap.xml', + } +} \ No newline at end of file diff --git a/src/app/admin/admin-dashboard-layout.tsx b/src/app/admin/admin-dashboard-layout.tsx index 6b86d58..70189f4 100644 --- a/src/app/admin/admin-dashboard-layout.tsx +++ b/src/app/admin/admin-dashboard-layout.tsx @@ -11,7 +11,7 @@ import LOGO_SMALL from "../../../public/Images/logo/RUR20_small.png"; import { useAuth } from "@/context/auth-provider"; import { useRouter } from "next/navigation"; import { IThemeContextType } from "@/interfaces/IThemeContext"; -import Head from "next/head"; +import { Helmet } from "react-helmet-async"; interface AdminDashboardLayoutProps { children: ReactNode; @@ -26,11 +26,12 @@ export function AdminDashboardLayout({ children }: AdminDashboardLayoutProps) { return ( - - - - - + + + + + RUR Admin Panel +
diff --git a/src/app/favicon.ico b/src/app/favicon.ico index 718d6fe..39169da 100644 Binary files a/src/app/favicon.ico and b/src/app/favicon.ico differ diff --git a/src/app/layout.tsx b/src/app/layout.tsx index c98811d..64802f0 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -7,6 +7,9 @@ import React, { useCallback, useEffect, useState } from "react"; import { AuthProvider } from "@/context/auth-provider"; import {ITheme, IThemeContextType} from "@/interfaces/IThemeContext"; import { GoogleTagManager } from '@next/third-parties/google' +import Head from "next/head"; +import { Helmet, HelmetProvider } from "react-helmet-async"; + const geistSans = localFont({ src: "./fonts/GeistVF.woff", @@ -60,29 +63,35 @@ export default function RootLayout({ children }: Readonly<{ children: React.Reac return ( + - - - - - Are You Ready? 2025 - + + + + + - - - - - - - - {children} + + + + + + + + + + + + + + + {children} + ); diff --git a/src/app/page.tsx b/src/app/page.tsx index 15c0eec..c440c9e 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -20,7 +20,7 @@ import RUR_IMG13 from "../../public/Images/RUR (13).jpg"; import RUR_IMG14 from "../../public/Images/RUR (14).jpg"; import RUR_IMG15 from "../../public/Images/RUR (15).jpg"; -import SPONSOR from "../../public/Images/partners/the-ai-team.png"; +import SPONSOR from "../../public/Images/sponsor.png"; // import LoadingAnimation from "../../public/animations/RUR.json" import LoadingAnimation from "../../public/animations/RUR_Loading.json"; @@ -52,6 +52,11 @@ import { HeroVideo } from "@/components/ui/hero-video"; import ExpandableCard from "@/components/blocks/expandable-card-standard"; import Head from "next/head"; import { sendGTMEvent } from "@next/third-parties/google"; +import ReactDOM from 'react-dom'; +import { Helmet } from 'react-helmet-async'; + + + export const products = [ { @@ -332,12 +337,22 @@ export default function Home() { '"Are You Ready?" stands as a monumental initiative led by the Rotaract Club of the University of Moratuwa in partnership with the Career Guidance Unit. Our primary focus is 4th year undergraduates from our university, aiming to guide them towards a secure entry into the professional world. The scope of this endeavor knows no bounds, with over 100 companies aligning to provide opportunities for budding professionals. This project promises to be a valuable asset for those aspiring to forge strong connections with companies and their managers, even if the finish line of their degree is still on the horizon. In the initial stages, participants will gain the essential knowledge and training to confidently engage with industry experts.'; return ( + <> - - - - - + + + + + + Are You Ready? 2025 + + + + + + + + @@ -378,7 +393,7 @@ export default function Home() { )}
-
+

Thank You for Your Support!

@@ -391,10 +406,6 @@ export default function Home() {

-
- {/* */} -
- {error ? ( ) : isSponsorsLoading ? ( @@ -439,8 +450,9 @@ export default function Home() {
+
- {/* */} +
@@ -453,5 +465,6 @@ export default function Home() {
+ ); } diff --git a/src/components/blocks/footer.tsx b/src/components/blocks/footer.tsx index fb8393e..6b63423 100644 --- a/src/components/blocks/footer.tsx +++ b/src/components/blocks/footer.tsx @@ -18,16 +18,6 @@ const Footer = () => { href: "https://www.facebook.com/uom.rur/", title: "Facebook", }, - { - icon: , - href: "https://www.instagram.com/rotaractmora/", - title: "Instagram", - }, - { - icon: , - href: "https://www.youtube.com/user/rotaractmora", - title: "Youtube", - }, { icon: , href: "https://www.linkedin.com/company/rotaract-club-of-university-of-moratuwa", @@ -57,9 +47,7 @@ const Footer = () => {
  • Reach Us
  • -
  • - Admin -
  • +