Enhance dashboard components with user collaboration features and project management improvements
This commit is contained in:
@@ -8,18 +8,15 @@ interface UserData {
|
||||
_id: string;
|
||||
Email: string;
|
||||
userName: string;
|
||||
|
||||
}
|
||||
|
||||
interface MultiEmailProps {
|
||||
searchedEmail: UserData[];
|
||||
setSearchedEmail: React.Dispatch<React.SetStateAction<UserData[]>>
|
||||
users: any,
|
||||
getData: any,
|
||||
}
|
||||
const MultiEmailInvite: React.FC<MultiEmailProps> = ({ searchedEmail, setSearchedEmail, users, getData }) => {
|
||||
console.log('users: ', users);
|
||||
const MultiEmailInvite: React.FC<MultiEmailProps> = ({ users, getData }) => {
|
||||
const [emails, setEmails] = useState<any>([]);
|
||||
const [searchedEmail, setSearchedEmail] = useState<UserData[]>([]);
|
||||
const [inputFocus, setInputFocus] = useState(false);
|
||||
const [inputValue, setInputValue] = useState("");
|
||||
const { projectId } = useParams();
|
||||
@@ -33,10 +30,6 @@ const MultiEmailInvite: React.FC<MultiEmailProps> = ({ searchedEmail, setSearche
|
||||
const isNotCurrentUser = selectedUser._id !== userId;
|
||||
const alreadyExistsInEmails = prev.some(email => email._id === selectedUser._id);
|
||||
const alreadyExistsInUsers = users.some((val: any) => val.userId === selectedUser._id);
|
||||
|
||||
console.log('alreadyExistsInEmails: ', alreadyExistsInEmails);
|
||||
console.log('alreadyExistsInUsers:', alreadyExistsInUsers);
|
||||
|
||||
if (isNotCurrentUser && !alreadyExistsInEmails && !alreadyExistsInUsers) {
|
||||
return [...prev, selectedUser];
|
||||
}
|
||||
@@ -52,9 +45,7 @@ const MultiEmailInvite: React.FC<MultiEmailProps> = ({ searchedEmail, setSearche
|
||||
if (trimmedEmail.length < 3) return;
|
||||
try {
|
||||
const searchedMail = await getSearchUsers(trimmedEmail);
|
||||
console.log('searchedMail: ', searchedMail);
|
||||
const filteredEmail = searchedMail.sharchMail?.filtered;
|
||||
console.log('filteredEmail: ', filteredEmail);
|
||||
if (filteredEmail) {
|
||||
setSearchedEmail(filteredEmail)
|
||||
}
|
||||
@@ -94,6 +85,7 @@ const MultiEmailInvite: React.FC<MultiEmailProps> = ({ searchedEmail, setSearche
|
||||
console.error("Error sharing project:", err);
|
||||
});
|
||||
setEmails([])
|
||||
setInputValue("")
|
||||
});
|
||||
setTimeout(() => {
|
||||
getData()
|
||||
@@ -123,9 +115,9 @@ const MultiEmailInvite: React.FC<MultiEmailProps> = ({ searchedEmail, setSearche
|
||||
/>
|
||||
</div>
|
||||
<div onClick={handleInvite} className="invite-button">
|
||||
Invite
|
||||
Add
|
||||
</div>
|
||||
{inputFocus && inputValue.length > 0 && searchedEmail && searchedEmail.length > 0 && (
|
||||
{inputFocus && inputValue.length > 2 && searchedEmail && searchedEmail.length > 0 && (
|
||||
<div className="users-list-container">
|
||||
{/* list available users here */}
|
||||
{searchedEmail.map((val: any, i: any) => (
|
||||
|
||||
Reference in New Issue
Block a user