diff --git a/packages/presentation/src/components/Card.svelte b/packages/presentation/src/components/Card.svelte index 9a4f3a13f5..b0e10209bb 100644 --- a/packages/presentation/src/components/Card.svelte +++ b/packages/presentation/src/components/Card.svelte @@ -43,6 +43,11 @@
+ {#if $$slots.error} +
+ +
+ {/if}
@@ -76,6 +81,18 @@ .tool { margin-left: .75rem; } } + .error { + margin-bottom: 1rem; + padding: .75rem 0; + color: var(--system-error-color); + background-color: var(--theme-card-bg-accent); + &:empty { + visibility: hidden; + margin: 0; + padding: 0; + } + } + .content { flex-shrink: 0; flex-grow: 1; diff --git a/packages/ui/src/components/internal/Status.svelte b/packages/ui/src/components/Status.svelte similarity index 63% rename from packages/ui/src/components/internal/Status.svelte rename to packages/ui/src/components/Status.svelte index 9d5e547dcf..7b8c2c38e6 100644 --- a/packages/ui/src/components/internal/Status.svelte +++ b/packages/ui/src/components/Status.svelte @@ -3,12 +3,12 @@ import { Severity } from '@anticrm/platform' import Info from './icons/Info.svelte' - import Label from '../Label.svelte' + import Label from './Label.svelte' export let status: Status -
+
{#if status.severity !== Severity.OK} @@ -18,9 +18,9 @@ \ No newline at end of file diff --git a/packages/ui/src/components/internal/icons/Info.svelte b/packages/ui/src/components/icons/Info.svelte similarity index 95% rename from packages/ui/src/components/internal/icons/Info.svelte rename to packages/ui/src/components/icons/Info.svelte index 01f6931d20..8182c1ee8a 100644 --- a/packages/ui/src/components/internal/icons/Info.svelte +++ b/packages/ui/src/components/icons/Info.svelte @@ -15,7 +15,7 @@ diff --git a/packages/ui/src/components/internal/Root.svelte b/packages/ui/src/components/internal/Root.svelte index 7f07da7c33..17561a5037 100644 --- a/packages/ui/src/components/internal/Root.svelte +++ b/packages/ui/src/components/internal/Root.svelte @@ -9,7 +9,7 @@ import { Theme } from '@anticrm/theme' import Component from '../Component.svelte' - import StatusComponent from './Status.svelte' + import StatusComponent from '../Status.svelte' import Clock from './Clock.svelte' // import Mute from './icons/Mute.svelte' import WiFi from './icons/WiFi.svelte' diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index 5f972a38d3..a5807a4226 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -28,7 +28,7 @@ export { getCurrentLocation, navigate, location } from './location' export { default as EditBox } from './components/EditBox.svelte' export { default as Label } from './components/Label.svelte' export { default as Button } from './components/Button.svelte' -export { default as StatusControl } from './components/StatusControl.svelte' +export { default as Status } from './components/Status.svelte' export { default as Component } from './components/Component.svelte' export { default as Icon } from './components/Icon.svelte' export { default as ActionIcon } from './components/ActionIcon.svelte' diff --git a/plugins/login-resources/src/components/Form.svelte b/plugins/login-resources/src/components/Form.svelte index 8f2fd465a8..526fe3db62 100644 --- a/plugins/login-resources/src/components/Form.svelte +++ b/plugins/login-resources/src/components/Form.svelte @@ -14,7 +14,8 @@ -->
- +
diff --git a/packages/ui/src/components/StatusControl.svelte b/plugins/login-resources/src/components/StatusControl.svelte similarity index 95% rename from packages/ui/src/components/StatusControl.svelte rename to plugins/login-resources/src/components/StatusControl.svelte index f6d2d719b5..c375cad6f7 100644 --- a/packages/ui/src/components/StatusControl.svelte +++ b/plugins/login-resources/src/components/StatusControl.svelte @@ -17,7 +17,7 @@ import type { Status } from '@anticrm/platform' import { Severity } from '@anticrm/platform' - import StatusControl from './internal/Status.svelte' + import { Status as StatusControl } from '@anticrm/ui' export let status: Status diff --git a/plugins/recruit-resources/src/components/CreateApplication.svelte b/plugins/recruit-resources/src/components/CreateApplication.svelte index 1aa09d0b8b..1109bd5fca 100644 --- a/plugins/recruit-resources/src/components/CreateApplication.svelte +++ b/plugins/recruit-resources/src/components/CreateApplication.svelte @@ -17,7 +17,7 @@ import { createEventDispatcher } from 'svelte' import type { Ref, Space } from '@anticrm/core' import { Status, OK, Severity } from '@anticrm/platform' - import { DatePicker, EditBox, Tabs, Section, Grid, StatusControl } from '@anticrm/ui' + import { DatePicker, EditBox, Tabs, Section, Grid, Status as StatusControl } from '@anticrm/ui' import { UserBox, Card, UserInfo, Avatar } from '@anticrm/presentation' import type { Employee, Person } from '@anticrm/contact' import type { Candidate } from '@anticrm/recruit' @@ -84,7 +84,11 @@ spacePlaceholder={'Select vacancy'} bind:space={_space} on:close={() => { dispatch('close') }}> - + + {#if status !== OK} + + {/if} + {#if !preserveCandidate}