-
-
-
-
—
-
+
+ {/* Rentang Waktu */}
+
-
- {/* Analysis Mode */}
-
-
- {
- formik.handleChange(e);
- setAnalysisMode(e.target.value as 'OVERVIEW' | 'COMPARISON');
- // Reset all dependent fields when analysis mode changes
- formik.setFieldValue('location', []);
- formik.setFieldValue('flock', []);
- formik.setFieldValue('kandang', []);
- formik.setFieldValue('comparisonType', '');
- setSelectedLocationIds([]);
- }}
- color='primary'
- className={{
- wrapper: 'w-full my-6 font-semibold text-neutral-500',
- }}
- >
-
+
+ {
+ formik.handleChange(e);
+ setAnalysisMode(
+ e.target.value as 'OVERVIEW' | 'COMPARISON'
+ );
+ // Reset all dependent fields when analysis mode changes
+ formik.setFieldValue('location', []);
+ formik.setFieldValue('flock', []);
+ formik.setFieldValue('kandang', []);
+ formik.setFieldValue('comparisonType', '');
+ setSelectedLocationIds([]);
+ }}
color='primary'
- value='OVERVIEW'
- label='Performance Overview'
- />
-
-
-
+ className={{
+ wrapper:
+ 'w-full flex flex-row items-center font-medium text-base-content/50',
+ radioWrapper: 'w-full grid grid-cols-2 gap-0 p-0',
+ }}
+ >
+
+
+
+
- {formik.values.analysisMode === 'COMPARISON' && (
-
+ {formik.values.analysisMode === 'COMPARISON' && (
{
Boolean(formik.errors.comparisonType) &&
Boolean(formik.touched.comparisonType)
}
+ className={{
+ select: 'rounded-lg text-sm border-base-content/10',
+ }}
/>
-
- )}
+ )}
- {/* Location */}
-
+ {/* Location */}
{comparisonTypeOptions.find(
(option) => option.value === formik.values.comparisonType
)?.value === 'FARM' ? (
@@ -465,6 +564,9 @@ const DashboardProduction = () => {
Boolean(formik.errors.location) &&
Boolean(formik.touched.location)
}
+ className={{
+ select: 'rounded-lg text-sm border-base-content/10',
+ }}
/>
) : (
{
Boolean(formik.errors.location) &&
Boolean(formik.touched.location)
}
+ className={{
+ select: 'rounded-lg text-sm border-base-content/10',
+ }}
/>
)}
+
+ {/* Flock */}
+ {!(
+ formik.values.analysisMode === 'COMPARISON' &&
+ !(
+ formik.values.comparisonType === 'FLOCK' ||
+ formik.values.comparisonType === 'KANDANG'
+ )
+ ) && (
+ <>
+ {comparisonTypeOptions.find(
+ (option) => option.value === formik.values.comparisonType
+ )?.value === 'FLOCK' ? (
+
+ formik.setFieldValue('flock', selected)
+ }
+ errorMessage={formik.errors.flock as string}
+ onInputChange={setInputValueFlock}
+ onMenuScrollToBottom={loadMoreFlock}
+ options={flockOptions}
+ isLoading={isLoadingFlockOptions}
+ isError={
+ Boolean(formik.errors.flock) &&
+ Boolean(formik.touched.flock)
+ }
+ className={{
+ select: 'rounded-lg text-sm border-base-content/10',
+ }}
+ />
+ ) : (
+
+ formik.setFieldValue('flock', selected)
+ }
+ errorMessage={formik.errors.flock as string}
+ onInputChange={setInputValueFlock}
+ onMenuScrollToBottom={loadMoreFlock}
+ options={flockOptions}
+ isLoading={isLoadingFlockOptions}
+ isError={
+ Boolean(formik.errors.flock) &&
+ Boolean(formik.touched.flock)
+ }
+ className={{
+ select: 'rounded-lg text-sm border-base-content/10',
+ }}
+ />
+ )}
+ >
+ )}
+
+ {/* Kandang */}
+ {!(
+ formik.values.analysisMode === 'COMPARISON' &&
+ !(formik.values.comparisonType === 'KANDANG')
+ ) && (
+ <>
+ {comparisonTypeOptions.find(
+ (option) => option.value === formik.values.comparisonType
+ )?.value === 'KANDANG' ? (
+
+ formik.setFieldValue('kandang', selected)
+ }
+ errorMessage={formik.errors.kandang as string}
+ onInputChange={setInputValueKandang}
+ onMenuScrollToBottom={loadMoreKandang}
+ options={kandangOptions}
+ isLoading={isLoadingKandangOptions}
+ isError={
+ Boolean(formik.errors.kandang) &&
+ Boolean(formik.touched.kandang)
+ }
+ className={{
+ select: 'rounded-lg text-sm border-base-content/10',
+ }}
+ />
+ ) : (
+
+ formik.setFieldValue('kandang', selected)
+ }
+ errorMessage={formik.errors.kandang as string}
+ onInputChange={setInputValueKandang}
+ onMenuScrollToBottom={loadMoreKandang}
+ options={kandangOptions}
+ isLoading={isLoadingKandangOptions}
+ isError={
+ Boolean(formik.errors.kandang) &&
+ Boolean(formik.touched.kandang)
+ }
+ className={{
+ select: 'rounded-lg text-sm border-base-content/10',
+ }}
+ />
+ )}
+ >
+ )}
+
+ {formErrorList.length > 0 && (
+
+ )}
- {/* Flock */}
- {!(
- formik.values.analysisMode === 'COMPARISON' &&
- !(
- formik.values.comparisonType === 'FLOCK' ||
- formik.values.comparisonType === 'KANDANG'
- )
- ) && (
-
- {comparisonTypeOptions.find(
- (option) => option.value === formik.values.comparisonType
- )?.value === 'FLOCK' ? (
-
- formik.setFieldValue('flock', selected)
- }
- errorMessage={formik.errors.flock as string}
- onInputChange={setInputValueFlock}
- onMenuScrollToBottom={loadMoreFlock}
- options={flockOptions}
- isLoading={isLoadingFlockOptions}
- isError={
- Boolean(formik.errors.flock) &&
- Boolean(formik.touched.flock)
- }
- />
- ) : (
-
- formik.setFieldValue('flock', selected)
- }
- errorMessage={formik.errors.flock as string}
- onInputChange={setInputValueFlock}
- onMenuScrollToBottom={loadMoreFlock}
- options={flockOptions}
- isLoading={isLoadingFlockOptions}
- isError={
- Boolean(formik.errors.flock) &&
- Boolean(formik.touched.flock)
- }
- />
- )}
-
- )}
-
- {/* Kandang */}
- {!(
- formik.values.analysisMode === 'COMPARISON' &&
- !(formik.values.comparisonType === 'KANDANG')
- ) && (
-
- {comparisonTypeOptions.find(
- (option) => option.value === formik.values.comparisonType
- )?.value === 'KANDANG' ? (
-
- formik.setFieldValue('kandang', selected)
- }
- errorMessage={formik.errors.kandang as string}
- onInputChange={setInputValueKandang}
- onMenuScrollToBottom={loadMoreKandang}
- options={kandangOptions}
- isLoading={isLoadingKandangOptions}
- isError={
- Boolean(formik.errors.kandang) &&
- Boolean(formik.touched.kandang)
- }
- />
- ) : (
-
- formik.setFieldValue('kandang', selected)
- }
- errorMessage={formik.errors.kandang as string}
- onInputChange={setInputValueKandang}
- onMenuScrollToBottom={loadMoreKandang}
- options={kandangOptions}
- isLoading={isLoadingKandangOptions}
- isError={
- Boolean(formik.errors.kandang) &&
- Boolean(formik.touched.kandang)
- }
- />
- )}
-
- )}
-
-
-
{/* Action Buttons */}
-
+
-
diff --git a/src/components/pages/dashboard/chart/DashboardLineChart.tsx b/src/components/pages/dashboard/chart/DashboardLineChart.tsx
index f2449795..092e4bca 100644
--- a/src/components/pages/dashboard/chart/DashboardLineChart.tsx
+++ b/src/components/pages/dashboard/chart/DashboardLineChart.tsx
@@ -147,11 +147,12 @@ const DashboardLineChart = ({
return (
-
+
Performance{' '}
setOpen(!open)}
>
{chartTypeLabels[chartData]}{' '}
-
-
+
+
+
}
- className={{
- content: 'w-52 mt-3',
- }}
controlled={open}
>
-