{"version":3,"file":"__federation_expose_DRPage3EFModel2.chunk.bundle","sources":["/Users/claudiobaiardi/Documents/GitHub/aldyl/DataOil-front/apps/data-oil-app/dailyReport/src/screens/DRPage3EFModel2.tsx","/Users/claudiobaiardi/Documents/GitHub/aldyl/DataOil-front/apps/data-oil-app/dailyReport/src/store/dailyReportBase.store.ts","/Users/claudiobaiardi/Documents/GitHub/aldyl/DataOil-front/apps/data-oil-app/dailyReport/src/store/dailyReportEF.store.ts"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { ScrollView, StyleSheet, Text, View } from 'react-native';\nimport { useNavigation } from '@react-navigation/native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport {\n  ConfirmationModal,\n  DatePicker,\n  MenuItem,\n  NumericField,\n  RadioGroup,\n  Select,\n  SummaryTable,\n  TimePicker,\n  useToast,\n} from '@data-oil-front/ui-mobile';\nimport { Controller, useForm, useWatch } from 'react-hook-form';\nimport dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\n\nimport DRFooterActions from '../components/DRFooterActions';\nimport { useDailyReportBaseStore } from '../store/dailyReportBase.store';\nimport {\n  SampleTakenOption,\n  useDailyReportEFStore,\n} from '../store/dailyReportEF.store';\nimport {\n  getFlowStationTanksFiltered,\n  submitReport,\n  useAuth,\n  configService,\n} from '@data-oil-front/core-shared';\nimport type { FlowStationTank } from '@data-oil-front/core-shared';\n\ndayjs.extend(utc);\n\ntype YesNoOption = 'yes' | 'no' | null;\n\ninterface FormValues {\n  status: string;\n  date: Date | null;\n  time: string | null;\n  fillingStartDate: Date | null;\n  fillingStartTime: string | null;\n  fillingStartLevel: string;\n  fillingEndDate: Date | null;\n  fillingEndTime: string | null;\n  fillingEndLevel: string;\n  rawOperatedProduction: string;\n  sampleTaken: YesNoOption;\n  netOperatedProduction: string;\n}\n\nconst formatTwoDigits = (value: number) => value.toString().padStart(2, '0');\n\nconst getDefaultTime = () => {\n  const now = new Date();\n  return `${formatTwoDigits(now.getHours())}:${formatTwoDigits(\n    now.getMinutes(),\n  )}`;\n};\n\n// Helper function to normalize numeric strings (convert comma to dot)\nconst normalizeNumericString = (value: string | number | null | undefined): string => {\n  if (value === null || value === undefined || value === '') return '';\n  const str = String(value);\n  return str.replace(',', '.');\n};\n\nexport default function DRPage3EFModel2() {\n  const navigation = useNavigation();\n  const insets = useSafeAreaInsets();\n  const clientConfig = configService.getCurrentConfig();\n  const accentColor = clientConfig.primaryColor;\n  const { show } = useToast();\n  const { user } = useAuth();\n\n  const { summary } = useDailyReportBaseStore(state => state);\n  const { step2, model2Step3, setModel2Step3, reset, meta } =\n    useDailyReportEFStore(state => state);\n\n  const [flowStationTank, setFlowStationTank] =\n    useState<FlowStationTank | null>(null);\n  const [isLoading, setIsLoading] = useState(false);\n  const [isSubmitting, setIsSubmitting] = useState(false);\n  const [isModalOpen, setIsModalOpen] = useState(false);\n  const guardDisabledRef = useRef(false);\n  const missingToastShownRef = useRef(false);\n\n  const defaultDate = model2Step3.reportDate ?? new Date();\n  const defaultTime = model2Step3.reportTime ?? getDefaultTime();\n  const defaultFillingStartDate = model2Step3.fillingStartDate ?? new Date();\n  const defaultFillingStartTime =\n    model2Step3.fillingStartTime ?? getDefaultTime();\n  const defaultFillingEndDate = model2Step3.fillingEndDate ?? new Date();\n  const defaultFillingEndTime = model2Step3.fillingEndTime ?? getDefaultTime();\n\n  const {\n    control,\n    handleSubmit,\n    formState: { isValid },\n    reset: resetForm,\n  } = useForm<FormValues>({\n    defaultValues: {\n      status: model2Step3.status ?? 'active',\n      date: defaultDate,\n      time: defaultTime,\n      fillingStartDate: defaultFillingStartDate,\n      fillingStartTime: defaultFillingStartTime,\n      fillingStartLevel: normalizeNumericString(model2Step3.fillingStartLevel),\n      fillingEndDate: defaultFillingEndDate,\n      fillingEndTime: defaultFillingEndTime,\n      fillingEndLevel: normalizeNumericString(model2Step3.fillingEndLevel),\n      rawOperatedProduction: normalizeNumericString(model2Step3.rawOperatedProduction),\n      sampleTaken: (model2Step3.sampleTaken ?? null) as YesNoOption,\n      netOperatedProduction: normalizeNumericString(model2Step3.netOperatedProduction),\n    },\n    mode: 'onChange',\n  });\n\n  const watchedValues = useWatch({ control });\n\n  useEffect(() => {\n    if (!watchedValues) return;\n    const {\n      status,\n      date,\n      time,\n      fillingStartDate,\n      fillingStartTime,\n      fillingStartLevel,\n      fillingEndDate,\n      fillingEndTime,\n      fillingEndLevel,\n      rawOperatedProduction,\n      sampleTaken,\n      netOperatedProduction,\n    } = watchedValues;\n    setModel2Step3({\n      status: status ?? null,\n      reportDate: date ?? null,\n      reportTime: time ?? null,\n      fillingStartDate: fillingStartDate ?? null,\n      fillingStartTime: fillingStartTime ?? null,\n      fillingStartLevel: fillingStartLevel ?? null,\n      fillingEndDate: fillingEndDate ?? null,\n      fillingEndTime: fillingEndTime ?? null,\n      fillingEndLevel: fillingEndLevel ?? null,\n      rawOperatedProduction: rawOperatedProduction ?? null,\n      sampleTaken: (sampleTaken ?? null) as SampleTakenOption,\n      netOperatedProduction: netOperatedProduction ?? null,\n    });\n  }, [setModel2Step3, watchedValues]);\n\n  // Handle editing prefill\n  useEffect(() => {\n    if (meta.editionMode && meta.payload?.report) {\n      const report = meta.payload.report;\n\n      const splitDateTime = (dateTimeStr: string | null | undefined) => {\n        if (!dateTimeStr) return { date: null, time: null };\n        const d = dayjs(dateTimeStr);\n        if (!d.isValid()) return { date: null, time: null };\n        return {\n          date: d.toDate(),\n          time: d.utc().format('HH:mm'),\n        };\n      };\n\n      const { date: reportDate, time: reportTime } = splitDateTime(\n        report.date_created,\n      );\n      const { date: fStartDate, time: fStartTime } = splitDateTime(\n        report.filling_start_date,\n      );\n      const { date: fEndDate, time: fEndTime } = splitDateTime(\n        report.filling_end_date,\n      );\n\n      const newValues = {\n        status: report.status ?? 'active',\n        date: reportDate ?? new Date(),\n        time: reportTime ?? getDefaultTime(),\n        fillingStartDate: fStartDate ?? new Date(),\n        fillingStartTime: fStartTime ?? getDefaultTime(),\n        fillingStartLevel:\n          report.filling_start_level != null\n            ? normalizeNumericString(String(report.filling_start_level))\n            : '',\n        fillingEndDate: fEndDate ?? new Date(),\n        fillingEndTime: fEndTime ?? getDefaultTime(),\n        fillingEndLevel:\n          report.filling_end_level != null\n            ? normalizeNumericString(String(report.filling_end_level))\n            : '',\n        rawOperatedProduction:\n          report.raw_operated_production != null\n            ? normalizeNumericString(String(report.raw_operated_production))\n            : '',\n        sampleTaken: (report.sample_taken\n          ? 'yes'\n          : report.sample_taken === false\n          ? 'no'\n          : null) as YesNoOption,\n        netOperatedProduction:\n          report.net_operated_production != null\n            ? normalizeNumericString(String(report.net_operated_production))\n            : '',\n      };\n\n      resetForm(newValues);\n      setModel2Step3({\n        status: newValues.status,\n        reportDate: newValues.date,\n        reportTime: newValues.time,\n        fillingStartDate: newValues.fillingStartDate,\n        fillingStartTime: newValues.fillingStartTime,\n        fillingStartLevel: newValues.fillingStartLevel,\n        fillingEndDate: newValues.fillingEndDate,\n        fillingEndTime: newValues.fillingEndTime,\n        fillingEndLevel: newValues.fillingEndLevel,\n        rawOperatedProduction: newValues.rawOperatedProduction,\n        sampleTaken: newValues.sampleTaken,\n        netOperatedProduction: newValues.netOperatedProduction,\n      });\n    }\n  }, [meta.editionMode, meta.payload, resetForm, setModel2Step3]);\n\n  useEffect(() => {\n    let mounted = true;\n    const fetchTank = async () => {\n      if (!step2.tankId) {\n        setFlowStationTank(null);\n        setIsLoading(false);\n        return;\n      }\n      setIsLoading(true);\n      try {\n        const tanks = await getFlowStationTanksFiltered([\n          ['id', '=', Number(step2.tankId)],\n        ]);\n        if (!mounted) return;\n        setFlowStationTank(Array.isArray(tanks) ? tanks[0] ?? null : null);\n      } catch {\n        if (mounted) setFlowStationTank(null);\n      } finally {\n        if (mounted) setIsLoading(false);\n      }\n    };\n\n    fetchTank();\n    return () => {\n      mounted = false;\n    };\n  }, [step2.tankId]);\n\n  useEffect(() => {\n    if (guardDisabledRef.current) return;\n    const missing = !step2.flowStationId || !step2.tankId;\n    if (!missing) {\n      missingToastShownRef.current = false;\n      return;\n    }\n    if (!missingToastShownRef.current) {\n      missingToastShownRef.current = true;\n      show({\n        type: 'info',\n        message: 'Selecciona una estación de flujo y un tanque para continuar.',\n      });\n    }\n    // @ts-ignore navegación provista por host\n    navigation?.navigate?.('DRPage2EF');\n  }, [navigation, show, step2.flowStationId, step2.tankId]);\n\n  const summaryItems = useMemo(\n    () => [\n      { name: 'Localización', value: summary.location },\n      { name: 'Actividad', value: summary.activity },\n      { name: 'Campo', value: summary.field },\n      { name: 'Instalación', value: summary.facility },\n      { name: 'Estación de flujo', value: step2.flowStationName },\n      { name: 'Tanque', value: step2.tankName },\n    ],\n    [\n      summary.activity,\n      summary.field,\n      summary.facility,\n      summary.location,\n      step2.flowStationName,\n      step2.tankName,\n    ],\n  );\n\n  const formatDateWithTime = (date: Date | null, time: string | null) => {\n    if (!date) return null;\n    const safeTime = time ?? '00:00';\n    const [hoursRaw, minutesRaw] = safeTime.split(':');\n    const hours = formatTwoDigits(\n      Math.max(\n        0,\n        Math.min(23, Number.isFinite(Number(hoursRaw)) ? Number(hoursRaw) : 0),\n      ),\n    );\n    const minutes = formatTwoDigits(\n      Math.max(\n        0,\n        Math.min(\n          59,\n          Number.isFinite(Number(minutesRaw)) ? Number(minutesRaw) : 0,\n        ),\n      ),\n    );\n    const seconds = '00';\n    return `${date.getFullYear()}-${formatTwoDigits(\n      date.getMonth() + 1,\n    )}-${formatTwoDigits(date.getDate())} ${hours}:${minutes}:${seconds}`;\n  };\n\n  const handleFinish = handleSubmit(async values => {\n    if (!step2.tankId) {\n      show({\n        type: 'error',\n        message:\n          'No se encontró el tanque seleccionado. Regresa y selecciona nuevamente.',\n      });\n      return;\n    }\n\n    if (isLoading || !flowStationTank) {\n      show({\n        type: 'info',\n        message:\n          'Esperando datos del tanque. Intenta nuevamente en unos segundos.',\n      });\n      return;\n    }\n\n    if (isSubmitting) return;\n\n    if (values.sampleTaken === null) {\n      show({ type: 'error', message: 'Debes indicar si se tomó muestra.' });\n      return;\n    }\n\n    setIsSubmitting(true);\n\n    const pad = (num: number) => num.toString().padStart(2, '0');\n    const toNumber = (\n      value: string | number | null | undefined,\n    ): number | null => {\n      if (value === null || value === undefined || value === '') return null;\n      // Normalize comma to dot before parsing\n      const normalized = normalizeNumericString(value);\n      const num = Number(normalized);\n      return Number.isNaN(num) ? null : num;\n    };\n\n    const now = new Date();\n    const nowDate = `${now.getFullYear()}-${pad(now.getMonth() + 1)}-${pad(\n      now.getDate(),\n    )} ${pad(now.getHours())}:${pad(now.getMinutes())}:${pad(\n      now.getSeconds(),\n    )}`;\n\n    // Use the form's date and time values, not the current date/time\n    const reportDate = values.date ?? defaultDate;\n    const reportTime = values.time ?? defaultTime;\n    const reportDateTime = formatDateWithTime(reportDate, reportTime);\n\n    const fillingStartDate = formatDateWithTime(\n      values.fillingStartDate,\n      values.fillingStartTime,\n    );\n    const fillingEndDate = formatDateWithTime(\n      values.fillingEndDate,\n      values.fillingEndTime,\n    );\n\n    const activityId =\n      summary.activity === 'Producción'\n        ? 1\n        : summary.activity === 'Recuperación'\n        ? 2\n        : 1;\n\n    const fieldPairs: [string, string | number | boolean | null][] = [\n      ['date_created', reportDateTime ?? nowDate],\n      ['date_updated', nowDate],\n      ['edition_number', meta.editionMode ? (meta.revision ?? 0) + 1 : 0], // Increment edition number if editing\n      ['activity_id', activityId],\n      ['user_id', user?.id != null ? String(user.id) : null],\n      ['flow_station_tank_id', Number(step2.tankId)],\n      ['status', values.status || 'active'],\n      ['current_stock', null],\n      ['sample_taken', values.sampleTaken === 'yes'],\n      ['net_operated_production', toNumber(values.netOperatedProduction)],\n      ['tank_level', null],\n      ['filling_start_date', fillingStartDate],\n      ['filling_start_level', toNumber(values.fillingStartLevel)],\n      ['filling_end_date', fillingEndDate],\n      ['filling_end_level', toNumber(values.fillingEndLevel)],\n      ['raw_operated_production', toNumber(values.rawOperatedProduction)],\n      ['lab_analysis', false],\n    ];\n\n    const payload = {\n      verb: meta.editionMode ? 'update' : 'insert',\n      table: 'daily_report_flow_station_tank',\n      fields: fieldPairs.map(([key]) => key),\n      values: fieldPairs.map(([, value]) => value),\n      filter: meta.editionMode && meta.recordId ? [['id', '=', meta.recordId]] : [],\n    } as const;\n\n    try {\n      const result = await submitReport(\n        'daily_report_flow_station_tank',\n        payload as any,\n        () => {},\n        error => {\n          show({\n            type: 'error',\n            message: `Error al enviar el reporte: ${error}`,\n          });\n        },\n      );\n\n      if (result.success) {\n        guardDisabledRef.current = true;\n        if (result.offline) {\n          show({\n            type: 'info',\n            message:\n              'Reporte guardado offline. Se enviará cuando tengas conexión.',\n          });\n        } else {\n          show({ type: 'success', message: 'Reporte enviado correctamente.' });\n        }\n        reset();\n        // @ts-ignore navegación provista por host\n        navigation?.navigate?.('Home');\n      } else {\n        show({\n          type: 'error',\n          message: 'No se pudo enviar el reporte. Inténtalo nuevamente.',\n        });\n      }\n    } catch (error) {\n      show({\n        type: 'error',\n        message: 'Error inesperado al procesar el reporte.',\n      });\n    } finally {\n      setIsSubmitting(false);\n    }\n  });\n\n  const handleCancel = () => {\n    setIsModalOpen(true);\n  };\n\n  const confirmCancel = () => {\n    guardDisabledRef.current = true;\n    reset();\n    setIsModalOpen(false);\n    // @ts-ignore navegación provista por host\n    navigation?.navigate?.('Home');\n  };\n\n  useEffect(() => {\n    // @ts-ignore navegación provista por host\n    navigation?.navigate?.('DRPage3EFUnicModel');\n  }, [navigation]);\n\n  return (\n    <View style={styles.screen}>\n      <ScrollView\n        style={styles.container}\n        contentContainerStyle={{ paddingBottom: insets.bottom + 120 }}\n      >\n        <View style={styles.form}>\n          <SummaryTable items={summaryItems} />\n\n          <View style={styles.block} />\n\n          <Text style={styles.sectionTitle}>Redirecting...</Text>\n        </View>\n      </ScrollView>\n    </View>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: { flex: 1, backgroundColor: '#f9fafb' },\n  container: { flex: 1, paddingTop: 16 },\n  form: { paddingHorizontal: 20, paddingBottom: 24, gap: 0 },\n  block: { height: 16 },\n  blockXS: { height: 12 },\n  row: {\n    flexDirection: 'row',\n    alignItems: 'center',\n  },\n  flex1: { flex: 1 },\n  spacer: { width: 12 },\n  sectionTitle: {\n    textAlign: 'center',\n    fontSize: 18,\n    fontWeight: '600',\n    color: '#1F2937',\n  },\n  subSectionTitle: {\n    fontSize: 16,\n    fontWeight: '600',\n    color: '#1F2937',\n    marginBottom: 8,\n  },\n  helperText: {\n    marginTop: 12,\n    textAlign: 'center',\n    color: '#6B7280',\n    fontSize: 14,\n  },\n  errorText: {\n    marginTop: 8,\n    color: '#DC2626',\n    fontSize: 12,\n  },\n  previousFillBox: {\n    borderWidth: 1,\n    borderColor: '#E5E7EB',\n    borderRadius: 12,\n    padding: 16,\n    backgroundColor: '#F9FAFB',\n  },\n  previousFillTitle: {\n    fontSize: 14,\n    fontWeight: '600',\n    color: '#374151',\n    marginBottom: 12,\n  },\n  previousFillGrid: {\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n    justifyContent: 'space-between',\n  },\n  previousFillItem: {\n    width: '48%',\n    marginBottom: 12,\n  },\n  previousFillLabel: {\n    fontSize: 12,\n    color: '#6B7280',\n    marginBottom: 4,\n  },\n  previousFillValue: {\n    fontSize: 14,\n    color: '#1F2937',\n    fontWeight: '500',\n    paddingVertical: 8,\n    paddingHorizontal: 12,\n    borderRadius: 8,\n    backgroundColor: '#FFFFFF',\n    borderWidth: 1,\n    borderColor: '#D1D5DB',\n  },\n});\n","import { create } from 'zustand';\nimport type { ReportHistoryTable } from '@data-oil-front/core-shared';\n\ninterface DailyReportBaseStore {\n  fieldId: string | null;\n  summary: {\n    location: string | null;\n    activity: string | null;\n    field: string | null;\n    facility: string | null;\n  };\n  editing: DailyReportEditingState;\n}\n\ninterface DailyReportBaseStoreActions {\n  setFieldId: (fieldId: string | null) => void;\n  setSummary: (summary: DailyReportBaseStore['summary']) => void;\n  setEditing: (editing: Partial<DailyReportEditingState>) => void;\n  resetEditing: () => void;\n}\n\nexport interface DailyReportEditingState {\n  isEditing: boolean;\n  reportId: string | number | null;\n  table: ReportHistoryTable | null;\n  revision?: number | null;\n  payload?: Record<string, any> | null;\n}\n\nconst INITIAL_EDITING_STATE: DailyReportEditingState = {\n  isEditing: false,\n  reportId: null,\n  table: null,\n  revision: null,\n  payload: null,\n};\n\nconst INITIAL_STATE: DailyReportBaseStore = {\n  fieldId: null,\n  summary: {\n    location: null,\n    activity: null,\n    field: null,\n    facility: null,\n  },\n  editing: INITIAL_EDITING_STATE,\n};\n\nexport const useDailyReportBaseStore = create<\n  DailyReportBaseStore & DailyReportBaseStoreActions\n>(set => ({\n  ...INITIAL_STATE,\n  // ACTIONS\n  setFieldId: (fieldId: string | null) => set(state => ({ ...state, fieldId })),\n  setSummary: (summary: DailyReportBaseStore['summary']) =>\n    set(state => ({ ...state, summary })),\n  setEditing: editing =>\n    set(state => ({\n      ...state,\n      editing: {\n        ...state.editing,\n        ...editing,\n      },\n    })),\n  resetEditing: () =>\n    set(state => ({\n      ...state,\n      editing: INITIAL_EDITING_STATE,\n    })),\n}));\n","import { create } from 'zustand';\n\nexport interface DREFStep2State {\n  flowStationId: string | null;\n  flowStationName?: string | null;\n  tankId: string | null;\n  tankName?: string | null;\n}\n\nexport type SampleTakenOption = 'yes' | 'no' | null;\n\nexport interface DREFModel1Step3State {\n  status: string | null;\n  reportDate: Date | null;\n  reportTime: string | null;\n  tankLevel: string | null;\n  sampleTaken: SampleTakenOption;\n  netOperatedProduction: string | null;\n}\n\nexport interface DREFModel2Step3State {\n  status: string | null;\n  reportDate: Date | null;\n  reportTime: string | null;\n  fillingStartDate: Date | null;\n  fillingStartTime: string | null;\n  fillingStartLevel: string | null;\n  fillingEndDate: Date | null;\n  fillingEndTime: string | null;\n  fillingEndLevel: string | null;\n  rawOperatedProduction: string | null;\n  sampleTaken: SampleTakenOption;\n  netOperatedProduction: string | null;\n}\n\nexport interface DREFUnicModelStep3State {\n  status: string | null;\n  reportDate: Date | null;\n  reportTime: string | null;\n  tankLevel: string | null;\n  rawOperatedProduction: string | null;\n  sampleTaken: SampleTakenOption;\n  netOperatedProduction: string | null;\n  comments: string | null;\n}\n\nexport interface DREFModel3Step3State {\n  status: string | null;\n  currentStockDate: Date | null;\n  currentStockTime: string | null;\n  currentStock: string | null;\n  previousDayStock: string | null;\n  vacuumTransfer: string | null;\n  grossOperatedProduction: string | null;\n  sampleTaken: SampleTakenOption;\n  netOperatedProduction: string | null;\n}\n\nexport interface DREFMeta {\n  editionMode: boolean;\n  recordId?: string | null;\n  revision?: number | null;\n  payload?: Record<string, any> | null;\n}\n\ninterface DailyReportEFStoreState {\n  step2: Partial<DREFStep2State>;\n  model1Step3: Partial<DREFModel1Step3State>;\n  model2Step3: Partial<DREFModel2Step3State>;\n  model3Step3: Partial<DREFModel3Step3State>;\n  unicModelStep3: Partial<DREFUnicModelStep3State>;\n  meta: DREFMeta;\n  setStep2: (values: Partial<DREFStep2State>) => void;\n  setModel1Step3: (values: Partial<DREFModel1Step3State>) => void;\n  setModel2Step3: (values: Partial<DREFModel2Step3State>) => void;\n  setModel3Step3: (values: Partial<DREFModel3Step3State>) => void;\n  setUnicModelStep3: (values: Partial<DREFUnicModelStep3State>) => void;\n  setLoadingMeta: (values: Partial<DREFMeta>) => void;\n  resetStep3: () => void;\n  reset: () => void;\n}\n\nconst createInitialStep2State = (): Partial<DREFStep2State> => ({\n  flowStationId: null,\n  tankId: null,\n  flowStationName: null,\n  tankName: null,\n});\n\nconst createInitialModel1Step3State = (): Partial<DREFModel1Step3State> => ({\n  status: 'active',\n  reportDate: null,\n  reportTime: null,\n  tankLevel: null,\n  sampleTaken: null,\n  netOperatedProduction: null,\n});\n\nconst createInitialModel2Step3State = (): Partial<DREFModel2Step3State> => ({\n  status: 'active',\n  reportDate: null,\n  reportTime: null,\n  fillingStartDate: null,\n  fillingStartTime: null,\n  fillingStartLevel: null,\n  fillingEndDate: null,\n  fillingEndTime: null,\n  fillingEndLevel: null,\n  rawOperatedProduction: null,\n  sampleTaken: null,\n  netOperatedProduction: null,\n});\n\nconst createInitialModel3Step3State = (): Partial<DREFModel3Step3State> => ({\n  status: 'active',\n  currentStockDate: null,\n  currentStockTime: null,\n  currentStock: null,\n  previousDayStock: null,\n  vacuumTransfer: null,\n  grossOperatedProduction: '0',\n  sampleTaken: null,\n  netOperatedProduction: null,\n});\n\nconst createInitialUnicModelStep3State = (): Partial<DREFUnicModelStep3State> => ({\n    status: 'active',\n    reportDate: null,\n    reportTime: null,\n    tankLevel: null,\n    rawOperatedProduction: null,\n    sampleTaken: null,\n    netOperatedProduction: null,\n    comments: null,\n});\n\nconst INITIAL_META_STATE: DREFMeta = {\n  editionMode: false,\n  recordId: null,\n  revision: null,\n  payload: null,\n};\n\nexport const useDailyReportEFStore = create<DailyReportEFStoreState>(set => ({\n  step2: createInitialStep2State(),\n  model1Step3: createInitialModel1Step3State(),\n  model2Step3: createInitialModel2Step3State(),\n  model3Step3: createInitialModel3Step3State(),\n  unicModelStep3: createInitialUnicModelStep3State(),\n  meta: INITIAL_META_STATE,\n  setStep2: values =>\n    set(state => ({\n      step2: {\n        ...state.step2,\n        ...values,\n      },\n    })),\n  setModel1Step3: values =>\n    set(state => ({\n      model1Step3: {\n        ...state.model1Step3,\n        ...values,\n      },\n    })),\n  setModel2Step3: values =>\n    set(state => ({\n      model2Step3: {\n        ...state.model2Step3,\n        ...values,\n      },\n    })),\n  setModel3Step3: values =>\n    set(state => ({\n      model3Step3: {\n        ...state.model3Step3,\n        ...values,\n      },\n    })),\n    setUnicModelStep3: values =>\n    set(state => ({\n      unicModelStep3: {\n        ...state.unicModelStep3,\n        ...values,\n      },\n    })),\n  setLoadingMeta: values =>\n    set(state => ({\n      meta: {\n        ...state.meta,\n        ...values,\n      },\n    })),\n  resetStep3: () =>\n    set(state => ({\n      step2: state.step2,\n      model1Step3: createInitialModel1Step3State(),\n      model2Step3: createInitialModel2Step3State(),\n      model3Step3: createInitialModel3Step3State(),\n      unicModelStep3: createInitialUnicModelStep3State(),\n      meta: state.meta,\n    })),\n  reset: () =>\n    set(() => ({\n      step2: createInitialStep2State(),\n      model1Step3: createInitialModel1Step3State(),\n      model2Step3: createInitialModel2Step3State(),\n      model3Step3: createInitialModel3Step3State(),\n      unicModelStep3: createInitialUnicModelStep3State(),\n      meta: INITIAL_META_STATE,\n    })),\n}));\n"],"names":["DRPage3EFModel2","dayjs","extend","utc","formatTwoDigits","value","toString","padStart","getDefaultTime","now","Date","getHours","getMinutes","normalizeNumericString","String","replace","navigation","useNavigation","insets","useSafeAreaInsets","configService","getCurrentConfig","primaryColor","useToast","show","user","useAuth","useDailyReportBaseStore","state","summary","step2","model2Step3","setModel2Step3","useDailyReportEFStore","reset","meta","flowStationTank","useState","setFlowStationTank","isLoading","setIsLoading","isSubmitting","setIsSubmitting","guardDisabledRef","useRef","missingToastShownRef","defaultDate","reportDate","defaultTime","reportTime","defaultFillingStartDate","fillingStartDate","defaultFillingStartTime","fillingStartTime","defaultFillingEndDate","fillingEndDate","defaultFillingEndTime","fillingEndTime","defaultValues","status","date","time","fillingStartLevel","fillingEndLevel","rawOperatedProduction","sampleTaken","netOperatedProduction","mode","control","handleSubmit","resetForm","formState","isValid","useForm","watchedValues","useWatch","useEffect","editionMode","payload","report","splitDateTime","dateTimeStr","d","toDate","format","date_created","filling_start_date","fStartDate","fStartTime","filling_end_date","fEndDate","fEndTime","newValues","filling_start_level","filling_end_level","raw_operated_production","sample_taken","net_operated_production","mounted","tankId","tanks","getFlowStationTanksFiltered","Number","Array","isArray","current","flowStationId","type","message","navigate","summaryItems","useMemo","name","location","activity","field","facility","flowStationName","tankName","formatDateWithTime","safeTime","split","hoursRaw","minutesRaw","hours","Math","max","min","isFinite","minutes","getFullYear","getMonth","getDate","values","pad","num","toNumber","normalized","isNaN","nowDate","getSeconds","reportDateTime","activityId","fieldPairs","revision","id","verb","table","fields","map","filter","recordId","result","submitReport","error","success","offline","View","style","styles","screen","ScrollView","container","contentContainerStyle","paddingBottom","bottom","form","SummaryTable","items","block","Text","sectionTitle","StyleSheet","create","flex","backgroundColor","paddingTop","paddingHorizontal","gap","height","blockXS","row","flexDirection","alignItems","flex1","spacer","width","textAlign","fontSize","fontWeight","color","subSectionTitle","marginBottom","helperText","marginTop","errorText","previousFillBox","borderWidth","borderColor","borderRadius","padding","previousFillTitle","previousFillGrid","flexWrap","justifyContent","previousFillItem","previousFillLabel","previousFillValue","paddingVertical","INITIAL_EDITING_STATE","isEditing","reportId","INITIAL_STATE","fieldId","editing","DailyReportBaseStore","set","setFieldId","setSummary","setEditing","resetEditing","INITIAL_META_STATE","DailyReportEFStoreState","model1Step3","tankLevel","model3Step3","currentStockDate","currentStockTime","currentStock","previousDayStock","vacuumTransfer","grossOperatedProduction","unicModelStep3","comments","setStep2","setModel1Step3","setModel3Step3","setUnicModelStep3","setLoadingMeta","resetStep3"],"mappings":"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"}