import React, { useEffect, useState } from 'react';
import * as BS from 'react-bootstrap'
import MemberCard from './MemberCard.js'
import Loading from "./Loading.js";
import API_URL from "../Constants/constants.js";
export default function Memberlist() {
const user = JSON.parse(localStorage.getItem('user'));
const userId = user.id;
const [isLoading, setIsLoading ] = useState(false);
const [isError, setIsError ] = useState(false);
const [members, setMembers ] = useState([]);
const [value, setValue] = useState('')
useEffect(() => {
setIsLoading(true);
setIsError(false);
fetch(`${API_URL}s/${userId}/members`,{
method: 'get',
headers: {
'Authorization': JSON.stringify(localStorage.getItem("token")).slice(1, -1)
}}).then ( res => res.json()
).then (data => {
setMembers(data);
setIsLoading(false);
})
.catch (error => {
console.log(error);
setIsError(true);
setIsLoading(false);
})
}, [userId])
const memberList = members.filter(member => {
if (!value) return true;
if (member.name.toLowerCase().includes(value.toLowerCase())) {
return true;
}
return false;
}).sort((a, b) => a.name.localeCompare(b.name)).map((member) =>
);
return (
<>
{ isLoading ? : isError ?
Error fetching members. :
<>
setValue(e.target.value)} placeholder="Search"/>
{memberList}
>
}
>
)
}