From 122d2431126ca0c834aef05d2e1703ccc43f4e0a Mon Sep 17 00:00:00 2001 From: priyakumari0104 Date: Sun, 24 May 2026 12:40:03 +0530 Subject: [PATCH 1/2] card clicable --- package-lock.json | 15 +++++++ src/app/login-required/page.tsx | 57 +++++++++++++++++++++++++ src/app/page.tsx | 73 ++++++++++++++++++--------------- 3 files changed, 111 insertions(+), 34 deletions(-) create mode 100644 src/app/login-required/page.tsx diff --git a/package-lock.json b/package-lock.json index ce0b55ff..5109e54f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -523,6 +523,7 @@ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.1.tgz", "integrity": "sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==", "devOptional": true, + "peer": true, "dependencies": { "playwright": "1.49.1" }, @@ -764,6 +765,7 @@ "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" @@ -1211,6 +1213,7 @@ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1663,6 +1666,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.10.12", "caniuse-lite": "^1.0.30001782", @@ -2532,6 +2536,7 @@ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -2700,6 +2705,7 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -4145,6 +4151,7 @@ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "dev": true, "license": "MIT", + "peer": true, "bin": { "jiti": "bin/jiti.js" } @@ -4216,6 +4223,7 @@ "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-4.2.1.tgz", "integrity": "sha512-YyAXyvnmjTbR4bHQRLzex3CuINCDlQnBqoSYyjJwTP2x9jDLuKDzy7aKUl0hgx3uhcl7xzg32agn5vlie6HIlQ==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.28.6", "fast-png": "^6.2.0", @@ -5062,6 +5070,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -5102,6 +5111,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -5272,6 +5282,7 @@ "resolved": "https://registry.npmjs.org/preact/-/preact-10.29.1.tgz", "integrity": "sha512-gQCLc/vWroE8lIpleXtdJhTFDogTdZG9AjMUpVkDf2iTCNwYNWA+u16dL41TqUDJO4gm2IgrcMv3uTpjd4Pwmg==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -5362,6 +5373,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -5374,6 +5386,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -6427,6 +6440,7 @@ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -6596,6 +6610,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/src/app/login-required/page.tsx b/src/app/login-required/page.tsx new file mode 100644 index 00000000..97124034 --- /dev/null +++ b/src/app/login-required/page.tsx @@ -0,0 +1,57 @@ +import Link from "next/link"; + +export default function LoginRequiredPage() { + return ( +
+ + {/* Dynamic Background Glow Accents */} +
+
+ + {/* Main Interactive Card */} +
+ + {/* Floating Rocket Icon Container */} +
+ 🚀 +
+ + {/* Title */} +

+ Unlock DevTrack Features +

+ + {/* Description */} +

+ Sign in with your GitHub account to access premium features like streak tracking, PR analytics, and custom coding goals. +

+ + {/* Primary Action Button (Sign In) */} + + {/* Subtle button glare effect */} +
+ + {/* Modern SVG GitHub Icon */} + + Continue with GitHub + + + {/* Secondary Action (GitHub Link) */} + + View project on GitHub + + +
+
+ ); +} \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx index b4147ffb..2812d415 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -11,28 +11,32 @@ export default async function HomePage() { } const features = [ - { - icon: "🔥", - title: "Streak Tracking", - description: "Never lose your streak and stay consistent every day.", - }, - { - icon: "📊", - title: "PR Analytics", - description: "Understand your pull request activity and review velocity.", - }, - { - icon: "🏆", - title: "Goals", - description: "Set coding goals and automatically track your progress.", - }, - { - icon: "🌐", - title: "Public Profile", - description: - "Share your developer stats and achievements with the world.", - }, - ]; + { + icon: "🔥", + title: "Streak Tracking", + description: "Never lose your streak and stay consistent every day.", + link: "/login-required", + }, + { + icon: "📊", + title: "PR Analytics", + description: "Understand your pull request activity and review velocity.", + link: "/login-required", + }, + { + icon: "🏆", + title: "Goals", + description: "Set coding goals and automatically track your progress.", + link: "/login-required", + }, + { + icon: "🌐", + title: "Public Profile", + description: + "Share your developer stats and achievements with the world.", + link: "/login-required", + }, +]; return (
@@ -69,20 +73,21 @@ export default async function HomePage() {
{features.map((feature) => ( -
-
{feature.icon}
+ +
{feature.icon}
-

- {feature.title} -

+

+ {feature.title} +

-

- {feature.description} -

-
+

+ {feature.description} +

+ ))}
From 1a27545178c197eab33215b7cc9f62473af48a1d Mon Sep 17 00:00:00 2001 From: priyakumari0104 Date: Sun, 24 May 2026 16:02:36 +0530 Subject: [PATCH 2/2] removing redirect looping in features card --- src/app/login-required/page.tsx | 16 ++-------------- src/components/GithubSignInButton.tsx | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 14 deletions(-) create mode 100644 src/components/GithubSignInButton.tsx diff --git a/src/app/login-required/page.tsx b/src/app/login-required/page.tsx index 97124034..a233de65 100644 --- a/src/app/login-required/page.tsx +++ b/src/app/login-required/page.tsx @@ -1,5 +1,5 @@ import Link from "next/link"; - +import GithubSignInButton from "@/components/GithubSignInButton"; export default function LoginRequiredPage() { return (
@@ -27,19 +27,7 @@ export default function LoginRequiredPage() {

{/* Primary Action Button (Sign In) */} - - {/* Subtle button glare effect */} -
- - {/* Modern SVG GitHub Icon */} - - Continue with GitHub - + {/* Secondary Action (GitHub Link) */} + signIn("github", { callbackUrl: "/dashboard" }) + } + className="flex items-center justify-center gap-3 bg-black text-white py-4 rounded-xl font-semibold hover:scale-105 hover:opacity-90 transition duration-300 w-full" + > + 🐙 + Continue with GitHub + + ); +} \ No newline at end of file