diff --git a/src/lib/elements/forms/inputFile.svelte b/src/lib/elements/forms/inputFile.svelte
index 013e73f878..792da658cd 100644
--- a/src/lib/elements/forms/inputFile.svelte
+++ b/src/lib/elements/forms/inputFile.svelte
@@ -20,17 +20,6 @@
function setFiles(value: FileList) {
if (!value) return;
- const hasInvalidExt = Array.from(value).some((file) => {
- const fileExtension = file.name.split('.').pop();
- return allowedFileExtensions?.length
- ? !allowedFileExtensions.includes(fileExtension)
- : false;
- });
- if (hasInvalidExt) {
- error = 'Invalid file extension';
- return;
- }
-
files = value;
input.files = value;
}
@@ -78,6 +67,20 @@
const handleChange = (event: Event) => {
const target = event.currentTarget as HTMLInputElement;
+
+ const isValidFiles = Array.from(target.files).every((file) => {
+ const fileExtension = file.name.split('.').pop();
+ return allowedFileExtensions?.length
+ ? allowedFileExtensions.includes(fileExtension)
+ : true;
+ });
+
+ if (!isValidFiles) {
+ error = 'Invalid file extension';
+ target.value = '';
+ return;
+ }
+
setFiles(target.files);
};
diff --git a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte
index 1462e407d6..aa0c3c17b2 100644
--- a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte
+++ b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte
@@ -25,7 +25,7 @@
TableRow,
TableScroll
} from '$lib/elements/table';
- import { deploymentList, execute, func, proxyRuleList } from './store';
+ import { deploymentList, execute, func, proxyRuleList, showFunctionExecute } from './store';
import { Container, ContainerHeader } from '$lib/layout';
import { app } from '$lib/stores/app';
import { calculateSize, humanFileSize } from '$lib/helpers/sizeConvertion';
@@ -151,7 +151,10 @@
diff --git a/src/routes/console/project-[project]/functions/function-[function]/execute.svelte b/src/routes/console/project-[project]/functions/function-[function]/execute.svelte
index 278a3ceabd..4c10082c4b 100644
--- a/src/routes/console/project-[project]/functions/function-[function]/execute.svelte
+++ b/src/routes/console/project-[project]/functions/function-[function]/execute.svelte
@@ -16,6 +16,7 @@
import { addNotification } from '$lib/stores/notifications';
import { sdk } from '$lib/stores/sdk';
import type { Models } from '@appwrite.io/console';
+ import { showFunctionExecute } from './store';
export let selectedFunction: Models.Function = null;
@@ -34,13 +35,8 @@
{ label: 'OPTIONS', value: 'OPTIONS' }
];
- let show = false;
let submitting = false;
- $: if (selectedFunction && !show) {
- show = true;
- }
-
const handleSubmit = async () => {
submitting = true;
try {
@@ -80,7 +76,7 @@
function close() {
selectedFunction = null;
- show = false;
+ $showFunctionExecute = false;
}
afterNavigate(close);
@@ -89,10 +85,9 @@
Manually execute your function. (selectedFunction = $func)}>
+ buttonMethod={() => {
+ selectedFunction = $func;
+ $showFunctionExecute = true;
+ }}>
The {tier} plan has limits
diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/executeFunction.svelte b/src/routes/console/project-[project]/functions/function-[function]/settings/executeFunction.svelte
index 112bc2758f..ba4d81ea3f 100644
--- a/src/routes/console/project-[project]/functions/function-[function]/settings/executeFunction.svelte
+++ b/src/routes/console/project-[project]/functions/function-[function]/settings/executeFunction.svelte
@@ -2,7 +2,7 @@
import { CardGrid, Heading, SvgIcon } from '$lib/components';
import { Button } from '$lib/elements/forms';
import { toLocaleDateTime } from '$lib/helpers/date';
- import { execute, func } from '../store';
+ import { execute, func, showFunctionExecute } from '../store';
@@ -26,6 +26,11 @@
-
+
diff --git a/src/routes/console/project-[project]/functions/function-[function]/store.ts b/src/routes/console/project-[project]/functions/function-[function]/store.ts
index c08ec380a8..0bc01a1d46 100644
--- a/src/routes/console/project-[project]/functions/function-[function]/store.ts
+++ b/src/routes/console/project-[project]/functions/function-[function]/store.ts
@@ -12,6 +12,8 @@ export const proxyRuleList = derived(
($page) => $page.data.proxyRuleList as Models.ProxyRuleList
);
export const execute: Writable = writable();
+export const showFunctionExecute: Writable = writable(false);
+
export const repositories: Writable<{
search: string;
installationId: string;