mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
Merge branch 'feat-pink-v2' of github.com:appwrite/console into feat-v2-regions
This commit is contained in:
+1
-1
@@ -27,7 +27,7 @@
|
||||
"@appwrite.io/pink-icons": "0.25.0",
|
||||
"@appwrite.io/pink-icons-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@bd21ff7f",
|
||||
"@appwrite.io/pink-legacy": "^1.0.3",
|
||||
"@appwrite.io/pink-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@cbf05a1",
|
||||
"@appwrite.io/pink-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3e91920",
|
||||
"@popperjs/core": "^2.11.8",
|
||||
"@sentry/sveltekit": "^8.38.0",
|
||||
"@stripe/stripe-js": "^3.5.0",
|
||||
|
||||
Generated
+12
-12
@@ -27,8 +27,8 @@ importers:
|
||||
specifier: ^1.0.3
|
||||
version: 1.0.3
|
||||
'@appwrite.io/pink-svelte':
|
||||
specifier: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@cbf05a1
|
||||
version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@cbf05a1(react-dom@18.3.1(react@18.3.1))(svelte@5.25.3)
|
||||
specifier: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3e91920
|
||||
version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3e91920(react-dom@18.3.1(react@18.3.1))(svelte@5.25.3)
|
||||
'@popperjs/core':
|
||||
specifier: ^2.11.8
|
||||
version: 2.11.8
|
||||
@@ -258,14 +258,14 @@ packages:
|
||||
resolution: {tarball: https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@f76aff1}
|
||||
version: 1.2.1
|
||||
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@bd21ff7f':
|
||||
resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@bd21ff7f}
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3e919207fc3d85d493e494e72205f7488858358f':
|
||||
resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3e919207fc3d85d493e494e72205f7488858358f}
|
||||
version: 1.0.0-next.7
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0
|
||||
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@cbf05a106412315e451530f8384924da515b10c8':
|
||||
resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@cbf05a106412315e451530f8384924da515b10c8}
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@bd21ff7f':
|
||||
resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@bd21ff7f}
|
||||
version: 1.0.0-next.7
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0
|
||||
@@ -279,8 +279,8 @@ packages:
|
||||
'@appwrite.io/pink-legacy@1.0.3':
|
||||
resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==}
|
||||
|
||||
'@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@cbf05a1':
|
||||
resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@cbf05a1}
|
||||
'@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3e91920':
|
||||
resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3e91920}
|
||||
version: 1.0.0-next.85
|
||||
peerDependencies:
|
||||
react-dom: ^18.0.0
|
||||
@@ -3627,11 +3627,11 @@ snapshots:
|
||||
|
||||
'@appwrite.io/console@https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@f76aff1': {}
|
||||
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@bd21ff7f(svelte@5.25.3)':
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3e919207fc3d85d493e494e72205f7488858358f(svelte@5.25.3)':
|
||||
dependencies:
|
||||
svelte: 5.25.3
|
||||
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@cbf05a106412315e451530f8384924da515b10c8(svelte@5.25.3)':
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@bd21ff7f(svelte@5.25.3)':
|
||||
dependencies:
|
||||
svelte: 5.25.3
|
||||
|
||||
@@ -3644,9 +3644,9 @@ snapshots:
|
||||
'@appwrite.io/pink-icons': 1.0.0
|
||||
the-new-css-reset: 1.11.3
|
||||
|
||||
'@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@cbf05a1(react-dom@18.3.1(react@18.3.1))(svelte@5.25.3)':
|
||||
'@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3e91920(react-dom@18.3.1(react@18.3.1))(svelte@5.25.3)':
|
||||
dependencies:
|
||||
'@appwrite.io/pink-icons-svelte': https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@cbf05a106412315e451530f8384924da515b10c8(svelte@5.25.3)
|
||||
'@appwrite.io/pink-icons-svelte': https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3e919207fc3d85d493e494e72205f7488858358f(svelte@5.25.3)
|
||||
'@floating-ui/dom': 1.6.13
|
||||
'@melt-ui/pp': 0.3.2(@melt-ui/svelte@0.86.6(svelte@5.25.3))(svelte@5.25.3)
|
||||
'@melt-ui/svelte': 0.86.6(svelte@5.25.3)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</script>
|
||||
|
||||
<div use:melt={$subTrigger}>
|
||||
<ActionMenu.Root noPadding>
|
||||
<ActionMenu.Root>
|
||||
<ActionMenu.Item.Button trailingIcon={IconChevronRight}>
|
||||
{filter.title}
|
||||
</ActionMenu.Item.Button>
|
||||
|
||||
@@ -42,12 +42,12 @@
|
||||
</Link>
|
||||
|
||||
{#if sortedDomains.length > 1}
|
||||
<Popover padding="none" let:toggle>
|
||||
<Popover padding="none" let:toggle placement="bottom-end">
|
||||
<Tag size="xs" on:click={toggle}>
|
||||
+{sortedDomains.length - 1}
|
||||
</Tag>
|
||||
<svelte:fragment slot="tooltip">
|
||||
<ActionMenu.Root>
|
||||
<ActionMenu.Root width="20px">
|
||||
{#each sortedDomains as rule, i}
|
||||
{#if i !== 0}
|
||||
<ActionMenu.Item.Anchor
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
import { getFrameworkIcon } from '$lib/stores/sites';
|
||||
import { connectGitHub } from '$lib/stores/git';
|
||||
import { page } from '$app/state';
|
||||
import Card from '../card.svelte';
|
||||
|
||||
let {
|
||||
action = $bindable('select'),
|
||||
@@ -154,7 +155,10 @@
|
||||
);
|
||||
}}
|
||||
bind:value={selectedInstallation} />
|
||||
<InputSearch placeholder="Search repositories" bind:value={search} />
|
||||
<InputSearch
|
||||
placeholder="Search repositories"
|
||||
bind:value={search}
|
||||
disabled={!search && !$repositories?.repositories?.length} />
|
||||
</Layout.Stack>
|
||||
{/await}
|
||||
</Layout.Stack>
|
||||
@@ -266,7 +270,7 @@
|
||||
</Table.Root>
|
||||
{/snippet}
|
||||
</Paginator>
|
||||
{:else}
|
||||
{:else if search}
|
||||
<EmptySearch hidePages hidePagination bind:search target="repositories">
|
||||
<svelte:fragment slot="actions">
|
||||
{#if search}
|
||||
@@ -276,6 +280,14 @@
|
||||
{/if}
|
||||
</svelte:fragment>
|
||||
</EmptySearch>
|
||||
{:else}
|
||||
<Card>
|
||||
<Layout.Stack alignItems="center" justifyContent="center">
|
||||
<Typography.Text variation="m-500" color="--fgcolor-neutral-tertiary">
|
||||
No repositories available
|
||||
</Typography.Text>
|
||||
</Layout.Stack>
|
||||
</Card>
|
||||
{/if}
|
||||
{/await}
|
||||
{/if}
|
||||
|
||||
+17
-6
@@ -9,7 +9,14 @@
|
||||
InputURL
|
||||
} from '$lib/elements/forms';
|
||||
import type { Models } from '@appwrite.io/console';
|
||||
import { Fieldset, Layout, Popover, Icon, Accordion } from '@appwrite.io/pink-svelte';
|
||||
import {
|
||||
Fieldset,
|
||||
Layout,
|
||||
Popover,
|
||||
Icon,
|
||||
Accordion,
|
||||
ActionMenu
|
||||
} from '@appwrite.io/pink-svelte';
|
||||
import { IconInfo } from '@appwrite.io/pink-icons-svelte';
|
||||
import type { Component } from 'svelte';
|
||||
import { getApiEndpoint } from '$lib/stores/sdk';
|
||||
@@ -93,7 +100,7 @@
|
||||
bind:value={variable.value} />
|
||||
</Layout.Stack>
|
||||
<Layout.Stack gap="s" justifyContent="flex-end" inline>
|
||||
<Popover let:toggle>
|
||||
<Popover let:toggle placement="bottom-end">
|
||||
<Button
|
||||
secondary
|
||||
icon
|
||||
@@ -101,8 +108,10 @@
|
||||
e.preventDefault();
|
||||
toggle(e);
|
||||
}}>
|
||||
<Icon size="s" icon={IconInfo} /></Button>
|
||||
<p slot="tooltip">{@html variable.description}</p>
|
||||
<Icon icon={IconInfo} /></Button>
|
||||
<ActionMenu.Root slot="tooltip">
|
||||
<p>{@html variable.description}</p>
|
||||
</ActionMenu.Root>
|
||||
</Popover>
|
||||
</Layout.Stack>
|
||||
</Layout.Stack>
|
||||
@@ -134,7 +143,7 @@
|
||||
bind:value={variable.value} />
|
||||
</Layout.Stack>
|
||||
<Layout.Stack gap="s" justifyContent="flex-end" inline>
|
||||
<Popover let:toggle>
|
||||
<Popover let:toggle placement="bottom-end">
|
||||
<Button
|
||||
secondary
|
||||
icon
|
||||
@@ -144,7 +153,9 @@
|
||||
}}>
|
||||
<Icon size="s" icon={IconInfo} />
|
||||
</Button>
|
||||
<p slot="tooltip">{@html variable.description}</p>
|
||||
<ActionMenu.Root slot="tooltip">
|
||||
<p>{@html variable.description}</p>
|
||||
</ActionMenu.Root>
|
||||
</Popover>
|
||||
</Layout.Stack>
|
||||
</Layout.Stack>
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
<ActionMenu.Item.Button trailingIcon={IconDownload}>Download</ActionMenu.Item.Button>
|
||||
</ActionMenu.Root>
|
||||
<svelte:fragment slot="menu">
|
||||
<ActionMenu.Root noPadding>
|
||||
<ActionMenu.Root>
|
||||
<ActionMenu.Item.Anchor
|
||||
on:click={toggle}
|
||||
href={getSourceDownload(page.params.function, deployment.$id)}
|
||||
|
||||
+1
-1
@@ -78,7 +78,7 @@
|
||||
<Layout.Stack direction="row" gap="s" alignItems="center" inline>
|
||||
<Menu>
|
||||
<Button secondary icon text>
|
||||
<Icon icon={IconDotsHorizontal} size="s" />
|
||||
<Icon icon={IconDotsHorizontal} />
|
||||
</Button>
|
||||
<svelte:fragment slot="menu" let:toggle>
|
||||
<ActionMenu.Root>
|
||||
|
||||
+46
-30
@@ -15,6 +15,7 @@
|
||||
Accordion,
|
||||
ActionMenu,
|
||||
Card,
|
||||
Icon,
|
||||
Layout,
|
||||
Logs,
|
||||
Popover,
|
||||
@@ -25,13 +26,23 @@
|
||||
import { formatTimeDetailed } from '$lib/helpers/timeConversion';
|
||||
import { timer } from '$lib/actions/timer';
|
||||
import { app } from '$lib/stores/app';
|
||||
import { getOutputDownload, getSourceDownload } from '../store';
|
||||
import { getOutputDownload, getSourceDownload, showCreateDeployment } from '../store';
|
||||
import { IconDotsHorizontal, IconRefresh, IconTerminal } from '@appwrite.io/pink-icons-svelte';
|
||||
import { Menu } from '$lib/components/menu';
|
||||
import { canWriteFunctions } from '$lib/stores/roles';
|
||||
import { Click, trackEvent } from '$lib/actions/analytics';
|
||||
import DownloadActionMenuItem from '../(components)/downloadActionMenuItem.svelte';
|
||||
import { base } from '$app/paths';
|
||||
import { isCloud } from '$lib/system';
|
||||
import { readOnly } from '$lib/stores/billing';
|
||||
import RedeployModal from '../(modals)/redeployModal.svelte';
|
||||
|
||||
export let data;
|
||||
|
||||
let showDelete = false;
|
||||
let showCancel = false;
|
||||
let showActivate = false;
|
||||
let showRedeploy = false;
|
||||
|
||||
onMount(() => {
|
||||
const unsubscribe = sdk.forConsole.client.subscribe<Models.Deployment>(
|
||||
@@ -73,7 +84,7 @@
|
||||
<Container>
|
||||
<DeploymentCard proxyRuleList={data.proxyRuleList} deployment={data.deployment}>
|
||||
{#snippet footer()}
|
||||
<Layout.Stack direction="row" inline>
|
||||
<Layout.Stack direction="row" alignItems="center" inline>
|
||||
{#if data.deployment.status === 'processing' || data.deployment.status === 'building' || data.deployment.status === 'waiting'}
|
||||
<Button
|
||||
text
|
||||
@@ -82,34 +93,35 @@
|
||||
}}>Cancel</Button>
|
||||
{/if}
|
||||
|
||||
{#if !!data.deployment?.sourceSize || !!data.deployment?.sourceSize}
|
||||
<Popover let:toggle placement="bottom-end">
|
||||
<Button secondary on:click={toggle}>Download</Button>
|
||||
<svelte:fragment slot="tooltip" let:toggle>
|
||||
<ActionMenu.Root noPadding>
|
||||
<ActionMenu.Item.Anchor
|
||||
on:click={toggle}
|
||||
href={getSourceDownload(
|
||||
page.params.function,
|
||||
data.deployment.$id
|
||||
)}
|
||||
external>
|
||||
Download source
|
||||
</ActionMenu.Item.Anchor>
|
||||
|
||||
<ActionMenu.Item.Anchor
|
||||
disabled={data.deployment?.status !== 'ready'}
|
||||
on:click={toggle}
|
||||
href={getOutputDownload(
|
||||
page.params.function,
|
||||
data.deployment.$id
|
||||
)}
|
||||
external>
|
||||
Download output
|
||||
</ActionMenu.Item.Anchor>
|
||||
</ActionMenu.Root>
|
||||
</svelte:fragment>
|
||||
</Popover>
|
||||
<Menu>
|
||||
<Button secondary icon text>
|
||||
<Icon icon={IconDotsHorizontal} />
|
||||
</Button>
|
||||
<svelte:fragment slot="menu" let:toggle>
|
||||
<ActionMenu.Root>
|
||||
{#if $canWriteFunctions}
|
||||
<ActionMenu.Item.Button
|
||||
trailingIcon={IconRefresh}
|
||||
on:click={() => {
|
||||
showRedeploy = true;
|
||||
trackEvent(Click.FunctionsRedeployClick);
|
||||
toggle();
|
||||
}}>
|
||||
Redeploy
|
||||
</ActionMenu.Item.Button>
|
||||
{/if}
|
||||
{#if !!data.deployment?.sourceSize || !!data.deployment?.sourceSize}
|
||||
<DownloadActionMenuItem deployment={data.deployment} {toggle} />
|
||||
{/if}
|
||||
</ActionMenu.Root>
|
||||
</svelte:fragment>
|
||||
</Menu>
|
||||
{#if data.func.deploymentId === data.deployment.$id && data.deployment.status === 'ready'}
|
||||
<Button
|
||||
href={`${base}/project-${page.params.project}/functions/function-${page.params.function}/executions/execute-function`}
|
||||
disabled={isCloud && $readOnly}>
|
||||
Execute
|
||||
</Button>
|
||||
{/if}
|
||||
|
||||
{#if data.func.deploymentId !== data.deployment.$id && data.deployment.status === 'ready'}
|
||||
@@ -165,3 +177,7 @@
|
||||
selectedDeployment={data.deployment}
|
||||
bind:showActivate
|
||||
on:activated={() => invalidate(Dependencies.DEPLOYMENTS)} />
|
||||
|
||||
{#if showRedeploy}
|
||||
<RedeployModal bind:show={showRedeploy} selectedDeployment={data.deployment} redirect />
|
||||
{/if}
|
||||
|
||||
+1
-1
@@ -89,7 +89,7 @@
|
||||
</ActionMenu.Item.Button>
|
||||
</ActionMenu.Root>
|
||||
<svelte:fragment slot="menu">
|
||||
<ActionMenu.Root noPadding>
|
||||
<ActionMenu.Root>
|
||||
<ActionMenu.Item.Anchor
|
||||
on:click={toggle}
|
||||
href={getSourceDownload(deployment.$id)}
|
||||
|
||||
+3
-2
@@ -60,8 +60,9 @@
|
||||
Missing a repository?
|
||||
</Typography.Text>
|
||||
<Typography.Text variation="m-400">
|
||||
Check your permissions in GitHub, your repository might be set to
|
||||
private.
|
||||
Make sure Appwrite has access to your GitHub repositories. If you chose
|
||||
specific repos, you may need to update your permissions to include the
|
||||
missing one.
|
||||
</Typography.Text>
|
||||
</Layout.Stack>
|
||||
<Layout.Stack gap="s" direction="row">
|
||||
|
||||
+16
-5
@@ -9,7 +9,14 @@
|
||||
InputURL
|
||||
} from '$lib/elements/forms';
|
||||
import type { Models } from '@appwrite.io/console';
|
||||
import { Fieldset, Layout, Popover, Icon, Accordion } from '@appwrite.io/pink-svelte';
|
||||
import {
|
||||
Fieldset,
|
||||
Layout,
|
||||
Popover,
|
||||
Icon,
|
||||
Accordion,
|
||||
ActionMenu
|
||||
} from '@appwrite.io/pink-svelte';
|
||||
import { IconInfo } from '@appwrite.io/pink-icons-svelte';
|
||||
import { type Component } from 'svelte';
|
||||
import { getApiEndpoint } from '$lib/stores/sdk';
|
||||
@@ -100,8 +107,10 @@
|
||||
e.preventDefault();
|
||||
toggle(e);
|
||||
}}>
|
||||
<Icon size="s" icon={IconInfo} /></Button>
|
||||
<p slot="tooltip">{variable.description}</p>
|
||||
<Icon icon={IconInfo} /></Button>
|
||||
<ActionMenu.Root slot="tooltip">
|
||||
<p>{variable.description}</p>
|
||||
</ActionMenu.Root>
|
||||
</Popover>
|
||||
</Layout.Stack>
|
||||
</Layout.Stack>
|
||||
@@ -140,8 +149,10 @@
|
||||
e.preventDefault();
|
||||
toggle(e);
|
||||
}}>
|
||||
<Icon size="s" icon={IconInfo} /></Button>
|
||||
<p slot="tooltip">{variable.description}</p>
|
||||
<Icon icon={IconInfo} /></Button>
|
||||
<ActionMenu.Root slot="tooltip">
|
||||
<p>{variable.description}</p>
|
||||
</ActionMenu.Root>
|
||||
</Popover>
|
||||
</Layout.Stack>
|
||||
</Layout.Stack>
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@
|
||||
hasFilters
|
||||
analyticsSource="site_deployments"
|
||||
hideView>
|
||||
<Popover padding="none" let:toggle>
|
||||
<Popover padding="none" let:toggle placement="bottom-end">
|
||||
<Button size="s" on:click={toggle}>
|
||||
<Icon size="s" icon={IconPlus} />
|
||||
Create deployment
|
||||
|
||||
+1
-1
@@ -39,6 +39,6 @@
|
||||
<p data-private>Are you sure you want to cancel this deployment?</p>
|
||||
<svelte:fragment slot="footer">
|
||||
<Button text on:click={() => (showCancel = false)}>Cancel</Button>
|
||||
<Button secondary submit>Continue</Button>
|
||||
<Button submit>Confirm</Button>
|
||||
</svelte:fragment>
|
||||
</Confirm>
|
||||
|
||||
Reference in New Issue
Block a user