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'}