refactor(FE): Refactor table column headers for clarity and consistency

This commit is contained in:
rstubryan
2026-02-11 09:28:24 +07:00
parent 1227b7639f
commit 02d13efc25
@@ -55,11 +55,6 @@ const styles = StyleSheet.create({
},
});
function safeNum(v: unknown): number {
const n = typeof v === 'number' ? v : Number(v);
return Number.isFinite(n) ? n : 0;
}
function valueText(v: unknown) {
if (v === null || v === undefined) return '-';
if (typeof v === 'number') return formatNumber(v);
@@ -71,9 +66,9 @@ function valueText(v: unknown) {
// ========================================
const getBwTableColumns = (): PdfColumn[] => [
{ key: 'no', header: 'No', flex: 0.5, align: 'center' },
{ key: 'woa', header: 'WOA', flex: 0.8, align: 'center' },
{ key: 'bw', header: 'BW', flex: 1, align: 'right' },
{ key: 'std_bw', header: 'Std BW', flex: 1, align: 'right' },
{ key: 'woa', header: 'Week of Age', flex: 0.8, align: 'center' },
{ key: 'bw', header: 'Body Weight', flex: 1, align: 'right' },
{ key: 'std_bw', header: 'Std Body Weight', flex: 1, align: 'right' },
{ key: 'uniformity', header: 'Uniformity', flex: 1.2, align: 'right' },
{
key: 'std_uniformity',
@@ -107,8 +102,13 @@ const getBwTableData = (
// ========================================
const getDepTableColumns = (): PdfColumn[] => [
{ key: 'no', header: 'No', flex: 0.5, align: 'center' },
{ key: 'dep_kum', header: 'Dep Kum', flex: 1.5, align: 'right' },
{ key: 'dep_std', header: 'Dep Std', flex: 1.5, align: 'right' },
{
key: 'dep_kum',
header: 'Depletion Cummulative',
flex: 1.5,
align: 'right',
},
{ key: 'dep_std', header: 'Depletion Std', flex: 1.5, align: 'right' },
];
const getDepTableData = (
@@ -210,10 +210,10 @@ const getKgTableData = (
// ========================================
const getPersenTableColumns = (): PdfColumn[] => [
{ key: 'no', header: 'No', flex: 0.5, align: 'center' },
{ key: 'persen_utuh', header: '% Utuh', flex: 1.5, align: 'right' },
{ key: 'persen_putih', header: '% Putih', flex: 1.5, align: 'right' },
{ key: 'persen_retak', header: '% Retak', flex: 1.5, align: 'right' },
{ key: 'persen_pecah', header: '% Pecah', flex: 1.5, align: 'right' },
{ key: 'persen_utuh', header: 'Utuh (%)', flex: 1.5, align: 'right' },
{ key: 'persen_putih', header: 'Putih (%)', flex: 1.5, align: 'right' },
{ key: 'persen_retak', header: '% Retak (%)', flex: 1.5, align: 'right' },
{ key: 'persen_pecah', header: '% Pecah (%)', flex: 1.5, align: 'right' },
];
const getPersenTableData = (
@@ -251,14 +251,14 @@ const getPersenTableData = (
// ========================================
const getProduksi1TableColumns = (): PdfColumn[] => [
{ key: 'no', header: 'No', flex: 0.5, align: 'center' },
{ key: 'hd', header: 'HD', flex: 0.8, align: 'right' },
{ key: 'hd_std', header: 'HD Std', flex: 1, align: 'right' },
{ key: 'fi', header: 'FI', flex: 0.8, align: 'right' },
{ key: 'fi_std', header: 'FI Std', flex: 1, align: 'right' },
{ key: 'em', header: 'EM', flex: 0.8, align: 'right' },
{ key: 'em_std', header: 'EM Std', flex: 1, align: 'right' },
{ key: 'ew', header: 'EW', flex: 0.8, align: 'right' },
{ key: 'ew_std', header: 'EW Std', flex: 1, align: 'right' },
{ key: 'hd', header: 'Hen Day', flex: 0.8, align: 'right' },
{ key: 'hd_std', header: 'Hen Day Std', flex: 1, align: 'right' },
{ key: 'fi', header: 'Feed Intake', flex: 0.8, align: 'right' },
{ key: 'fi_std', header: 'Feed Intake Std', flex: 1, align: 'right' },
{ key: 'em', header: 'Egg Mass', flex: 0.8, align: 'right' },
{ key: 'em_std', header: 'Egg Mass Std', flex: 1, align: 'right' },
{ key: 'ew', header: 'Egg Weight', flex: 0.8, align: 'right' },
{ key: 'ew_std', header: 'Egg Weight Std', flex: 1, align: 'right' },
];
const getProduksi1TableData = (
@@ -286,8 +286,8 @@ const getProduksi2TableColumns = (): PdfColumn[] => [
{ key: 'no', header: 'No', flex: 0.5, align: 'center' },
{ key: 'fcr', header: 'FCR', flex: 1, align: 'right' },
{ key: 'fcr_std', header: 'FCR Std', flex: 1.2, align: 'right' },
{ key: 'hh', header: 'HH', flex: 1, align: 'right' },
{ key: 'hh_std', header: 'HH Std', flex: 1.2, align: 'right' },
{ key: 'hh', header: 'Hen House', flex: 1, align: 'right' },
{ key: 'hh_std', header: 'Hen House Std', flex: 1.2, align: 'right' },
];
const getProduksi2TableData = (