diff --git a/public/images/mascot.png b/public/images/mascot.png
new file mode 100644
index 0000000..bf78438
Binary files /dev/null and b/public/images/mascot.png differ
diff --git a/src/common/components/Footer/Footer.module.css b/src/common/components/Footer/Footer.module.css
index a7eb7e6..6446741 100644
--- a/src/common/components/Footer/Footer.module.css
+++ b/src/common/components/Footer/Footer.module.css
@@ -23,27 +23,27 @@
width: 33%;
}
-.playerTwo > h4,
-.company > h4,
-.social > h4 {
+.playerTwo>h4,
+.company>h4,
+.social>h4 {
font-size: 25px;
font-family: poppins;
color: #ffffff;
cursor: pointer;
}
-.playerTwo > p {
+.playerTwo>p {
margin-top: 10px;
line-height: 1.6;
font-weight: 500;
cursor: pointer;
}
-.company > ul {
+.company>ul {
list-style-type: none;
}
-.company > ul > li {
+.company>ul>li {
margin-top: 10px;
font-weight: 600;
cursor: pointer;
@@ -58,3 +58,23 @@
width: 150%;
cursor: pointer;
}
+
+.footer__rights {
+ text-align: center;
+ margin-top: 10px;
+}
+
+.footer__attribution {
+ text-align: center;
+ margin-top: 5px;
+ padding-bottom: 10px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.footer__attribution p {
+ color: #ddd;
+ font-size: 14px;
+ font-weight: 500;
+}
\ No newline at end of file
diff --git a/src/common/components/Footer/Footer.tsx b/src/common/components/Footer/Footer.tsx
index 1fdaa77..1cc286d 100644
--- a/src/common/components/Footer/Footer.tsx
+++ b/src/common/components/Footer/Footer.tsx
@@ -1,16 +1,16 @@
import styles from './Footer.module.css';
-import {AiFillTwitterCircle, AiFillLinkedin} from 'react-icons/ai';
-import {BsInstagram, BsFacebook} from 'react-icons/bs';
+import { AiFillTwitterCircle, AiFillLinkedin } from 'react-icons/ai';
+import { BsInstagram, BsFacebook, BsLightningFill } from 'react-icons/bs';
export default function Footer() {
return (
-
Canonforces
+
CanonForces
{' '}
- A paltform where you can showcase your codeforces profile in a more elegant way.
+ A platform where you can showcase your Codeforces profile in a more elegant way.
You can compete with other coders in a 1v1 match and improve your profile.{' '}
@@ -32,9 +32,15 @@ export default function Footer() {
-
+
-
@2022 Canonforces Pvt. Ltd. All Rights Reserved
+ © 2025 CanonForces. All Rights Reserved
+
+
+
+
+ Maintained by Aviral Saxena
+
);
diff --git a/src/common/components/Header/Header.tsx b/src/common/components/Header/Header.tsx
index ef4a666..dc8f685 100644
--- a/src/common/components/Header/Header.tsx
+++ b/src/common/components/Header/Header.tsx
@@ -1,28 +1,23 @@
import Head from "next/head";
import Link from "next/link";
import * as ROUTES from "../../../constants/routes";
-import NotificationBell from "../NotificationBell/NotificationBell";
import styles from "./Header.module.css";
export default function Header() {
return (
<>
-
-
-
-
+
+ {/* Left side - Logo */}
+
+
+ CANONFORCES
+
-
-
-
+
+ {/* Right side - Signup, Login */}
+
+
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index f57e9ce..b950826 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -8,7 +8,8 @@ import {
BsGraphUp,
BsCalendar3,
BsAward,
- BsController
+ BsController,
+ BsGithub
} from "react-icons/bs";
import dynamic from "next/dynamic";
import Loading from "../common/components/Loading/Loading";
@@ -27,55 +28,71 @@ export default function Home() {
-
- LEARN & CODE
-
-
-
- {/* Hero Section with Black Box and Image */}
-
- {/* Black Box Side Text */}
-
-
- A coding platform where you can compete with
- fellow coders, friends and random people to learn and improve your coding skills.
- You can showcase your Codeforces profile in an amazing dashboard powered by
- canonforces .
-
-
- {/* Explore Button (Blue) */}
- Explore
-
- {/* Dashboard Button (Black) */}
-
- Dashboard
-
-
-
-
- {/* Image Section */}
-
+ {/* Hero Section - Centered */}
+
+ {/* CanonForces Logo */}
+
+
+ {/* Main Heading */}
+
+ CanonForces
+
+
+ {/* Tagline */}
+
Learn and code.
+
+
+
+ {/* Hero Content - Centered Layout */}
+
+ {/* Description Box */}
+
+
+ A coding platform where you can compete with
+ fellow coders, friends and random people to learn and improve your coding skills.
+ You can showcase your Codeforces profile in an amazing dashboard powered by
+ CanonForces .
+
+
+
+ {/* Mascot Image */}
+
+
+
+
{/* Features Section - moved up closer */}
-
+
Why Choose CanonForces?
+ {/* Thin divider below title */}
+
+
- {/* Feature Cards */}
-
+ {/* Feature Cards with enhanced animations */}
+
@@ -86,7 +103,8 @@ export default function Home() {
Challenge friends or random coders in real-time competitive programming battles.
-
+
+
@@ -97,7 +115,8 @@ export default function Home() {
Monitor your Codeforces progress with detailed analytics and beautiful visualizations.
-
+
+
@@ -108,7 +127,8 @@ export default function Home() {
Solve curated problems every day to maintain your coding streak and skills.
-
+
+
@@ -119,7 +139,8 @@ export default function Home() {
Compete for the top spots in monthly and weekly competitive programming rankings.
-
+
+
@@ -130,7 +151,8 @@ export default function Home() {
Join topic-specific practice sessions with other coders to improve together.
-
+
+
@@ -142,21 +164,19 @@ export default function Home() {
-
-
- {/* Call to Action Buttons BELOW Features */}
-
-
- {/* Start Competing Now Button (Blue) */}
-
- Start Competing Now
-
- {/* View Demo Button (Black) */}
-
- View Demo
-
-
+ {/* GitHub Repository Link */}
+
diff --git a/src/styles/Home.module.css b/src/styles/Home.module.css
index 84f345b..620e439 100644
--- a/src/styles/Home.module.css
+++ b/src/styles/Home.module.css
@@ -12,7 +12,7 @@
margin-top: 30px;
}
-.buttons > button {
+.buttons>button {
height: 50px;
cursor: pointer;
border-radius: 4px;
@@ -37,9 +37,52 @@
.button_black:hover {
background-color: #2d2d2d;
- color: #ffffff;
+ color: #ffffff;
}
-.image > img {
+.image>img {
width: 90em;
+}
+
+/* Feature card animation */
+.feature_card {
+ animation: fadeInUp 0.6s ease-out forwards;
+ opacity: 0;
+}
+
+@keyframes fadeInUp {
+ from {
+ opacity: 0;
+ transform: translateY(20px);
+ }
+
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+
+/* Stagger animation for each card */
+.feature_card:nth-child(1) {
+ animation-delay: 0.1s;
+}
+
+.feature_card:nth-child(2) {
+ animation-delay: 0.2s;
+}
+
+.feature_card:nth-child(3) {
+ animation-delay: 0.3s;
+}
+
+.feature_card:nth-child(4) {
+ animation-delay: 0.4s;
+}
+
+.feature_card:nth-child(5) {
+ animation-delay: 0.5s;
+}
+
+.feature_card:nth-child(6) {
+ animation-delay: 0.6s;
}
\ No newline at end of file