diff --git a/models/board/src/plugin.ts b/models/board/src/plugin.ts
index 9a78e09e69..5ec0b2b9af 100644
--- a/models/board/src/plugin.ts
+++ b/models/board/src/plugin.ts
@@ -59,7 +59,6 @@ export default mergeIds(boardId, board, {
string: {
CommonBoardPreference: '' as IntlString,
ConvertToCard: '' as IntlString,
- ConfigLabel: '' as IntlString,
ConfigDescription: '' as IntlString
},
action: {
diff --git a/models/calendar/src/plugin.ts b/models/calendar/src/plugin.ts
index 415b2284ac..9da16f06e2 100644
--- a/models/calendar/src/plugin.ts
+++ b/models/calendar/src/plugin.ts
@@ -27,7 +27,6 @@ export default mergeIds(calendarId, calendar, {
component: {
IntegrationConnect: '' as AnyComponent,
CreateCalendar: '' as AnyComponent,
- CalendarView: '' as AnyComponent,
EventPresenter: '' as AnyComponent,
CalendarIntegrationIcon: '' as AnyComponent
},
diff --git a/models/lead/src/plugin.ts b/models/lead/src/plugin.ts
index e5f625b2c5..227c3def19 100644
--- a/models/lead/src/plugin.ts
+++ b/models/lead/src/plugin.ts
@@ -33,7 +33,6 @@ export default mergeIds(leadId, lead, {
Title: '' as IntlString,
ManageFunnelStatuses: '' as IntlString,
GotoLeadApplication: '' as IntlString,
- ConfigLabel: '' as IntlString,
ConfigDescription: '' as IntlString
},
component: {
diff --git a/models/recruit/src/plugin.ts b/models/recruit/src/plugin.ts
index dea41a2803..d7cc616f45 100644
--- a/models/recruit/src/plugin.ts
+++ b/models/recruit/src/plugin.ts
@@ -64,7 +64,6 @@ export default mergeIds(recruitId, recruit, {
GotoApplicants: '' as IntlString,
GotoRecruitApplication: '' as IntlString,
VacancyList: '' as IntlString,
- ConfigLabel: '' as IntlString,
ConfigDescription: '' as IntlString,
ShowApplications: '' as IntlString
},
diff --git a/models/tracker/src/index.ts b/models/tracker/src/index.ts
index 4767d2299e..b4def77ef8 100644
--- a/models/tracker/src/index.ts
+++ b/models/tracker/src/index.ts
@@ -46,8 +46,8 @@ import {
} from '@hcengineering/model'
import attachment from '@hcengineering/model-attachment'
import chunter from '@hcengineering/model-chunter'
-import { TTask } from '@hcengineering/model-task'
-import core, { DOMAIN_SPACE, TAttachedDoc, TDoc, TSpace, TStatus, TType } from '@hcengineering/model-core'
+import core, { TAttachedDoc, TDoc, TStatus, TType } from '@hcengineering/model-core'
+import { TSpaceWithStates, TTask } from '@hcengineering/model-task'
import view, { actionTemplates, classPresenter, createAction, showColorsViewOption } from '@hcengineering/model-view'
import workbench, { createNavigateAction } from '@hcengineering/model-workbench'
import notification from '@hcengineering/notification'
@@ -121,9 +121,9 @@ export class TTypeMilestoneStatus extends TType {}
/**
* @public
*/
-@Model(tracker.class.Project, core.class.Space, DOMAIN_SPACE)
+@Model(tracker.class.Project, task.class.SpaceWithStates)
@UX(tracker.string.Project, tracker.icon.Issues, 'Project', 'name')
-export class TProject extends TSpace implements Project {
+export class TProject extends TSpaceWithStates implements Project {
@Prop(TypeString(), tracker.string.ProjectIdentifier)
@Index(IndexKind.FullText)
identifier!: IntlString
diff --git a/models/tracker/src/plugin.ts b/models/tracker/src/plugin.ts
index 9551d3725e..ba025becad 100644
--- a/models/tracker/src/plugin.ts
+++ b/models/tracker/src/plugin.ts
@@ -39,7 +39,6 @@ export default mergeIds(trackerId, tracker, {
Parent: '' as IntlString,
CreatedDate: '' as IntlString,
ChangeStatus: '' as IntlString,
- ConfigLabel: '' as IntlString,
ConfigDescription: '' as IntlString,
Unarchive: '' as IntlString,
UnarchiveConfirm: '' as IntlString,
diff --git a/packages/theme/styles/_layouts.scss b/packages/theme/styles/_layouts.scss
index be2fadf6d8..a9aaf0b05a 100644
--- a/packages/theme/styles/_layouts.scss
+++ b/packages/theme/styles/_layouts.scss
@@ -270,6 +270,7 @@ input.search {
.items-center { align-items: center; }
.self-end { align-self: end; }
+.flex-gap-4 { gap: 1rem; }
.flex-gap-3 { gap: .75rem; }
.flex-gap-2 { gap: .5rem; }
.flex-gap-1-5 { gap: .375rem; }
diff --git a/packages/ui/src/components/TimeShiftPopup.svelte b/packages/ui/src/components/TimeShiftPopup.svelte
index 8bebe31943..3bc6f55a53 100644
--- a/packages/ui/src/components/TimeShiftPopup.svelte
+++ b/packages/ui/src/components/TimeShiftPopup.svelte
@@ -16,7 +16,7 @@
import { DateRangeMode } from '@hcengineering/core'
import { createEventDispatcher } from 'svelte'
import ui from '../plugin'
- import { DateOrShift } from '../types'
+ import { DAY, DateOrShift, HOUR, MINUTE } from '../types'
import DateRangePresenter from './calendar/DateRangePresenter.svelte'
import TimeShiftPresenter from './TimeShiftPresenter.svelte'
@@ -30,9 +30,7 @@
const dispatch = createEventDispatcher()
$: base = direction === 'before' ? -1 : 1
- const MINUTE = 60 * 1000
- const HOUR = 60 * MINUTE
- const DAY = 24 * HOUR
+
$: values = [...minutes.map((m) => m * MINUTE), ...hours.map((m) => m * HOUR), ...days.map((m) => m * DAY)]
diff --git a/packages/ui/src/components/TimeShiftPresenter.svelte b/packages/ui/src/components/TimeShiftPresenter.svelte
index a225b890f8..9d86b59777 100644
--- a/packages/ui/src/components/TimeShiftPresenter.svelte
+++ b/packages/ui/src/components/TimeShiftPresenter.svelte
@@ -16,14 +16,10 @@
import { translate } from '@hcengineering/platform'
import ui from '../plugin'
import { themeStore } from '@hcengineering/theme'
+ import { DAY, HOUR, MINUTE } from '../types'
export let value: number
- const SECOND = 1000
- const MINUTE = SECOND * 60
- const HOUR = MINUTE * 60
- const DAY = HOUR * 24
-
let time: string = ''
async function formatTime (value: number) {
diff --git a/packages/ui/src/components/TimeSince.svelte b/packages/ui/src/components/TimeSince.svelte
index 71f126b6cc..9122eb444b 100644
--- a/packages/ui/src/components/TimeSince.svelte
+++ b/packages/ui/src/components/TimeSince.svelte
@@ -13,21 +13,13 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-->
-
-
-