feat: add remove member button
This commit is contained in:
@@ -58,6 +58,12 @@ export default function ProjectDetailPage() {
|
|||||||
api.get<ProjectMember[]>(`/projects/${id}/members`).then(({ data }) => setMembers(data))
|
api.get<ProjectMember[]>(`/projects/${id}/members`).then(({ data }) => setMembers(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const removeMember = async (userId: number) => {
|
||||||
|
if (!confirm('Remove this member?')) return
|
||||||
|
await api.delete(`/projects/${id}/members/${userId}`)
|
||||||
|
api.get<ProjectMember[]>(`/projects/${id}/members`).then(({ data }) => setMembers(data))
|
||||||
|
}
|
||||||
|
|
||||||
const addMilestone = async () => {
|
const addMilestone = async () => {
|
||||||
if (!newMilestoneTitle.trim()) return
|
if (!newMilestoneTitle.trim()) return
|
||||||
await api.post(`/projects/${id}/milestones`, { title: newMilestoneTitle, status: 'open' })
|
await api.post(`/projects/${id}/milestones`, { title: newMilestoneTitle, status: 'open' })
|
||||||
@@ -120,7 +126,10 @@ export default function ProjectDetailPage() {
|
|||||||
{members.length > 0 ? (
|
{members.length > 0 ? (
|
||||||
<div className="member-list">
|
<div className="member-list">
|
||||||
{members.map((m) => (
|
{members.map((m) => (
|
||||||
<span key={m.id} className="badge">{`User #${m.user_id} (${m.role})`}</span>
|
<span key={m.id} className="badge" style={{marginRight: 8}}>
|
||||||
|
{`User #${m.user_id} (${m.role})`}
|
||||||
|
<button onClick={(e) => { e.stopPropagation(); removeMember(m.user_id) }} style={{marginLeft: 8, background: 'none', border: 'none', color: 'red', cursor: 'pointer'}}>×</button>
|
||||||
|
</span>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
|
|||||||
Reference in New Issue
Block a user