diff --git a/frontend/src/lib/components/workspaceSettings/DeployToHub.svelte b/frontend/src/lib/components/workspaceSettings/DeployToHub.svelte
new file mode 100644
index 0000000000..275a876921
--- /dev/null
+++ b/frontend/src/lib/components/workspaceSettings/DeployToHub.svelte
@@ -0,0 +1,181 @@
+
+
+
+ {#if loadingItems}
+
+ Loading items…
+
+ {:else if items.length === 0}
+
No deployable items found in this workspace.
+ {:else}
+
+
+ Files
+
+
+ {#each grouped as { bucket, list } (bucket)}
+ {@const Icon = BUCKET_ICON[bucket]}
+ {@const open = !collapsed[bucket]}
+
+ {#if open}
+
+ {#each list as it (it.kind + ':' + it.path)}
+ -
+ {#if it.kind === 'resource'}
+ {#if it.resourceType}
+
+ {it.resourceType.charAt(0).toUpperCase() + it.resourceType.slice(1)}
+ {:else}
+ {it.path}
+ {/if}
+ {:else}
+ {it.summary?.trim() || it.path}
+ {/if}
+
+ {/each}
+
+ {/if}
+ {/each}
+
+
+
+
+
+
+ {/if}
+
diff --git a/frontend/src/routes/(root)/(logged)/workspace_settings/+page.svelte b/frontend/src/routes/(root)/(logged)/workspace_settings/+page.svelte
index aa873f83a9..8a6896caea 100644
--- a/frontend/src/routes/(root)/(logged)/workspace_settings/+page.svelte
+++ b/frontend/src/routes/(root)/(logged)/workspace_settings/+page.svelte
@@ -74,6 +74,7 @@
type DataTableSettingsType
} from '$lib/components/workspaceSettings/DataTableSettings.svelte'
import WorkspaceDependenciesSettings from '$lib/components/workspaceSettings/WorkspaceDependenciesSettings.svelte'
+ import DeployToHub from '$lib/components/workspaceSettings/DeployToHub.svelte'
import SettingsFooter from '$lib/components/workspaceSettings/SettingsFooter.svelte'
import WorkspaceRulesets from '$lib/components/workspaceSettings/WorkspaceRulesets.svelte'
import SettingCard from '$lib/components/instanceSettings/SettingCard.svelte'
@@ -295,6 +296,7 @@
| 'dependencies'
| 'rulesets'
| 'shared_ui'
+ | 'hub'
// Both 'slack' and 'teams' URLs map to 'slack' tab
if (selectedTab === 'teams') {
return 'slack'
@@ -1098,6 +1100,12 @@
aiId: 'workspace-settings-rulesets',
aiDescription: 'Protection Rulesets workspace settings',
isEE: true
+ },
+ {
+ id: 'hub',
+ label: 'Deploy to Hub',
+ aiId: 'workspace-settings-hub',
+ aiDescription: 'Deploy workspace folders to the Hub'
}
]
},
@@ -1954,6 +1962,14 @@ export async function main(
saveLabel="Save & Re-encrypt workspace"
disabled={!!encryptionKeyValidationError || workspaceReencryptionInProgress}
/>
+ {:else if tab == 'hub'}
+
+
+
+
{:else if tab == 'shared_ui'}
{:else if tab == 'trashbin'}