mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
Generated
+6
@@ -16,6 +16,7 @@
|
||||
"@sentry/tracing": "^7.36.0",
|
||||
"analytics": "^0.8.1",
|
||||
"echarts": "^5.4.1",
|
||||
"logrocket": "^3.0.1",
|
||||
"pretty-bytes": "^6.1.0",
|
||||
"prismjs": "^1.29.0",
|
||||
"tippy.js": "^6.3.7",
|
||||
@@ -6261,6 +6262,11 @@
|
||||
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/logrocket": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/logrocket/-/logrocket-3.0.1.tgz",
|
||||
"integrity": "sha512-jOWG+jEzobKVxGytzZ+4KGm2kiMQMRTHab2uDWQyVZcHfEF38BlCH1yjQVY4LCmuQUwZitP9biMzJZnyUQ0dtQ=="
|
||||
},
|
||||
"node_modules/loupe": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"@sentry/tracing": "^7.36.0",
|
||||
"analytics": "^0.8.1",
|
||||
"echarts": "^5.4.1",
|
||||
"logrocket": "^3.0.1",
|
||||
"pretty-bytes": "^6.1.0",
|
||||
"prismjs": "^1.29.0",
|
||||
"tippy.js": "^6.3.7",
|
||||
|
||||
@@ -88,7 +88,7 @@ function sendEventToGrowth(event: string, path: string, data: object = null): vo
|
||||
});
|
||||
}
|
||||
|
||||
function isTrackingAllowed() {
|
||||
export function isTrackingAllowed() {
|
||||
if (ENV.TEST) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
class:icon-exclamation={type === 'warning'}
|
||||
class:icon-exclamation-circle={type === 'error'}
|
||||
aria-hidden="true" />
|
||||
<div class="alert-content">
|
||||
<div class="alert-content" data-private>
|
||||
{#if $$slots.title}
|
||||
<h6 class="alert-title">
|
||||
<slot name="title" />
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
|
||||
<ul
|
||||
class="grid-box common-section u-margin-block-start-32"
|
||||
style={`--grid-gap:1.5rem; --grid-item-size:${total > 3 ? '22rem' : '25rem'};`}>
|
||||
style={`--grid-gap:1.5rem; --grid-item-size:${total > 3 ? '22rem' : '25rem'};`}
|
||||
data-private>
|
||||
<slot />
|
||||
|
||||
{#if total > 3 ? total < limit + offset : total % 2 !== 0}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
export let copyEvent: string = null;
|
||||
</script>
|
||||
|
||||
<div class="interactive-text-output" class:is-textarea={show}>
|
||||
<div class="interactive-text-output" class:is-textarea={show} data-private>
|
||||
{#if show}
|
||||
<span class="text u-line-height-1-5 u-break-all">{value}</span>
|
||||
{:else}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<ul class="grid-box common-section" style="--grid-item-size:25rem;">
|
||||
<ul class="grid-box common-section" style="--grid-item-size:25rem;" data-private>
|
||||
<slot />
|
||||
</ul>
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
export let title: string;
|
||||
</script>
|
||||
|
||||
<div class="table-col" data-title={title} role="cell">
|
||||
<div class="table-col" data-title={title} role="cell" data-private>
|
||||
<a role="button" tabindex="0" class="link" {href}><slot /></a>
|
||||
</div>
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
class:is-only-desktop={onlyDesktop}
|
||||
class:u-overflow-visible={showOverflow}
|
||||
data-title={title}
|
||||
role="cell">
|
||||
role="cell"
|
||||
data-private>
|
||||
<Trim><slot /></Trim>
|
||||
</div>
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
class="table is-selected-columns-mobile"
|
||||
class:u-margin-block-start-32={!noMargin}
|
||||
class:is-remove-outer-styles={noStyles}
|
||||
role="table">
|
||||
role="table"
|
||||
data-private>
|
||||
<slot />
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- TODO: is 100% height needed? -->
|
||||
<div class="table-with-scroll">
|
||||
<div class="table-with-scroll" data-private>
|
||||
<div class="table-wrapper">
|
||||
<div class="table is-remove-outer-styles">
|
||||
<ul class="table-thead">
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
export let isSticky = false;
|
||||
</script>
|
||||
|
||||
<div class="table-with-scroll u-margin-block-start-32">
|
||||
<div class="table-with-scroll u-margin-block-start-32" data-private>
|
||||
<div class="table-wrapper">
|
||||
<table class="table" class:is-sticky-scroll={isSticky}>
|
||||
<slot />
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<nav class="breadcrumbs is-only-desktop" aria-label="breadcrumb">
|
||||
<ol class="breadcrumbs-list">
|
||||
{#each breadcrumbs as breadcrumb}
|
||||
<li class="breadcrumbs-item">
|
||||
<li class="breadcrumbs-item" data-private>
|
||||
{#if breadcrumb.href}
|
||||
<a href={breadcrumb.href} title={breadcrumb.title} on:click={track}>
|
||||
{breadcrumb.title}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<span class="icon-cheveron-left" aria-hidden="true" />
|
||||
</a>
|
||||
{/if}
|
||||
<span class="text u-trim-1">
|
||||
<span class="text u-trim-1" data-private>
|
||||
<slot />
|
||||
</span>
|
||||
</Heading>
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
<script lang="ts">
|
||||
import { browser, dev } from '$app/environment';
|
||||
import { browser } from '$app/environment';
|
||||
import { afterNavigate, goto } from '$app/navigation';
|
||||
import { base } from '$app/paths';
|
||||
import { page } from '$app/stores';
|
||||
import { trackPageView } from '$lib/actions/analytics';
|
||||
import { isTrackingAllowed, trackPageView } from '$lib/actions/analytics';
|
||||
import { reportWebVitals } from '$lib/helpers/vitals';
|
||||
import { Notifications, Progress } from '$lib/layout';
|
||||
import { app } from '$lib/stores/app';
|
||||
import { user } from '$lib/stores/user';
|
||||
import { ENV, isCloud } from '$lib/system';
|
||||
import * as Sentry from '@sentry/svelte';
|
||||
import LogRocket from 'logrocket';
|
||||
import { BrowserTracing } from '@sentry/tracing';
|
||||
import { onMount } from 'svelte';
|
||||
import { onCLS, onFCP, onFID, onINP, onLCP, onTTFB } from 'web-vitals';
|
||||
@@ -23,7 +25,7 @@
|
||||
/**
|
||||
* Reporting Web Vitals.
|
||||
*/
|
||||
if (!dev && window.VERCEL_ANALYTICS_ID) {
|
||||
if (ENV.PROD && window.VERCEL_ANALYTICS_ID) {
|
||||
onCLS(reportWebVitals);
|
||||
onFID(reportWebVitals);
|
||||
onLCP(reportWebVitals);
|
||||
@@ -32,15 +34,26 @@
|
||||
onTTFB(reportWebVitals);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sentry Error Logging
|
||||
*/
|
||||
if (!dev) {
|
||||
if (ENV.PROD) {
|
||||
/**
|
||||
* Sentry Error Logging
|
||||
*/
|
||||
Sentry.init({
|
||||
dsn: 'https://c7ce178bdedd486480317b72f282fd39@o1063647.ingest.sentry.io/4504158071422976',
|
||||
integrations: [new BrowserTracing()],
|
||||
tracesSampleRate: 1.0
|
||||
});
|
||||
|
||||
/**
|
||||
* LogRocket
|
||||
*/
|
||||
if (isCloud && isTrackingAllowed()) {
|
||||
LogRocket.init('rgthvf/appwrite', {
|
||||
dom: {
|
||||
inputSanitizer: true
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import '@appwrite.io/pink';
|
||||
import '@appwrite.io/pink-icons';
|
||||
import 'tippy.js/dist/tippy.css';
|
||||
import LogRocket from 'logrocket';
|
||||
import { sdkForConsole } from '$lib/stores/sdk';
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import { Dependencies } from '$lib/constants';
|
||||
@@ -13,6 +14,11 @@ export const load: LayoutLoad = async ({ depends, url }) => {
|
||||
try {
|
||||
const account = await sdkForConsole.account.get();
|
||||
|
||||
LogRocket.identify(account.$id, {
|
||||
name: account.name,
|
||||
email: account.email
|
||||
});
|
||||
|
||||
return {
|
||||
account,
|
||||
organizations: sdkForConsole.teams.list()
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<svelte:fragment slot="header">
|
||||
{isUser ? 'Leave Organization' : 'Delete Member'}
|
||||
</svelte:fragment>
|
||||
<p>
|
||||
<p data-private>
|
||||
{isUser
|
||||
? `Are you sure you want to leave '${selectedMember?.teamName}'?`
|
||||
: `Are you sure you want to delete ${selectedMember?.userName} from '${selectedMember?.teamName}'?`}
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
<Modal bind:show={showDelete} on:submit={deleteMembership} warning>
|
||||
<svelte:fragment slot="header">Delete Member</svelte:fragment>
|
||||
<p>
|
||||
<p data-private>
|
||||
Are you sure you want to delete <b>{selectedMembership.userName}</b> from '{selectedMembership.teamName}'?
|
||||
</p>
|
||||
<svelte:fragment slot="footer">
|
||||
|
||||
@@ -30,8 +30,7 @@
|
||||
|
||||
<Modal bind:show={showDelete} on:submit={deleteTeam} warning>
|
||||
<svelte:fragment slot="header">Delete Team</svelte:fragment>
|
||||
|
||||
<p>
|
||||
<p data-private>
|
||||
Are you sure you want to delete <b>{team.name}</b>?
|
||||
</p>
|
||||
<svelte:fragment slot="footer">
|
||||
|
||||
@@ -33,11 +33,11 @@
|
||||
{/if}
|
||||
</svelte:fragment>
|
||||
<svelte:fragment slot="title">
|
||||
<h6 class="u-bold u-trim-1">
|
||||
<h6 class="u-bold u-trim-1" data-private>
|
||||
{$user.name || $user.email || $user.phone || 'Anonymous'}
|
||||
</h6>
|
||||
</svelte:fragment>
|
||||
<p class="u-trim-1">
|
||||
<p class="u-trim-1" data-private>
|
||||
{$user.email && $user.phone
|
||||
? [$user.email, $user.phone].join(',')
|
||||
: $user.email || $user.phone}
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
<Modal bind:show={showDeleteAll} on:submit={deleteAllSessions} warning>
|
||||
<svelte:fragment slot="header">Delete All Sessions</svelte:fragment>
|
||||
<p>
|
||||
<p data-private>
|
||||
Are you sure you want to delete <b>all of {$user.name}'s sessions?</b>
|
||||
</p>
|
||||
<svelte:fragment slot="footer">
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<Modal bind:show={showDelete} on:submit={deleteMembership} warning>
|
||||
<svelte:fragment slot="header">Delete Member</svelte:fragment>
|
||||
{#if selectedMembership}
|
||||
<p>
|
||||
<p data-private>
|
||||
Are you sure you want to delete <b>{selectedMembership.userName}</b> from '{selectedMembership.teamName}'?
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
<Modal bind:show={showDelete} on:submit={deleteUser} warning>
|
||||
<svelte:fragment slot="header">Delete User</svelte:fragment>
|
||||
<p>Are you sure you want to delete <b>{$user.name}</b> from '{$project.name}'?</p>
|
||||
<p data-private>Are you sure you want to delete <b>{$user.name}</b> from '{$project.name}'?</p>
|
||||
<svelte:fragment slot="footer">
|
||||
<Button text on:click={() => (showDelete = false)}>Cancel</Button>
|
||||
<Button secondary submit>Delete</Button>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<Heading tag="h6" size="7">Update Name</Heading>
|
||||
|
||||
<svelte:fragment slot="aside">
|
||||
<ul>
|
||||
<ul data-private>
|
||||
<InputText
|
||||
id="name"
|
||||
label="Name"
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
</script>
|
||||
|
||||
<CardGrid>
|
||||
<div class="grid-1-2-col-1 u-flex u-cross-center u-gap-16">
|
||||
<div class="grid-1-2-col-1 u-flex u-cross-center u-gap-16" data-private>
|
||||
{#if $user.email || $user.phone}
|
||||
{#if $user.name}
|
||||
<AvatarInitials size={48} name={$user.name} />
|
||||
@@ -92,7 +92,7 @@
|
||||
</div>
|
||||
<svelte:fragment slot="aside">
|
||||
<div class="u-flex u-main-space-between">
|
||||
<div>
|
||||
<div data-private>
|
||||
{#if $user.email}
|
||||
<p class="title">{$user.email}</p>
|
||||
{/if}
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@
|
||||
|
||||
<Modal warning={true} bind:show={showDelete} on:submit={handleDelete}>
|
||||
<svelte:fragment slot="header">Delete Attribute</svelte:fragment>
|
||||
<p>
|
||||
<p data-private>
|
||||
Are you sure you want to delete <b>'{selectedAttribute?.key}' from {$collection?.name}</b>?
|
||||
</p>
|
||||
<svelte:fragment slot="footer">
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@
|
||||
<Modal warning={true} on:submit={handleDelete} bind:show={showDelete}>
|
||||
<svelte:fragment slot="header">Delete Document</svelte:fragment>
|
||||
|
||||
<p>
|
||||
<p data-private>
|
||||
Are you sure you want to delete <b>the document from {$collection.name}</b>?
|
||||
</p>
|
||||
<svelte:fragment slot="footer">
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@
|
||||
<Modal warning={true} on:submit={handleDelete} bind:show={showDelete}>
|
||||
<svelte:fragment slot="header">Delete Index</svelte:fragment>
|
||||
|
||||
<p>
|
||||
<p data-private>
|
||||
Are you sure you want to delete <b>'{selectedIndex.key}' from {$collection.name}</b>?
|
||||
</p>
|
||||
<svelte:fragment slot="footer">
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@
|
||||
<Modal warning={true} bind:show={showDelete} on:submit={handleDelete}>
|
||||
<svelte:fragment slot="header">Delete Collection</svelte:fragment>
|
||||
|
||||
<p>
|
||||
<p data-private>
|
||||
Are you sure you want to delete <b>{$collection.name}</b>?
|
||||
</p>
|
||||
<svelte:fragment slot="footer">
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
<Modal warning={true} bind:show={showDelete} on:submit={handleDelete}>
|
||||
<svelte:fragment slot="header">Delete Database</svelte:fragment>
|
||||
<p class="text">
|
||||
<p class="text" data-private>
|
||||
Are you sure you want to delete <b>{$database.name}</b>?
|
||||
</p>
|
||||
<svelte:fragment slot="footer">
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
<Modal bind:show={showDelete} on:submit={handleSubmit} warning>
|
||||
<svelte:fragment slot="header">Delete Deployment</svelte:fragment>
|
||||
<p>Are you sure you want to delete this deployment?</p>
|
||||
<p data-private>Are you sure you want to delete this deployment?</p>
|
||||
<svelte:fragment slot="footer">
|
||||
<Button text on:click={() => (showDelete = false)}>Cancel</Button>
|
||||
<Button secondary submit>Delete</Button>
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@
|
||||
|
||||
<Modal bind:show={showDelete} on:submit={handleSubmit} warning>
|
||||
<svelte:fragment slot="header">Delete Function</svelte:fragment>
|
||||
<p>
|
||||
<p data-private>
|
||||
Are you sure you want to delete this function and all associated deployments from your
|
||||
project?
|
||||
</p>
|
||||
|
||||
@@ -97,7 +97,8 @@
|
||||
{#if data.platforms.platforms.length}
|
||||
<div
|
||||
class="grid-box u-margin-block-start-32"
|
||||
style="--grid-gap:1.5rem; --grid-item-size:20rem;">
|
||||
style="--grid-gap:1.5rem; --grid-item-size:20rem;"
|
||||
data-private>
|
||||
{#each data.platforms.platforms as platform}
|
||||
<a class="card" href={`${path}/${platform.$id}`}>
|
||||
<div class="grid-item-1" style="min-block-size: calc(182 / 16 * 1rem)">
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
<Modal bind:show={showDelete} on:submit={deleteDomain} warning>
|
||||
<svelte:fragment slot="header">Delete Domain</svelte:fragment>
|
||||
{#if selectedDomain}
|
||||
<p>
|
||||
<p data-private>
|
||||
Are you sure you want to delete <b>{selectedDomain.domain}</b> from '{$project.name}'?
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
@@ -35,7 +35,9 @@
|
||||
|
||||
<Modal bind:show={showDelete} on:submit={handleDelete} warning>
|
||||
<svelte:fragment slot="header">Delete Webhook</svelte:fragment>
|
||||
<p>Are you sure you want to delete <b>{$webhook.name}</b> from '{$project.name}'?</p>
|
||||
<p data-private>
|
||||
Are you sure you want to delete <b>{$webhook.name}</b> from '{$project.name}'?
|
||||
</p>
|
||||
<svelte:fragment slot="footer">
|
||||
<Button text on:click={() => (showDelete = false)}>Cancel</Button>
|
||||
<Button secondary submit>Delete</Button>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
<Modal bind:show={showDelete} on:submit={deleteUser} warning>
|
||||
<svelte:fragment slot="header">Delete Bucket</svelte:fragment>
|
||||
<p>Are you sure you want to delete <b>{$bucket.name}</b>?</p>
|
||||
<p data-private>Are you sure you want to delete <b>{$bucket.name}</b>?</p>
|
||||
<svelte:fragment slot="footer">
|
||||
<Button text on:click={() => (showDelete = false)}>Cancel</Button>
|
||||
<Button secondary submit>Delete</Button>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
<Modal bind:show={showDelete} on:submit={deleteFile} warning>
|
||||
<svelte:fragment slot="header">Delete File</svelte:fragment>
|
||||
<p>Are you sure you want to delete <b>{file.name}</b>?</p>
|
||||
<p data-private>Are you sure you want to delete <b>{file.name}</b>?</p>
|
||||
<svelte:fragment slot="footer">
|
||||
<Button text on:click={() => (showDelete = false)}>Cancel</Button>
|
||||
<Button secondary submit>Delete</Button>
|
||||
|
||||
+2
-2
@@ -68,7 +68,7 @@
|
||||
<Container>
|
||||
{#if $file}
|
||||
<CardGrid>
|
||||
<div class="u-flex u-gap-16">
|
||||
<div class="u-flex u-gap-16" data-private>
|
||||
<a
|
||||
href={getView($file.$id)}
|
||||
class="file-preview is-with-image"
|
||||
@@ -157,7 +157,7 @@
|
||||
<svelte:fragment slot="aside">
|
||||
<Box>
|
||||
<svelte:fragment slot="title">
|
||||
<h6 class="u-bold u-trim-1">{$file.name}</h6>
|
||||
<h6 class="u-bold u-trim-1" data-private>{$file.name}</h6>
|
||||
</svelte:fragment>
|
||||
<p>
|
||||
Last Updated: {toLocaleDateTime($file.$updatedAt)}
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
|
||||
<Modal bind:show={showDelete} on:submit={deleteFile} warning>
|
||||
<svelte:fragment slot="header">Delete File</svelte:fragment>
|
||||
<p>Are you sure you want to delete <b>{$file.name}</b>?</p>
|
||||
<p data-private>Are you sure you want to delete <b>{$file.name}</b>?</p>
|
||||
<svelte:fragment slot="footer">
|
||||
<Button text on:click={() => (showDelete = false)}>Cancel</Button>
|
||||
<Button secondary submit>Delete</Button>
|
||||
|
||||
Reference in New Issue
Block a user