diff --git a/package.json b/package.json index f189113b9..8a2056de8 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "e2e:ui": "playwright test tests/e2e --ui" }, "dependencies": { - "@appwrite.io/console": "1.4.4", + "@appwrite.io/console": "1.4.6", "@appwrite.io/pink": "0.25.0", "@appwrite.io/pink-icons": "0.25.0", "@popperjs/core": "^2.11.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 627a97cc9..399c26707 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@appwrite.io/console': - specifier: 1.4.4 - version: 1.4.4 + specifier: 1.4.6 + version: 1.4.6 '@appwrite.io/pink': specifier: 0.25.0 version: 0.25.0 @@ -95,7 +95,7 @@ importers: version: 6.6.3 '@testing-library/svelte': specifier: ^5.2.4 - version: 5.2.4(svelte@4.2.19)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0))(vitest@1.6.0(@types/node@22.9.0)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.81.0)) + version: 5.2.4(svelte@4.2.19)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0))(vitest@1.6.0) '@testing-library/user-event': specifier: ^14.5.2 version: 14.5.2(@testing-library/dom@10.4.0) @@ -199,8 +199,8 @@ packages: '@analytics/type-utils@0.6.2': resolution: {integrity: sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==} - '@appwrite.io/console@1.4.4': - resolution: {integrity: sha512-0B7PEHJIi0eS8+WQOs7RNwY+j3gffMTz6DKyvZAEJbe4550UnmTn4i8pxmyaiEVbhlqIVZ+QD8jVrjXqtkPK6Q==} + '@appwrite.io/console@1.4.6': + resolution: {integrity: sha512-oGA5gkecpy9E/fKJkaGn26JP9mgknc2Vn8hS6xhRBhmUPg8Vqlz0vgPpx1EQbPB2C5HWIf4yToSicOH31XGx6Q==} '@appwrite.io/pink-icons@0.25.0': resolution: {integrity: sha512-0O3i2oEuh5mWvjO80i+X6rbzrWLJ1m5wmv2/M3a1p2PyBJsFxN8xQMTEmTn3Wl/D26SsM7SpzbdW6gmfgoVU9Q==} @@ -3834,7 +3834,7 @@ snapshots: '@analytics/type-utils@0.6.2': {} - '@appwrite.io/console@1.4.4': {} + '@appwrite.io/console@1.4.6': {} '@appwrite.io/pink-icons@0.25.0': {} @@ -5075,7 +5075,7 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/svelte@5.2.4(svelte@4.2.19)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0))(vitest@1.6.0(@types/node@22.9.0)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.81.0))': + '@testing-library/svelte@5.2.4(svelte@4.2.19)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0))(vitest@1.6.0)': dependencies: '@testing-library/dom': 10.4.0 svelte: 4.2.19 diff --git a/src/hooks.client.ts b/src/hooks.client.ts index c6404ee81..9c8679912 100644 --- a/src/hooks.client.ts +++ b/src/hooks.client.ts @@ -8,8 +8,7 @@ Sentry.init({ dsn: 'https://c7ce178bdedd486480317b72f282fd39@o1063647.ingest.us.sentry.io/4504158071422976', tracesSampleRate: 1, replaysSessionSampleRate: 0, - replaysOnErrorSampleRate: 1, - integrations: [Sentry.replayIntegration()] + replaysOnErrorSampleRate: 0 }); export const handleError: HandleClientError = Sentry.handleErrorWithSentry( diff --git a/src/lib/components/billing/estimatedTotalBox.svelte b/src/lib/components/billing/estimatedTotalBox.svelte index b73c87378..581e261b5 100644 --- a/src/lib/components/billing/estimatedTotalBox.svelte +++ b/src/lib/components/billing/estimatedTotalBox.svelte @@ -99,28 +99,14 @@

- {#if isScaleDowngrade} - You'll continue using the {currentOrgPlan.name} plan until your current cycle ends on - {!selectedPlan.trialDays - ? toLocaleDate(billingPayDate.toString()) - : toLocaleDate(trialEndDate.toString())}. Starting the next cycle, your plan will switch to {selectedPlan.name}, and you'll be - charged - {formatCurrency(grossCost)} - every 30 days. - {:else} - You'll pay - {formatCurrency(estimatedTotal)} - now, with our first billing cycle starting on - {!selectedPlan.trialDays - ? toLocaleDate(billingPayDate.toString()) - : toLocaleDate(trialEndDate.toString())}. Once your credits run out, you'll be charged - {formatCurrency(selectedPlan.price)} plus usage fees every 30 - days. - {/if} + You'll pay {formatCurrency(estimatedTotal)} now, with your first + billing cycle starting on + {!currentPlan.trialDays + ? toLocaleDate(billingPayDate.toString()) + : toLocaleDate(trialEndDate.toString())}. Once your credits run out, you'll be charged + {formatCurrency(currentPlan.price)} plus usage fees every 30 days.

diff --git a/src/lib/components/billing/usageRates.svelte b/src/lib/components/billing/usageRates.svelte index 940380613..87f6b0028 100644 --- a/src/lib/components/billing/usageRates.svelte +++ b/src/lib/components/billing/usageRates.svelte @@ -67,7 +67,7 @@ following rates. Next billing period: {toLocaleDate(nextDate)}.

{/if} - +
Resource Limit diff --git a/src/lib/components/collapsibleItem.svelte b/src/lib/components/collapsibleItem.svelte index 92dd4e13d..f008ba598 100644 --- a/src/lib/components/collapsibleItem.svelte +++ b/src/lib/components/collapsibleItem.svelte @@ -7,12 +7,15 @@ export let noContent = false; export let isInfo = false; export let gap = 16; + + export let style = null; + export let wrapperStyle = null;
  • {#if noContent} -
    -
    +
    +
    @@ -58,7 +61,7 @@ // TODO: remove once pink is updated .collapsible-item:not(.is-info) { .collapsible-wrapper { - padding-left: 0.5rem; + padding: 0; } .collapsible-wrapper.is-disabled { cursor: not-allowed; diff --git a/src/lib/components/modal.svelte b/src/lib/components/modal.svelte index c043fc1dc..cf70c44a6 100644 --- a/src/lib/components/modal.svelte +++ b/src/lib/components/modal.svelte @@ -8,6 +8,7 @@ export let show = false; export let size: 'small' | 'big' | 'huge' = null; export let icon: string = null; + export let iconNotMobile: boolean = false; export let state: 'success' | 'warning' | 'error' | 'info' = null; export let error: string = null; export let closable = true; @@ -39,6 +40,7 @@ {#if icon}
    import { Button } from '$lib/elements/forms'; - import { app } from '$lib/stores/app'; import { wizard } from '$lib/stores/wizard'; import SupportWizard from '$routes/(console)/supportWizard.svelte'; - import { showSupportModal } from '$routes/(console)/wizard/support/store'; - import { isCloud } from '$lib/system'; + import { isSupportOnline, showSupportModal } from '$routes/(console)/wizard/support/store'; import { trackEvent } from '$lib/actions/analytics'; - import { localeTimezoneName, utcHourToLocaleHour } from '$lib/helpers/date'; + import { localeShortTimezoneName, utcHourToLocaleHour } from '$lib/helpers/date'; import { upgradeURL } from '$lib/stores/billing'; + import { Card } from '$lib/components/index'; + import { app } from '$lib/stores/app'; import { currentPlan } from '$lib/stores/organization'; + import { isCloud } from '$lib/system'; export let show = false; + export let showHeader = true; + $: hasPremiumSupport = $currentPlan?.premiumSupport ?? false; - $: supportTimings = `${utcHourToLocaleHour('16:00')} - ${utcHourToLocaleHour('00:00')} ${localeTimezoneName()}`; + $: supportTimings = `${utcHourToLocaleHour('16:00')} - ${utcHourToLocaleHour('00:00')} ${localeShortTimezoneName()}`; + + type SupportOption = { + cta?: string; + icon: string; + label: string; + link?: string; + description: string; + showSupport: boolean; + }; + + const supportOptions: SupportOption[] = [ + { + showSupport: true, + icon: 'support', + label: 'Premium support', + description: 'Get priority email support from the Appwrite team' + }, + + { + icon: 'discord', + cta: 'Discord', + showSupport: false, + label: 'Community support', + link: 'https://appwrite.io/discord', + description: 'Get support from our community through Discord' + }, + { + icon: 'github', + cta: 'Open issue', + showSupport: false, + label: 'Open GitHub issue', + link: 'https://github.com/appwrite/appwrite/issues/new/choose', + description: 'Report a bug or pitch a new feature' + } + ]; + + const showCloudSupport = (index) => { + return (index === 0 && isCloud) || index > 0; + }; -{#if isCloud} -
    -
    -

    Premium support

    - {#if hasPremiumSupport} -

    - Get personalized support from the Appwrite team from {supportTimings} -

    - {/if} -
    - {#if !hasPremiumSupport} - - {:else} - - {/if} -
    -{/if} -
    -
    -

    Troubleshooting

    +
    + {#if showHeader} +

    Support

    + {/if} -
    + {#each supportOptions as option, index} + {#if showCloudSupport(index)} + +
    +

    {option.label}

    + +

    + {option.description} +

    +
    + + {#if option.showSupport} +
    + {#if !hasPremiumSupport} + + {:else} + + {/if} + +
    +
    +
    + {:else} + + {/if} +
    + {/if} + {/each} + + {#if isCloud} +
    {#key $app.themeInUse}