various fixes to the site (socios, ingresos, gastos, balance, solicitudes) have been made
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { useState } from 'react';
|
||||
import { useConfig } from '../hooks/useConfig';
|
||||
import { DataProvider } from '../context/DataContext';
|
||||
import { useDataContext } from '../hooks/useDataContext';
|
||||
@@ -29,9 +29,9 @@ const Ingresos = () => {
|
||||
if (configLoading) return <p><LoadingIcon /></p>;
|
||||
|
||||
const reqConfig = {
|
||||
baseUrl: config.apiConfig.baseUrl + config.apiConfig.endpoints.incomes.allWithNames,
|
||||
baseUrl: config.apiConfig.baseUrl + config.apiConfig.endpoints.incomes.withInfo,
|
||||
rawUrl: config.apiConfig.baseUrl + config.apiConfig.endpoints.incomes.all,
|
||||
membersUrl: config.apiConfig.baseUrl + config.apiConfig.endpoints.members.all,
|
||||
usersUrl: config.apiConfig.baseUrl + config.apiConfig.endpoints.users.all,
|
||||
params: {
|
||||
_sort: 'createdAt',
|
||||
_order: 'desc'
|
||||
@@ -46,26 +46,24 @@ const Ingresos = () => {
|
||||
};
|
||||
|
||||
const IngresosContent = ({ reqConfig }) => {
|
||||
const { data, dataLoading, dataError, getData, postData, putData, deleteData } = useDataContext();
|
||||
const { data, dataLoading, dataError, postData, putData, deleteData } = useDataContext();
|
||||
const [showPDFModal, setShowPDFModal] = useState(false);
|
||||
const [creatingIngreso, setCreatingIngreso] = useState(false);
|
||||
const [tempIngreso, setTempIngreso] = useState(null);
|
||||
const [error, setError] = useState(null);
|
||||
const [deleteTargetId, setDeleteTargetId] = useState(null);
|
||||
const [members, setMembers] = useState([]);
|
||||
|
||||
useEffect(() => {
|
||||
const fetchMembers = async () => {
|
||||
try {
|
||||
const membersData = await getData(reqConfig.membersUrl, { params: { _sort: 'name', _order: 'asc' } });
|
||||
setMembers(membersData.data);
|
||||
} catch (err) {
|
||||
setError(errorParser(err));
|
||||
}
|
||||
};
|
||||
|
||||
fetchMembers();
|
||||
}, [reqConfig.membersUrl, getData]);
|
||||
const members = data
|
||||
? Array.from(
|
||||
new Map(
|
||||
data.map(i => [i.memberNumber, {
|
||||
memberNumber: i.memberNumber,
|
||||
displayName: i.displayName,
|
||||
userId: i.userId
|
||||
}])
|
||||
).values()
|
||||
).sort((a, b) => a.memberNumber - b.memberNumber)
|
||||
: [];
|
||||
|
||||
const {
|
||||
filtered,
|
||||
@@ -104,16 +102,18 @@ const IngresosContent = ({ reqConfig }) => {
|
||||
});
|
||||
|
||||
const handleCreate = () => {
|
||||
const firstMember = members[0];
|
||||
|
||||
setCreatingIngreso(true);
|
||||
setTempIngreso({
|
||||
incomeId: null,
|
||||
memberNumber: 0,
|
||||
memberNumber: firstMember?.memberNumber ?? null,
|
||||
userId: firstMember?.userId ?? null,
|
||||
concept: '',
|
||||
amount: 0.0,
|
||||
frequency: CONSTANTS.PAYMENT_FREQUENCY_YEARLY,
|
||||
type: CONSTANTS.PAYMENT_TYPE_BANK
|
||||
});
|
||||
document.querySelector('.cards-grid')?.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
};
|
||||
|
||||
const handleCancelCreate = () => {
|
||||
@@ -150,7 +150,7 @@ const IngresosContent = ({ reqConfig }) => {
|
||||
|
||||
if (dataLoading) return <p className="text-center my-5"><LoadingIcon /></p>;
|
||||
if (dataError) return <p className="text-danger text-center my-5">{dataError}</p>;
|
||||
|
||||
|
||||
return (
|
||||
<CustomContainer>
|
||||
<ContentWrapper>
|
||||
|
||||
Reference in New Issue
Block a user