implemented removal of project members

This commit is contained in:
2025-07-22 15:27:20 +02:00
parent 81b28c0229
commit 1e439b87ac
6 changed files with 30 additions and 1 deletions

View File

@@ -6,6 +6,7 @@
let {
members,
updatePermission = (uid,perm) => console.log(`no handler for updatePermission(${uid}, ${perm})`),
dropMember = (member) => console.log(`no handler for dropMember(${member})`),
addMember = (entry) => console.log(`no handler for addMember(${entry})`)
} = $props();
let error = $state(null);
@@ -59,6 +60,9 @@
<td>{member.user.name}</td>
<td>
<PermissionSelector {permissions} selected={member.permission.code} onchange={(perm) => updatePermission(member.user.id,perm)} />
{#if member.permission.name != 'OWNER'}
<button onclick={() => dropMember(member)}>x</button>
{/if}
</td>
</tr>
{/each}

View File

@@ -20,6 +20,10 @@
if (ids) update({new_member:+ids.pop()});
}
async function dropMember(member){
update({drop_member:member.user.id});
}
async function loadProject(){
const url = `${location.protocol}//${location.host.replace('5173','8080')}/api/project/${id}`;
const resp = await fetch(url,{credentials:'include'});
@@ -131,6 +135,6 @@
{#if showSettings}
<fieldset class="project settings">
<legend>{t('settings')}</legend>
<MemberEditor members={project.members} {updatePermission} {addMember} />
<MemberEditor members={project.members} {updatePermission} {addMember} {dropMember} />
</fieldset>
{/if}