-
- {k.displayKey}
-
+
+
+
+
-
-
))
)}
@@ -308,15 +306,6 @@ export function Copilot() {
{/* Models Header */}
Models
-
- {isModelsLoading ? (
-
- ) : (
-
- {enabledCount} of {totalCount} enabled
-
- )}
-
{/* Models List */}
@@ -473,9 +462,13 @@ export function Copilot() {
function CopilotKeySkeleton() {
return (
-
-
-
+
)
}
diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/environment/environment.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/environment/environment.tsx
index 30418679df..9115869201 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/environment/environment.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/environment/environment.tsx
@@ -707,7 +707,10 @@ export function EnvironmentVariables({
-
+
Discard Changes
{hasConflicts ? (
@@ -715,7 +718,7 @@ export function EnvironmentVariables({
Save Changes
@@ -725,7 +728,7 @@ export function EnvironmentVariables({
) : (
Save Changes
diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/file-uploads/file-uploads.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/file-uploads/file-uploads.tsx
index 49c7fb8dda..06518e0d0e 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/file-uploads/file-uploads.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/file-uploads/file-uploads.tsx
@@ -1,7 +1,7 @@
'use client'
import { useEffect, useMemo, useRef, useState } from 'react'
-import { Download, Search, Trash2, Upload } from 'lucide-react'
+import { Download, Search, Trash2 } from 'lucide-react'
import { useParams } from 'next/navigation'
import { Input } from '@/components/ui'
import { Button } from '@/components/ui/button'
@@ -46,6 +46,7 @@ export function FileUploads() {
const [uploading, setUploading] = useState(false)
const [deletingFileId, setDeletingFileId] = useState(null)
const [uploadError, setUploadError] = useState(null)
+ const [uploadProgress, setUploadProgress] = useState({ completed: 0, total: 0 })
const fileInputRef = useRef(null)
const { permissions: workspacePermissions, loading: permissionsLoading } =
@@ -94,9 +95,12 @@ export function FileUploads() {
if (!ok) unsupported.push(f.name)
return ok
})
+
+ setUploadProgress({ completed: 0, total: allowedFiles.length })
let lastError: string | null = null
- for (const selectedFile of allowedFiles) {
+ for (let i = 0; i < allowedFiles.length; i++) {
+ const selectedFile = allowedFiles[i]
try {
const formData = new FormData()
formData.append('file', selectedFile)
@@ -109,6 +113,8 @@ export function FileUploads() {
const data = await response.json()
if (!data.success) {
lastError = data.error || 'Upload failed'
+ } else {
+ setUploadProgress({ completed: i + 1, total: allowedFiles.length })
}
} catch (err) {
logger.error('Error uploading file:', err)
@@ -127,6 +133,7 @@ export function FileUploads() {
setTimeout(() => setUploadError(null), 5000)
} finally {
setUploading(false)
+ setUploadProgress({ completed: 0, total: 0 })
if (fileInputRef.current) {
fileInputRef.current.value = ''
}
@@ -225,6 +232,7 @@ export function FileUploads() {
onChange={handleFileChange}
disabled={uploading}
accept={ACCEPT_ATTR}
+ multiple
/>
)}
diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/settings-navigation/settings-navigation.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/settings-navigation/settings-navigation.tsx
index 6fe6fa06d8..e19a335534 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/settings-navigation/settings-navigation.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/settings-navigation/settings-navigation.tsx
@@ -203,7 +203,7 @@ export function SettingsNavigation({
return (
-
+
{navigationItems.map((item) => (