import React, { useEffect, useState } from "react"; import RenderOverlay from "./Overlay"; import { CloseIcon } from "../icons/ExportCommonIcons"; import { AccessOption, User } from "../../types/users"; import RegularDropDown from "../ui/inputs/RegularDropDown"; import MultiEmailInvite from "../ui/inputs/MultiEmailInvite"; import { getUserData } from "../../functions/getUserData"; import { getProjectSharedList } from "../../services/factoryBuilder/collab/project/getProjectSharedList"; import { useParams } from "react-router-dom"; import { shareAccess } from "../../services/factoryBuilder/collab/project/shareAccess"; import { getAvatarColor } from "../../modules/collaboration/functions/getAvatarColor"; interface UserListTemplateProps { user: User; } const UserListTemplate: React.FC = ({ user }) => { const [accessSelection, setAccessSelection] = useState(user?.Access); const { projectId } = useParams(); const accessUpdate = async ({ option }: AccessOption) => { if (!projectId) return; const accessSelection = await shareAccess(projectId, user.userId, option); setAccessSelection(option); }; return (
{user.profileImage ? ( {`${user.userName}'s ) : (
{user.userName.charAt(0).toUpperCase()}
)}
{user.userName.charAt(0).toUpperCase() + user.userName.slice(1).toLowerCase()}
accessUpdate({ option })} search={false} /> {/* */}
); }; interface CollaborateProps { setUserManagement: (value: boolean) => void; } const CollaborationPopup: React.FC = ({ setUserManagement }) => { const { userName } = getUserData(); const [users, setUsers] = useState([]); const { projectId } = useParams(); function getData() { if (!projectId) return; getProjectSharedList(projectId) .then((allUser) => { const accesMail = allUser?.datas || []; setUsers(accesMail); }) .catch((err) => {}); } useEffect(() => { getData(); }, []); return (
{ setUserManagement(false); }} >
{ e.preventDefault(); e.stopPropagation(); }} >
Share this file
{/*
copy link
*/}
{ setUserManagement(false); }} >
Who has access
Untitled
{users.length} persons
{userName && userName[0].toUpperCase()}
{userName && userName.charAt(0).toUpperCase() + userName.slice(1).toLowerCase()}
you
{users.map((user, index) => ( ))}
); }; export default CollaborationPopup;