Skip to content

Commit 91a5238

Browse files
committed
feat: add success alerts for repository addition and removal in team repositories page
1 parent 68212e3 commit 91a5238

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

src/routes/team/[team]/repositories/+page.svelte

+35-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import GraphErrors from '$lib/GraphErrors.svelte';
88
import Pagination from '$lib/Pagination.svelte';
99
import { changeParams } from '$lib/utils/searchparams';
10-
import { BodyLong, Button, Detail, Heading, TextField } from '@nais/ds-svelte-community';
10+
import { Alert, BodyLong, Button, Detail, Heading, TextField } from '@nais/ds-svelte-community';
1111
import { PlusIcon, TrashIcon } from '@nais/ds-svelte-community/icons';
1212
import type { PageProps } from './$houdini';
1313
@@ -30,6 +30,11 @@
3030
team
3131
});
3232
Repositories.fetch();
33+
repositoryAdded = true;
34+
repoOperatedOn = repository;
35+
setTimeout(() => {
36+
repositoryAdded = false;
37+
}, 10000);
3338
};
3439
3540
const removeRepositoryMutation = graphql(`
@@ -45,6 +50,11 @@
4550
team
4651
});
4752
Repositories.fetch();
53+
repositoryRemoved = true;
54+
repoOperatedOn = repository;
55+
setTimeout(() => {
56+
repositoryRemoved = false;
57+
}, 10000);
4858
};
4959
5060
const validateRepo = (input: string) => {
@@ -63,6 +73,9 @@
6373
};
6474
6575
let filter = $state('');
76+
let repositoryAdded = $state(false);
77+
let repositoryRemoved = $state(false);
78+
let repoOperatedOn = $state('');
6679
6780
const handleFilter = () => {
6881
if (filter === '') {
@@ -104,6 +117,23 @@
104117
<GraphErrors errors={$Repositories.errors} />
105118

106119
{#if $Repositories.data}
120+
{#if repositoryAdded}
121+
<div style="margin-bottom: var(--spacing-layout)">
122+
<Alert variant="success" size="small" fullWidth={true}
123+
>Repository <code>{repoOperatedOn}</code> added successfully. It might take a couple of minutes
124+
before the repository is authorized.</Alert
125+
>
126+
</div>
127+
{/if}
128+
129+
{#if repositoryRemoved}
130+
<div style="margin-bottom: var(--spacing-layout)">
131+
<Alert variant="success" size="small" fullWidth={true}
132+
>Repository <code>{repoOperatedOn}</code> removed successfully.</Alert
133+
>
134+
</div>
135+
{/if}
136+
107137
<div class="wrapper">
108138
<div>
109139
{#if $Repositories.data.team}
@@ -146,7 +176,7 @@
146176
{/if}
147177

148178
<Heading level="2" size="small">Authorized repositories</Heading>
149-
{#if team.repositories.pageInfo.totalCount === 0}
179+
{#if team.repositories.pageInfo.totalCount === 0 && filter === ''}
150180
<BodyLong spacing>
151181
{#if team.repositories.pageInfo.totalCount == 0}
152182
<strong>No repositories are authorized for deployment.</strong>
@@ -236,4 +266,7 @@
236266
gap: var(--a-spacing-1-alt);
237267
align-items: center;
238268
}
269+
code {
270+
font-size: 1rem;
271+
}
239272
</style>

0 commit comments

Comments
 (0)