diff --git a/app/components/ui/card-report.tsx b/app/components/ui/card-report.tsx index 3861ff8..bc45c03 100644 --- a/app/components/ui/card-report.tsx +++ b/app/components/ui/card-report.tsx @@ -16,7 +16,7 @@ type CardReportProperty = { export const CardReport = (properties: CardReportProperty) => { const { title, amount, icon: Icon, counter, currency } = properties return ( -
+
void -export const UiChartPie = () => { - const data = { - labels: [ - 'Pidana', - 'Perdata', - 'Perceraian', - 'Surat Bisnis', - 'Surat Tanah', - 'Lainnya', - ], - datasets: [ - { - data: [33.7, 13, 22.8, 9.3, 9.3, 21.2], - backgroundColor: [ - '#FFB300', - '#4CAF50', - '#3F51B5', - '#F44336', - '#2196F3', - '#FF9800', - ], - hoverOffset: 4, - }, - ], - } - - const options: ChartOptions<'pie'> = { - maintainAspectRatio: true, - responsive: false, - plugins: { - legend: { - position: 'right', - labels: { - usePointStyle: true, - pointStyle: 'circle', - padding: 20, - }, - }, - }, - layout: { - padding: 0, - }, - } - - return ( -
-

Top 5 Artikel

- -
- ) -} - -export const UiChartBar = () => { +export const ChartBar = () => { const yearlyData = { labels: ['2022', '2023', '2024'], datasets: [ @@ -151,7 +93,7 @@ export const UiChartBar = () => { } return ( -
+

{view === 'year' @@ -177,51 +119,3 @@ export const UiChartBar = () => {

) } - -export const ChartSubscription = () => { - const data = { - labels: ['Selesai', 'Belum Selesai'], - datasets: [ - { - data: [70, 30], - backgroundColor: ['#1e3a8a', '#e5e7eb'], - borderWidth: 0, - cutout: '70%', - circumference: 180, - rotation: 270, - }, - ], - } - - const options: ChartOptions<'doughnut'> = { - responsive: true, - maintainAspectRatio: false, - plugins: { - legend: { - position: 'right', - labels: { - usePointStyle: true, - pointStyle: 'circle', - boxWidth: 10, - }, - }, - tooltip: { - enabled: false, - }, - }, - } - - return ( -
-

Subscription Selesai

-
-
- -
-
-
- ) -} diff --git a/app/pages/dashboard/chart-donut.tsx b/app/pages/dashboard/chart-donut.tsx new file mode 100644 index 0000000..78f3d74 --- /dev/null +++ b/app/pages/dashboard/chart-donut.tsx @@ -0,0 +1,69 @@ +import { + Chart as ChartJS, + ArcElement, + Tooltip, + Legend, + CategoryScale, + LinearScale, + BarElement, + Title, + type ChartOptions, +} from 'chart.js' +import { Doughnut } from 'react-chartjs-2' +ChartJS.register( + ArcElement, + CategoryScale, + LinearScale, + BarElement, + Title, + Tooltip, + Legend, +) + +export const ChartDonut = () => { + const data = { + labels: ['Selesai', 'Belum Selesai'], + datasets: [ + { + data: [70, 30], + backgroundColor: ['#1e3a8a', '#e5e7eb'], + borderWidth: 0, + cutout: '70%', + circumference: 180, + rotation: 270, + }, + ], + } + + const options: ChartOptions<'doughnut'> = { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + position: 'right', + labels: { + usePointStyle: true, + pointStyle: 'circle', + boxWidth: 10, + }, + }, + tooltip: { + enabled: false, + }, + }, + } + + return ( +
+

Subscription Selesai

+
+
+ +
+
+
+ ) +} diff --git a/app/pages/dashboard/chart-pie.tsx b/app/pages/dashboard/chart-pie.tsx new file mode 100644 index 0000000..1ffd2ea --- /dev/null +++ b/app/pages/dashboard/chart-pie.tsx @@ -0,0 +1,78 @@ +import { + Chart as ChartJS, + ArcElement, + Tooltip, + Legend, + CategoryScale, + LinearScale, + BarElement, + Title, + type ChartOptions, +} from 'chart.js' +import { Pie } from 'react-chartjs-2' +ChartJS.register( + ArcElement, + CategoryScale, + LinearScale, + BarElement, + Title, + Tooltip, + Legend, +) + +export const ChartPie = () => { + const data = { + labels: [ + 'Pidana', + 'Perdata', + 'Perceraian', + 'Surat Bisnis', + 'Surat Tanah', + 'Lainnya', + ], + datasets: [ + { + data: [33.7, 13, 22.8, 9.3, 9.3, 21.2], + backgroundColor: [ + '#FFB300', + '#4CAF50', + '#3F51B5', + '#F44336', + '#2196F3', + '#FF9800', + ], + hoverOffset: 4, + }, + ], + } + + const options: ChartOptions<'pie'> = { + maintainAspectRatio: true, + responsive: false, + plugins: { + legend: { + position: 'right', + labels: { + usePointStyle: true, + pointStyle: 'circle', + padding: 20, + }, + }, + }, + layout: { + padding: 0, + }, + } + + return ( +
+

Top 5 Artikel

+ +
+ ) +} diff --git a/app/pages/dashboard/index.tsx b/app/pages/dashboard/index.tsx index 17f26f4..aaaa335 100644 --- a/app/pages/dashboard/index.tsx +++ b/app/pages/dashboard/index.tsx @@ -1,10 +1,8 @@ import { CardReport } from '~/components/ui/card-report' -import { - ChartSubscription, - UiChartBar, - UiChartPie, -} from '~/components/ui/chart' +import { ChartBar } from './chart-bar' +import { ChartDonut } from './chart-donut' +import { ChartPie } from './chart-pie' import { HISTORY, REPORT } from './data' export const DashboardPage = () => { return ( @@ -46,16 +44,16 @@ export const DashboardPage = () => { /> ))}
- +
- +
- +