mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
Merge branch 'main' into fix-dat-739
This commit is contained in:
@@ -32,6 +32,6 @@
|
||||
|
||||
{#if dnsData}
|
||||
<ActionMenu.Item.Anchor leadingIcon={IconDocumentText} href={dnsData}>
|
||||
DNS Records
|
||||
DNS records
|
||||
</ActionMenu.Item.Anchor>
|
||||
{/if}
|
||||
|
||||
@@ -144,7 +144,7 @@ function createFeedbackStore() {
|
||||
message,
|
||||
email,
|
||||
customFields,
|
||||
firstname: name || 'Unknown',
|
||||
firstname: (name || 'Unknown').slice(0, 40),
|
||||
metaFields: {
|
||||
source: get(feedback).source,
|
||||
orgId,
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
body: JSON.stringify({
|
||||
subject: 'BAA Request',
|
||||
email: email,
|
||||
firstName: $user?.name ?? '',
|
||||
firstName: ($user?.name ?? '').slice(0, 40),
|
||||
message: `BAA request for ${$organization?.name ?? ''} (${$organization?.$id ?? ''})`,
|
||||
tags: ['cloud'],
|
||||
customFields: [
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
body: JSON.stringify({
|
||||
subject: 'SOC-2 Request',
|
||||
email: email,
|
||||
firstName: $user?.name ?? '',
|
||||
firstName: ($user?.name ?? '').slice(0, 40),
|
||||
message: `SOC-2 request for ${$organization?.name ?? ''} (${$organization?.$id ?? ''})`,
|
||||
tags: ['cloud'],
|
||||
customFields: [
|
||||
|
||||
@@ -171,7 +171,10 @@
|
||||
Before installing Git in a locally hosted Appwrite project, ensure your environment
|
||||
variables are configured.
|
||||
<svelte:fragment slot="actions">
|
||||
<Button compact href="#" external>Learn more</Button>
|
||||
<Button
|
||||
compact
|
||||
href="https://appwrite.io/docs/advanced/self-hosting/configuration/version-control"
|
||||
external>Learn more</Button>
|
||||
</svelte:fragment>
|
||||
</Alert.Inline>
|
||||
{:else}
|
||||
|
||||
+38
-2
@@ -3,7 +3,12 @@
|
||||
import { Link } from '$lib/elements';
|
||||
import { Button } from '$lib/elements/forms';
|
||||
import type { Models } from '@appwrite.io/console';
|
||||
import { IconDotsHorizontal, IconRefresh, IconTrash } from '@appwrite.io/pink-icons-svelte';
|
||||
import {
|
||||
IconDotsHorizontal,
|
||||
IconRefresh,
|
||||
IconTrash,
|
||||
IconTerminal
|
||||
} from '@appwrite.io/pink-icons-svelte';
|
||||
import {
|
||||
ActionMenu,
|
||||
Badge,
|
||||
@@ -11,10 +16,12 @@
|
||||
Layout,
|
||||
Popover,
|
||||
Table,
|
||||
Typography
|
||||
Typography,
|
||||
Divider
|
||||
} from '@appwrite.io/pink-svelte';
|
||||
import DeleteDomainModal from './deleteDomainModal.svelte';
|
||||
import RetryDomainModal from './retryDomainModal.svelte';
|
||||
import ViewLogsModal from './viewLogsModal.svelte';
|
||||
import { columns } from './store';
|
||||
import { regionalProtocol } from '$routes/(console)/project-[region]-[project]/store';
|
||||
import DnsRecordsAction from '$lib/components/domains/dnsRecordsAction.svelte';
|
||||
@@ -29,6 +36,7 @@
|
||||
|
||||
let showDelete = $state(false);
|
||||
let showRetry = $state(false);
|
||||
let showLogs = $state(false);
|
||||
let selectedProxyRule: Models.ProxyRule = $state(null);
|
||||
|
||||
const proxyTarget = (proxy: Models.ProxyRule) => {
|
||||
@@ -94,6 +102,17 @@
|
||||
|
||||
<svelte:fragment slot="tooltip" let:toggle>
|
||||
<ActionMenu.Root>
|
||||
{#if rule.logs && (rule.status === 'unverified' || rule.status === 'verifying')}
|
||||
<ActionMenu.Item.Button
|
||||
leadingIcon={IconTerminal}
|
||||
on:click={(e) => {
|
||||
selectedProxyRule = rule;
|
||||
showLogs = true;
|
||||
toggle(e);
|
||||
}}>
|
||||
View logs
|
||||
</ActionMenu.Item.Button>
|
||||
{/if}
|
||||
{#if rule.status !== 'verified' && rule.status !== 'verifying'}
|
||||
<ActionMenu.Item.Button
|
||||
leadingIcon={IconRefresh}
|
||||
@@ -106,6 +125,11 @@
|
||||
</ActionMenu.Item.Button>
|
||||
{/if}
|
||||
<DnsRecordsAction {rule} {organizationDomains} />
|
||||
{#if rule.logs && (rule.status === 'unverified' || rule.status === 'verifying')}
|
||||
<div class="action-menu-divider">
|
||||
<Divider />
|
||||
</div>
|
||||
{/if}
|
||||
<ActionMenu.Item.Button
|
||||
status="danger"
|
||||
leadingIcon={IconTrash}
|
||||
@@ -135,3 +159,15 @@
|
||||
{#if showRetry}
|
||||
<RetryDomainModal bind:show={showRetry} {selectedProxyRule} />
|
||||
{/if}
|
||||
|
||||
{#if showLogs}
|
||||
<ViewLogsModal bind:show={showLogs} {selectedProxyRule} />
|
||||
{/if}
|
||||
|
||||
<style>
|
||||
.action-menu-divider {
|
||||
margin-inline: -1rem;
|
||||
padding-block-start: 0.25rem;
|
||||
padding-block-end: 0.25rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
<script lang="ts">
|
||||
import { Modal } from '$lib/components';
|
||||
import { Logs } from '@appwrite.io/pink-svelte';
|
||||
import { app } from '$lib/stores/app';
|
||||
import type { Models } from '@appwrite.io/console';
|
||||
|
||||
let {
|
||||
show = $bindable(false),
|
||||
selectedProxyRule
|
||||
}: {
|
||||
show: boolean;
|
||||
selectedProxyRule: Models.ProxyRule;
|
||||
} = $props();
|
||||
</script>
|
||||
|
||||
<Modal title="Certificate logs" bind:show size="m" hideFooter>
|
||||
<Logs logs={selectedProxyRule.logs} theme={$app.themeInUse} showScrollButton height="250px" />
|
||||
</Modal>
|
||||
@@ -49,7 +49,7 @@
|
||||
body: JSON.stringify({
|
||||
email: $user.email,
|
||||
subject: $supportData.subject,
|
||||
firstName: $user?.name || 'Unknown',
|
||||
firstName: ($user?.name || 'Unknown').slice(0, 40),
|
||||
message: $supportData.message,
|
||||
tags: ['cloud'],
|
||||
customFields: [
|
||||
@@ -136,12 +136,14 @@
|
||||
label="Subject"
|
||||
bind:value={$supportData.subject}
|
||||
placeholder="What do you need help with?"
|
||||
maxlength={128}
|
||||
required />
|
||||
<InputTextarea
|
||||
id="message"
|
||||
bind:value={$supportData.message}
|
||||
placeholder="Type here..."
|
||||
label="Tell us a bit more" />
|
||||
label="Tell us a bit more"
|
||||
maxlength={4096} />
|
||||
<Layout.Stack direction="row" justifyContent="flex-end" gap="s">
|
||||
<Button.Button
|
||||
size="s"
|
||||
|
||||
Reference in New Issue
Block a user