diff --git a/models/card/src/index.ts b/models/card/src/index.ts
index 9a589b6573c..e76215ae885 100644
--- a/models/card/src/index.ts
+++ b/models/card/src/index.ts
@@ -442,7 +442,9 @@ export function createModel (builder: Builder): void {
componentProps: {
_class: card.class.CardSpace,
icon: view.icon.List,
- label: core.string.Spaces
+ label: core.string.Spaces,
+ createLabel: card.string.CreateSpace,
+ createComponent: card.component.CreateSpace
},
position: 'top'
}
@@ -468,7 +470,7 @@ export function createModel (builder: Builder): void {
}
]
},
- navHeaderComponent: card.component.NewCardHeader
+ navHeaderActions: card.component.CardHeaderButton
},
card.app.Card
)
diff --git a/plugins/card-resources/src/components/navigator/CardHeaderButton.svelte b/plugins/card-resources/src/components/navigator/CardHeaderButton.svelte
new file mode 100644
index 00000000000..79401d79bf8
--- /dev/null
+++ b/plugins/card-resources/src/components/navigator/CardHeaderButton.svelte
@@ -0,0 +1,78 @@
+
+
+
+
diff --git a/plugins/card-resources/src/components/navigator/NewCardHeader.svelte b/plugins/card-resources/src/components/navigator/NewCardHeader.svelte
deleted file mode 100644
index 66c9acbc8aa..00000000000
--- a/plugins/card-resources/src/components/navigator/NewCardHeader.svelte
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
-
-{#if loading}
-
-{:else if hasAccountRole(getCurrentAccount(), AccountRole.User) || hasSpace}
-
-{/if}
diff --git a/plugins/card-resources/src/index.ts b/plugins/card-resources/src/index.ts
index be1d2809504..4e8bb0fe993 100644
--- a/plugins/card-resources/src/index.ts
+++ b/plugins/card-resources/src/index.ts
@@ -51,13 +51,14 @@ import CardRefPresenter from './components/CardRefPresenter.svelte'
import ChangeType from './components/ChangeType.svelte'
import CreateCardButton from './components/CreateCardButton.svelte'
import CardArrayEditor from './components/CardArrayEditor.svelte'
-import NewCardHeader from './components/navigator/NewCardHeader.svelte'
import SpacePresenter from './components/navigator/SpacePresenter.svelte'
import TypesNavigator from './components/navigator/TypesNavigator.svelte'
import LabelsPresenter from './components/LabelsPresenter.svelte'
import RolesSection from './components/settings/RolesSection.svelte'
import EditRole from './components/settings/EditRole.svelte'
import CardWidget from './components/CardWidget.svelte'
+import CreateSpace from './components/navigator/CreateSpace.svelte'
+import CardHeaderButton from './components/navigator/CardHeaderButton.svelte'
// Card Sections
import AttachmentsCardSection from './components/sections/AttachmentsSection.svelte'
@@ -110,7 +111,6 @@ export default async (): Promise => ({
ChangeType,
CreateCardButton,
CardArrayEditor,
- NewCardHeader,
SpacePresenter,
TypesNavigator,
LabelsPresenter,
@@ -122,7 +122,9 @@ export default async (): Promise => ({
CardTagColored,
CardTagsColored,
CardIcon,
- CardFeedView
+ CardFeedView,
+ CreateSpace,
+ CardHeaderButton
},
sectionComponent: {
AttachmentsSection: AttachmentsCardSection,
diff --git a/plugins/card-resources/src/plugin.ts b/plugins/card-resources/src/plugin.ts
index 0c1a677e948..96e58c66adc 100644
--- a/plugins/card-resources/src/plugin.ts
+++ b/plugins/card-resources/src/plugin.ts
@@ -44,14 +44,15 @@ export default mergeIds(cardId, card, {
CardRefPresenter: '' as AnyComponent,
ChangeType: '' as AnyComponent,
CreateCardButton: '' as AnyComponent,
- NewCardHeader: '' as AnyComponent,
+ CreateSpace: '' as AnyComponent,
SpacePresenter: '' as AnyComponent,
TypesNavigator: '' as AnyComponent,
RolesSection: '' as AnyComponent,
EditRole: '' as AnyComponent,
CardWidget: '' as AnyComponent,
CardWidgetTab: '' as AnyComponent,
- CreateCard: '' as AnyComponent
+ CreateCard: '' as AnyComponent,
+ CardHeaderButton: '' as AnyComponent
},
function: {
CardFactory: '' as Resource<(props?: Record) => Promise[ | undefined>>
diff --git a/plugins/workbench-resources/src/components/Workbench.svelte b/plugins/workbench-resources/src/components/Workbench.svelte
index bd423d4e547..16ef0af3373 100644
--- a/plugins/workbench-resources/src/components/Workbench.svelte
+++ b/plugins/workbench-resources/src/components/Workbench.svelte
@@ -978,7 +978,18 @@
>
]
{#if currentApplication}
-
+
+ {#if currentApplication.navHeaderActions != null}
+
+ {/if}
+
{#if currentApplication.navHeaderComponent}