diff --git a/src/Components/FollowerAnalysis/FollowerProgress.tsx b/src/Components/FollowerAnalysis/FollowerProgress.tsx index f121136..9f78e97 100644 --- a/src/Components/FollowerAnalysis/FollowerProgress.tsx +++ b/src/Components/FollowerAnalysis/FollowerProgress.tsx @@ -13,7 +13,7 @@ const FollowerProgress: React.FC = ({ }) => { console.log(followerCount); return ( - +

Followers

= ({ }) => { return ( - +

Following

= ({ languageCounts }) => { + const chartData = Object.entries(languageCounts).map(([name, count]) => ({ + name, + "Lines of Languages used": count, + })); -export const LanguageCount: React.FC =({LangName , LangCount})=>{ - return - - + return ( + + String(value)} + yAxisWidth={56} + /> -} -export default LanguageCount; \ No newline at end of file + ); +}; + +export default LanguageCount; diff --git a/src/Interface/api.interface.ts b/src/Interface/api.interface.ts index 71e6c5c..fd0f04b 100644 --- a/src/Interface/api.interface.ts +++ b/src/Interface/api.interface.ts @@ -10,6 +10,9 @@ export interface FollowerAnalysis { } export interface LanguageCountAnalysis{ - [language:string]:any; + + [LangName: string]: number; + + } \ No newline at end of file diff --git a/src/Services/analysis.service.ts b/src/Services/analysis.service.ts index a5855e9..d8143be 100644 --- a/src/Services/analysis.service.ts +++ b/src/Services/analysis.service.ts @@ -22,7 +22,7 @@ export const getFollowingAnalysis = async(userId:string)=>{ } export const getLanguageCountAnalysis = async(userId:string)=>{ - const endPoint = "tsotalLangaugeCountAnalysi" + const endPoint = "tsotalLanguageCountsAnalysi" try{ const response = await fetch(`${BASE_API}${endPoint}?id=${userId}`) console.log(response) diff --git a/src/Styles/Dashboard/followerProgress.css b/src/Styles/Dashboard/followerProgress.css index 59ab5aa..71a3d41 100644 --- a/src/Styles/Dashboard/followerProgress.css +++ b/src/Styles/Dashboard/followerProgress.css @@ -1,7 +1,4 @@ -.gridLayout { - margin-top: 3%; - } - + .followerCard { height: auto; max-width: 250px; /* Set a maximum width to limit the card size */ @@ -9,7 +6,7 @@ justify-content: center; align-items: center; text-align: center; - margin-left: 8%; + margin-left: 10%; padding: 20px; /* Added padding for better spacing */ border-color: #3B3486; @@ -19,15 +16,26 @@ font-size: 15px; font-weight: bolder; margin-top: 0; - color: white; + color: black; } .followerProgressCircle { color: #864AF9; - margin-top: 5px; /* Adjusted margin for spacing */ + margin-top: 5px; + margin-right: 5%; } .followerBadge { - margin-top: 5px; /* Adjusted margin for spacing */ + margin-top: 5px; } + + .langCountCard{ + width: 600px; + height: auto; + background-color: black; + margin-left: 7%; + border-radius: 50px; + z-index: 1; + } + \ No newline at end of file diff --git a/src/app/Dashboard/page.tsx b/src/app/Dashboard/page.tsx index 385938a..c7a8d17 100644 --- a/src/app/Dashboard/page.tsx +++ b/src/app/Dashboard/page.tsx @@ -1,10 +1,19 @@ "use client"; -import { getFollowerAnalysis,getFollowingAnalysis } from "@/Services/analysis.service"; -import {FollowerAnalysis,FollowingAnalysis} from "@/Interface/api.interface"; +import { + getFollowerAnalysis, + getFollowingAnalysis, + getLanguageCountAnalysis, +} from "@/Services/analysis.service"; +import { + FollowerAnalysis, + FollowingAnalysis, + LanguageCountAnalysis, +} from "@/Interface/api.interface"; import FollowerProgress from "@/Components/FollowerAnalysis/FollowerProgress"; import FollowingProgress from "@/Components/FollowerAnalysis/FollowingProgress"; +import LanguageCount from "@/Components/LanguageAnalysis/LanguageCount"; // Import the LanguageCount component import React, { useEffect, useState } from "react"; -import { Grid, Col, Card, Text, Metric } from "@tremor/react"; +import { Grid, Card, Flex } from "@tremor/react"; const VersionDashboard: React.FC = () => { const [followerAnlData, setFollowerAnlData] = useState({ @@ -12,15 +21,16 @@ const VersionDashboard: React.FC = () => { increaseOrDecrease: "", }); - const [followingAnlData , setFollowingAnlData] = useState({followingCount:0,increaseOrDecrease:""}); - - + const [followingAnlData, setFollowingAnlData] = useState({ + followingCount: 0, + increaseOrDecrease: "", + }); + + const [langCount, setLangCount] = useState({}); const getFollowerAnalysisData = async () => { try { - const response: any = await getFollowerAnalysis( - "64b2e27fd3b241f53c4b4c55" - ); + const response: any = await getFollowerAnalysis("64b2e27fd3b241f53c4b4c55"); const data: FollowerAnalysis = await response.json(); setFollowerAnlData(data); } catch (error) { @@ -30,9 +40,7 @@ const VersionDashboard: React.FC = () => { const getFollowingAnalysisData = async () => { try { - const response: any = await getFollowingAnalysis( - "64b2e27fd3b241f53c4b4c55" - ); + const response: any = await getFollowingAnalysis("64b2e27fd3b241f53c4b4c55"); const data: FollowingAnalysis = await response.json(); setFollowingAnlData(data); } catch (error) { @@ -40,24 +48,29 @@ const VersionDashboard: React.FC = () => { } }; - - + const getLanguageCountAnalysisData = async () => { + try { + const response: any = await getLanguageCountAnalysis("64b2e27fd3b241f53c4b4c55"); + const data: LanguageCountAnalysis = await response.json(); + setLangCount(data); + } catch (error) { + console.error("Error fetching language count analysis:", error); + } + }; + useEffect(() => { getFollowerAnalysisData(); getFollowingAnalysisData(); - + getLanguageCountAnalysisData(); }, []); + // ... - - return followerAnlData.followerCount !== 0 && followingAnlData.followingCount !== 0? ( -
- +return followerAnlData.followerCount !== 0 && followingAnlData.followingCount !== 0 ? ( +
+
+
+ { followingCount={followingAnlData.followingCount} increaseOrDecrease={followerAnlData.increaseOrDecrease} /> - - - -
- ) : ( - <> - ); +
+
+ +
+
+
+) : ( + <> +); + }; export default VersionDashboard; diff --git a/src/app/globals.css b/src/app/globals.css index 170fe44..4abfc6a 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -17,9 +17,11 @@ } body{ - background-color: #171717; + background-color: #F5EEE6; } + + @layer utilities { .text-balance { text-wrap: balance; diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 3314e47..c44a406 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,6 +1,7 @@ import type { Metadata } from "next"; import { Inter } from "next/font/google"; import "./globals.css"; +import "../Styles/Dashboard/followerProgress.css" const inter = Inter({ subsets: ["latin"] });