working on project settings update:

adding/updating members not implemented
This commit is contained in:
2025-07-21 00:16:14 +02:00
parent c8b6c3feb7
commit 6016f81c27
17 changed files with 169 additions and 34 deletions

View File

@@ -5,12 +5,14 @@
import MarkdownEditor from '../../Components/MarkdownEditor.svelte';
import LineEditor from '../../Components/LineEditor.svelte';
import StateSelector from '../../Components/StateSelector.svelte';
import MemberEditor from '../../Components/MemberEditor.svelte';
let { id } = $props();
let project = $state(null);
let error = $state(null);
let tasks = $state(null);
let estimated_time = $state({sum:0});
let showSettings = $state(false);
async function loadProject(){
const url = `${location.protocol}//${location.host.replace('5173','8080')}/api/project/${id}`;
@@ -54,6 +56,12 @@
}
}
function updatePermission(user_id,permission){
let members = {};
members[user_id] = permission.code;
update({members:members});
}
onMount(loadProject);
</script>
@@ -68,6 +76,7 @@
<th>{t('project')}</th>
<td class="name">
<LineEditor bind:value={project.name} editable={true} onSet={val => update({name:val})} />
<button class="symbol" onclick={() => showSettings = true}></button>
</td>
</tr>
<tr>
@@ -110,16 +119,12 @@
{/if}
</td>
</tr>
<tr>
<th>{t('members')}</th>
<td>
<ul>
{#each Object.entries(project.members) as [uid,member]}
<li>{member.user.name}: {t('permission.'+member.permission)}</li>
{/each}
</ul>
</td>
</tr>
</tbody>
</table>
{/if}
{#if showSettings}
<fieldset class="project settings">
<legend>{t('settings')}</legend>
<MemberEditor members={project.members} {updatePermission} />
</fieldset>
{/if}