Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
Su Yeon Lee committed Aug 6, 2024
1 parent 6e198d9 commit 0c2fb9d
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 27 deletions.
31 changes: 30 additions & 1 deletion client/src/Communications/CommunicationsPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,18 @@ import AddEditGroupsModal from '../components/AddEditGroupsModal';
import IDonor from '../util/types/donor';
import IGroup from '../util/types/group';
import IDonation from '../util/types/donation';
import { useData, getData } from '../util/api';
import { useData, getData, postData } from '../util/api';
import PopupPage from '../Popup/PopupPage';

interface Group {
_id?: string;
title?: string;
inputValue?: string;
group_name?: string;
date_created?: Date;
donor_ids?: string[];
}

const modalStyle = {
position: 'absolute',
top: '50%',
Expand Down Expand Up @@ -303,6 +312,25 @@ function CommunicationsPage() {
setRows([]);
};

const handleAddNewGroup = (newGroup: any) => {
if (newGroup) {
const newData = {
group_name: newGroup.group_name,
date_created: new Date(),
donor_ids: [],
};

postData('group/create', newData)
.then((response) => {
setGroups((prevGroups) => [...prevGroups, response.data]);
setSelectedGroup(response.data);
})
.catch((error) => {
console.log(error);
});
}
};

return (
<div className="max-width-wrapper">
<Box paddingTop={2} paddingLeft={4} marginBottom={2}>
Expand Down Expand Up @@ -376,6 +404,7 @@ function CommunicationsPage() {
<AddEditGroupsModal
open={editGroupModalOpen}
onClose={handleGroupModalClose}
onAddNewGroup={handleAddNewGroup}
/>
<PopupPage
open={openPopup}
Expand Down
9 changes: 3 additions & 6 deletions client/src/NewDonation/NewDonationPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ function NewDonationPage() {
const [donator, setDonator] = useState<DonorType | null>(null);
const [isNewDonator, setIsNewDonator] = useState(false);
const [isNewPurpose, setIsNewPurpose] = useState(false);
const [newDonatorEmail, setNewDonatorEmail] = useState('');
const [newDonatorPhone, setNewDonatorPhone] = useState('');
const [newDonatorAddress, setNewDonatorAddress] = useState('');
const [newDonatorEmail, setNewDonatorEmail] = useState('N/A');
const [newDonatorPhone, setNewDonatorPhone] = useState('N/A');
const [newDonatorAddress, setNewDonatorAddress] = useState('N/A');
const [newDonatorGroup, setNewDonatorGroup] = useState('');
const [isValidInput, setIsValidInput] = useState(true);
const [campaignPurpose, setCampaignPurpose] = useState<PurposeType | null>(
Expand Down Expand Up @@ -513,7 +513,6 @@ function NewDonationPage() {
type="email"
value={newDonatorEmail}
onChange={handleNewDonatorEmailChange}
required={isNewDonator}
sx={{ width: '100%' }}
/>
</Grid>
Expand Down Expand Up @@ -547,7 +546,6 @@ function NewDonationPage() {
label="New Donator Phone"
type="phone"
value={newDonatorPhone}
required={isNewDonator}
onChange={handleNewDonatorPhoneChange}
sx={{ width: '100%' }}
/>
Expand All @@ -559,7 +557,6 @@ function NewDonationPage() {
label="New Donator Address"
type="text"
value={newDonatorAddress}
required={isNewDonator}
onChange={handleNewDonatorAddressChange}
sx={{ width: '100%' }}
/>
Expand Down
23 changes: 3 additions & 20 deletions client/src/components/AddEditGroupsModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ const updateGroupDonorsAPI = (selectedGroup: Group, donorIds: string[]) => {

return postData('group/edit', updatedGroup);
};

export default function AddEditGroupsModal({ open, onClose }: any) {
// prettier-ignore
export default function AddEditGroupsModal({ open, onClose, onAddNewGroup, }: any) {
const [groups, setGroups] = useState<Group[]>([]);
const [selectedGroup, setSelectedGroup] = useState<Group | null>(null);
const [selectedDonors, setSelectedDonors] = useState<Donor[]>([]);
Expand Down Expand Up @@ -138,22 +138,7 @@ export default function AddEditGroupsModal({ open, onClose }: any) {
};

const handleAddNewGroup = (newGroup: Group) => {
if (newGroup) {
const newData = {
group_name: newGroup.group_name,
date_created: new Date(),
donor_ids: [],
};

postData('group/create', newData)
.then((response) => {
setGroups((prevGroups) => [...prevGroups, response.data]);
setSelectedGroup(response.data);
})
.catch((error) => {
console.log(error);
});
}
onAddNewGroup({ newGroup });
};

return (
Expand All @@ -173,13 +158,11 @@ export default function AddEditGroupsModal({ open, onClose }: any) {
value={selectedGroup}
onChange={(event, newValue) => {
setIsNewGroup(false);
// console.log(newValue);
if (typeof newValue === 'string') {
setSelectedGroup({
group_name: newValue,
});
} else if (newValue && newValue.inputValue) {
// Create a new value from the user input
setIsNewGroup(true);
handleAddNewGroup(newValue);
} else {
Expand Down

0 comments on commit 0c2fb9d

Please sign in to comment.