feat: include collaborators in project overview
This shows the avatar fallback because I have no way to know the avatar in Vervis at the moment. Also no username associated, that is, I would need to look it up. Should work for getting the idea at the moment. Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de>
This commit is contained in:
parent
0581a55c92
commit
54d2300467
1 changed files with 25 additions and 0 deletions
|
@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License along w
|
||||||
import {
|
import {
|
||||||
EyeClosed16,
|
EyeClosed16,
|
||||||
NorthStar24,
|
NorthStar24,
|
||||||
|
Person24,
|
||||||
Repo24,
|
Repo24,
|
||||||
RepoForked16,
|
RepoForked16,
|
||||||
Star16,
|
Star16,
|
||||||
|
@ -54,6 +55,15 @@ You should have received a copy of the GNU Affero General Public License along w
|
||||||
* Allow for linking stories in Storybook.
|
* Allow for linking stories in Storybook.
|
||||||
*/
|
*/
|
||||||
export let sb = '';
|
export let sb = '';
|
||||||
|
|
||||||
|
/* Since I fetch collaborators for every following I need to filter. */
|
||||||
|
const mapCollaboratorsToMember = function (collaborators, associatedProject) {
|
||||||
|
const candidates = collaborators.filter((collaborator) => {
|
||||||
|
return collaborator.context === associatedProject;
|
||||||
|
});
|
||||||
|
|
||||||
|
return candidates.map((candidate) => candidate.items).flat(1);
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<section class="w-full mx-auto flex px-8 pt-8">
|
<section class="w-full mx-auto flex px-8 pt-8">
|
||||||
|
@ -104,6 +114,16 @@ You should have received a copy of the GNU Affero General Public License along w
|
||||||
<div class="flex -ms-10">
|
<div class="flex -ms-10">
|
||||||
<Repo24 fill="currentColor" />
|
<Repo24 fill="currentColor" />
|
||||||
{following.name}
|
{following.name}
|
||||||
|
<!-- Members -->
|
||||||
|
<ul class="ms-2 gap-4">
|
||||||
|
{#each mapCollaboratorsToMember(data.user.collaboratorsMap, following.id) as member}
|
||||||
|
<li title={member.object}>
|
||||||
|
<div class="bg-surface-500 text-white rounded-full">
|
||||||
|
<Person24 fill="currentColor" />
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{/each}
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<!-- Description -->
|
<!-- Description -->
|
||||||
<!-- Compensate padding with negative margin -->
|
<!-- Compensate padding with negative margin -->
|
||||||
|
@ -153,6 +173,11 @@ You should have received a copy of the GNU Affero General Public License along w
|
||||||
<p>These are the contents of the items in the previous dump.</p>
|
<p>These are the contents of the items in the previous dump.</p>
|
||||||
<pre>{JSON.stringify(data.user.followingsMap, null, 2)}</pre>
|
<pre>{JSON.stringify(data.user.followingsMap, null, 2)}</pre>
|
||||||
</details>
|
</details>
|
||||||
|
<details>
|
||||||
|
<summary>Collaborators mapped</summary>
|
||||||
|
<p>These are the contents of the items in the previous dump.</p>
|
||||||
|
<pre>{JSON.stringify(data.user.collaboratorsMap, null, 2)}</pre>
|
||||||
|
</details>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{:else}
|
{:else}
|
||||||
|
|
Loading…
Reference in a new issue