export interface PayPeriodOverview {
    email: string;
    employee_name: string;
    regular_hours: number;
    evening_hours: number;
    emergency_hours: number;
    overtime_hours: number;
    total_hours: number;
    expenses: number;
    mileage: number;
    is_approved: boolean;
};

export interface PayPeriodOverviewResponse {
  pay_period_no: number;
  pay_year: number;
  period_start: string;
  period_end: string;
  payday: string;
  label: string;
  employees_overview: PayPeriodOverview[];
}

export const default_pay_period_overview: PayPeriodOverview = {
    email: '',
    employee_name: '',
    regular_hours: -1,
    evening_hours: -1,
    emergency_hours: -1,
    overtime_hours: -1,
    total_hours: -1,
    expenses: -1,
    mileage: -1,
    is_approved: false
}

export const pay_period_overview_columns = [
    { 
        name: 'employee_name', 
        label: 'timesheet_approvals.table.full_name', 
        field: 'employee_name', 
        sortable: true 
    },
    { 
        name: 'email', 
        label: 'timesheet_approvals.table.email', 
        field: 'email', 
        sortable: true,
    },
    { 
        name: 'regular_hours', 
        label: 'shared.shift_type.regular', 
        field: 'regular_hours', 
        sortable: true, 
    },
    { 
        name: 'evening_hours', 
        label: 'shared.shift_type.evening', 
        field: 'evening_hours',
        sortable: true, 
    },
    { 
        name: 'emergency_hours', 
        label: 'shared.shift_type.emergency', 
        field: 'emergency_hours',
        sortable: true, 
    },
    { 
        name: 'overtime_hours', 
        label: 'shared.shift_type.overtime', 
        field: 'overtime_hours',
        sortable: true,
    },
    { 
        name: 'expenses', 
        label: 'timesheet_approvals.table.expenses', 
        field: 'expenses', 
        sortable: true, 
    },
    { 
        name: 'mileage', 
        label: 'timesheet_approvals.table.mileage', 
        field: 'mileage', 
        sortable: true,
    },
    {
        name: 'is_approved',
        label: 'timesheet_approvals.table.is_approved',
        field: 'is_approved',
        sortable: true,
    }
];