mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
Merge branch 'main' of https://github.com/appwrite/appwrite-console-poc into design-review-overview
This commit is contained in:
@@ -147,7 +147,7 @@ Adding a new dependency should have vital value on the product with minimum poss
|
||||
│ │ │ │ ├── _create.svelte // Component to Create collections
|
||||
│ │ │ │ └── index.svelte // Entrypoint for "/console/[PROJECT_ID]/database"
|
||||
│ │ │ ├── storage // Storage Service "/console/[PROJECT]/storage"
|
||||
│ │ │ └── authentication // Users Service "/console/[PROJECT]/authentication"
|
||||
│ │ │ └── auth // Users Service "/console/[PROJECT]/auth"
|
||||
│ │ └──...
|
||||
│ ├── login.svelte // Component for Login "/console/login"
|
||||
│ └── register.svelte // Component for Register "/console/register"
|
||||
|
||||
@@ -41,22 +41,22 @@ export const scopes: {
|
||||
{
|
||||
scope: 'users.read',
|
||||
description: "Access to read your project's users",
|
||||
category: 'Authentication'
|
||||
category: 'Auth'
|
||||
},
|
||||
{
|
||||
scope: 'users.write',
|
||||
description: "Access to create, update, and delete your project's users",
|
||||
category: 'Authentication'
|
||||
category: 'Auth'
|
||||
},
|
||||
{
|
||||
scope: 'teams.read',
|
||||
description: "Access to read your project's teams",
|
||||
category: 'Authentication'
|
||||
category: 'Auth'
|
||||
},
|
||||
{
|
||||
scope: 'teams.write',
|
||||
description: "Access to create, update, and delete your project's teams",
|
||||
category: 'Authentication'
|
||||
category: 'Auth'
|
||||
},
|
||||
{
|
||||
scope: 'databases.read',
|
||||
|
||||
@@ -31,6 +31,15 @@
|
||||
<span class="text">Overview</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="drop-list-item">
|
||||
<a
|
||||
class="drop-button"
|
||||
class:is-selected={$page.url.pathname.startsWith(`${path}/auth`)}
|
||||
href={`${path}/auth`}>
|
||||
<span class="icon-user-group" aria-hidden="true" />
|
||||
<span class="text">Auth</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="drop-list-item">
|
||||
<a
|
||||
class="drop-button"
|
||||
@@ -40,26 +49,6 @@
|
||||
<span class="text">Databases</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="drop-list-item">
|
||||
<a
|
||||
class="drop-button"
|
||||
class:is-selected={$page.url.pathname.startsWith(`${path}/storage`)}
|
||||
href={`${path}/storage`}>
|
||||
<span class="icon-folder" aria-hidden="true" />
|
||||
<span class="text">Storage</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="drop-list-item">
|
||||
<a
|
||||
class="drop-button"
|
||||
class:is-selected={$page.url.pathname.startsWith(
|
||||
`${path}/authentication`
|
||||
)}
|
||||
href={`${path}/authentication`}>
|
||||
<span class="icon-user-group" aria-hidden="true" />
|
||||
<span class="text">Authentication</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="drop-list-item">
|
||||
<a
|
||||
class="drop-button"
|
||||
@@ -69,6 +58,15 @@
|
||||
<span class="text">Functions</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="drop-list-item">
|
||||
<a
|
||||
class="drop-button"
|
||||
class:is-selected={$page.url.pathname.startsWith(`${path}/storage`)}
|
||||
href={`${path}/storage`}>
|
||||
<span class="icon-folder" aria-hidden="true" />
|
||||
<span class="text">Storage</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { writable } from 'svelte/store';
|
||||
import type { Models } from '@aw-labs/appwrite-console';
|
||||
import type { SvelteComponent } from 'svelte';
|
||||
import Apple from '../../routes/console/project-[project]/authentication/_appleOAuth.svelte';
|
||||
import Microsoft from '../../routes/console/project-[project]/authentication/_microsoftOAuth.svelte';
|
||||
import Okta from '../../routes/console/project-[project]/authentication/_oktaOAuth.svelte';
|
||||
import Auth0 from '../../routes/console/project-[project]/authentication/_auth0OAuth.svelte';
|
||||
import Main from '../../routes/console/project-[project]/authentication/_mainOAuth.svelte';
|
||||
import Apple from '../../routes/console/project-[project]/auth/_appleOAuth.svelte';
|
||||
import Microsoft from '../../routes/console/project-[project]/auth/_microsoftOAuth.svelte';
|
||||
import Okta from '../../routes/console/project-[project]/auth/_oktaOAuth.svelte';
|
||||
import Auth0 from '../../routes/console/project-[project]/auth/_auth0OAuth.svelte';
|
||||
import Main from '../../routes/console/project-[project]/auth/_mainOAuth.svelte';
|
||||
|
||||
export type Provider = Models.Provider & {
|
||||
icon: string;
|
||||
@@ -105,7 +105,7 @@ const setProviders = (project: Models.Project): Provider[] => {
|
||||
docs = 'https://developers.tradeshift.com/docs/api';
|
||||
break;
|
||||
case 'twitch':
|
||||
docs = 'https://dev.twitch.tv/docs/authentication';
|
||||
docs = 'https://dev.twitch.tv/docs/auth';
|
||||
break;
|
||||
case 'wordpress':
|
||||
docs = 'https://developer.wordpress.com/docs/oauth2/';
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
<Button
|
||||
external
|
||||
secondary
|
||||
href="https://appwrite.io/docs/server/authentication?sdk=nodejs-default#usersGetsessions">
|
||||
href="https://appwrite.io/docs/server/auth?sdk=nodejs-default#usersGetsessions">
|
||||
Documentation
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<svelte:head>
|
||||
<title>Auth - Appwrite</title>
|
||||
</svelte:head>
|
||||
|
||||
<slot />
|
||||
+4
-6
@@ -34,7 +34,7 @@
|
||||
let showCreate = false;
|
||||
const projectId = $page.params.project;
|
||||
const userCreated = async (event: CustomEvent<Models.User<Record<string, unknown>>>) => {
|
||||
await goto(`${base}/console/project-${projectId}/authentication/user-${event.detail.$id}`);
|
||||
await goto(`${base}/console/project-${projectId}/auth/user-${event.detail.$id}`);
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<TableBody>
|
||||
{#each data.users.users as user}
|
||||
<TableRowLink
|
||||
href={`${base}/console/project-${projectId}/authentication/user-${user.$id}`}>
|
||||
href={`${base}/console/project-${projectId}/auth/user-${user.$id}`}>
|
||||
<TableCell title="Name">
|
||||
<div class="u-flex u-gap-12 u-cross-center">
|
||||
{#if user.email || user.phone}
|
||||
@@ -126,7 +126,7 @@
|
||||
offset={data.offset}
|
||||
limit={PAGE_LIMIT}
|
||||
sum={data.users.total}
|
||||
path={`/console/project-${projectId}/authentication`} />
|
||||
path={`/console/project-${projectId}/auth`} />
|
||||
</div>
|
||||
{:else if data.search}
|
||||
<EmptySearch>
|
||||
@@ -134,9 +134,7 @@
|
||||
<b>Sorry, we couldn't find '{data.search}'</b>
|
||||
<p>There are no users that match your search.</p>
|
||||
</div>
|
||||
<Button href={`/console/project-${projectId}/authentication`} secondary>
|
||||
Clear Search
|
||||
</Button>
|
||||
<Button href={`/console/project-${projectId}/auth`} secondary>Clear Search</Button>
|
||||
</EmptySearch>
|
||||
{:else}
|
||||
<Empty single on:click={() => (showCreate = true)}>
|
||||
+2
-2
@@ -13,8 +13,8 @@
|
||||
title: $project?.name
|
||||
},
|
||||
{
|
||||
href: `/console/project-${$project?.$id}/authentication`,
|
||||
title: 'Authentication'
|
||||
href: `/console/project-${$project?.$id}/auth`,
|
||||
title: 'Auth'
|
||||
}
|
||||
];
|
||||
</script>
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
import { Cover, CoverTitle } from '$lib/layout';
|
||||
|
||||
const projectId = $page.params.project;
|
||||
const path = `/console/project-${projectId}/authentication`;
|
||||
const path = `/console/project-${projectId}/auth`;
|
||||
const tabs = [
|
||||
{
|
||||
href: path,
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
<Cover>
|
||||
<svelte:fragment slot="header">
|
||||
<CoverTitle>Authentication</CoverTitle>
|
||||
<CoverTitle>Auth</CoverTitle>
|
||||
</svelte:fragment>
|
||||
<Tabs>
|
||||
{#each tabs as tab}
|
||||
+1
-1
@@ -44,7 +44,7 @@
|
||||
{#if $authMethods && $OAuthProviders}
|
||||
<Container>
|
||||
<CardGrid>
|
||||
<Heading tag="h2" size="7">Authentication Methods</Heading>
|
||||
<Heading tag="h2" size="7">Auth Methods</Heading>
|
||||
<p>Enable the authentication methods you wish to use.</p>
|
||||
<svelte:fragment slot="aside">
|
||||
<form class="form">
|
||||
+4
-8
@@ -27,9 +27,7 @@
|
||||
|
||||
const project = $page.params.project;
|
||||
const teamCreated = async (event: CustomEvent<Models.Team>) => {
|
||||
await goto(
|
||||
`${base}/console/project-${project}/authentication/teams/team-${event.detail.$id}`
|
||||
);
|
||||
await goto(`${base}/console/project-${project}/auth/teams/team-${event.detail.$id}`);
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -58,7 +56,7 @@
|
||||
<TableBody>
|
||||
{#each data.teams.teams as team}
|
||||
<TableRowLink
|
||||
href={`${base}/console/project-${project}/authentication/teams/team-${team.$id}`}>
|
||||
href={`${base}/console/project-${project}/auth/teams/team-${team.$id}`}>
|
||||
<TableCell title="ID">
|
||||
<div class="u-flex u-gap-12">
|
||||
<AvatarInitials size={32} name={team.name} />
|
||||
@@ -77,7 +75,7 @@
|
||||
<p class="text">Total results: {data.teams.total}</p>
|
||||
<Pagination
|
||||
limit={PAGE_LIMIT}
|
||||
path={`/console/project-${$page.params.project}/authentication/teams`}
|
||||
path={`/console/project-${$page.params.project}/auth/teams`}
|
||||
offset={data.offset}
|
||||
sum={data.teams.total} />
|
||||
</div>
|
||||
@@ -87,9 +85,7 @@
|
||||
<b>Sorry, we couldn’t find ‘{data.search}’</b>
|
||||
<p>There are no teams that match your search.</p>
|
||||
</div>
|
||||
<Button
|
||||
secondary
|
||||
href={`/console/project-${$page.params.project}/authentication/teams`}>
|
||||
<Button secondary href={`/console/project-${$page.params.project}/auth/teams`}>
|
||||
Clear Search
|
||||
</Button>
|
||||
</EmptySearch>
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
import { Activity } from '$lib/layout';
|
||||
|
||||
export let data: PageData;
|
||||
const path = `/console/project-${$page.params.project}/authentication/user-${$page.params.user}/activity`;
|
||||
const path = `/console/project-${$page.params.project}/auth/teams/team-${$page.params.team}/activity`;
|
||||
</script>
|
||||
|
||||
<Activity {path} logs={data.logs} offset={data.offset} />
|
||||
+3
-3
@@ -14,11 +14,11 @@
|
||||
title: $project?.name
|
||||
},
|
||||
{
|
||||
href: `/console/project-${$project?.$id}/authentication`,
|
||||
title: 'Authentication'
|
||||
href: `/console/project-${$project?.$id}/auth`,
|
||||
title: 'Auth'
|
||||
},
|
||||
{
|
||||
href: `/console/project-${$project?.$id}/authentication/teams-${$team?.$id}`,
|
||||
href: `/console/project-${$project?.$id}/auth/teams-${$team?.$id}`,
|
||||
title: $team?.name
|
||||
}
|
||||
];
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
let error: string;
|
||||
|
||||
const create = async () => {
|
||||
const url = `${$page.url.origin}/console/project-${$page.params.project}/authentication/teams-${$page.params.team}/members`;
|
||||
const url = `${$page.url.origin}/console/project-${$page.params.project}/auth/teams-${$page.params.team}/members`;
|
||||
|
||||
try {
|
||||
const user = await sdkForProject.teams.createMembership(
|
||||
+1
-1
@@ -23,7 +23,7 @@
|
||||
showDelete = false;
|
||||
dispatch('deleted');
|
||||
await goto(
|
||||
`${base}/console/project-${$page.params.project}/authentication/teams/team-${selectedMembership.teamId}/members`
|
||||
`${base}/console/project-${$page.params.project}/auth/teams/team-${selectedMembership.teamId}/members`
|
||||
);
|
||||
} catch (error) {
|
||||
addNotification({
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
try {
|
||||
await sdkForProject.teams.delete(team.$id);
|
||||
showDelete = false;
|
||||
await goto(`${base}/console/project-${$page.params.project}/authentication/teams`);
|
||||
await goto(`${base}/console/project-${$page.params.project}/auth/teams`);
|
||||
} catch (error) {
|
||||
addNotification({
|
||||
type: 'error',
|
||||
+2
-2
@@ -8,7 +8,7 @@
|
||||
|
||||
const projectId = $page.params.project;
|
||||
const teamId = $page.params.team;
|
||||
const path = `/console/project-${projectId}/authentication/teams/team-${teamId}`;
|
||||
const path = `/console/project-${projectId}/auth/teams/team-${teamId}`;
|
||||
const tabs = [
|
||||
{
|
||||
href: path,
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
<Cover>
|
||||
<svelte:fragment slot="header">
|
||||
<CoverTitle href={`/console/project-${projectId}/authentication/teams`}>
|
||||
<CoverTitle href={`/console/project-${projectId}/auth/teams`}>
|
||||
{$team?.name}
|
||||
</CoverTitle>
|
||||
<Copy value={$team?.$id}>
|
||||
+4
-6
@@ -29,9 +29,7 @@
|
||||
const project = $page.params.project;
|
||||
|
||||
async function memberCreated(event: CustomEvent<Models.Membership>) {
|
||||
await goto(
|
||||
`${base}/console/project-${project}/authentication/teams-${event.detail.teamId}/members`
|
||||
);
|
||||
await goto(`${base}/console/project-${project}/auth/teams-${event.detail.teamId}/members`);
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -53,7 +51,7 @@
|
||||
<TableBody>
|
||||
{#each data.memberships.memberships as membership}
|
||||
<TableRowLink
|
||||
href={`${base}/console/project-${project}/authentication/user-${membership.userId}`}>
|
||||
href={`${base}/console/project-${project}/auth/user-${membership.userId}`}>
|
||||
<TableCellText title="Name">
|
||||
<div class="u-flex u-gap-12">
|
||||
<AvatarInitials size={32} name={membership.userName} />
|
||||
@@ -83,7 +81,7 @@
|
||||
<p class="text">Total results: {data.memberships.total}</p>
|
||||
<Pagination
|
||||
limit={PAGE_LIMIT}
|
||||
path={`/console/project-${$page.params.project}/authentication/teams/team-${$page.params.team}/members`}
|
||||
path={`/console/project-${$page.params.project}/auth/teams/team-${$page.params.team}/members`}
|
||||
offset={data.offset}
|
||||
sum={data.memberships.total} />
|
||||
</div>
|
||||
@@ -95,7 +93,7 @@
|
||||
</div>
|
||||
<Button
|
||||
secondary
|
||||
href={`/console/project-${$page.params.project}/authentication/teams/team-${$page.params.team}/members`}
|
||||
href={`/console/project-${$page.params.project}/auth/teams/team-${$page.params.team}/members`}
|
||||
>Clear Search</Button>
|
||||
</EmptySearch>
|
||||
{:else}
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
|
||||
<Usage
|
||||
title="Users"
|
||||
path={`/console/project-${$page.params.project}/authentication/usage`}
|
||||
path={`/console/project-${$page.params.project}/auth/usage`}
|
||||
{count}
|
||||
{created}
|
||||
{read}
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
import { Activity } from '$lib/layout';
|
||||
|
||||
export let data: PageData;
|
||||
const path = `/console/project-${$page.params.project}/authentication/teams/team-${$page.params.team}/activity`;
|
||||
const path = `/console/project-${$page.params.project}/auth/user-${$page.params.user}/activity`;
|
||||
</script>
|
||||
|
||||
<Activity {path} logs={data.logs} offset={data.offset} />
|
||||
+3
-3
@@ -14,11 +14,11 @@
|
||||
title: $project?.name
|
||||
},
|
||||
{
|
||||
href: `/console/project-${$project?.$id}/authentication`,
|
||||
title: 'Authentication'
|
||||
href: `/console/project-${$project?.$id}/auth`,
|
||||
title: 'Auth'
|
||||
},
|
||||
{
|
||||
href: `/console/project-${$project?.$id}/authentication/user-${$user?.$id}`,
|
||||
href: `/console/project-${$project?.$id}/auth/user-${$user?.$id}`,
|
||||
title: $user?.name
|
||||
}
|
||||
];
|
||||
+1
-1
@@ -19,7 +19,7 @@
|
||||
message: `All memberships have been deleted`
|
||||
});
|
||||
await goto(
|
||||
`${base}/console/project-${$page.params.project}/authentication/${$user.$id}/membeships`
|
||||
`${base}/console/project-${$page.params.project}/auth/${$user.$id}/membeships`
|
||||
);
|
||||
} catch (error) {
|
||||
addNotification({
|
||||
+1
-1
@@ -26,7 +26,7 @@
|
||||
message: `Membership has been deleted`
|
||||
});
|
||||
await goto(
|
||||
`${base}/console/project-${$page.params.project}/authentication/user-${selectedMembership.userId}/memberships`
|
||||
`${base}/console/project-${$page.params.project}/auth/user-${selectedMembership.userId}/memberships`
|
||||
);
|
||||
} catch (error) {
|
||||
addNotification({
|
||||
+1
-1
@@ -19,7 +19,7 @@
|
||||
type: 'success',
|
||||
message: `${$user.name ? $user.name : 'User'} has been deleted`
|
||||
});
|
||||
await goto(`${base}/console/project-${$page.params.project}/authentication`);
|
||||
await goto(`${base}/console/project-${$page.params.project}/auth`);
|
||||
} catch (error) {
|
||||
addNotification({
|
||||
type: 'error',
|
||||
+2
-2
@@ -8,7 +8,7 @@
|
||||
|
||||
const projectId = $page.params.project;
|
||||
const userId = $page.params.user;
|
||||
const path = `/console/project-${projectId}/authentication/user-${userId}`;
|
||||
const path = `/console/project-${projectId}/auth/user-${userId}`;
|
||||
const tabs = [
|
||||
{
|
||||
href: path,
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
<Cover>
|
||||
<svelte:fragment slot="header">
|
||||
<CoverTitle href={`/console/project-${projectId}/authentication`}>
|
||||
<CoverTitle href={`/console/project-${projectId}/auth`}>
|
||||
{$user.name ? $user.name : '-'}
|
||||
</CoverTitle>
|
||||
<Copy value={$user.$id}>
|
||||
+2
-2
@@ -43,7 +43,7 @@
|
||||
<TableBody>
|
||||
{#each data.memberships.memberships as membership}
|
||||
<TableRowLink
|
||||
href={`${base}/console/project-${project}/authentication/teams/team-${membership.teamId}`}>
|
||||
href={`${base}/console/project-${project}/auth/teams/team-${membership.teamId}`}>
|
||||
<TableCellText title="Name">
|
||||
<div class="u-flex u-gap-12">
|
||||
<AvatarInitials size={32} name={membership.teamName} />
|
||||
@@ -72,7 +72,7 @@
|
||||
<Button
|
||||
external
|
||||
secondary
|
||||
href="https://appwrite.io/docs/server/authentication?sdk=nodejs-default#usersGetMemberships"
|
||||
href="https://appwrite.io/docs/server/auth?sdk=nodejs-default#usersGetMemberships"
|
||||
>Documentation</Button>
|
||||
</Empty>
|
||||
{/if}
|
||||
+1
-1
@@ -88,7 +88,7 @@
|
||||
<Button
|
||||
external
|
||||
secondary
|
||||
href="https://appwrite.io/docs/server/authentication?sdk=nodejs-default#usersGetSessions">
|
||||
href="https://appwrite.io/docs/server/auth?sdk=nodejs-default#usersGetSessions">
|
||||
Documentation
|
||||
</Button>
|
||||
</Empty>
|
||||
@@ -1,5 +0,0 @@
|
||||
<svelte:head>
|
||||
<title>Authentication - Appwrite</title>
|
||||
</svelte:head>
|
||||
|
||||
<slot />
|
||||
+1
-1
@@ -144,7 +144,7 @@
|
||||
disabled={$work[attribute.key][$work[attribute.key].length - 1] === null}
|
||||
on:click={() => addArrayItem(attribute.key)}>
|
||||
<span class="icon-plus" aria-hidden="true" />
|
||||
<span class="text"> Add item</span>
|
||||
<span class="text">Add item</span>
|
||||
</Button>
|
||||
{:else}
|
||||
<ul class="form-list">
|
||||
|
||||
+16
-13
@@ -158,7 +158,6 @@
|
||||
<TableCellHead width={100}>Status</TableCellHead>
|
||||
<TableCellHead width={90}>Build time</TableCellHead>
|
||||
<TableCellHead width={70}>Size</TableCellHead>
|
||||
<TableCellHead width={60} />
|
||||
<TableCellHead width={25} />
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
@@ -187,16 +186,7 @@
|
||||
<TableCellText title="Size">
|
||||
{calculateSize(deployment.size)}
|
||||
</TableCellText>
|
||||
<TableCell>
|
||||
<Button
|
||||
secondary
|
||||
on:click={() => {
|
||||
selectedDeployment = deployment;
|
||||
showActivate = true;
|
||||
}}>
|
||||
<span class="text">Activate</span>
|
||||
</Button>
|
||||
</TableCell>
|
||||
|
||||
<TableCell showOverflow>
|
||||
<DropList
|
||||
bind:show={showDropdown[index]}
|
||||
@@ -211,6 +201,15 @@
|
||||
<span class="icon-dots-horizontal" aria-hidden="true" />
|
||||
</button>
|
||||
<svelte:fragment slot="list">
|
||||
<DropListItem
|
||||
icon="lightning-bolt"
|
||||
on:click={() => {
|
||||
selectedDeployment = deployment;
|
||||
showActivate = true;
|
||||
showDropdown = [];
|
||||
}}>
|
||||
Activate
|
||||
</DropListItem>
|
||||
<DropListItem
|
||||
icon="terminal"
|
||||
on:click={() => {
|
||||
@@ -218,14 +217,18 @@
|
||||
$log.func = $func;
|
||||
$log.data = deployment;
|
||||
showDropdown = [];
|
||||
}}>Output</DropListItem>
|
||||
}}>
|
||||
Output
|
||||
</DropListItem>
|
||||
<DropListItem
|
||||
icon="trash"
|
||||
on:click={() => {
|
||||
selectedDeployment = deployment;
|
||||
showDropdown = [];
|
||||
showDelete = true;
|
||||
}}>Delete</DropListItem>
|
||||
}}>
|
||||
Delete
|
||||
</DropListItem>
|
||||
</svelte:fragment>
|
||||
</DropList>
|
||||
</TableCell>
|
||||
|
||||
@@ -122,13 +122,13 @@
|
||||
</div>
|
||||
</a>
|
||||
<a
|
||||
href={`${base}/console/project-${projectId}/authentication`}
|
||||
href={`${base}/console/project-${projectId}/auth`}
|
||||
class="card is-2-columns-large-screen">
|
||||
<div class="grid-item-1">
|
||||
<div class="grid-item-1-start-start">
|
||||
<div class="eyebrow-heading-3">
|
||||
<span class="icon-user-group" aria-hidden="true" />
|
||||
<span class="text">Authentication</span>
|
||||
<span class="text">Auth</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
export let scopes: string[];
|
||||
|
||||
enum Category {
|
||||
Authentication = 'Authentication',
|
||||
Auth = 'Auth',
|
||||
Database = 'Database',
|
||||
Functions = 'Functions',
|
||||
Storage = 'Storage',
|
||||
@@ -82,7 +82,7 @@
|
||||
<Button text on:click={selectAll}>Select all</Button>
|
||||
</div>
|
||||
<Collapsible>
|
||||
{#each [Category.Authentication, Category.Database, Category.Functions, Category.Storage, Category.Other] as category}
|
||||
{#each [Category.Auth, Category.Database, Category.Functions, Category.Storage, Category.Other] as category}
|
||||
{@const checked = categoryState(category, scopes)}
|
||||
<CollapsibleItem withIndentation>
|
||||
<svelte:fragment slot="beforetitle">
|
||||
|
||||
Reference in New Issue
Block a user