diff --git a/src/lib/wizards/functions/steps/manualDetails.svelte b/src/lib/wizards/functions/steps/manualDetails.svelte index 9167474d0e..c107d31cc2 100644 --- a/src/lib/wizards/functions/steps/manualDetails.svelte +++ b/src/lib/wizards/functions/steps/manualDetails.svelte @@ -1,16 +1,16 @@ <script lang="ts"> import { CustomId } from '$lib/components'; + import { BillingPlan } from '$lib/constants'; import { Pill } from '$lib/elements'; - import { InputText, InputSelect, FormList } from '$lib/elements/forms'; + import { FormList, InputSelect, InputText } from '$lib/elements/forms'; import { WizardStep } from '$lib/layout'; - import { onMount } from 'svelte'; - import { createFunction } from '../store'; + import { organization } from '$lib/stores/organization'; import { runtimesList } from '$lib/stores/runtimes'; import { specificationsList } from '$lib/stores/specifications'; import { isCloud } from '$lib/system'; - import { organization } from '$lib/stores/organization'; - import { BillingPlan } from '$lib/constants'; + import { onMount } from 'svelte'; import SpecificationsTooltip from '../components/specificationsTooltip.svelte'; + import { createFunction } from '../store'; let showCustomId = false; @@ -53,17 +53,19 @@ {options} required /> - <InputSelect - label="CPU and memory" - id="specification" - placeholder="Select specification" - required - disabled={specificationOptions.length < 1} - options={specificationOptions} - popover={isCloud && $organization?.billingPlan === BillingPlan.FREE - ? SpecificationsTooltip - : null} - bind:value={$createFunction.specification} /> + {#if isCloud} + <InputSelect + label="CPU and memory" + id="specification" + placeholder="Select specification" + required + disabled={specificationOptions.length < 1} + options={specificationOptions} + popover={isCloud && $organization?.billingPlan === BillingPlan.FREE + ? SpecificationsTooltip + : null} + bind:value={$createFunction.specification} /> + {/if} {#if !showCustomId} <div> diff --git a/src/lib/wizards/functions/steps/templateConfiguration.svelte b/src/lib/wizards/functions/steps/templateConfiguration.svelte index fbce477fb5..27ab8c0eda 100644 --- a/src/lib/wizards/functions/steps/templateConfiguration.svelte +++ b/src/lib/wizards/functions/steps/templateConfiguration.svelte @@ -1,15 +1,15 @@ <script lang="ts"> import { CustomId } from '$lib/components'; + import { BillingPlan } from '$lib/constants'; import { Pill } from '$lib/elements'; import { FormList, InputSelect, InputText } from '$lib/elements/forms'; import { WizardStep } from '$lib/layout'; + import { organization } from '$lib/stores/organization'; import { runtimesList } from '$lib/stores/runtimes'; import { specificationsList } from '$lib/stores/specifications'; - import { BillingPlan } from '$lib/constants'; + import { isCloud } from '$lib/system'; import SpecificationsTooltip from '../components/specificationsTooltip.svelte'; import { template, templateConfig } from '../store'; - import { organization } from '$lib/stores/organization'; - import { isCloud } from '$lib/system'; let showCustomId = false; @@ -18,7 +18,7 @@ throw new Error('Please select a runtime.'); } - if (!$templateConfig.specification) { + if (isCloud && !$templateConfig.specification) { throw new Error('Please select a specification.'); } } @@ -86,28 +86,30 @@ {options} bind:value={$templateConfig.runtime} /> {/await} - {#await loadSpecifications()} - <InputSelect - label="CPU and memory" - id="specification" - placeholder="Loading specifications..." - required - disabled - options={[]} - value={null} /> - {:then specificationOptions} - <InputSelect - label="CPU and memory" - id="specification" - placeholder="Select specification" - required - disabled={specificationOptions.length < 1} - options={specificationOptions} - popover={isCloud && $organization?.billingPlan === BillingPlan.FREE - ? SpecificationsTooltip - : null} - bind:value={$templateConfig.specification} /> - {/await} + {#if isCloud} + {#await loadSpecifications()} + <InputSelect + label="CPU and memory" + id="specification" + placeholder="Loading specifications..." + required + disabled + options={[]} + value={null} /> + {:then specificationOptions} + <InputSelect + label="CPU and memory" + id="specification" + placeholder="Select specification" + required + disabled={specificationOptions.length < 1} + options={specificationOptions} + popover={$organization?.billingPlan === BillingPlan.FREE + ? SpecificationsTooltip + : null} + bind:value={$templateConfig.specification} /> + {/await} + {/if} </FormList> <FormList class="u-margin-block-start-24"> diff --git a/src/routes/(console)/project-[project]/functions/function-[function]/settings/updateRuntime.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/settings/updateRuntime.svelte index 1f06dbe9cd..3ce92c3e55 100644 --- a/src/routes/(console)/project-[project]/functions/function-[function]/settings/updateRuntime.svelte +++ b/src/routes/(console)/project-[project]/functions/function-[function]/settings/updateRuntime.svelte @@ -5,18 +5,18 @@ import { CardGrid, Heading } from '$lib/components'; import { BillingPlan, Dependencies } from '$lib/constants'; import { Button, Form, FormList } from '$lib/elements/forms'; + import InputSelect from '$lib/elements/forms/inputSelect.svelte'; + import { isValueOfStringEnum } from '$lib/helpers/types'; import { addNotification } from '$lib/stores/notifications'; + import { organization } from '$lib/stores/organization'; + import { runtimesList } from '$lib/stores/runtimes'; import { sdk } from '$lib/stores/sdk'; - import { onMount } from 'svelte'; - import { func } from '../store'; - import InputSelect from '$lib/elements/forms/inputSelect.svelte'; import { specificationsList } from '$lib/stores/specifications'; - import { runtimesList } from '$lib/stores/runtimes'; - import { isValueOfStringEnum } from '$lib/helpers/types'; - import { Runtime } from '@appwrite.io/console'; import { isCloud } from '$lib/system'; - import { organization } from '$lib/stores/organization'; import SpecificationsTooltip from '$lib/wizards/functions/components/specificationsTooltip.svelte'; + import { Runtime } from '@appwrite.io/console'; + import { onMount } from 'svelte'; + import { func } from '../store'; const functionId = $page.params.function; let runtime: string = null; @@ -102,17 +102,19 @@ {options} required hideRequired /> - <InputSelect - label="CPU and memory" - id="size" - placeholder="Select runtime specification" - bind:value={specification} - options={specificationOptions} - popover={isCloud && $organization?.billingPlan === BillingPlan.FREE - ? SpecificationsTooltip - : null} - required - hideRequired /> + {#if isCloud} + <InputSelect + label="CPU and memory" + id="size" + placeholder="Select runtime specification" + bind:value={specification} + options={specificationOptions} + popover={$organization?.billingPlan === BillingPlan.FREE + ? SpecificationsTooltip + : null} + required + hideRequired /> + {/if} </FormList> </svelte:fragment>