From 38bc85bf6c103dc8f6c04481ea28f970dc8204fc Mon Sep 17 00:00:00 2001 From: Artyom Savchenko Date: Tue, 16 Sep 2025 13:15:56 +0700 Subject: [PATCH] Combine into one application chat, inbox and home (#9865) Signed-off-by: Artem Savchenko --- common/config/rush/pnpm-lock.yaml | 300 +----------------- desktop/package.json | 6 - desktop/src/ui/index.ts | 4 +- desktop/src/ui/notifications.ts | 4 +- desktop/src/ui/platform.ts | 8 - dev/prod/package.json | 6 - dev/prod/src/platform.ts | 8 - models/all/package.json | 4 +- models/all/src/index.ts | 12 - models/all/src/migration.ts | 2 - models/card/src/index.ts | 22 ++ models/home/.eslintrc.js | 7 - models/home/.npmignore | 4 - models/home/config/rig.json | 5 - models/home/jest.config.js | 7 - models/home/package.json | 50 --- models/home/src/index.ts | 42 --- models/home/src/migration.ts | 21 -- models/home/src/plugin.ts | 26 -- models/home/tsconfig.json | 12 - models/inbox/.eslintrc.js | 7 - models/inbox/.npmignore | 4 - models/inbox/config/rig.json | 5 - models/inbox/jest.config.js | 7 - models/inbox/package.json | 50 --- models/inbox/src/index.ts | 42 --- models/inbox/src/migration.ts | 21 -- models/inbox/src/plugin.ts | 26 -- models/inbox/tsconfig.json | 12 - plugins/card-assets/assets/icons.svg | 8 + plugins/card-assets/lang/cs.json | 3 +- plugins/card-assets/lang/de.json | 3 +- plugins/card-assets/lang/en.json | 3 +- plugins/card-assets/lang/es.json | 3 +- plugins/card-assets/lang/fr.json | 3 +- plugins/card-assets/lang/it.json | 3 +- plugins/card-assets/lang/ja.json | 3 +- plugins/card-assets/lang/pt.json | 3 +- plugins/card-assets/lang/ru.json | 3 +- plugins/card-assets/lang/zh.json | 3 +- plugins/card-assets/src/index.ts | 3 +- .../src/components/CardFeedView.svelte} | 78 +---- .../src/components/FeedCardPresenter.svelte} | 16 +- .../src/components/NewCardForm.svelte | 3 +- .../settings/view/DescriptorBox.svelte | 18 +- plugins/card-resources/src/index.ts | 5 +- plugins/card-resources/src/plugin.ts | 6 +- plugins/card/src/index.ts | 9 +- plugins/chat-assets/assets/icons.svg | 10 + plugins/chat-assets/lang/cs.json | 8 +- plugins/chat-assets/lang/de.json | 8 +- plugins/chat-assets/lang/en.json | 8 +- plugins/chat-assets/lang/es.json | 9 +- plugins/chat-assets/lang/fr.json | 8 +- plugins/chat-assets/lang/it.json | 8 +- plugins/chat-assets/lang/ja.json | 8 +- plugins/chat-assets/lang/pt.json | 8 +- plugins/chat-assets/lang/ru.json | 8 +- plugins/chat-assets/lang/zh.json | 8 +- plugins/chat-assets/src/index.ts | 4 +- plugins/chat-resources/package.json | 6 + .../src/components/ChatApplication.svelte | 21 +- .../src/components/ChatNavigation.svelte | 144 +++++++-- .../src/components/NavigationHeader.svelte | 30 ++ .../src/components/inbox}/InboxCard.svelte | 0 .../components/inbox}/InboxCardIcon.svelte | 0 .../src/components/inbox}/InboxHeader.svelte | 21 +- .../components/inbox}/InboxNavigation.svelte | 6 +- .../inbox}/InboxNotification.svelte | 0 .../inbox}/InboxViewSettings.svelte | 2 +- .../inbox}/MessageNotification.svelte | 0 .../src/components/inbox}/NotifyMarker.svelte | 0 .../inbox}/ReactionNotification.svelte | 4 +- .../inbox}/preview/NotificationPreview.svelte | 0 .../inbox}/preview/PreviewTemplate.svelte | 2 +- plugins/chat-resources/src/location.ts | 14 + .../src/settings.ts | 2 +- plugins/chat/src/index.ts | 12 +- plugins/home-assets/.eslintrc.js | 7 - plugins/home-assets/assets/icons.svg | 22 -- plugins/home-assets/config/rig.json | 5 - plugins/home-assets/jest.config.js | 7 - plugins/home-assets/lang/cs.json | 11 - plugins/home-assets/lang/de.json | 11 - plugins/home-assets/lang/en.json | 11 - plugins/home-assets/lang/es.json | 11 - plugins/home-assets/lang/fr.json | 11 - plugins/home-assets/lang/it.json | 11 - plugins/home-assets/lang/ja.json | 11 - plugins/home-assets/lang/pt.json | 11 - plugins/home-assets/lang/ru.json | 11 - plugins/home-assets/lang/zh.json | 11 - plugins/home-assets/package.json | 39 --- .../home-assets/src/__tests__/lang.test.ts | 21 -- plugins/home-assets/src/index.ts | 25 -- plugins/home-assets/tsconfig.json | 13 - plugins/home-resources/.eslintrc.js | 4 - plugins/home-resources/.prettierrc | 22 -- plugins/home-resources/config/rig.json | 5 - plugins/home-resources/jest.config.js | 5 - plugins/home-resources/package.json | 60 ---- plugins/home-resources/postcss.config.js | 5 - .../src/components/HomeApplication.svelte | 87 ----- .../src/components/HomeSettings.svelte | 154 --------- .../src/components/Navigator.svelte | 54 ---- plugins/home-resources/src/home.ts | 95 ------ plugins/home-resources/src/index.ts | 24 -- plugins/home-resources/src/plugin.ts | 32 -- plugins/home-resources/src/types.ts | 25 -- plugins/home-resources/svelte.config.js | 5 - plugins/home-resources/tsconfig.json | 11 - plugins/home/.eslintrc.js | 7 - plugins/home/.npmignore | 4 - plugins/home/config/rig.json | 4 - plugins/home/jest.config.js | 7 - plugins/home/package.json | 47 --- plugins/home/src/index.ts | 32 -- plugins/home/tsconfig.json | 12 - plugins/inbox-assets/.eslintrc.js | 7 - plugins/inbox-assets/assets/icons.svg | 7 - plugins/inbox-assets/config/rig.json | 5 - plugins/inbox-assets/jest.config.js | 7 - plugins/inbox-assets/lang/cs.json | 9 - plugins/inbox-assets/lang/de.json | 9 - plugins/inbox-assets/lang/en.json | 9 - plugins/inbox-assets/lang/es.json | 9 - plugins/inbox-assets/lang/fr.json | 9 - plugins/inbox-assets/lang/it.json | 9 - plugins/inbox-assets/lang/ja.json | 9 - plugins/inbox-assets/lang/pt.json | 9 - plugins/inbox-assets/lang/ru.json | 9 - plugins/inbox-assets/lang/zh.json | 9 - plugins/inbox-assets/package.json | 43 --- .../inbox-assets/src/__tests__/lang.test.ts | 21 -- plugins/inbox-assets/src/index.ts | 22 -- plugins/inbox-assets/tsconfig.json | 13 - plugins/inbox-resources/.eslintrc.js | 4 - plugins/inbox-resources/.prettierrc | 22 -- plugins/inbox-resources/config/rig.json | 5 - plugins/inbox-resources/jest.config.js | 5 - plugins/inbox-resources/package.json | 63 ---- plugins/inbox-resources/postcss.config.js | 5 - .../src/components/InboxApplication.svelte | 147 --------- plugins/inbox-resources/src/index.ts | 24 -- plugins/inbox-resources/src/location.ts | 53 ---- plugins/inbox-resources/src/plugin.ts | 30 -- plugins/inbox-resources/svelte.config.js | 5 - plugins/inbox-resources/tsconfig.json | 11 - plugins/inbox/.eslintrc.js | 7 - plugins/inbox/.npmignore | 4 - plugins/inbox/config/rig.json | 4 - plugins/inbox/jest.config.js | 7 - plugins/inbox/package.json | 47 --- plugins/inbox/src/index.ts | 29 -- plugins/inbox/tsconfig.json | 12 - plugins/workbench-resources/package.json | 2 +- .../src/components/Applications.svelte | 6 +- rush.json | 42 +-- 158 files changed, 424 insertions(+), 2534 deletions(-) delete mode 100644 models/home/.eslintrc.js delete mode 100644 models/home/.npmignore delete mode 100644 models/home/config/rig.json delete mode 100644 models/home/jest.config.js delete mode 100644 models/home/package.json delete mode 100644 models/home/src/index.ts delete mode 100644 models/home/src/migration.ts delete mode 100644 models/home/src/plugin.ts delete mode 100644 models/home/tsconfig.json delete mode 100644 models/inbox/.eslintrc.js delete mode 100644 models/inbox/.npmignore delete mode 100644 models/inbox/config/rig.json delete mode 100644 models/inbox/jest.config.js delete mode 100644 models/inbox/package.json delete mode 100644 models/inbox/src/index.ts delete mode 100644 models/inbox/src/migration.ts delete mode 100644 models/inbox/src/plugin.ts delete mode 100644 models/inbox/tsconfig.json rename plugins/{home-resources/src/components/Home.svelte => card-resources/src/components/CardFeedView.svelte} (68%) rename plugins/{home-resources/src/components/HomeCardPresenter.svelte => card-resources/src/components/FeedCardPresenter.svelte} (93%) create mode 100644 plugins/chat-resources/src/components/NavigationHeader.svelte rename plugins/{inbox-resources/src/components => chat-resources/src/components/inbox}/InboxCard.svelte (100%) rename plugins/{inbox-resources/src/components => chat-resources/src/components/inbox}/InboxCardIcon.svelte (100%) rename plugins/{inbox-resources/src/components => chat-resources/src/components/inbox}/InboxHeader.svelte (81%) rename plugins/{inbox-resources/src/components => chat-resources/src/components/inbox}/InboxNavigation.svelte (97%) rename plugins/{inbox-resources/src/components => chat-resources/src/components/inbox}/InboxNotification.svelte (100%) rename plugins/{inbox-resources/src/components => chat-resources/src/components/inbox}/InboxViewSettings.svelte (98%) rename plugins/{inbox-resources/src/components => chat-resources/src/components/inbox}/MessageNotification.svelte (100%) rename plugins/{inbox-resources/src/components => chat-resources/src/components/inbox}/NotifyMarker.svelte (100%) rename plugins/{inbox-resources/src/components => chat-resources/src/components/inbox}/ReactionNotification.svelte (96%) rename plugins/{inbox-resources/src/components => chat-resources/src/components/inbox}/preview/NotificationPreview.svelte (100%) rename plugins/{inbox-resources/src/components => chat-resources/src/components/inbox}/preview/PreviewTemplate.svelte (99%) rename plugins/{inbox-resources => chat-resources}/src/settings.ts (97%) delete mode 100644 plugins/home-assets/.eslintrc.js delete mode 100644 plugins/home-assets/assets/icons.svg delete mode 100644 plugins/home-assets/config/rig.json delete mode 100644 plugins/home-assets/jest.config.js delete mode 100644 plugins/home-assets/lang/cs.json delete mode 100644 plugins/home-assets/lang/de.json delete mode 100644 plugins/home-assets/lang/en.json delete mode 100644 plugins/home-assets/lang/es.json delete mode 100644 plugins/home-assets/lang/fr.json delete mode 100644 plugins/home-assets/lang/it.json delete mode 100644 plugins/home-assets/lang/ja.json delete mode 100644 plugins/home-assets/lang/pt.json delete mode 100644 plugins/home-assets/lang/ru.json delete mode 100644 plugins/home-assets/lang/zh.json delete mode 100644 plugins/home-assets/package.json delete mode 100644 plugins/home-assets/src/__tests__/lang.test.ts delete mode 100644 plugins/home-assets/src/index.ts delete mode 100644 plugins/home-assets/tsconfig.json delete mode 100644 plugins/home-resources/.eslintrc.js delete mode 100644 plugins/home-resources/.prettierrc delete mode 100644 plugins/home-resources/config/rig.json delete mode 100644 plugins/home-resources/jest.config.js delete mode 100644 plugins/home-resources/package.json delete mode 100644 plugins/home-resources/postcss.config.js delete mode 100644 plugins/home-resources/src/components/HomeApplication.svelte delete mode 100644 plugins/home-resources/src/components/HomeSettings.svelte delete mode 100644 plugins/home-resources/src/components/Navigator.svelte delete mode 100644 plugins/home-resources/src/home.ts delete mode 100644 plugins/home-resources/src/index.ts delete mode 100644 plugins/home-resources/src/plugin.ts delete mode 100644 plugins/home-resources/src/types.ts delete mode 100644 plugins/home-resources/svelte.config.js delete mode 100644 plugins/home-resources/tsconfig.json delete mode 100644 plugins/home/.eslintrc.js delete mode 100644 plugins/home/.npmignore delete mode 100644 plugins/home/config/rig.json delete mode 100644 plugins/home/jest.config.js delete mode 100644 plugins/home/package.json delete mode 100644 plugins/home/src/index.ts delete mode 100644 plugins/home/tsconfig.json delete mode 100644 plugins/inbox-assets/.eslintrc.js delete mode 100644 plugins/inbox-assets/assets/icons.svg delete mode 100644 plugins/inbox-assets/config/rig.json delete mode 100644 plugins/inbox-assets/jest.config.js delete mode 100644 plugins/inbox-assets/lang/cs.json delete mode 100644 plugins/inbox-assets/lang/de.json delete mode 100644 plugins/inbox-assets/lang/en.json delete mode 100644 plugins/inbox-assets/lang/es.json delete mode 100644 plugins/inbox-assets/lang/fr.json delete mode 100644 plugins/inbox-assets/lang/it.json delete mode 100644 plugins/inbox-assets/lang/ja.json delete mode 100644 plugins/inbox-assets/lang/pt.json delete mode 100644 plugins/inbox-assets/lang/ru.json delete mode 100644 plugins/inbox-assets/lang/zh.json delete mode 100644 plugins/inbox-assets/package.json delete mode 100644 plugins/inbox-assets/src/__tests__/lang.test.ts delete mode 100644 plugins/inbox-assets/src/index.ts delete mode 100644 plugins/inbox-assets/tsconfig.json delete mode 100644 plugins/inbox-resources/.eslintrc.js delete mode 100644 plugins/inbox-resources/.prettierrc delete mode 100644 plugins/inbox-resources/config/rig.json delete mode 100644 plugins/inbox-resources/jest.config.js delete mode 100644 plugins/inbox-resources/package.json delete mode 100644 plugins/inbox-resources/postcss.config.js delete mode 100644 plugins/inbox-resources/src/components/InboxApplication.svelte delete mode 100644 plugins/inbox-resources/src/index.ts delete mode 100644 plugins/inbox-resources/src/location.ts delete mode 100644 plugins/inbox-resources/src/plugin.ts delete mode 100644 plugins/inbox-resources/svelte.config.js delete mode 100644 plugins/inbox-resources/tsconfig.json delete mode 100644 plugins/inbox/.eslintrc.js delete mode 100644 plugins/inbox/.npmignore delete mode 100644 plugins/inbox/config/rig.json delete mode 100644 plugins/inbox/jest.config.js delete mode 100644 plugins/inbox/package.json delete mode 100644 plugins/inbox/src/index.ts delete mode 100644 plugins/inbox/tsconfig.json diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 0d2e69c6e9..5e86ef7436 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -436,15 +436,6 @@ importers: '@rush-temp/hls': specifier: file:./projects/hls.tgz version: file:projects/hls.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(@types/node@22.15.29)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - '@rush-temp/home': - specifier: file:./projects/home.tgz - version: file:projects/home.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(@types/node@22.15.29)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - '@rush-temp/home-assets': - specifier: file:./projects/home-assets.tgz - version: file:projects/home-assets.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - '@rush-temp/home-resources': - specifier: file:./projects/home-resources.tgz - version: file:projects/home-resources.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(@types/node@22.15.29)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) '@rush-temp/hr': specifier: file:./projects/hr.tgz version: file:projects/hr.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(@types/node@22.15.29)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) @@ -478,15 +469,6 @@ importers: '@rush-temp/importer': specifier: file:./projects/importer.tgz version: file:projects/importer.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - '@rush-temp/inbox': - specifier: file:./projects/inbox.tgz - version: file:projects/inbox.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(@types/node@22.15.29)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - '@rush-temp/inbox-assets': - specifier: file:./projects/inbox-assets.tgz - version: file:projects/inbox-assets.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - '@rush-temp/inbox-resources': - specifier: file:./projects/inbox-resources.tgz - version: file:projects/inbox-resources.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(@types/node@22.15.29)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) '@rush-temp/integration-client': specifier: file:./projects/integration-client.tgz version: file:projects/integration-client.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(encoding@0.1.13)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) @@ -646,18 +628,12 @@ importers: '@rush-temp/model-guest': specifier: file:./projects/model-guest.tgz version: file:projects/model-guest.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - '@rush-temp/model-home': - specifier: file:./projects/model-home.tgz - version: file:projects/model-home.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) '@rush-temp/model-hr': specifier: file:./projects/model-hr.tgz version: file:projects/model-hr.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) '@rush-temp/model-huly-mail': specifier: file:./projects/model-huly-mail.tgz version: file:projects/model-huly-mail.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - '@rush-temp/model-inbox': - specifier: file:./projects/model-inbox.tgz - version: file:projects/model-inbox.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) '@rush-temp/model-inventory': specifier: file:./projects/model-inventory.tgz version: file:projects/model-inventory.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) @@ -4533,7 +4509,7 @@ packages: version: 0.0.0 '@rush-temp/chat-resources@file:projects/chat-resources.tgz': - resolution: {integrity: sha512-AFDK1yaBNWcRGrA51lZqMGoPtil/JilIefqpskBgQDGu6I0IjnM6HgatPOctxZhFuahJ7GwdZQ3LuNqwNOv8/g==, tarball: file:projects/chat-resources.tgz} + resolution: {integrity: sha512-sP+ZsvakZdvPfnrPYm4ssdiDY62owaFCaFf8sV6/9ryxwdPdmME87pBo5ttkVNXPfs7SB+TqK2BvprpWqX4DOA==, tarball: file:projects/chat-resources.tgz} version: 0.0.0 '@rush-temp/chat@file:projects/chat.tgz': @@ -4681,7 +4657,7 @@ packages: version: 0.0.0 '@rush-temp/desktop@file:projects/desktop.tgz': - resolution: {integrity: sha512-PXWgVzj8RCiUsgJ1VjZKZtPSz4oriYw9M8Op+z+pF53k9vsbfXVg+pY3h4kqHqEITKNOPZ67TJm50Axc+YCNYQ==, tarball: file:projects/desktop.tgz} + resolution: {integrity: sha512-LB9wCmyPPqzwihsL8yWC+gk92v4/VkKdooa0q0ylkChu46c0b5QdH40QoWSDJgNqqSO5XRFwM5jpmtRlMm29lg==, tarball: file:projects/desktop.tgz} version: 0.0.0 '@rush-temp/devmodel-resources@file:projects/devmodel-resources.tgz': @@ -4804,18 +4780,6 @@ packages: resolution: {integrity: sha512-kKQdiBBC9n/TPOn0CPu/7bKdCzniksEZQmXwRKNw3O1IKatBjxMoaKwmAngGR5X6IkzF4lzhzoBHeos9LpdAiw==, tarball: file:projects/hls.tgz} version: 0.0.0 - '@rush-temp/home-assets@file:projects/home-assets.tgz': - resolution: {integrity: sha512-X70gK5STU72BH7qpbGG+7dBGczEpfZzWnm63zvnKEudhx7t2uf9mLzQKiP+U3NfVhySBneAjM43Q+hJICV7wsA==, tarball: file:projects/home-assets.tgz} - version: 0.0.0 - - '@rush-temp/home-resources@file:projects/home-resources.tgz': - resolution: {integrity: sha512-Kyb2Hki++gRCMxA1KlquQPYK2ngBm36RiQrPBkvLVgzDBgGGS5vpNuha+j4To6XtCUjC/KVVtR4S/mjhuE6DkQ==, tarball: file:projects/home-resources.tgz} - version: 0.0.0 - - '@rush-temp/home@file:projects/home.tgz': - resolution: {integrity: sha512-rdekzJmsD0T3s8W31vA9GLHkXz3euNTjv9EvOluzkS7bK8WTcKmgtS2DfmyrxwfIo8W9zXjD/ju1AOMP9qwRgA==, tarball: file:projects/home.tgz} - version: 0.0.0 - '@rush-temp/hr-assets@file:projects/hr-assets.tgz': resolution: {integrity: sha512-hGQa+GtCy/Zp3WxkkmI9bnoB0chnNA1OilG8C8Q9OdIrIBkE6bJUYgECwSxXsvxYNR02DVGfj45pKSwM+caw+w==, tarball: file:projects/hr-assets.tgz} version: 0.0.0 @@ -4860,18 +4824,6 @@ packages: resolution: {integrity: sha512-dsrMgXjTA7X480tMaHe072WONvg1+vlvrhOrhdx3cMHEj4RmfBSBo+gA0l2ie8Upk20V5fd8jp/higlObjGPGg==, tarball: file:projects/importer.tgz} version: 0.0.0 - '@rush-temp/inbox-assets@file:projects/inbox-assets.tgz': - resolution: {integrity: sha512-wGfrcE6wXajDzbKOF/JWsiwKJdg7qJNXMH6ezqhW2vTAFHqQV5ygBcJwK7LXCUcj32ndS6LVbhbYVhiUqGrJKA==, tarball: file:projects/inbox-assets.tgz} - version: 0.0.0 - - '@rush-temp/inbox-resources@file:projects/inbox-resources.tgz': - resolution: {integrity: sha512-SVa2P7Wkz+LM2Y3qw7lkJtUktOPMX1FXx7R9bVDR/VDDTxG5ZRknMWOQq3LK8GHtSUdu7zHRGSulF5YsuYaPdA==, tarball: file:projects/inbox-resources.tgz} - version: 0.0.0 - - '@rush-temp/inbox@file:projects/inbox.tgz': - resolution: {integrity: sha512-Qv3JD4silIEc3DbDzvxoBF+bW3a5/+oZXYBudlOu0Rjl83i4Rq5XOV9wWSa74ob9XlyVPvEl80OuqcEEydbS/g==, tarball: file:projects/inbox.tgz} - version: 0.0.0 - '@rush-temp/integration-client@file:projects/integration-client.tgz': resolution: {integrity: sha512-dM4gzSAlhotI4b0vEZF+UpyMbNdkifPyHN9Jyy/BNgPEFhBeEdt3qzDwvwLG7Vw7eLKwNwYGhVeus0ymSDTDLA==, tarball: file:projects/integration-client.tgz} version: 0.0.0 @@ -4989,7 +4941,7 @@ packages: version: 0.0.0 '@rush-temp/model-all@file:projects/model-all.tgz': - resolution: {integrity: sha512-H7ZBVosjqp+HIVfB6YsDkGxXZjF9lv/e5GQoRUrZ9CDLIYkkq+HYBxjQPz4rIpx4TbpFqUNHZvDzXmDjyhYczQ==, tarball: file:projects/model-all.tgz} + resolution: {integrity: sha512-u5b+jP4WxAVIk6DlawxySE+qDG7iz7YD3dTT3LCgR3Ml5RkMOlej4YtbO0YQmX4wp4l4gMJKdRCgBCpVfytksg==, tarball: file:projects/model-all.tgz} version: 0.0.0 '@rush-temp/model-analytics-collector@file:projects/model-analytics-collector.tgz': @@ -5080,10 +5032,6 @@ packages: resolution: {integrity: sha512-kKs3ou5CtoDanrPvhLK/PPbvL38gGOyy9kf3/IOtmV5E+cBZ7+4NmaY44sLgUrv2+s4LBytAJDFTrWaEMjG46g==, tarball: file:projects/model-guest.tgz} version: 0.0.0 - '@rush-temp/model-home@file:projects/model-home.tgz': - resolution: {integrity: sha512-TPps1Rv4wE6cg/cslfxtJPveWIGnZWj4tnWBkVDCwVvuvvVzkh85+I+pPx93gzVdBHkICD8tJP1xZdhORE9G4A==, tarball: file:projects/model-home.tgz} - version: 0.0.0 - '@rush-temp/model-hr@file:projects/model-hr.tgz': resolution: {integrity: sha512-84aXICE02BHlrNiYDoUaZkO23jI1I77JaWcLOQPIKWXyh781IJyaNAnz8dSzeNQ9OW2GVoGXy/3oGErqcmNIeg==, tarball: file:projects/model-hr.tgz} version: 0.0.0 @@ -5092,10 +5040,6 @@ packages: resolution: {integrity: sha512-uaNvuLE4Qkzu/JfrEtTYAGkn8qV7ShiTFh3EPRfIzo3e576VVXANz3uacJn6FF1lq5i6ytZ4o6/6EP4kWwwUNg==, tarball: file:projects/model-huly-mail.tgz} version: 0.0.0 - '@rush-temp/model-inbox@file:projects/model-inbox.tgz': - resolution: {integrity: sha512-X5gQAMifnHkDejG9m6Zf/4l/SLVr5zMgVLntRqInmBmZn6Fy7oc6KAWnObQtfeJkB+hkuG/4Vl3p0P5WmEbznQ==, tarball: file:projects/model-inbox.tgz} - version: 0.0.0 - '@rush-temp/model-inventory@file:projects/model-inventory.tgz': resolution: {integrity: sha512-l/qARUo/KdNQP3vlCab69DCwGKrE1sXClTe4bzjOoD4rsakiq7ksCoIfTvahhBo3qaTMJMjA8SPsrB6Xt3EfSQ==, tarball: file:projects/model-inventory.tgz} version: 0.0.0 @@ -5565,7 +5509,7 @@ packages: version: 0.0.0 '@rush-temp/process-resources@file:projects/process-resources.tgz': - resolution: {integrity: sha512-/xScbDuuS/95ZdrhqSgLLtn16eOnWk1Ot+h4DtkwoRPYx9w9xs3xvEGkXA7I9isWtZivNMEVDMtBDmj5cUIdKg==, tarball: file:projects/process-resources.tgz} + resolution: {integrity: sha512-oE8AV/FxaPReVuZdIA/Qu7cqQ4SXO0Dnn6Vhys7wWcOy9DDbv3uHkQldkcxwBaTliUmxiknbsnDez/ctzaaugw==, tarball: file:projects/process-resources.tgz} version: 0.0.0 '@rush-temp/process@file:projects/process.tgz': @@ -5573,7 +5517,7 @@ packages: version: 0.0.0 '@rush-temp/prod@file:projects/prod.tgz': - resolution: {integrity: sha512-AqCLVGDUvKTv0HvUxn6HuZRYxOjNXq4oSM0p6ieSUpF+yLRyg5QrYxQUk+smPh6pmRvT7484ekfc3yqMXFpfWQ==, tarball: file:projects/prod.tgz} + resolution: {integrity: sha512-OvmMqiOyuDeKVGHc7g8UxMlvr9WAJsqtqICsv6kcx9vSvB7bB0iXOLY9CevyOOBDk5Y6OvRKWJKeY9pif+pjMg==, tarball: file:projects/prod.tgz} version: 0.0.0 '@rush-temp/products-assets@file:projects/products-assets.tgz': @@ -6197,7 +6141,7 @@ packages: version: 0.0.0 '@rush-temp/workbench-resources@file:projects/workbench-resources.tgz': - resolution: {integrity: sha512-9n+SC3hrWkS9CeoN1W3G/v7/W6jVU/PQ/mYx+oJdVFHjVCcXeK2DVcpeq3RdR2FkgWjCrNxtYIx6xDSx6nTLcQ==, tarball: file:projects/workbench-resources.tgz} + resolution: {integrity: sha512-GfcFY/TIYaUSOTC2YI3Fl579sAPM4+qNzd9oe0JXwE4C2Zsz4TUFtNNtzM4KnVXmqkf6t4AT8ZaYcjsGnq8rxQ==, tarball: file:projects/workbench-resources.tgz} version: 0.0.0 '@rush-temp/workbench@file:projects/workbench.tgz': @@ -20747,97 +20691,6 @@ snapshots: - supports-color - ts-node - '@rush-temp/home-assets@file:projects/home-assets.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': - dependencies: - '@types/jest': 29.5.12 - '@types/node': 22.15.29 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.8.3) - eslint: 8.56.0 - eslint-config-standard-with-typescript: 40.0.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3))(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint-plugin-n@15.7.0(eslint@8.56.0))(eslint-plugin-promise@6.1.1(eslint@8.56.0))(eslint@8.56.0)(typescript@5.8.3) - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-n: 15.7.0(eslint@8.56.0) - eslint-plugin-promise: 6.1.1(eslint@8.56.0) - jest: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - prettier: 3.2.5 - ts-jest: 29.1.2(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - '@babel/core' - - '@jest/types' - - babel-jest - - babel-plugin-macros - - esbuild - - node-notifier - - supports-color - - ts-node - - '@rush-temp/home-resources@file:projects/home-resources.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(@types/node@22.15.29)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': - dependencies: - '@types/jest': 29.5.12 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.8.3) - eslint: 8.56.0 - eslint-config-standard-with-typescript: 40.0.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3))(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint-plugin-n@15.7.0(eslint@8.56.0))(eslint-plugin-promise@6.1.1(eslint@8.56.0))(eslint@8.56.0)(typescript@5.8.3) - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-n: 15.7.0(eslint@8.56.0) - eslint-plugin-promise: 6.1.1(eslint@8.56.0) - eslint-plugin-svelte: 2.35.1(eslint@8.56.0)(svelte@4.2.20)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - fast-equals: 5.2.2 - jest: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - prettier: 3.2.5 - prettier-plugin-svelte: 3.2.2(prettier@3.2.5)(svelte@4.2.20) - sass: 1.71.1 - svelte: 4.2.20 - svelte-check: 3.6.9(@babel/core@7.23.9)(postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(postcss@8.5.3)(sass@1.71.1)(svelte@4.2.20) - svelte-eslint-parser: 0.33.1(svelte@4.2.20) - svelte-loader: 3.2.0(svelte@4.2.20) - svelte-preprocess: 5.1.3(@babel/core@7.23.9)(postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(postcss@8.5.3)(sass@1.71.1)(svelte@4.2.20)(typescript@5.8.3) - ts-jest: 29.1.2(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - '@babel/core' - - '@jest/types' - - '@types/node' - - babel-jest - - babel-plugin-macros - - coffeescript - - esbuild - - less - - node-notifier - - postcss - - postcss-load-config - - pug - - stylus - - sugarss - - supports-color - - ts-node - - '@rush-temp/home@file:projects/home.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(@types/node@22.15.29)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': - dependencies: - '@types/jest': 29.5.12 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.8.3) - eslint: 8.56.0 - eslint-config-standard-with-typescript: 40.0.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3))(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint-plugin-n@15.7.0(eslint@8.56.0))(eslint-plugin-promise@6.1.1(eslint@8.56.0))(eslint@8.56.0)(typescript@5.8.3) - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-n: 15.7.0(eslint@8.56.0) - eslint-plugin-promise: 6.1.1(eslint@8.56.0) - jest: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - prettier: 3.2.5 - ts-jest: 29.1.2(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - '@babel/core' - - '@jest/types' - - '@types/node' - - babel-jest - - babel-plugin-macros - - esbuild - - node-notifier - - supports-color - - ts-node - '@rush-temp/hr-assets@file:projects/hr-assets.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': dependencies: '@types/jest': 29.5.12 @@ -21179,97 +21032,6 @@ snapshots: - supports-color - ts-node - '@rush-temp/inbox-assets@file:projects/inbox-assets.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': - dependencies: - '@types/jest': 29.5.12 - '@types/node': 22.15.29 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.8.3) - eslint: 8.56.0 - eslint-config-standard-with-typescript: 40.0.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3))(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint-plugin-n@15.7.0(eslint@8.56.0))(eslint-plugin-promise@6.1.1(eslint@8.56.0))(eslint@8.56.0)(typescript@5.8.3) - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-n: 15.7.0(eslint@8.56.0) - eslint-plugin-promise: 6.1.1(eslint@8.56.0) - jest: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - prettier: 3.2.5 - ts-jest: 29.1.2(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - '@babel/core' - - '@jest/types' - - babel-jest - - babel-plugin-macros - - esbuild - - node-notifier - - supports-color - - ts-node - - '@rush-temp/inbox-resources@file:projects/inbox-resources.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(@types/node@22.15.29)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': - dependencies: - '@types/jest': 29.5.12 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.8.3) - eslint: 8.56.0 - eslint-config-standard-with-typescript: 40.0.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3))(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint-plugin-n@15.7.0(eslint@8.56.0))(eslint-plugin-promise@6.1.1(eslint@8.56.0))(eslint@8.56.0)(typescript@5.8.3) - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-n: 15.7.0(eslint@8.56.0) - eslint-plugin-promise: 6.1.1(eslint@8.56.0) - eslint-plugin-svelte: 2.35.1(eslint@8.56.0)(svelte@4.2.20)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - fast-equals: 5.2.2 - jest: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - prettier: 3.2.5 - prettier-plugin-svelte: 3.2.2(prettier@3.2.5)(svelte@4.2.20) - sass: 1.71.1 - svelte: 4.2.20 - svelte-check: 3.6.9(@babel/core@7.23.9)(postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(postcss@8.5.3)(sass@1.71.1)(svelte@4.2.20) - svelte-eslint-parser: 0.33.1(svelte@4.2.20) - svelte-loader: 3.2.0(svelte@4.2.20) - svelte-preprocess: 5.1.3(@babel/core@7.23.9)(postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(postcss@8.5.3)(sass@1.71.1)(svelte@4.2.20)(typescript@5.8.3) - ts-jest: 29.1.2(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - '@babel/core' - - '@jest/types' - - '@types/node' - - babel-jest - - babel-plugin-macros - - coffeescript - - esbuild - - less - - node-notifier - - postcss - - postcss-load-config - - pug - - stylus - - sugarss - - supports-color - - ts-node - - '@rush-temp/inbox@file:projects/inbox.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(@types/node@22.15.29)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': - dependencies: - '@types/jest': 29.5.12 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.8.3) - eslint: 8.56.0 - eslint-config-standard-with-typescript: 40.0.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3))(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint-plugin-n@15.7.0(eslint@8.56.0))(eslint-plugin-promise@6.1.1(eslint@8.56.0))(eslint@8.56.0)(typescript@5.8.3) - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-n: 15.7.0(eslint@8.56.0) - eslint-plugin-promise: 6.1.1(eslint@8.56.0) - jest: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - prettier: 3.2.5 - ts-jest: 29.1.2(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - '@babel/core' - - '@jest/types' - - '@types/node' - - babel-jest - - babel-plugin-macros - - esbuild - - node-notifier - - supports-color - - ts-node - '@rush-temp/integration-client@file:projects/integration-client.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(encoding@0.1.13)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': dependencies: '@types/jest': 29.5.12 @@ -22726,31 +22488,6 @@ snapshots: - supports-color - ts-node - '@rush-temp/model-home@file:projects/model-home.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': - dependencies: - '@types/jest': 29.5.12 - '@types/node': 22.15.29 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.8.3) - eslint: 8.56.0 - eslint-config-standard-with-typescript: 40.0.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3))(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint-plugin-n@15.7.0(eslint@8.56.0))(eslint-plugin-promise@6.1.1(eslint@8.56.0))(eslint@8.56.0)(typescript@5.8.3) - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-n: 15.7.0(eslint@8.56.0) - eslint-plugin-promise: 6.1.1(eslint@8.56.0) - jest: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - prettier: 3.2.5 - ts-jest: 29.1.2(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - '@babel/core' - - '@jest/types' - - babel-jest - - babel-plugin-macros - - esbuild - - node-notifier - - supports-color - - ts-node - '@rush-temp/model-hr@file:projects/model-hr.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': dependencies: '@types/jest': 29.5.12 @@ -22801,31 +22538,6 @@ snapshots: - supports-color - ts-node - '@rush-temp/model-inbox@file:projects/model-inbox.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': - dependencies: - '@types/jest': 29.5.12 - '@types/node': 22.15.29 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.8.3) - eslint: 8.56.0 - eslint-config-standard-with-typescript: 40.0.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.8.3))(eslint@8.56.0)(typescript@5.8.3))(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint-plugin-n@15.7.0(eslint@8.56.0))(eslint-plugin-promise@6.1.1(eslint@8.56.0))(eslint@8.56.0)(typescript@5.8.3) - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-n: 15.7.0(eslint@8.56.0) - eslint-plugin-promise: 6.1.1(eslint@8.56.0) - jest: 29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)) - prettier: 3.2.5 - ts-jest: 29.1.2(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(jest@29.7.0(@types/node@22.15.29)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3)))(typescript@5.8.3) - typescript: 5.8.3 - transitivePeerDependencies: - - '@babel/core' - - '@jest/types' - - babel-jest - - babel-plugin-macros - - esbuild - - node-notifier - - supports-color - - ts-node - '@rush-temp/model-inventory@file:projects/model-inventory.tgz(@babel/core@7.23.9)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.9))(esbuild@0.25.9)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.8.3))': dependencies: '@types/jest': 29.5.12 diff --git a/desktop/package.json b/desktop/package.json index c8da040589..00aee948fa 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -243,9 +243,6 @@ "@hcengineering/chat": "^0.6.0", "@hcengineering/chat-assets": "^0.6.0", "@hcengineering/chat-resources": "^0.6.0", - "@hcengineering/inbox": "^0.6.0", - "@hcengineering/inbox-assets": "^0.6.0", - "@hcengineering/inbox-resources": "^0.6.0", "@hcengineering/achievement": "^0.6.0", "@hcengineering/achievement-assets": "^0.6.0", "@hcengineering/achievement-resources": "^0.6.0", @@ -261,9 +258,6 @@ "@hcengineering/huly-mail": "^0.6.0", "@hcengineering/huly-mail-assets": "^0.6.0", "@hcengineering/huly-mail-resources": "^0.6.0", - "@hcengineering/home": "^0.6.0", - "@hcengineering/home-assets": "^0.6.0", - "@hcengineering/home-resources": "^0.6.0", "electron-squirrel-startup": "~1.0.0", "dotenv": "~16.0.0", "electron-context-menu": "^4.0.4", diff --git a/desktop/src/ui/index.ts b/desktop/src/ui/index.ts index 5e8ad392b3..9a51e98867 100644 --- a/desktop/src/ui/index.ts +++ b/desktop/src/ui/index.ts @@ -18,7 +18,7 @@ import { } from '@hcengineering/ui' import { handleDownloadItem } from '@hcengineering/desktop-downloads' import notification, { notificationId } from '@hcengineering/notification' -import { inboxId } from '@hcengineering/inbox' +import { chatId } from '@hcengineering/chat' import workbench, { workbenchId, logOut } from '@hcengineering/workbench' import { encodeObjectURI } from '@hcengineering/view' import { resolveLocation } from '@hcengineering/notification-resources' @@ -169,7 +169,7 @@ window.addEventListener('DOMContentLoaded', () => { // Support for new inbox with cardId (card-based) if (notificationParams.cardId != null) { const currentLocation = getCurrentResolvedLocation() - navigateToUrl(`${workbenchId}/${currentLocation.path[1]}/${inboxId}/${notificationParams.cardId}`) + navigateToUrl(`${workbenchId}/${currentLocation.path[1]}/${chatId}/${notificationParams.cardId}`) return } diff --git a/desktop/src/ui/notifications.ts b/desktop/src/ui/notifications.ts index ecd18b019e..f604ced72d 100644 --- a/desktop/src/ui/notifications.ts +++ b/desktop/src/ui/notifications.ts @@ -14,7 +14,7 @@ import workbench, { workbenchId } from '@hcengineering/workbench' import desktopPreferences, { defaultNotificationPreference } from '@hcengineering/desktop-preferences' import { activePreferences } from '@hcengineering/desktop-preferences-resources' import { getDisplayInboxData, InboxNotificationsClientImpl } from '@hcengineering/notification-resources' -import { inboxId } from '@hcengineering/inbox' +import { chatId } from '@hcengineering/chat' import communication from '@hcengineering/communication' import { ipcMainExposed } from './typesUtils' @@ -164,7 +164,7 @@ export function configureNotifications (): void { notificationHistory.set(notification.id, notification.created.getTime()) electronAPI.sendNotification({ silent: !preferences.playSound, - application: inboxId, + application: chatId, title: notification.content.title, body: `${notification.content.senderName}: ${notification.content.shortText}`, cardId: notification.cardId, diff --git a/desktop/src/ui/platform.ts b/desktop/src/ui/platform.ts index 16749bc2e6..62b7e03cdb 100644 --- a/desktop/src/ui/platform.ts +++ b/desktop/src/ui/platform.ts @@ -64,12 +64,10 @@ import { viewId } from '@hcengineering/view' import workbench, { workbenchId } from '@hcengineering/workbench' import { mailId } from '@hcengineering/mail' import { chatId } from '@hcengineering/chat' -import { inboxId } from '@hcengineering/inbox' import { achievementId } from '@hcengineering/achievement' import communication, { communicationId } from '@hcengineering/communication' import { emojiId } from '@hcengineering/emoji' import { hulyMailId } from '@hcengineering/huly-mail' -import { homeId } from '@hcengineering/home' import billingPlugin, { billingId } from '@hcengineering/billing' import '@hcengineering/activity-assets' @@ -121,14 +119,12 @@ import '@hcengineering/view-assets' import '@hcengineering/workbench-assets' import '@hcengineering/mail-assets' import '@hcengineering/chat-assets' -import '@hcengineering/inbox-assets' import '@hcengineering/achievement-assets' import '@hcengineering/emoji-assets' import '@hcengineering/media-assets' import '@hcengineering/communication-assets' import '@hcengineering/billing-assets' import '@hcengineering/huly-mail-assets' -import '@hcengineering/home-assets' import analyticsCollector, { analyticsCollectorId } from '@hcengineering/analytics-collector' import { coreId } from '@hcengineering/core' @@ -244,14 +240,12 @@ function configureI18n (): void { addStringsLoader(cardId, async (lang: string) => await import(`@hcengineering/card-assets/lang/${lang}.json`)) addStringsLoader(mailId, async (lang: string) => await import(`@hcengineering/mail-assets/lang/${lang}.json`)) addStringsLoader(chatId, async (lang: string) => await import(`@hcengineering/chat-assets/lang/${lang}.json`)) - addStringsLoader(inboxId, async (lang: string) => await import(`@hcengineering/inbox-assets/lang/${lang}.json`)) addStringsLoader(processId, async (lang: string) => await import(`@hcengineering/process-assets/lang/${lang}.json`)) addStringsLoader(achievementId, async (lang: string) => await import(`@hcengineering/achievement-assets/lang/${lang}.json`)) addStringsLoader(communicationId, async (lang: string) => await import(`@hcengineering/communication-assets/lang/${lang}.json`)) addStringsLoader(emojiId, async (lang: string) => await import(`@hcengineering/emoji-assets/lang/${lang}.json`)) addStringsLoader(billingId, async (lang: string) => await import(`@hcengineering/billing-assets/lang/${lang}.json`)) addStringsLoader(hulyMailId, async (lang: string) => await import(`@hcengineering/huly-mail-assets/lang/${lang}.json`)) - addStringsLoader(homeId, async (lang: string) => await import(`@hcengineering/home-assets/lang/${lang}.json`)) } export class PlatformBranding { @@ -418,14 +412,12 @@ export async function configurePlatform (onWorkbenchConnect?: () => Promise import(/* webpackChunkName: "survey" */ '@hcengineering/survey-resources')) addLocation(cardId, () => import(/* webpackChunkName: "card" */ '@hcengineering/card-resources')) addLocation(chatId, () => import(/* webpackChunkName: "chat" */ '@hcengineering/chat-resources')) - addLocation(inboxId, () => import(/* webpackChunkName: "inbox" */ '@hcengineering/inbox-resources')) addLocation(processId, () => import(/* webpackChunkName: "process" */ '@hcengineering/process-resources')) addLocation(achievementId, () => import(/* webpackChunkName: "achievement" */ '@hcengineering/achievement-resources')) addLocation(communicationId, () => import(/* webpackChunkName: "communication" */ '@hcengineering/communication-resources')) addLocation(emojiId, () => import(/* webpackChunkName: "achievement" */ '@hcengineering/emoji-resources')) addLocation(billingId, () => import(/* webpackChunkName: "billing" */ '@hcengineering/billing-resources')) addLocation(hulyMailId, () => import(/* webpackChunkName: "huly-mail" */ '@hcengineering/huly-mail-resources')) - addLocation(homeId, () => import(/* webpackChunkName: "home" */ '@hcengineering/home-resources')) setMetadata(client.metadata.FilterModel, 'ui') setMetadata(client.metadata.ExtraPlugins, ['preference' as Plugin]) diff --git a/dev/prod/package.json b/dev/prod/package.json index 413cdc0389..e64a90c620 100644 --- a/dev/prod/package.json +++ b/dev/prod/package.json @@ -85,9 +85,6 @@ "@hcengineering/chat": "^0.6.0", "@hcengineering/chat-assets": "^0.6.0", "@hcengineering/chat-resources": "^0.6.0", - "@hcengineering/inbox": "^0.6.0", - "@hcengineering/inbox-assets": "^0.6.0", - "@hcengineering/inbox-resources": "^0.6.0", "@hcengineering/chunter": "^0.6.20", "@hcengineering/chunter-assets": "^0.6.18", "@hcengineering/chunter-resources": "^0.6.0", @@ -282,9 +279,6 @@ "@hcengineering/huly-mail": "^0.6.0", "@hcengineering/huly-mail-assets": "^0.6.0", "@hcengineering/huly-mail-resources": "^0.6.0", - "@hcengineering/home": "^0.6.0", - "@hcengineering/home-assets": "^0.6.0", - "@hcengineering/home-resources": "^0.6.0", "@sentry/svelte": "^9.22.0", "posthog-js": "^1.246.0", "readable-stream": "^4.7.0", diff --git a/dev/prod/src/platform.ts b/dev/prod/src/platform.ts index 5fe1593bea..9cebe18e4a 100644 --- a/dev/prod/src/platform.ts +++ b/dev/prod/src/platform.ts @@ -72,13 +72,11 @@ import { mailId } from '@hcengineering/mail' import { chatId } from '@hcengineering/chat' import github, { githubId } from '@hcengineering/github' import { bitrixId } from '@hcengineering/bitrix' -import {inboxId} from '@hcengineering/inbox' import {achievementId} from '@hcengineering/achievement' import communication, { communicationId } from '@hcengineering/communication' import {emojiId} from '@hcengineering/emoji' import billingPlugin, {billingId} from '@hcengineering/billing' import { hulyMailId } from '@hcengineering/huly-mail' -import {homeId} from '@hcengineering/home' import '@hcengineering/activity-assets' import '@hcengineering/analytics-collector-assets' @@ -128,7 +126,6 @@ import '@hcengineering/media-assets' import '@hcengineering/view-assets' import '@hcengineering/workbench-assets' import '@hcengineering/chat-assets' -import '@hcengineering/inbox-assets' import '@hcengineering/mail-assets' import '@hcengineering/github-assets' import '@hcengineering/achievement-assets' @@ -136,7 +133,6 @@ import '@hcengineering/communication-assets' import '@hcengineering/emoji-assets' import '@hcengineering/billing-assets' import '@hcengineering/huly-mail-assets' -import '@hcengineering/home-assets' import { coreId } from '@hcengineering/core' import presentation, { @@ -374,13 +370,11 @@ function configureI18n(): void { addStringsLoader(mailId, async (lang: string) => await import(`@hcengineering/mail-assets/lang/${lang}.json`)) addStringsLoader(chatId, async (lang: string) => await import(`@hcengineering/chat-assets/lang/${lang}.json`)) addStringsLoader(processId, async (lang: string) => await import(`@hcengineering/process-assets/lang/${lang}.json`)) - addStringsLoader(inboxId, async (lang: string) => await import(`@hcengineering/inbox-assets/lang/${lang}.json`)) addStringsLoader(achievementId, async (lang: string) => await import(`@hcengineering/achievement-assets/lang/${lang}.json`)) addStringsLoader(communicationId, async (lang: string) => await import(`@hcengineering/communication-assets/lang/${lang}.json`)) addStringsLoader(emojiId, async (lang: string) => await import(`@hcengineering/emoji-assets/lang/${lang}.json`)) addStringsLoader(billingId, async (lang: string) => await import(`@hcengineering/billing-assets/lang/${lang}.json`)) addStringsLoader(hulyMailId, async (lang: string) => await import(`@hcengineering/huly-mail-assets/lang/${lang}.json`)) - addStringsLoader(homeId, async (lang: string) => await import(`@hcengineering/home-assets/lang/${lang}.json`)) } export async function configurePlatform() { @@ -587,13 +581,11 @@ export async function configurePlatform() { addLocation(cardId, () => import(/* webpackChunkName: "card" */ '@hcengineering/card-resources')) addLocation(chatId, () => import(/* webpackChunkName: "chat" */ '@hcengineering/chat-resources')) addLocation(processId, () => import(/* webpackChunkName: "process" */ '@hcengineering/process-resources')) - addLocation(inboxId, () => import(/* webpackChunkName: "inbox" */ '@hcengineering/inbox-resources')) addLocation(achievementId, () => import(/* webpackChunkName: "achievement" */ '@hcengineering/achievement-resources')) addLocation(communicationId, () => import(/* webpackChunkName: "communication" */ '@hcengineering/communication-resources')) addLocation(emojiId, () => import(/* webpackChunkName: "achievement" */ '@hcengineering/emoji-resources')) addLocation(billingId, () => import(/* webpackChunkName: "achievement" */ '@hcengineering/billing-resources')) addLocation(hulyMailId, () => import(/* webpackChunkName: "achievement" */ '@hcengineering/huly-mail-resources')) - addLocation(homeId, () => import(/* webpackChunkName: "home" */ '@hcengineering/home-resources')) setMetadata(client.metadata.FilterModel, 'ui') setMetadata(client.metadata.ExtraPlugins, ['preference' as Plugin]) diff --git a/models/all/package.json b/models/all/package.json index d1c1621301..a689d7bfce 100644 --- a/models/all/package.json +++ b/models/all/package.json @@ -128,12 +128,10 @@ "@hcengineering/model-chat": "^0.6.0", "@hcengineering/model-process": "^0.6.0", "@hcengineering/model-server-process": "^0.6.0", - "@hcengineering/model-inbox": "^0.6.0", "@hcengineering/model-achievement": "^0.6.0", "@hcengineering/model-communication": "^0.6.0", "@hcengineering/model-emoji": "^0.6.0", "@hcengineering/model-billing": "^0.6.0", - "@hcengineering/model-huly-mail": "^0.6.0", - "@hcengineering/model-home": "^0.6.0" + "@hcengineering/model-huly-mail": "^0.6.0" } } diff --git a/models/all/src/index.ts b/models/all/src/index.ts index c323e38c33..b42a39f427 100644 --- a/models/all/src/index.ts +++ b/models/all/src/index.ts @@ -117,8 +117,6 @@ import survey, { surveyId, createModel as surveyModel } from '@hcengineering/mod import { presenceId, createModel as presenceModel } from '@hcengineering/model-presence' import chat, { chatId, createModel as chatModel } from '@hcengineering/model-chat' import processes, { processId, createModel as processModel } from '@hcengineering/model-process' -import inbox, { createModel as inboxModel, inboxId } from '@hcengineering/model-inbox' -import home, { createModel as homeModel, homeId } from '@hcengineering/model-home' import { achievementId, createModel as achievementModel } from '@hcengineering/model-achievement' import { emojiId, createModel as emojiModel } from '@hcengineering/model-emoji' import { billingId, createModel as billingModel } from '@hcengineering/model-billing' @@ -477,22 +475,12 @@ export default function buildModel (): Builder { chatId, { label: chat.string.Chat, hidden: true, enabled: false, beta: true, classFilter: defaultFilter } ], - [ - inboxModel, - inboxId, - { label: inbox.string.Inbox, hidden: true, enabled: false, beta: true, classFilter: defaultFilter } - ], [achievementModel, achievementId], [emojiModel, emojiId], [communicationModel, communicationId], [mailModel, mailId], [billingModel, billingId, { beta: false, hidden: true, enabled: true }], [hulyMailModel, hulyMailId], - [ - homeModel, - homeId, - { label: home.string.Home, hidden: true, enabled: false, beta: true, classFilter: defaultFilter } - ], [serverCoreModel, serverCoreId], [serverAttachmentModel, serverAttachmentId], diff --git a/models/all/src/migration.ts b/models/all/src/migration.ts index fa75741808..28aa45ff34 100644 --- a/models/all/src/migration.ts +++ b/models/all/src/migration.ts @@ -57,7 +57,6 @@ import { surveyOperation } from '@hcengineering/model-survey' import { cardOperation } from '@hcengineering/model-card' import { aiBotId, aiBotOperation } from '@hcengineering/model-ai-bot' import { chatId, chatOperation } from '@hcengineering/model-chat' -import { inboxId, inboxOperation } from '@hcengineering/model-inbox' import { processId, processOperation } from '@hcengineering/model-process' import { communicationId, communicationOperation } from '@hcengineering/model-communication' import { recorderId, recorderOperation } from '@hcengineering/model-recorder' @@ -107,7 +106,6 @@ export const migrateOperations: [string, MigrateOperation][] = [ ['survey', surveyOperation], [aiBotId, aiBotOperation], [chatId, chatOperation], - [inboxId, inboxOperation], [processId, processOperation], [communicationId, communicationOperation], [recorderId, recorderOperation] diff --git a/models/card/src/index.ts b/models/card/src/index.ts index 68a547c151..baec78eff0 100644 --- a/models/card/src/index.ts +++ b/models/card/src/index.ts @@ -614,6 +614,28 @@ export function createModel (builder: Builder): void { card.viewlet.CardChildList ) + builder.createDoc( + view.class.ViewletDescriptor, + core.space.Model, + { + label: card.string.Feed, + icon: card.icon.Feed, + component: card.component.CardFeedView + }, + card.viewlet.CardFeedDescriptor + ) + + builder.createDoc( + view.class.Viewlet, + core.space.Model, + { + attachTo: card.class.Card, + descriptor: card.viewlet.CardFeedDescriptor, + config: [] + }, + card.viewlet.CardFeed + ) + builder.mixin(card.class.Card, core.class.Class, view.mixin.ObjectPresenter, { presenter: card.component.CardPresenter }) diff --git a/models/home/.eslintrc.js b/models/home/.eslintrc.js deleted file mode 100644 index c1cf82cba0..0000000000 --- a/models/home/.eslintrc.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - extends: ['./node_modules/@hcengineering/platform-rig/profiles/model/eslint.config.json'], - parserOptions: { - tsconfigRootDir: __dirname, - project: './tsconfig.json' - } -} diff --git a/models/home/.npmignore b/models/home/.npmignore deleted file mode 100644 index e3ec093c38..0000000000 --- a/models/home/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -* -!/lib/** -!CHANGELOG.md -/lib/**/__tests__/ diff --git a/models/home/config/rig.json b/models/home/config/rig.json deleted file mode 100644 index 2f6be36605..0000000000 --- a/models/home/config/rig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", - "rigPackageName": "@hcengineering/platform-rig", - "rigProfile": "model" -} diff --git a/models/home/jest.config.js b/models/home/jest.config.js deleted file mode 100644 index 2cfd408b67..0000000000 --- a/models/home/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - testMatch: ['**/?(*.)+(spec|test).[jt]s?(x)'], - roots: ["./src"], - coverageReporters: ["text-summary", "html"] -} diff --git a/models/home/package.json b/models/home/package.json deleted file mode 100644 index 8e40399c2c..0000000000 --- a/models/home/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@hcengineering/model-home", - "version": "0.6.0", - "main": "lib/index.js", - "svelte": "src/index.ts", - "types": "types/index.d.ts", - "author": "Hardcore Engineering Inc", - "template": "@hcengineering/model-package", - "license": "EPL-2.0", - "scripts": { - "build": "compile", - "build:watch": "compile", - "format": "format src", - "_phase:build": "compile transpile src", - "_phase:format": "format src", - "_phase:validate": "compile validate", - "_phase:test": "jest --passWithNoTests --silent --forceExit", - "test": "jest --passWithNoTests --silent --forceExit" - }, - "devDependencies": { - "@hcengineering/platform-rig": "^0.6.0", - "@typescript-eslint/eslint-plugin": "^6.11.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-n": "^15.4.0", - "eslint": "^8.54.0", - "@typescript-eslint/parser": "^6.11.0", - "eslint-config-standard-with-typescript": "^40.0.0", - "prettier": "^3.1.0", - "typescript": "^5.8.3", - "@types/node": "^22.15.29", - "jest": "^29.7.0", - "@types/jest": "^29.5.5", - "ts-jest": "^29.1.1" - }, - "dependencies": { - "@hcengineering/card": "^0.6.0", - "@hcengineering/home": "^0.6.0", - "@hcengineering/home-resources": "^0.6.0", - "@hcengineering/core": "^0.6.32", - "@hcengineering/model": "^0.6.11", - "@hcengineering/model-core": "^0.6.0", - "@hcengineering/model-workbench": "^0.6.1", - "@hcengineering/platform": "^0.6.11", - "@hcengineering/setting": "^0.6.17", - "@hcengineering/ui": "^0.6.15", - "@hcengineering/view": "^0.6.13", - "@hcengineering/workbench": "^0.6.16" - } -} diff --git a/models/home/src/index.ts b/models/home/src/index.ts deleted file mode 100644 index f0df505511..0000000000 --- a/models/home/src/index.ts +++ /dev/null @@ -1,42 +0,0 @@ -// -// Copyright © 2025 Hardcore Engineering Inc. -// -// Licensed under the Eclipse Public License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. You may -// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// - -import { type Builder } from '@hcengineering/model' -import core from '@hcengineering/model-core' -import workbench from '@hcengineering/model-workbench' -import { homeId } from '@hcengineering/home' - -import home from './plugin' - -export { homeId } from '@hcengineering/home' -export { homeOperation } from './migration' -export default home - -export function createModel (builder: Builder): void { - builder.createDoc( - workbench.class.Application, - core.space.Model, - { - label: home.string.Home, - icon: home.icon.Home, - alias: homeId, - hidden: false, - component: home.component.HomeApplication, - position: 'top', - order: 90 - }, - home.app.Home - ) -} diff --git a/models/home/src/migration.ts b/models/home/src/migration.ts deleted file mode 100644 index 5c011f3e1a..0000000000 --- a/models/home/src/migration.ts +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright © 2025 Hardcore Engineering Inc. -// -// Licensed under the Eclipse Public License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. You may -// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// - -import { type MigrateOperation, type MigrationClient, type MigrationUpgradeClient } from '@hcengineering/model' - -export const homeOperation: MigrateOperation = { - async migrate (client: MigrationClient, mode): Promise {}, - async upgrade (state: Map>, client: () => Promise, mode): Promise {} -} diff --git a/models/home/src/plugin.ts b/models/home/src/plugin.ts deleted file mode 100644 index a982fe61a1..0000000000 --- a/models/home/src/plugin.ts +++ /dev/null @@ -1,26 +0,0 @@ -// -// Copyright © 2025 Hardcore Engineering Inc. -// -// Licensed under the Eclipse Public License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. You may -// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// - -import { homeId } from '@hcengineering/home' -import home from '@hcengineering/home-resources/src/plugin' -import { type Ref } from '@hcengineering/core' -import { type Application } from '@hcengineering/model-workbench' -import { mergeIds } from '@hcengineering/platform' - -export default mergeIds(homeId, home, { - app: { - Home: '' as Ref - } -}) diff --git a/models/home/tsconfig.json b/models/home/tsconfig.json deleted file mode 100644 index 367a8578c9..0000000000 --- a/models/home/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "./node_modules/@hcengineering/platform-rig/profiles/model/tsconfig.json", - - "compilerOptions": { - "rootDir": "./src", - "outDir": "./lib", - "declarationDir": "./types", - "tsBuildInfoFile": ".build/build.tsbuildinfo" - }, - "include": ["src/**/*"], - "exclude": ["node_modules", "lib", "dist", "types", "bundle"] -} \ No newline at end of file diff --git a/models/inbox/.eslintrc.js b/models/inbox/.eslintrc.js deleted file mode 100644 index c1cf82cba0..0000000000 --- a/models/inbox/.eslintrc.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - extends: ['./node_modules/@hcengineering/platform-rig/profiles/model/eslint.config.json'], - parserOptions: { - tsconfigRootDir: __dirname, - project: './tsconfig.json' - } -} diff --git a/models/inbox/.npmignore b/models/inbox/.npmignore deleted file mode 100644 index e3ec093c38..0000000000 --- a/models/inbox/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -* -!/lib/** -!CHANGELOG.md -/lib/**/__tests__/ diff --git a/models/inbox/config/rig.json b/models/inbox/config/rig.json deleted file mode 100644 index 2f6be36605..0000000000 --- a/models/inbox/config/rig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", - "rigPackageName": "@hcengineering/platform-rig", - "rigProfile": "model" -} diff --git a/models/inbox/jest.config.js b/models/inbox/jest.config.js deleted file mode 100644 index 2cfd408b67..0000000000 --- a/models/inbox/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - testMatch: ['**/?(*.)+(spec|test).[jt]s?(x)'], - roots: ["./src"], - coverageReporters: ["text-summary", "html"] -} diff --git a/models/inbox/package.json b/models/inbox/package.json deleted file mode 100644 index 79733d58ae..0000000000 --- a/models/inbox/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@hcengineering/model-inbox", - "version": "0.6.0", - "main": "lib/index.js", - "svelte": "src/index.ts", - "types": "types/index.d.ts", - "author": "Hardcore Engineering Inc", - "template": "@hcengineering/model-package", - "license": "EPL-2.0", - "scripts": { - "build": "compile", - "build:watch": "compile", - "format": "format src", - "_phase:build": "compile transpile src", - "_phase:format": "format src", - "_phase:validate": "compile validate", - "_phase:test": "jest --passWithNoTests --silent --forceExit", - "test": "jest --passWithNoTests --silent --forceExit" - }, - "devDependencies": { - "@hcengineering/platform-rig": "^0.6.0", - "@typescript-eslint/eslint-plugin": "^6.11.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-n": "^15.4.0", - "eslint": "^8.54.0", - "@typescript-eslint/parser": "^6.11.0", - "eslint-config-standard-with-typescript": "^40.0.0", - "prettier": "^3.1.0", - "typescript": "^5.8.3", - "@types/node": "^22.15.29", - "jest": "^29.7.0", - "@types/jest": "^29.5.5", - "ts-jest": "^29.1.1" - }, - "dependencies": { - "@hcengineering/card": "^0.6.0", - "@hcengineering/inbox": "^0.6.0", - "@hcengineering/inbox-resources": "^0.6.0", - "@hcengineering/core": "^0.6.32", - "@hcengineering/model": "^0.6.11", - "@hcengineering/model-core": "^0.6.0", - "@hcengineering/model-workbench": "^0.6.1", - "@hcengineering/platform": "^0.6.11", - "@hcengineering/setting": "^0.6.17", - "@hcengineering/ui": "^0.6.15", - "@hcengineering/view": "^0.6.13", - "@hcengineering/workbench": "^0.6.16" - } -} diff --git a/models/inbox/src/index.ts b/models/inbox/src/index.ts deleted file mode 100644 index bde12f03ac..0000000000 --- a/models/inbox/src/index.ts +++ /dev/null @@ -1,42 +0,0 @@ -// -// Copyright © 2025 Hardcore Engineering Inc. -// -// Licensed under the Eclipse Public License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. You may -// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// - -import { type Builder } from '@hcengineering/model' -import core from '@hcengineering/model-core' -import workbench from '@hcengineering/model-workbench' -import { inboxId } from '@hcengineering/inbox' - -import inbox from './plugin' - -export { inboxId } from '@hcengineering/inbox' -export { inboxOperation } from './migration' -export default inbox - -export function createModel (builder: Builder): void { - builder.createDoc( - workbench.class.Application, - core.space.Model, - { - label: inbox.string.Inbox, - icon: inbox.icon.Inbox, - alias: inboxId, - hidden: false, - component: inbox.component.InboxApplication, - position: 'top', - order: 100 - }, - inbox.app.Inbox - ) -} diff --git a/models/inbox/src/migration.ts b/models/inbox/src/migration.ts deleted file mode 100644 index ab4d876d36..0000000000 --- a/models/inbox/src/migration.ts +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright © 2025 Hardcore Engineering Inc. -// -// Licensed under the Eclipse Public License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. You may -// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// - -import { type MigrateOperation, type MigrationClient, type MigrationUpgradeClient } from '@hcengineering/model' - -export const inboxOperation: MigrateOperation = { - async migrate (client: MigrationClient, mode): Promise {}, - async upgrade (state: Map>, client: () => Promise, mode): Promise {} -} diff --git a/models/inbox/src/plugin.ts b/models/inbox/src/plugin.ts deleted file mode 100644 index f3cf60aa6b..0000000000 --- a/models/inbox/src/plugin.ts +++ /dev/null @@ -1,26 +0,0 @@ -// -// Copyright © 2025 Hardcore Engineering Inc. -// -// Licensed under the Eclipse Public License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. You may -// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// - -import { inboxId } from '@hcengineering/inbox' -import inbox from '@hcengineering/inbox-resources/src/plugin' -import { type Ref } from '@hcengineering/core' -import { type Application } from '@hcengineering/model-workbench' -import { mergeIds } from '@hcengineering/platform' - -export default mergeIds(inboxId, inbox, { - app: { - Inbox: '' as Ref - } -}) diff --git a/models/inbox/tsconfig.json b/models/inbox/tsconfig.json deleted file mode 100644 index 367a8578c9..0000000000 --- a/models/inbox/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "./node_modules/@hcengineering/platform-rig/profiles/model/tsconfig.json", - - "compilerOptions": { - "rootDir": "./src", - "outDir": "./lib", - "declarationDir": "./types", - "tsBuildInfoFile": ".build/build.tsbuildinfo" - }, - "include": ["src/**/*"], - "exclude": ["node_modules", "lib", "dist", "types", "bundle"] -} \ No newline at end of file diff --git a/plugins/card-assets/assets/icons.svg b/plugins/card-assets/assets/icons.svg index 50c7205769..b52dfbd733 100644 --- a/plugins/card-assets/assets/icons.svg +++ b/plugins/card-assets/assets/icons.svg @@ -56,4 +56,12 @@ + + + + + + + + diff --git a/plugins/card-assets/lang/cs.json b/plugins/card-assets/lang/cs.json index 5e75614650..310503e241 100644 --- a/plugins/card-assets/lang/cs.json +++ b/plugins/card-assets/lang/cs.json @@ -46,6 +46,7 @@ "Post": "Přidat", "GetIndividualPublicLink": "Získat personalizovaný veřejný odkaz", "ShowLess": "Skrýt detaily", - "CardContent": "Co chcete sdílet?" + "CardContent": "Co chcete sdílet?", + "Feed": "Kanál" } } diff --git a/plugins/card-assets/lang/de.json b/plugins/card-assets/lang/de.json index 9d5c56e480..1b6d1a9512 100644 --- a/plugins/card-assets/lang/de.json +++ b/plugins/card-assets/lang/de.json @@ -46,6 +46,7 @@ "Post": "Beitrag", "GetIndividualPublicLink": "Personalisierten öffentlichen Link erhalten", "ShowLess": "Weniger anzeigen", - "CardContent": "Was möchten Sie teilen?" + "CardContent": "Was möchten Sie teilen?", + "Feed": "Feed" } } diff --git a/plugins/card-assets/lang/en.json b/plugins/card-assets/lang/en.json index 3eb2c7edd1..47cb91513a 100644 --- a/plugins/card-assets/lang/en.json +++ b/plugins/card-assets/lang/en.json @@ -46,6 +46,7 @@ "Post": "Post", "GetIndividualPublicLink": "Get personalized public link", "ShowLess": "Show less", - "CardContent": "What do you want to share?" + "CardContent": "What do you want to share?", + "Feed": "Feed" } } diff --git a/plugins/card-assets/lang/es.json b/plugins/card-assets/lang/es.json index 0fb87c2905..05d5dbacc4 100644 --- a/plugins/card-assets/lang/es.json +++ b/plugins/card-assets/lang/es.json @@ -46,6 +46,7 @@ "Post": "Publicar", "GetIndividualPublicLink": "Obtener enlace público personalizado", "ShowLess": "Mostrar menos", - "CardContent": "¿Qué quieres compartir?" + "CardContent": "¿Qué quieres compartir?", + "Feed": "Feed" } } diff --git a/plugins/card-assets/lang/fr.json b/plugins/card-assets/lang/fr.json index c13b0481b9..53eacef86c 100644 --- a/plugins/card-assets/lang/fr.json +++ b/plugins/card-assets/lang/fr.json @@ -46,6 +46,7 @@ "Post": "Publier", "GetIndividualPublicLink": "Obtenir un lien public personnalisé", "ShowLess": "Afficher moins", - "CardContent": "Que voulez-vous partager ?" + "CardContent": "Que voulez-vous partager ?", + "Feed": "Flux" } } diff --git a/plugins/card-assets/lang/it.json b/plugins/card-assets/lang/it.json index 71af7757a4..0f6ee6f015 100644 --- a/plugins/card-assets/lang/it.json +++ b/plugins/card-assets/lang/it.json @@ -46,6 +46,7 @@ "Post": "Pubblica", "GetIndividualPublicLink": "Ottieni link pubblico personalizzato", "ShowLess": "Mostra meno", - "CardContent": "Cosa vuoi condividere?" + "CardContent": "Cosa vuoi condividere?", + "Feed": "Feed" } } diff --git a/plugins/card-assets/lang/ja.json b/plugins/card-assets/lang/ja.json index 025bc981e6..e99e0b6829 100644 --- a/plugins/card-assets/lang/ja.json +++ b/plugins/card-assets/lang/ja.json @@ -46,6 +46,7 @@ "Post": "投稿", "GetIndividualPublicLink": "パーソナライズされた公開リンクを取得", "ShowLess": "詳細を隠す", - "CardContent": "何を共有しますか?" + "CardContent": "何を共有しますか?", + "Feed": "フィード" } } diff --git a/plugins/card-assets/lang/pt.json b/plugins/card-assets/lang/pt.json index 5ff8dacb99..d361423105 100644 --- a/plugins/card-assets/lang/pt.json +++ b/plugins/card-assets/lang/pt.json @@ -46,6 +46,7 @@ "Post": "Publicar", "GetIndividualPublicLink": "Obter link público personalizado", "ShowLess": "Mostrar menos", - "CardContent": "O que você quer compartilhar?" + "CardContent": "O que você quer compartilhar?", + "Feed": "Feed" } } diff --git a/plugins/card-assets/lang/ru.json b/plugins/card-assets/lang/ru.json index 5a433d631f..5dced4474d 100644 --- a/plugins/card-assets/lang/ru.json +++ b/plugins/card-assets/lang/ru.json @@ -46,6 +46,7 @@ "Post": "Опубликовать", "GetIndividualPublicLink": "Получить персональную публичную ссылку", "ShowLess": "Скрыть детали", - "CardContent": "Чем вы хотите поделиться?" + "CardContent": "Чем вы хотите поделиться?", + "Feed": "Лента" } } diff --git a/plugins/card-assets/lang/zh.json b/plugins/card-assets/lang/zh.json index dfe45cbfc5..a7d43b064f 100644 --- a/plugins/card-assets/lang/zh.json +++ b/plugins/card-assets/lang/zh.json @@ -46,6 +46,7 @@ "Post": "发布", "GetIndividualPublicLink": "获取个性化公共链接", "ShowLess": "收起详情", - "CardContent": "你想分享什么?" + "CardContent": "你想分享什么?", + "Feed": "动态" } } diff --git a/plugins/card-assets/src/index.ts b/plugins/card-assets/src/index.ts index 2bea05239a..dcfa60c2a6 100644 --- a/plugins/card-assets/src/index.ts +++ b/plugins/card-assets/src/index.ts @@ -26,5 +26,6 @@ loadMetadata(card.icon, { Document: `${icons}#document`, Home: `${icons}#home`, Space: `${icons}#space`, - Expand: `${icons}#expand` + Expand: `${icons}#expand`, + Feed: `${icons}#feed` }) diff --git a/plugins/home-resources/src/components/Home.svelte b/plugins/card-resources/src/components/CardFeedView.svelte similarity index 68% rename from plugins/home-resources/src/components/Home.svelte rename to plugins/card-resources/src/components/CardFeedView.svelte index 671c96e713..928c26a3f3 100644 --- a/plugins/home-resources/src/components/Home.svelte +++ b/plugins/card-resources/src/components/CardFeedView.svelte @@ -13,56 +13,38 @@
-
-
-
-
- - -
- -
-
- (filterQuery = detail)} - /> - +
{#each cards as card, index} {@const previousCard = cards[index - 1]} @@ -193,19 +154,6 @@ flex: 1; } - .header { - display: flex; - width: 100%; - padding: 1rem 0; - justify-content: space-between; - - &__title { - font-size: 1.5rem; - font-weight: 600; - color: var(--global-primary-TextColor); - } - } - .body { display: flex; flex-direction: column; diff --git a/plugins/home-resources/src/components/HomeCardPresenter.svelte b/plugins/card-resources/src/components/FeedCardPresenter.svelte similarity index 93% rename from plugins/home-resources/src/components/HomeCardPresenter.svelte rename to plugins/card-resources/src/components/FeedCardPresenter.svelte index 5b3c09a02a..2e26727338 100644 --- a/plugins/home-resources/src/components/HomeCardPresenter.svelte +++ b/plugins/card-resources/src/components/FeedCardPresenter.svelte @@ -22,12 +22,17 @@ import { Button, IconMoreH, tooltip } from '@hcengineering/ui' import { showMenu } from '@hcengineering/view-resources' import { getEmbeddedLabel } from '@hcengineering/platform' - import { CardTagsColored, CardPathPresenter, CardTimestamp, openCardInSidebar } from '@hcengineering/card-resources' + import CardTagsColored from './CardTagsColored.svelte' + import CardPathPresenter from './CardPathPresenter.svelte' + import CardTimestamp from './CardTimestamp.svelte' + + import { openCardInSidebar } from '../utils' - import { isHomeSettingEnabled, compactSettingId, homeSettingsStore, comfortableSettingId2 } from '../home' import SystemAvatar from '@hcengineering/contact-resources/src/components/SystemAvatar.svelte' export let card: WithLookup + export let isCompact = false + export let isComfortable2 = false const messagesQuery = createMessagesQuery() @@ -36,9 +41,6 @@ let socialId: PersonId | undefined = undefined let person: Person | undefined = undefined - $: isCompact = isHomeSettingEnabled($homeSettingsStore, compactSettingId) - $: isComfortable2 = isHomeSettingEnabled($homeSettingsStore, comfortableSettingId2) - $: messagesQuery.query( { card: card._id, strict: true, attachments: true, reactions: true, limit: 1, order: SortingOrder.Descending }, (res) => { @@ -74,7 +76,9 @@
{#if hasNewMessages($labelsStore, card._id)} - +
+ +
{/if} = threadMasterTag + let title: string = '' let space: Ref | undefined = undefined - let type: Ref = threadMasterTag let description = EmptyMarkup let _id = generateId() let isExpanded = false diff --git a/plugins/card-resources/src/components/settings/view/DescriptorBox.svelte b/plugins/card-resources/src/components/settings/view/DescriptorBox.svelte index 28d0ff2a3f..81b247c8a8 100644 --- a/plugins/card-resources/src/components/settings/view/DescriptorBox.svelte +++ b/plugins/card-resources/src/components/settings/view/DescriptorBox.svelte @@ -17,13 +17,27 @@ import { ObjectBox } from '@hcengineering/view-resources' import view, { ViewletDescriptor } from '@hcengineering/view' import { IntlString } from '@hcengineering/platform' + import card from '../../../plugin' export let value: Ref | undefined = undefined export let withSingleViews: boolean = false export let label: IntlString $: supportedTypes = withSingleViews - ? [view.viewlet.Table, view.viewlet.List, view.viewlet.Tree, view.viewlet.MasterDetail, view.viewlet.Document] - : [view.viewlet.Table, view.viewlet.List, view.viewlet.Tree, view.viewlet.MasterDetail] + ? [ + view.viewlet.Table, + view.viewlet.List, + view.viewlet.Tree, + view.viewlet.MasterDetail, + card.viewlet.CardFeedDescriptor, + view.viewlet.Document + ] + : [ + view.viewlet.Table, + view.viewlet.List, + view.viewlet.Tree, + view.viewlet.MasterDetail, + card.viewlet.CardFeedDescriptor + ] => ({ FavoriteCardPresenter, CardTagColored, CardTagsColored, - CardIcon + CardIcon, + CardFeedView }, sectionComponent: { AttachmentsSection: AttachmentsCardSection, diff --git a/plugins/card-resources/src/plugin.ts b/plugins/card-resources/src/plugin.ts index d283fbb5e2..e0111bd218 100644 --- a/plugins/card-resources/src/plugin.ts +++ b/plugins/card-resources/src/plugin.ts @@ -18,7 +18,7 @@ import { type Ref } from '@hcengineering/core' import { type IntlString, mergeIds, type Resource } from '@hcengineering/platform' import { type ObjectSearchCategory, type ObjectSearchFactory } from '@hcengineering/presentation' import { type AnyComponent } from '@hcengineering/ui/src/types' -import { type Viewlet } from '@hcengineering/view' +import type { ViewletDescriptor, Viewlet } from '@hcengineering/view' export default mergeIds(cardId, card, { component: { @@ -65,7 +65,9 @@ export default mergeIds(cardId, card, { viewlet: { CardTable: '' as Ref, CardList: '' as Ref, - CardChildList: '' as Ref + CardChildList: '' as Ref, + CardFeedDescriptor: '' as Ref, + CardFeed: '' as Ref }, string: { CreateMasterTag: '' as IntlString, diff --git a/plugins/card/src/index.ts b/plugins/card/src/index.ts index 2f3669798f..b12763ee38 100644 --- a/plugins/card/src/index.ts +++ b/plugins/card/src/index.ts @@ -152,7 +152,8 @@ const cardPlugin = plugin(cardId, { Document: '' as Asset, Home: '' as Asset, Space: '' as Asset, - Expand: '' as Asset + Expand: '' as Asset, + Feed: '' as Asset }, extensions: { EditCardExtension: '' as ComponentExtensionId @@ -168,7 +169,8 @@ const cardPlugin = plugin(cardId, { Views: '' as IntlString, Labels: '' as IntlString, GetIndividualPublicLink: '' as IntlString, - AddTag: '' as IntlString + AddTag: '' as IntlString, + Feed: '' as IntlString }, section: { Attachments: '' as Ref, @@ -185,7 +187,8 @@ const cardPlugin = plugin(cardId, { CardTagColored: '' as AnyComponent, CardTagsColored: '' as AnyComponent, CardIcon: '' as AnyComponent, - CardArrayEditor: '' as AnyComponent + CardArrayEditor: '' as AnyComponent, + CardFeedView: '' as AnyComponent }, function: { OpenCardInSidebar: '' as Resource<(_id: Ref, card?: Card) => Promise>, diff --git a/plugins/chat-assets/assets/icons.svg b/plugins/chat-assets/assets/icons.svg index 1b8f2c45a4..012787ccfa 100644 --- a/plugins/chat-assets/assets/icons.svg +++ b/plugins/chat-assets/assets/icons.svg @@ -15,4 +15,14 @@ d="M22.2646 18.4346C23.8127 15.061 21.4542 11.3919 18.3526 10.5041C16.8345 10.0007 15.1435 10.203 13.7239 10.8708C12.2987 11.5412 11.0662 12.7196 10.5459 14.2602C9.54063 17.2366 11.4209 20.8545 14.6395 21.8814C15.9617 22.3032 17.5347 22.1569 18.1927 21.9491C18.431 22.0161 18.7158 22.1372 19.0197 22.2664C19.7954 22.5963 20.6952 22.979 21.2615 22.6468C21.5475 22.479 21.6604 22.1705 21.6471 21.8546C21.6294 21.4301 21.573 21.0054 21.5167 20.5813C21.4805 20.3088 21.4443 20.0367 21.4185 19.7651C21.7475 19.356 22.0453 18.9123 22.2646 18.4346ZM11.9671 14.7402C12.3308 13.6633 13.226 12.7627 14.3623 12.2282C15.4988 11.6936 16.7959 11.564 17.8928 11.932L17.9099 11.9377L17.9273 11.9426C20.3341 12.6228 21.9859 15.4235 20.9068 17.7968C20.633 18.3376 20.2858 18.8072 19.8659 19.2409C19.9138 19.791 19.9655 20.3406 20.03 20.889C19.7776 20.8166 19.5238 20.7496 19.2701 20.6826C18.8945 20.5833 18.5189 20.4841 18.148 20.3677L17.9034 20.4622C16.9745 20.8209 15.9738 20.7129 15.0414 20.436C12.3639 19.7416 11.2065 16.9918 11.9671 14.7402Z" fill="currentColor"/> + + + + + + + + diff --git a/plugins/chat-assets/lang/cs.json b/plugins/chat-assets/lang/cs.json index 8e07ef891e..53f3077ea2 100644 --- a/plugins/chat-assets/lang/cs.json +++ b/plugins/chat-assets/lang/cs.json @@ -8,6 +8,12 @@ "MessageIn": "Zpráva v #{title}", "Thread": "Vlákno", "Threads": "Vlákna", - "Title": "Název" + "Title": "Název", + "All": "Vše", + "Inbox": "Doručená pošta", + "ReactedToYourMessage": "reagoval na vaši zprávu", + "ClearAll": "Vymazať všetko", + "InboxIsClear": "Doručená pošta je vymazaná", + "YouDontHaveAnyNewMessages": "Nemáte žiadne nové správy" } } diff --git a/plugins/chat-assets/lang/de.json b/plugins/chat-assets/lang/de.json index ef0a38a594..e9a362ed66 100644 --- a/plugins/chat-assets/lang/de.json +++ b/plugins/chat-assets/lang/de.json @@ -8,6 +8,12 @@ "MessageIn": "Nachricht in #{title}", "Thread": "Thread", "Threads": "Threads", - "Title": "Titel" + "Title": "Titel", + "All": "Alle", + "Inbox": "Posteingang", + "ReactedToYourMessage": "reagierte auf Ihre Nachricht", + "ClearAll": "Alles löschen", + "InboxIsClear": "Posteingang ist leer", + "YouDontHaveAnyNewMessages": "Sie haben keine neuen Nachrichten" } } diff --git a/plugins/chat-assets/lang/en.json b/plugins/chat-assets/lang/en.json index 149fe44e90..5b66ab6dd0 100644 --- a/plugins/chat-assets/lang/en.json +++ b/plugins/chat-assets/lang/en.json @@ -8,6 +8,12 @@ "MessageIn": "Message #{title}", "Thread": "Thread", "Threads": "Threads", - "Title": "Title" + "Title": "Title", + "All": "All updates", + "Inbox": "Inbox", + "ReactedToYourMessage": "reacted to your message", + "ClearAll": "Clear all", + "InboxIsClear": "Inbox is clear", + "YouDontHaveAnyNewMessages": "You don’t have any new messages" } } \ No newline at end of file diff --git a/plugins/chat-assets/lang/es.json b/plugins/chat-assets/lang/es.json index 30456a45b5..3996d45258 100644 --- a/plugins/chat-assets/lang/es.json +++ b/plugins/chat-assets/lang/es.json @@ -8,6 +8,13 @@ "MessageIn": "Mensaje en #{title}", "Thread": "Hilo", "Threads": "Hilos", - "Title": "Título" + "Title": "Título", + "All": "Todo", + "Inbox": "Bande", + "ReactedToYourMessage": "reaccionó a tu mensaje", + "ClearAll": "Borrar todo", + "InboxIsClear": "Bande está vacía", + "YouDontHaveAnyNewMessages": "No tienes ninguna nueva mensaje" + } } diff --git a/plugins/chat-assets/lang/fr.json b/plugins/chat-assets/lang/fr.json index 572a3430bf..6349410df9 100644 --- a/plugins/chat-assets/lang/fr.json +++ b/plugins/chat-assets/lang/fr.json @@ -8,6 +8,12 @@ "MessageIn": "Message dans #{title}", "Thread": "Fil de discussion", "Threads": "Fils de discussion", - "Title": "Titre" + "Title": "Titre", + "All": "Tout", + "Inbox": "Boîte de réception", + "ReactedToYourMessage": "a réagi à votre message", + "ClearAll": "Tout effacer", + "InboxIsClear": "Boîte de réception est vide", + "YouDontHaveAnyNewMessages": "Vous n'avez aucun nouveau message" } } diff --git a/plugins/chat-assets/lang/it.json b/plugins/chat-assets/lang/it.json index 5a214ce93b..2b9f88d6ba 100644 --- a/plugins/chat-assets/lang/it.json +++ b/plugins/chat-assets/lang/it.json @@ -8,6 +8,12 @@ "MessageIn": "Messaggio in #{title}", "Thread": "Discussione", "Threads": "Discussioni", - "Title": "Titolo" + "Title": "Titolo", + "All": "Tutto", + "Inbox": "Inbox", + "ReactedToYourMessage": "ha reagito al tuo messaggio", + "ClearAll": "Cancella tutto", + "InboxIsClear": "Inbox è vuoto", + "YouDontHaveAnyNewMessages": "Non hai alcun nuovo messaggio" } } diff --git a/plugins/chat-assets/lang/ja.json b/plugins/chat-assets/lang/ja.json index 5278226474..c73038ff96 100644 --- a/plugins/chat-assets/lang/ja.json +++ b/plugins/chat-assets/lang/ja.json @@ -8,6 +8,12 @@ "MessageIn": "メッセージ #{title}", "Thread": "スレッド", "Threads": "スレッド", - "Title": "タイトル" + "Title": "タイトル", + "All": "すべて", + "Inbox": "受信箱", + "ReactedToYourMessage": "あなたのメッセージに反応しました", + "ClearAll": "すべてクリア", + "InboxIsClear": "受信箱が空です", + "YouDontHaveAnyNewMessages": "新しいメッセージはありません" } } \ No newline at end of file diff --git a/plugins/chat-assets/lang/pt.json b/plugins/chat-assets/lang/pt.json index 7ba32b35c8..913d5cec28 100644 --- a/plugins/chat-assets/lang/pt.json +++ b/plugins/chat-assets/lang/pt.json @@ -8,6 +8,12 @@ "MessageIn": "Mensagem em #{title}", "Thread": "Tópico", "Threads": "Tópicos", - "Title": "Título" + "Title": "Título", + "All": "Tudo", + "Inbox": "Caixa de entrada", + "ReactedToYourMessage": "reacionou ao seu mensagem", + "ClearAll": "Limpar tudo", + "InboxIsClear": "Caixa de entrada está vazia", + "YouDontHaveAnyNewMessages": "Não tem nenhuma nova mensagem" } } diff --git a/plugins/chat-assets/lang/ru.json b/plugins/chat-assets/lang/ru.json index a7e6f46d82..256c0fd80b 100644 --- a/plugins/chat-assets/lang/ru.json +++ b/plugins/chat-assets/lang/ru.json @@ -8,6 +8,12 @@ "MessageIn": "Сообщение в #{title}", "Thread": "Тред", "Threads": "Треды", - "Title": "Название" + "Title": "Название", + "All": "Все", + "Inbox": "Входящие", + "ReactedToYourMessage": "отреагировал(а) на ваше сообщение", + "ClearAll": "Очистить всё", + "InboxIsClear": "Входящие пусты", + "YouDontHaveAnyNewMessages": "У вас нет новых сообщений" } } diff --git a/plugins/chat-assets/lang/zh.json b/plugins/chat-assets/lang/zh.json index f7b4afe1f3..32a34ff7b6 100644 --- a/plugins/chat-assets/lang/zh.json +++ b/plugins/chat-assets/lang/zh.json @@ -8,6 +8,12 @@ "MessageIn": "在 #{title} 的消息", "Thread": "讨论串", "Threads": "讨论串", - "Title": "标题" + "Title": "标题", + "All": "全部", + "Inbox": "收件箱", + "ReactedToYourMessage": "对您的消息做出了反应", + "ClearAll": "清除全部", + "InboxIsClear": "收件箱是空的", + "YouDontHaveAnyNewMessages": "您没有任何新消息" } } diff --git a/plugins/chat-assets/src/index.ts b/plugins/chat-assets/src/index.ts index 8736e2fdf2..dd20262287 100644 --- a/plugins/chat-assets/src/index.ts +++ b/plugins/chat-assets/src/index.ts @@ -19,5 +19,7 @@ import chat from '@hcengineering/chat' const icons = require('../assets/icons.svg') as string // eslint-disable-line loadMetadata(chat.icon, { ChatBubble: `${icons}#chat-bubble`, - Thread: `${icons}#message-multiple` + Thread: `${icons}#message-multiple`, + Inbox: `${icons}#inbox`, + All: `${icons}#all` }) diff --git a/plugins/chat-resources/package.json b/plugins/chat-resources/package.json index f472937e10..3100f92e5f 100644 --- a/plugins/chat-resources/package.json +++ b/plugins/chat-resources/package.json @@ -54,6 +54,12 @@ "@hcengineering/view-resources": "^0.6.0", "@hcengineering/workbench": "^0.6.16", "@hcengineering/workbench-resources": "^0.6.1", + "@hcengineering/communication-resources": "^0.6.0", + "@hcengineering/communication-shared": "^0.1.0", + "@hcengineering/rank": "^0.6.4", + "@hcengineering/text": "^0.6.5", + "@hcengineering/text-markdown": "^0.6.0", + "@hcengineering/emoji-resources": "^0.6.0", "fast-equals": "^5.2.2", "svelte": "^4.2.20" } diff --git a/plugins/chat-resources/src/components/ChatApplication.svelte b/plugins/chat-resources/src/components/ChatApplication.svelte index 9ce56562ee..05cf8b16fa 100644 --- a/plugins/chat-resources/src/components/ChatApplication.svelte +++ b/plugins/chat-resources/src/components/ChatApplication.svelte @@ -38,8 +38,10 @@ getCardIdFromLocation, navigateToType, getTypeIdFromLocation, + isAllLocation, isFavoritesLocation, - navigateToFavorites + navigateToFavorites, + navigateToAll } from '../location' import ChatNavigationCategoryList from './ChatNavigationCategoryList.svelte' @@ -55,6 +57,7 @@ doc: MasterTag } | { type: 'favorites' } + | { type: 'all' } const client = getClient() const hierarchy = client.getHierarchy() @@ -74,12 +77,18 @@ const typeId = getTypeIdFromLocation(loc) const cardId = getCardIdFromLocation(loc) const isFavorites = isFavoritesLocation(loc) + const isAll = isAllLocation(loc) if (isFavorites) { selection = { type: 'favorites' } return } + if (isAll) { + selection = { type: 'all' } + return + } + const type = typeId != null ? await client.findOne(cardPlugin.class.MasterTag, { _id: typeId }) : undefined if (type != null) { @@ -127,6 +136,13 @@ navigateToFavorites() } + function selectAll (): void { + if (selection?.type === 'all') return + closePanel(false) + selection = { type: 'all' } + navigateToAll() + } + function getSelectedCard (selection: Selection | undefined): Card | undefined { if (selection?.type !== 'card') return undefined return selection.doc @@ -168,6 +184,7 @@ on:selectCard={selectCard} on:selectType={selectType} on:favorites={selectFavorites} + on:selectAll={selectAll} />
{#if !($deviceInfo.isMobile && $deviceInfo.isPortrait && $deviceInfo.minWidth)} @@ -194,6 +211,8 @@ {:else if selectedType} + {:else if selection?.type === 'all'} + {/if}
diff --git a/plugins/chat-resources/src/components/ChatNavigation.svelte b/plugins/chat-resources/src/components/ChatNavigation.svelte index bb4018fd52..f8ca9da95d 100644 --- a/plugins/chat-resources/src/components/ChatNavigation.svelte +++ b/plugins/chat-resources/src/components/ChatNavigation.svelte @@ -20,10 +20,30 @@ import chat, { chatId } from '@hcengineering/chat' import { Navigator } from '@hcengineering/card-resources' import communication from '@hcengineering/communication' + import { ModernButton, NavGroup } from '@hcengineering/ui' + import { createEventDispatcher } from 'svelte' + + import { createNotificationsQuery } from '@hcengineering/presentation' + + import NotifyMarker from './inbox/NotifyMarker.svelte' + import NavigationHeader from './NavigationHeader.svelte' + import InboxNavigation from './inbox/InboxNavigation.svelte' + import InboxHeader from './inbox/InboxHeader.svelte' export let card: Card | undefined = undefined export let type: Ref | undefined = undefined - export let special: 'favorites' | string | undefined = undefined + export let special: 'favorites' | 'all' | string | undefined = undefined + export let mode: 'chat' | 'inbox' = 'chat' + + const dispatch = createEventDispatcher() + + let hasNewInboxNotifications: boolean = false + + const notificationCountQuery = createNotificationsQuery() + + notificationCountQuery.query({ read: false, limit: 1 }, (res) => { + hasNewInboxNotifications = res.getResult().length > 0 + }) function getSpecial (special: 'favorites' | string | undefined): string | undefined { if (special === 'favorites') { @@ -31,36 +51,96 @@ } return undefined } + + function handleInboxClick (): void { + mode = 'inbox' + } + + function handleAllUpdatesClick (): void { + dispatch('selectAll') + } + + function selectInboxCard (event: CustomEvent): void { + const card = event.detail?.card + if (card != null) { + dispatch('selectCard', card) + } + } - +{#if mode === 'inbox'} + + +{:else} +
+ +
+ + {#if hasNewInboxNotifications} +
+ +
+ {/if} +
+
+
+ + +
+{/if} + + diff --git a/plugins/chat-resources/src/components/NavigationHeader.svelte b/plugins/chat-resources/src/components/NavigationHeader.svelte new file mode 100644 index 0000000000..39017da63e --- /dev/null +++ b/plugins/chat-resources/src/components/NavigationHeader.svelte @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + diff --git a/plugins/inbox-resources/src/components/InboxCard.svelte b/plugins/chat-resources/src/components/inbox/InboxCard.svelte similarity index 100% rename from plugins/inbox-resources/src/components/InboxCard.svelte rename to plugins/chat-resources/src/components/inbox/InboxCard.svelte diff --git a/plugins/inbox-resources/src/components/InboxCardIcon.svelte b/plugins/chat-resources/src/components/inbox/InboxCardIcon.svelte similarity index 100% rename from plugins/inbox-resources/src/components/InboxCardIcon.svelte rename to plugins/chat-resources/src/components/inbox/InboxCardIcon.svelte diff --git a/plugins/inbox-resources/src/components/InboxHeader.svelte b/plugins/chat-resources/src/components/inbox/InboxHeader.svelte similarity index 81% rename from plugins/inbox-resources/src/components/InboxHeader.svelte rename to plugins/chat-resources/src/components/inbox/InboxHeader.svelte index 32f7de63e6..b7977df928 100644 --- a/plugins/inbox-resources/src/components/InboxHeader.svelte +++ b/plugins/chat-resources/src/components/inbox/InboxHeader.svelte @@ -15,11 +15,13 @@ import { IconDelete, IconSettings, Label, ModernButton, showPopup, eventToHTMLElement } from '@hcengineering/ui' import { getCommunicationClient } from '@hcengineering/presentation' - import inbox from '../plugin' + import chat from '../../plugin' import InboxViewSettings from './InboxViewSettings.svelte' const communicationClient = getCommunicationClient() + export let mode: 'chat' | 'inbox' = 'chat' + let clearing = false async function clearInbox (): Promise { if (clearing) return @@ -37,13 +39,25 @@ function click (e: MouseEvent): void { showPopup(InboxViewSettings, {}, eventToHTMLElement(e)) } + + function goToChat (): void { + mode = 'chat' + }
- +
+
+ .inbox-header { + background-color: var(--theme-popup-color); border-bottom: 1px solid var(--theme-navpanel-border); } diff --git a/plugins/inbox-resources/src/components/InboxNavigation.svelte b/plugins/chat-resources/src/components/inbox/InboxNavigation.svelte similarity index 97% rename from plugins/inbox-resources/src/components/InboxNavigation.svelte rename to plugins/chat-resources/src/components/inbox/InboxNavigation.svelte index 6a51a7c7cd..cef66fb99d 100644 --- a/plugins/inbox-resources/src/components/InboxNavigation.svelte +++ b/plugins/chat-resources/src/components/inbox/InboxNavigation.svelte @@ -22,7 +22,7 @@ import { createEventDispatcher } from 'svelte' import InboxCard from './InboxCard.svelte' - import inbox from '../plugin' + import chat from '../../plugin' export let card: Card | undefined = undefined @@ -160,10 +160,10 @@ {:else}
-
-
{/if} diff --git a/plugins/inbox-resources/src/components/InboxNotification.svelte b/plugins/chat-resources/src/components/inbox/InboxNotification.svelte similarity index 100% rename from plugins/inbox-resources/src/components/InboxNotification.svelte rename to plugins/chat-resources/src/components/inbox/InboxNotification.svelte diff --git a/plugins/inbox-resources/src/components/InboxViewSettings.svelte b/plugins/chat-resources/src/components/inbox/InboxViewSettings.svelte similarity index 98% rename from plugins/inbox-resources/src/components/InboxViewSettings.svelte rename to plugins/chat-resources/src/components/inbox/InboxViewSettings.svelte index ff8b8c0e1d..4f8c8c9e95 100644 --- a/plugins/inbox-resources/src/components/InboxViewSettings.svelte +++ b/plugins/chat-resources/src/components/inbox/InboxViewSettings.svelte @@ -17,7 +17,7 @@ import { createFocusManager, FocusHandler, Label, ListView, ModernToggle, resizeObserver } from '@hcengineering/ui' import { getEmbeddedLabel } from '@hcengineering/platform' - import { updateViewSetting, isViewSettingEnabled, viewSettingsStore, hideUserNamesSettingId } from '../settings' + import { updateViewSetting, isViewSettingEnabled, viewSettingsStore, hideUserNamesSettingId } from '../../settings' const dispatch = createEventDispatcher() diff --git a/plugins/inbox-resources/src/components/MessageNotification.svelte b/plugins/chat-resources/src/components/inbox/MessageNotification.svelte similarity index 100% rename from plugins/inbox-resources/src/components/MessageNotification.svelte rename to plugins/chat-resources/src/components/inbox/MessageNotification.svelte diff --git a/plugins/inbox-resources/src/components/NotifyMarker.svelte b/plugins/chat-resources/src/components/inbox/NotifyMarker.svelte similarity index 100% rename from plugins/inbox-resources/src/components/NotifyMarker.svelte rename to plugins/chat-resources/src/components/inbox/NotifyMarker.svelte diff --git a/plugins/inbox-resources/src/components/ReactionNotification.svelte b/plugins/chat-resources/src/components/inbox/ReactionNotification.svelte similarity index 96% rename from plugins/inbox-resources/src/components/ReactionNotification.svelte rename to plugins/chat-resources/src/components/inbox/ReactionNotification.svelte index dfeaef4c3e..a3dcd65de2 100644 --- a/plugins/inbox-resources/src/components/ReactionNotification.svelte +++ b/plugins/chat-resources/src/components/inbox/ReactionNotification.svelte @@ -22,7 +22,7 @@ import NotificationPreview from './preview/NotificationPreview.svelte' import PreviewTemplate from './preview/PreviewTemplate.svelte' - import inbox from '../plugin' + import chat from '../../plugin' export let notification: Notification export let card: Card @@ -47,7 +47,7 @@ - diff --git a/plugins/inbox-resources/src/components/preview/NotificationPreview.svelte b/plugins/chat-resources/src/components/inbox/preview/NotificationPreview.svelte similarity index 100% rename from plugins/inbox-resources/src/components/preview/NotificationPreview.svelte rename to plugins/chat-resources/src/components/inbox/preview/NotificationPreview.svelte diff --git a/plugins/inbox-resources/src/components/preview/PreviewTemplate.svelte b/plugins/chat-resources/src/components/inbox/preview/PreviewTemplate.svelte similarity index 99% rename from plugins/inbox-resources/src/components/preview/PreviewTemplate.svelte rename to plugins/chat-resources/src/components/inbox/preview/PreviewTemplate.svelte index 09bfb5cc16..6bdfa67566 100644 --- a/plugins/inbox-resources/src/components/preview/PreviewTemplate.svelte +++ b/plugins/chat-resources/src/components/inbox/preview/PreviewTemplate.svelte @@ -23,7 +23,7 @@ getPersonByPersonId } from '@hcengineering/contact-resources' import { SocialID } from '@hcengineering/communication-types' - import { isViewSettingEnabled, hideUserNamesSettingId, viewSettingsStore } from '../../settings' + import { isViewSettingEnabled, hideUserNamesSettingId, viewSettingsStore } from '../../../settings' export let tooltipLabel: IntlString | undefined = undefined export let person: Person | undefined = undefined diff --git a/plugins/chat-resources/src/location.ts b/plugins/chat-resources/src/location.ts index 6441ce02c5..06e8bd44c8 100644 --- a/plugins/chat-resources/src/location.ts +++ b/plugins/chat-resources/src/location.ts @@ -26,6 +26,10 @@ export function isFavoritesLocation (loc: Location): boolean { return loc.path[2] === chatId && loc.path[3] === 'favorites' } +export function isAllLocation (loc: Location): boolean { + return loc.path[2] === chatId && loc.path[3] === 'all' +} + export function getCardIdFromLocation (loc: Location): Ref | undefined { if (loc.path[2] !== chatId) { return undefined @@ -78,6 +82,16 @@ export function navigateToFavorites (): void { navigate(loc) } +export function navigateToAll (): void { + const loc = getCurrentResolvedLocation() + + loc.path[2] = chatId + loc.path[3] = 'all' + delete loc.query?.message + + navigate(loc) +} + export async function resolveLocation (loc: Location): Promise { if (loc.path[2] !== chatId) { return undefined diff --git a/plugins/inbox-resources/src/settings.ts b/plugins/chat-resources/src/settings.ts similarity index 97% rename from plugins/inbox-resources/src/settings.ts rename to plugins/chat-resources/src/settings.ts index 38d3040d83..55a7a532aa 100644 --- a/plugins/inbox-resources/src/settings.ts +++ b/plugins/chat-resources/src/settings.ts @@ -61,7 +61,7 @@ function geLocalStorageKey (): string | undefined { const loc = get(location) const workspace = loc.path[1] ?? '' if (me == null || workspace === '') return undefined - return `${workspace}.${me.uuid}.inbox.view-settings.v1` + return `${workspace}.${me.uuid}.chat.view-settings.v1` } function initViewSettings (): void { diff --git a/plugins/chat/src/index.ts b/plugins/chat/src/index.ts index db59e6a68a..66e9a8f7a6 100644 --- a/plugins/chat/src/index.ts +++ b/plugins/chat/src/index.ts @@ -29,11 +29,19 @@ const chat = plugin(chatId, { MessageIn: '' as IntlString, Thread: '' as IntlString, Threads: '' as IntlString, - Title: '' as IntlString + Title: '' as IntlString, + Inbox: '' as IntlString, + All: '' as IntlString, + ClearAll: '' as IntlString, + InboxIsClear: '' as IntlString, + YouDontHaveAnyNewMessages: '' as IntlString, + ReactedToYourMessage: '' as IntlString }, icon: { ChatBubble: '' as Asset, - Thread: '' as Asset + Thread: '' as Asset, + Inbox: '' as Asset, + All: '' as Asset }, masterTag: { Thread: '' as Ref diff --git a/plugins/home-assets/.eslintrc.js b/plugins/home-assets/.eslintrc.js deleted file mode 100644 index e73094bc7e..0000000000 --- a/plugins/home-assets/.eslintrc.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - extends: ['./node_modules/@hcengineering/platform-rig/profiles/assets/eslint.config.json'], - parserOptions: { - tsconfigRootDir: __dirname, - project: './tsconfig.json' - } -} diff --git a/plugins/home-assets/assets/icons.svg b/plugins/home-assets/assets/icons.svg deleted file mode 100644 index f287a1128a..0000000000 --- a/plugins/home-assets/assets/icons.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/home-assets/config/rig.json b/plugins/home-assets/config/rig.json deleted file mode 100644 index b75800b9b7..0000000000 --- a/plugins/home-assets/config/rig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", - "rigPackageName": "@hcengineering/platform-rig", - "rigProfile": "assets" -} diff --git a/plugins/home-assets/jest.config.js b/plugins/home-assets/jest.config.js deleted file mode 100644 index 2cfd408b67..0000000000 --- a/plugins/home-assets/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - testMatch: ['**/?(*.)+(spec|test).[jt]s?(x)'], - roots: ["./src"], - coverageReporters: ["text-summary", "html"] -} diff --git a/plugins/home-assets/lang/cs.json b/plugins/home-assets/lang/cs.json deleted file mode 100644 index 009730fce9..0000000000 --- a/plugins/home-assets/lang/cs.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "string": { - "Home": "Domov", - "All": "Všechny aktualizace", - "CreatedByMe": "Vytvořeno mnou", - "Threads": "Vlákna", - "Compact": "Kompaktní", - "Comfortable": "Komfortní", - "Comfortable2": "Komfortní 2" - } -} diff --git a/plugins/home-assets/lang/de.json b/plugins/home-assets/lang/de.json deleted file mode 100644 index 569bc8ab1e..0000000000 --- a/plugins/home-assets/lang/de.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "string": { - "Home": "Startseite", - "All": "Alle Updates", - "CreatedByMe": "Von mir erstellt", - "Threads": "Threads", - "Compact": "Kompakt", - "Comfortable": "Komfortabel", - "Comfortable2": "Komfortabel 2" - } -} diff --git a/plugins/home-assets/lang/en.json b/plugins/home-assets/lang/en.json deleted file mode 100644 index ec5fc0b66b..0000000000 --- a/plugins/home-assets/lang/en.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "string": { - "Home": "Home", - "All": "All updates", - "CreatedByMe": "Created by me", - "Threads": "Threads", - "Compact": "Compact", - "Comfortable": "Comfortable", - "Comfortable2": "Comfortable 2" - } -} diff --git a/plugins/home-assets/lang/es.json b/plugins/home-assets/lang/es.json deleted file mode 100644 index b7186b52ee..0000000000 --- a/plugins/home-assets/lang/es.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "string": { - "Home": "Inicio", - "All": "Todas las actualizaciones", - "CreatedByMe": "Creado por mí", - "Threads": "Hilos", - "Compact": "Compacto", - "Comfortable": "Confortable", - "Comfortable2": "Confortable 2" - } -} diff --git a/plugins/home-assets/lang/fr.json b/plugins/home-assets/lang/fr.json deleted file mode 100644 index 3ab9219f42..0000000000 --- a/plugins/home-assets/lang/fr.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "string": { - "Home": "Accueil", - "All": "Toutes les mises à jour", - "CreatedByMe": "Créé par moi", - "Threads": "Fils", - "Compact": "Compact", - "Comfortable": "Confortable", - "Comfortable2": "Confortable 2" - } -} diff --git a/plugins/home-assets/lang/it.json b/plugins/home-assets/lang/it.json deleted file mode 100644 index c8f0d1160d..0000000000 --- a/plugins/home-assets/lang/it.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "string": { - "Home": "Casa", - "All": "Tutti gli aggiornamenti", - "CreatedByMe": "Creato da me", - "Threads": "Thread", - "Compact": "Compatto", - "Comfortable": "Comodo", - "Comfortable2": "Comodo 2" - } -} diff --git a/plugins/home-assets/lang/ja.json b/plugins/home-assets/lang/ja.json deleted file mode 100644 index 3f83fb4d43..0000000000 --- a/plugins/home-assets/lang/ja.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "string": { - "Home": "ホーム", - "All": "すべての更新", - "CreatedByMe": "自分が作成", - "Threads": "スレッド", - "Compact": "コンパクト", - "Comfortable": "快適", - "Comfortable2": "快適2" - } -} diff --git a/plugins/home-assets/lang/pt.json b/plugins/home-assets/lang/pt.json deleted file mode 100644 index 1a8a058e6d..0000000000 --- a/plugins/home-assets/lang/pt.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "string": { - "Home": "Início", - "All": "Todas as atualizações", - "CreatedByMe": "Criado por mim", - "Threads": "Threads", - "Compact": "Compacto", - "Comfortable": "Confortável", - "Comfortable2": "Confortável 2" - } -} diff --git a/plugins/home-assets/lang/ru.json b/plugins/home-assets/lang/ru.json deleted file mode 100644 index 1b81325e22..0000000000 --- a/plugins/home-assets/lang/ru.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "string": { - "Home": "Главная", - "All": "Все обновления", - "CreatedByMe": "Созданные мной", - "Threads": "Потоки", - "Compact": "Компактный", - "Comfortable": "Комфортный", - "Comfortable2": "Комфортный 2" - } -} diff --git a/plugins/home-assets/lang/zh.json b/plugins/home-assets/lang/zh.json deleted file mode 100644 index 74c7f44398..0000000000 --- a/plugins/home-assets/lang/zh.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "string": { - "Home": "主页", - "All": "所有更新", - "CreatedByMe": "我创建的", - "Threads": "主题", - "Compact": "紧凑", - "Comfortable": "舒适", - "Comfortable2": "舒适2" - } -} diff --git a/plugins/home-assets/package.json b/plugins/home-assets/package.json deleted file mode 100644 index 21e6a68617..0000000000 --- a/plugins/home-assets/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "@hcengineering/home-assets", - "version": "0.6.0", - "main": "src/index.ts", - "author": "Hardcore Engineering Inc", - "template": "@hcengineering/assets-package", - "license": "EPL-2.0", - "scripts": { - "build": "compile", - "test": "jest --passWithNoTests --silent", - "build:docs": "", - "format": "format src", - "build:watch": "compile", - "_phase:build": "compile transpile src", - "_phase:test": "jest --passWithNoTests --silent", - "_phase:format": "format src", - "_phase:validate": "compile validate" - }, - "devDependencies": { - "@hcengineering/platform-rig": "^0.6.0", - "@typescript-eslint/eslint-plugin": "^6.11.0", - "@typescript-eslint/parser": "^6.11.0", - "eslint-config-standard-with-typescript": "^40.0.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-n": "^15.4.0", - "eslint-plugin-promise": "^6.1.1", - "eslint": "^8.54.0", - "prettier": "^3.1.0", - "@types/node": "^22.15.29", - "jest": "^29.7.0", - "ts-jest": "^29.1.1", - "@types/jest": "^29.5.5", - "typescript": "^5.8.3" - }, - "dependencies": { - "@hcengineering/platform": "^0.6.11", - "@hcengineering/home": "^0.6.0" - } -} diff --git a/plugins/home-assets/src/__tests__/lang.test.ts b/plugins/home-assets/src/__tests__/lang.test.ts deleted file mode 100644 index 49a0581296..0000000000 --- a/plugins/home-assets/src/__tests__/lang.test.ts +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright © 2025 Hardcore Engineering Inc. -// -// Licensed under the Eclipse Public License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. You may -// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// - -import { makeLocalesTest } from '@hcengineering/platform' - -it( - 'Locales are equal', - makeLocalesTest((lang) => import(`../../lang/${lang}.json`)) -) diff --git a/plugins/home-assets/src/index.ts b/plugins/home-assets/src/index.ts deleted file mode 100644 index 41883e4c60..0000000000 --- a/plugins/home-assets/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -// -// Copyright © 2025 Hardcore Engineering Inc. -// -// Licensed under the Eclipse Public License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. You may -// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// - -import { loadMetadata } from '@hcengineering/platform' -import home from '@hcengineering/home' - -const icons = require('../assets/icons.svg') as string // eslint-disable-line -loadMetadata(home.icon, { - Home: `${icons}#home`, - Person: `${icons}#person`, - Thread: `${icons}#thread`, - All: `${icons}#all` -}) diff --git a/plugins/home-assets/tsconfig.json b/plugins/home-assets/tsconfig.json deleted file mode 100644 index 2857a41ad2..0000000000 --- a/plugins/home-assets/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "./node_modules/@hcengineering/platform-rig/profiles/assets/tsconfig.json", - - "compilerOptions": { - "rootDir": "./src", - "outDir": "./lib", - "declarationDir": "./types", - "types": ["node", "jest"], - "tsBuildInfoFile": ".build/build.tsbuildinfo" - }, - "include": ["src/**/*"], - "exclude": ["node_modules", "lib", "dist", "types", "bundle"] -} \ No newline at end of file diff --git a/plugins/home-resources/.eslintrc.js b/plugins/home-resources/.eslintrc.js deleted file mode 100644 index bb8fd7450d..0000000000 --- a/plugins/home-resources/.eslintrc.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - extends: ['./node_modules/@hcengineering/platform-rig/profiles/ui/eslint.config.json'], - parserOptions: { tsconfigRootDir: __dirname } -} diff --git a/plugins/home-resources/.prettierrc b/plugins/home-resources/.prettierrc deleted file mode 100644 index 792942803a..0000000000 --- a/plugins/home-resources/.prettierrc +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "trailingComma": "none", - "tabWidth": 2, - "semi": false, - "singleQuote": true, - "printWidth": 120, - "useTabs": false, - "bracketSpacing": true, - "proseWrap": "preserve", - "plugins": [ - "prettier-plugin-svelte" - ], - "overrides": [ - { - "files": "*.svelte", - "options": { - "parser": "svelte" - } - } - ] -} \ No newline at end of file diff --git a/plugins/home-resources/config/rig.json b/plugins/home-resources/config/rig.json deleted file mode 100644 index bcad6f7c33..0000000000 --- a/plugins/home-resources/config/rig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", - "rigPackageName": "@hcengineering/platform-rig", - "rigProfile": "ui" -} diff --git a/plugins/home-resources/jest.config.js b/plugins/home-resources/jest.config.js deleted file mode 100644 index 3656e284d3..0000000000 --- a/plugins/home-resources/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - testMatch: ['**/?(*.)+(spec|test).[jt]s?(x)'] -} diff --git a/plugins/home-resources/package.json b/plugins/home-resources/package.json deleted file mode 100644 index d18d169a82..0000000000 --- a/plugins/home-resources/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "@hcengineering/home-resources", - "version": "0.6.0", - "main": "src/index.ts", - "author": "Hardcore Engineering Inc", - "license": "EPL-2.0", - "scripts": { - "build": "compile ui", - "build:docs": "api-extractor run --local", - "format": "format src", - "svelte-check": "do-svelte-check", - "_phase:svelte-check": "do-svelte-check", - "build:watch": "compile ui", - "_phase:build": "compile ui", - "_phase:format": "format src", - "_phase:validate": "compile validate" - }, - "devDependencies": { - "@hcengineering/platform-rig": "^0.6.0", - "@types/jest": "^29.5.5", - "@typescript-eslint/eslint-plugin": "^6.11.0", - "@typescript-eslint/parser": "^6.11.0", - "eslint": "^8.54.0", - "eslint-config-standard-with-typescript": "^40.0.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-n": "^15.4.0", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-svelte": "^2.35.1", - "jest": "^29.7.0", - "prettier": "^3.1.0", - "prettier-plugin-svelte": "^3.2.2", - "sass": "^1.53.0", - "svelte-check": "^3.6.9", - "svelte-eslint-parser": "^0.33.1", - "svelte-loader": "^3.2.0", - "svelte-preprocess": "^5.1.3", - "ts-jest": "^29.1.1", - "typescript": "^5.8.3" - }, - "dependencies": { - "@hcengineering/analytics": "^0.6.0", - "@hcengineering/card": "^0.6.0", - "@hcengineering/card-resources": "^0.6.0", - "@hcengineering/chat": "^0.6.0", - "@hcengineering/core": "^0.6.32", - "@hcengineering/contact": "^0.6.24", - "@hcengineering/contact-resources": "^0.6.0", - "@hcengineering/communication-types": "^0.1.0", - "@hcengineering/communication-resources": "^0.6.0", - "@hcengineering/home": "^0.6.0", - "@hcengineering/platform": "^0.6.11", - "@hcengineering/presentation": "^0.6.3", - "@hcengineering/ui": "^0.6.15", - "@hcengineering/view": "^0.6.13", - "@hcengineering/view-resources": "^0.6.0", - "@hcengineering/workbench-resources": "^0.6.1", - "fast-equals": "^5.2.2", - "svelte": "^4.2.20" - } -} diff --git a/plugins/home-resources/postcss.config.js b/plugins/home-resources/postcss.config.js deleted file mode 100644 index 88752c6cb0..0000000000 --- a/plugins/home-resources/postcss.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - plugins: [ - require('autoprefixer') - ] -} diff --git a/plugins/home-resources/src/components/HomeApplication.svelte b/plugins/home-resources/src/components/HomeApplication.svelte deleted file mode 100644 index eaf3011715..0000000000 --- a/plugins/home-resources/src/components/HomeApplication.svelte +++ /dev/null @@ -1,87 +0,0 @@ - - - -
- {#if $deviceInfo.navigator.visible} - - - {/if} - -
- -
-
diff --git a/plugins/home-resources/src/components/HomeSettings.svelte b/plugins/home-resources/src/components/HomeSettings.svelte deleted file mode 100644 index 31086613a8..0000000000 --- a/plugins/home-resources/src/components/HomeSettings.svelte +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - -
{ - dispatch('changeContent') - }} - on:keydown={onKeydown} -> -