{#if integration && integration.value !== ''}
{integration.value}
{:else if integrationType.descriptionComponent}
@@ -135,7 +135,7 @@
border-radius: 0.75rem;
}
.header {
- margin: 1.5rem 1.5rem 1rem;
+ padding: 1rem;
min-height: fit-content;
}
.icon {
@@ -144,6 +144,7 @@
min-height: 2.25rem;
}
.content {
+ overflow-y: auto;
flex-grow: 1;
margin: 0 1.5rem 0.25rem;
color: var(--theme-caption-color);
@@ -160,9 +161,7 @@
justify-content: start;
align-items: center;
column-gap: 1rem;
- padding: 1.5rem 1.75rem 1.25rem;
- padding-top: 0.5rem;
- height: 5.25rem;
+ padding: 0.5rem 1rem 1rem;
mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 1.25rem, rgba(0, 0, 0, 1) 2.5rem);
overflow: hidden;
border-radius: 0 0 1.25rem 1.25rem;
diff --git a/plugins/setting-resources/src/components/Settings.svelte b/plugins/setting-resources/src/components/Settings.svelte
index 8fce5bad56..bd3301a299 100644
--- a/plugins/setting-resources/src/components/Settings.svelte
+++ b/plugins/setting-resources/src/components/Settings.svelte
@@ -37,15 +37,16 @@
showPopup,
type AnyComponent,
deviceOptionsStore as deviceInfo,
- resizeObserver,
deviceWidths
} from '@hcengineering/ui'
- import { closeWidget, NavFooter, openWidget, minimizeSidebar } from '@hcengineering/workbench-resources'
+ import { closeWidget, NavFooter, openWidget, minimizeSidebar, sidebarStore } from '@hcengineering/workbench-resources'
import workbench from '@hcengineering/workbench'
import { ComponentType, onDestroy, onMount } from 'svelte'
import { clearSettingsStore, settingsStore, type SettingsStore } from '../store'
import { Analytics } from '@hcengineering/analytics'
+ export let workbenchWidth: number = 0
+
const client = getClient()
let category: SettingsCategory | undefined
@@ -129,117 +130,123 @@
}
$: asideComponent = updatedStore($settingsStore)
let moveASide: boolean = false
+ $: if (workbenchWidth < deviceWidths[3] && !moveASide) moveASide = true
+ else if (workbenchWidth >= deviceWidths[3] && moveASide) moveASide = false
+
const widget = client.getModel().findAllSync(workbench.class.Widget, { _id: settingPlg.ids.SettingsWidget })[0]
- $: if (moveASide && asideComponent != null) {
+ $: if (moveASide && asideComponent != null && $sidebarStore.widget !== widget._id) {
openWidget(widget, { component: asideComponent, ...asideProps }, { active: true, openedByUser: true })
$deviceInfo.aside.visible = true
- } else if ((moveASide && asideComponent == null) || (!moveASide && asideComponent != null)) {
+ } else if (moveASide && asideComponent == null && $sidebarStore.widget === widget._id) {
closeWidget(widget._id)
minimizeSidebar()
+ } else if (!moveASide && asideComponent != null && $sidebarStore.widget === widget._id) {
+ closeWidget(widget._id)
}
+ let replacedPanel: HTMLElement
+ $: $deviceInfo.replacedPanel = replacedPanel
+ onDestroy(() => ($deviceInfo.replacedPanel = undefined))
+
defineSeparators('setting', settingsSeparators)
-
{
- if (el.clientWidth < deviceWidths[2] && !moveASide) moveASide = true
- else if (el.clientWidth >= deviceWidths[2] && moveASide) moveASide = false
- }}
->
- {#if $deviceInfo.navigator.visible}
-
-
-
- {/if}
-
-
-
+{/if}
+
+
+
{:else if specialComponent}
@@ -996,7 +997,8 @@
...specialComponent.componentProps,
currentSpace,
space: currentSpace,
- navigationModel: specialComponent?.navigationModel
+ navigationModel: specialComponent?.navigationModel,
+ workbenchWidth
}}
on:action={(e) => {
if (e?.detail) {
@@ -1007,7 +1009,10 @@
}}
/>
{:else if currentView?.component !== undefined}
-
+
{:else if $accessDeniedStore}
-
-
+{#if $deviceInfo.navigator.visible}
+
+
+ {/each}
+
+
+
+
+ {#if hasAccountRole(account, AccountRole.User)}
+
+ {/if}
+
+
+
- {#each categories as _category}
- {#if _category.extraComponents?.navigation && (_category.expandable ?? _category._id === setting.ids.Setting)}
-
-
-
- {:else}
- {
- selectCategory(_category.name)
+
+ {#each categories as _category}
+ {#if _category.extraComponents?.navigation && (_category.expandable ?? _category._id === setting.ids.Setting)}
+
+
- {/if}
- {/each}
-
-
-
-
- {#if hasAccountRole(account, AccountRole.User)}
+
+ {:else}
{
+ selectCategory(_category.name)
+ }}
/>
{/if}
-
-
-
-
+
+
-
- {#if category}
-
- {/if}
- {#if asideComponent != null && !moveASide}
-
- {#key asideProps}
- {#if typeof asideComponent === 'string'}
-
- {:else}
-
- {/if}
- {/key}
-
+
+ {#if category}
+
{/if}
+{#if asideComponent != null && !moveASide}
+
+ {#key asideProps}
+ {#if typeof asideComponent === 'string'}
+
+ {:else}
+
+ {/if}
+ {/key}
+
+{/if}
diff --git a/plugins/workbench-resources/src/components/Workbench.svelte b/plugins/workbench-resources/src/components/Workbench.svelte
index 70f371bef6..b30b41233c 100644
--- a/plugins/workbench-resources/src/components/Workbench.svelte
+++ b/plugins/workbench-resources/src/components/Workbench.svelte
@@ -985,7 +985,8 @@