import { computed, ref } from 'vue';
import { useSituaciones } from '../liquidaciones/useSituaciones';
import { useMisLiquidaciones } from './useMisLiquidaciones';

export function useMisLiquidacionesActions() {
	const { liquidacion, idLiquidacion, loading: loadingLiquidacion } = useMisLiquidaciones();
	const { data: situaciones, fetching: loadingSituaciones } = useSituaciones();

	const loading = computed(() => loadingLiquidacion.value || loadingSituaciones.value);

	const getEntidad = (entidad: string = '') => {
		if(!liquidacion.value) return [];
		return liquidacion.value.ITEMS.filter((item: any) => 
			item[entidad] && !isNaN(Number(item[entidad].ID_USUARIO)) && Number(item[entidad].ID_USUARIO) > 0
		).map((item: any) => item[entidad]);
	};

	const organizadores = computed((entidad:string = 'ORG') => {
		return getEntidad(entidad);
	});
	const gerentes = computed((entidad:string = 'GER') => {
		return getEntidad(entidad);
	});
	const supervisores = computed((entidad:string = 'SUP') => {
		return getEntidad(entidad);
	});
	const promotores = computed((entidad:string = 'PRO') => {
		return getEntidad(entidad);
	});

	const reclamaciones = computed(() => {
		if(!liquidacion.value) return [];
		return liquidacion.value.RECLAMOS
	})

	const tabs = [
		{ label: 'Propuesta', name: 'propuesta' },
		{ label: 'Reclamaciones', name: 'reclamaciones' },
	];
	const tab = ref<string>('propuesta');

	return { situaciones, liquidacion, idLiquidacion, reclamaciones, tab, tabs, loading, organizadores, gerentes, supervisores, promotores };
}
