diff --git a/src/containers/CodeStats.jsx b/src/containers/CodeStats.jsx
index 5bcbe82..a4dff4c 100644
--- a/src/containers/CodeStats.jsx
+++ b/src/containers/CodeStats.jsx
@@ -6,104 +6,109 @@ import LanguagesChart from "../components/LanguagesChart"
import ProjectsChart from "../components/ProjectsChart"
const convertSeconds = (secs) => {
- return `${Math.floor(secs / 3600)}h ${Math.floor((secs % 3600) / 60)}m`
+ return `${Math.floor(secs / 3600)}h ${Math.floor((secs % 3600) / 60)}m`
}
const CodeStats = () => {
- const { data, isLoading, error } = useQuery({
- queryKey: ["codestats"],
- queryFn: () =>
- wakapiApi.get(`summary?interval=week`).then((res) => res.data),
- })
+ const { data, isLoading, error } = useQuery({
+ queryKey: ["codestats"],
+ queryFn: () =>
+ wakapiApi.get(`summary?interval=week`).then((res) => res.data),
+ })
- const grandTotal = data?.projects.reduce((acc, curr) => acc + curr.total, 0)
- const grandTotalFormatted = `${Math.floor(grandTotal / 3600)}h ${Math.floor((grandTotal % 3600) / 60)}m`
- const os = data?.operating_systems
- const osMetric = os ? (
-
- {os[0]?.key}: {convertSeconds(os[0].total)}, {os[1]?.key}:{" "}
- {convertSeconds(os[1].total)}
-
- ) : (
- "Error"
- )
+ const grandTotal = data?.projects.reduce((acc, curr) => acc + curr.total, 0)
+ const grandTotalFormatted = `${Math.floor(grandTotal / 3600)}h ${Math.floor((grandTotal % 3600) / 60)}m`
+ const os = data?.operating_systems
+ const osMetric = os ? (
+
+ {os[0]?.key}: {convertSeconds(os[0].total)}, {os[1]?.key}:{" "}
+ {convertSeconds(os[1].total)}
+
+ ) : (
+ "Error"
+ )
- const personalProjects =
- data && data?.projects.filter((project) => !project.key.includes("gp-"))
+ const personalProjects = (
+ data && data?.projects.filter((project) => !project.key.includes("gp-"))
+ ).sort((a, b) => b.total - a.total)
- const mainProject = personalProjects?.sort((a, b) => a.total > b.total)[0].key
+ const mainProject = personalProjects[0].key
- console.log(personalProjects)
+ console.log(personalProjects)
- const languagesChartData = data?.languages
- .map((lang) => ({
- metric: lang.key,
- language: lang.key,
- hours: (lang.total / 3600).toFixed(1),
- percentage: (
- (lang.total / data.languages.reduce((sum, i) => sum + i.total, 0)) *
- 100
- ).toFixed(1),
- }))
- .slice(0, 4)
+ const languagesChartData = data?.languages
+ .map((lang) => ({
+ metric: lang.key,
+ language: lang.key,
+ hours: (lang.total / 3600).toFixed(1),
+ percentage: (
+ (lang.total / data.languages.reduce((sum, i) => sum + i.total, 0)) *
+ 100
+ ).toFixed(1),
+ }))
+ .slice(0, 4)
- const projectsChartData =
- personalProjects &&
- personalProjects.map((proj) => ({
- metric: proj.key,
- project: proj.key,
- hours: (proj.total / 3600).toFixed(1),
- percentage: (
- (proj.total / personalProjects.reduce((sum, i) => sum + i.total, 0)) *
- 100
- ).toFixed(1),
- }))
+ const projectsChartData =
+ personalProjects &&
+ personalProjects.map((proj) => ({
+ metric: proj.key,
+ project: proj.key,
+ hours: (proj.total / 3600).toFixed(1),
+ percentage: (
+ (proj.total / personalProjects.reduce((sum, i) => sum + i.total, 0)) *
+ 100
+ ).toFixed(1),
+ }))
- return (
-
-
-
-
-
- code stats
-
-
- {convertDateFriendly(data?.from)} -{" "}
- {convertDateFriendly(data?.to)}
-
-
- {/* Score-cards */}
-
-
+ return (
+
+
+
+
+
+ code stats
+
+
+ {convertDateFriendly(data?.from)} -{" "}
+ {convertDateFriendly(data?.to)}
+
+
+ {/* Score-cards */}
+
+
-
+
-
-
-
-
-
- Data sourced from my self-hosted{" "}
-
- Wakapi
- {" "}
- instance.
-
-
-
-
- )
+
+
+
+
+
+ Data sourced from my self-hosted{" "}
+
+ Wakapi
+ {" "}
+ instance.
+
+
+
+
+ )
}
export default CodeStats