From 277c9c9b7eb52f1e4404219c0d6df73a25b09655 Mon Sep 17 00:00:00 2001 From: Mahen Date: Sun, 24 May 2026 17:22:09 +0700 Subject: [PATCH] style: change position analyze card & make dark mode color theme. --- src/components/dashboards/AnalysisClient.tsx | 5 ++-- src/components/dashboards/DashboardClient.tsx | 15 ++++++----- .../dashboards/RadarComparisonChart.tsx | 26 +++++++++++++++---- src/components/dashboards/ResultDetails.tsx | 20 +++++++++----- src/components/dashboards/ResultSection.tsx | 6 ++++- src/hooks/useAnalyzeText.ts | 5 +++- src/hooks/useDashboard.ts | 7 ++++- 7 files changed, 60 insertions(+), 24 deletions(-) diff --git a/src/components/dashboards/AnalysisClient.tsx b/src/components/dashboards/AnalysisClient.tsx index ba91ae4..3525d82 100644 --- a/src/components/dashboards/AnalysisClient.tsx +++ b/src/components/dashboards/AnalysisClient.tsx @@ -6,7 +6,6 @@ import { Input } from "../ui/input"; import { Button } from "../ui/button"; import ResultSection from "./ResultSection"; import UrlInputList from "./UrlInputList"; -import { useTheme } from "@/src/context/ThemeContext"; export default function AnalysisClient() { const { @@ -18,13 +17,13 @@ export default function AnalysisClient() { progress, visibleFields, urlDatas, + darkMode, register, handleSubmit, onSubmit, handleCancel, setVisibleFields, } = useAnalyseText(); - const { darkMode } = useTheme(); return (
@@ -39,7 +38,7 @@ export default function AnalysisClient() {

- Analisis Sentimen Real-time + Analisis Sentimen

diff --git a/src/components/dashboards/DashboardClient.tsx b/src/components/dashboards/DashboardClient.tsx index 692f165..4787c45 100644 --- a/src/components/dashboards/DashboardClient.tsx +++ b/src/components/dashboards/DashboardClient.tsx @@ -31,10 +31,11 @@ export default function DashboardClient() { neutralCount, loading, modelData, + darkMode, + toggleDarkMode, percentage, scrollToResult, } = useDashboards(); - const { darkMode, toggleDarkMode } = useTheme(); return (
+
+
+ +
+
+
-
-
- -
-
-
diff --git a/src/components/dashboards/RadarComparisonChart.tsx b/src/components/dashboards/RadarComparisonChart.tsx index 03945b3..62085e1 100644 --- a/src/components/dashboards/RadarComparisonChart.tsx +++ b/src/components/dashboards/RadarComparisonChart.tsx @@ -1,3 +1,4 @@ +import { useDashboards } from "@/src/hooks/useDashboard"; import { RadarProps } from "@/src/types"; import { radarFormat } from "@/src/utils/datas"; import { @@ -13,16 +14,26 @@ import { const RadarComparisonChart = ({ data }: RadarProps) => { const { chartData, colors } = radarFormat({ data }); + const { darkMode } = useDashboards(); return ( -
-

+
+

Perbandingan Aspek Produk

- + - + { fill={colors[index % colors.length]} fillOpacity={0.15} dot={{ r: 2, fillOpacity: 1 }} + className={`${darkMode ? "animate-in fade-in duration-500 text-card" : "animate-in fade-in duration-500"}`} /> ))} @@ -48,6 +60,8 @@ const RadarComparisonChart = ({ data }: RadarProps) => { borderRadius: "12px", border: "none", boxShadow: "0 4px 12px rgba(0,0,0,0.1)", + color: darkMode ? "#e0e0e0" : "#333", + backgroundColor: darkMode ? "#333" : "#fff", }} /> { fontWeight: 600, }} formatter={(value) => ( - + {value} )} diff --git a/src/components/dashboards/ResultDetails.tsx b/src/components/dashboards/ResultDetails.tsx index 914b694..b18c2c1 100644 --- a/src/components/dashboards/ResultDetails.tsx +++ b/src/components/dashboards/ResultDetails.tsx @@ -1,3 +1,4 @@ +import { useDashboards } from "@/src/hooks/useDashboard"; import { useResultDetails } from "@/src/hooks/useResultDetails"; import { ResultProps } from "@/src/types"; import { getHighlights, toTitleCase } from "@/src/utils/datas"; @@ -16,16 +17,19 @@ export default function ResultDetails({ result }: ResultProps) { nextProduct, prevProduct, } = useResultDetails({ result }) || {}; + const { darkMode } = useDashboards(); if (!result || !result.details || result.details.length === 0) return null; return (
-
+
{activeProductIndex > 0 && (
-
+
“{item.description}”
@@ -119,7 +127,7 @@ export default function ResultDetails({ result }: ResultProps) { {activeProductIndex < totalProducts - 1 && (