Skip to content

Commit aed74b9

Browse files
committed
added back integrations page, reverted secrets page back to old UI
1 parent dc17b96 commit aed74b9

File tree

13 files changed

+2368
-1576
lines changed

13 files changed

+2368
-1576
lines changed

apps/sim/app/workspace/[workspaceId]/settings/[section]/error.tsx

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@ export default function SettingsSectionError({
1010
reset: () => void
1111
}) {
1212
return (
13-
<div className='flex h-full items-center justify-center'>
14-
<ErrorState
15-
error={error}
16-
reset={reset}
17-
title='Something went wrong'
18-
description='An unexpected error occurred. Please try again or refresh the page.'
19-
loggerName='SettingsSectionError'
20-
/>
21-
</div>
13+
<ErrorState
14+
error={error}
15+
reset={reset}
16+
title='Something went wrong'
17+
description='An unexpected error occurred. Please try again or refresh the page.'
18+
loggerName='SettingsSectionError'
19+
/>
2220
)
2321
}

apps/sim/app/workspace/[workspaceId]/settings/[section]/page.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import { SettingsPage } from './settings'
77

88
const SECTION_TITLES: Record<string, string> = {
99
general: 'General',
10-
credentials: 'Secrets',
10+
integrations: 'Integrations',
11+
secrets: 'Secrets',
1112
'template-profile': 'Template Profile',
1213
'access-control': 'Access Control',
1314
apikeys: 'Sim Keys',

apps/sim/app/workspace/[workspaceId]/settings/[section]/settings.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@ const General = dynamic(
4141
),
4242
{ loading: () => <GeneralSkeleton /> }
4343
)
44+
const Integrations = dynamic(
45+
() =>
46+
import('@/app/workspace/[workspaceId]/settings/components/integrations/integrations').then(
47+
(m) => m.Integrations
48+
),
49+
{ loading: () => <CredentialsSkeleton /> }
50+
)
4451
const Credentials = dynamic(
4552
() =>
4653
import('@/app/workspace/[workspaceId]/settings/components/credentials/credentials').then(
@@ -148,7 +155,8 @@ export function SettingsPage({ section }: SettingsPageProps) {
148155
<div>
149156
<h2 className='mb-[28px] font-medium text-[22px] text-[var(--text-primary)]'>{label}</h2>
150157
{effectiveSection === 'general' && <General />}
151-
{effectiveSection === 'credentials' && <Credentials />}
158+
{effectiveSection === 'integrations' && <Integrations />}
159+
{effectiveSection === 'secrets' && <Credentials />}
152160
{effectiveSection === 'template-profile' && <TemplateProfile />}
153161
{effectiveSection === 'credential-sets' && <CredentialSets />}
154162
{effectiveSection === 'access-control' && <AccessControl />}

apps/sim/app/workspace/[workspaceId]/settings/components/credentials/credential-skeleton.tsx

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,43 @@
11
import { Skeleton } from '@/components/emcn'
22

3+
const GRID_COLS = 'grid grid-cols-[minmax(0,1fr)_8px_minmax(0,1fr)_auto] items-center'
4+
35
/**
4-
* Skeleton component for credential list items.
5-
* Includes an icon placeholder for OAuth credentials.
6+
* Skeleton component for a single secret row in the grid layout.
67
*/
78
export function CredentialSkeleton() {
89
return (
9-
<div className='flex items-center justify-between gap-[12px]'>
10-
<div className='flex min-w-0 items-center gap-[10px]'>
11-
<Skeleton className='h-8 w-8 flex-shrink-0 rounded-[6px]' />
12-
<div className='flex min-w-0 flex-col justify-center gap-[1px]'>
13-
<Skeleton className='h-[14px] w-[100px]' />
14-
<Skeleton className='h-[13px] w-[200px]' />
15-
</div>
16-
</div>
17-
<div className='flex flex-shrink-0 items-center gap-[4px]'>
18-
<Skeleton className='h-[30px] w-[54px] rounded-[4px]' />
19-
<Skeleton className='h-[30px] w-[50px] rounded-[4px]' />
10+
<div className={GRID_COLS}>
11+
<Skeleton className='h-9 rounded-[6px]' />
12+
<div />
13+
<Skeleton className='h-9 rounded-[6px]' />
14+
<div className='ml-[8px] flex items-center gap-0'>
15+
<Skeleton className='h-9 w-9 rounded-[6px]' />
16+
<Skeleton className='h-9 w-9 rounded-[6px]' />
2017
</div>
2118
</div>
2219
)
2320
}
2421

2522
/**
26-
* Skeleton for the Credentials section shown during dynamic import loading.
23+
* Skeleton for the Secrets section shown during dynamic import loading.
2724
*/
2825
export function CredentialsSkeleton() {
2926
return (
30-
<div className='flex h-full flex-col gap-[18px]'>
27+
<div className='flex h-full flex-col gap-[16px]'>
3128
<div className='flex items-center gap-[8px]'>
3229
<Skeleton className='h-[30px] flex-1 rounded-[8px]' />
33-
<Skeleton className='h-[30px] w-[64px] rounded-[6px]' />
30+
<Skeleton className='h-[30px] w-[56px] rounded-[6px]' />
31+
<Skeleton className='h-[30px] w-[50px] rounded-[6px]' />
3432
</div>
3533
<div className='flex flex-col gap-[8px]'>
36-
<CredentialSkeleton />
34+
<Skeleton className='h-5 w-[70px]' />
35+
<div className='text-[13px] text-[var(--text-muted)]'>
36+
<Skeleton className='h-5 w-[160px]' />
37+
</div>
38+
</div>
39+
<div className='flex flex-col gap-[8px]'>
40+
<Skeleton className='h-5 w-[55px]' />
3741
<CredentialSkeleton />
3842
<CredentialSkeleton />
3943
</div>

0 commit comments

Comments
 (0)