From 1e316a9558a6d5c8c58663ffb67927a97859099a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B8=D0=BC=D1=83=D1=80=20=D0=93=D0=BE=D1=80=D0=BE?= =?UTF-8?q?=D0=B4=D0=B5=D1=86=D0=BA=D0=B8=D0=B9?= Date: Fri, 2 Oct 2026 09:34:51 +0500 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=BE=D0=B1=D1=8A=D1=8F=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=20Teams=20=E2=80=94=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D1=80=D1=8B=D0=B2=D0=B0=D1=82=D1=8C=20=D0=BF=D0=BE?= =?UTF-8?q?=D1=80=D1=82=D0=B0=D0=BB=20=D0=B2=20=D0=B1=D1=80=D0=B0=D1=83?= =?UTF-8?q?=D0=B7=D0=B5=D1=80=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В приложении Teams часть функций портала работает ограниченно. На главной в Teams теперь показывается объявление со ссылкой на страницу портала, которая открывается во внешнем браузере. В браузере объявление не показывается. Co-Authored-By: Claude Opus 5.5 (1M context) --- .../components/RequestPortal.tsx | 2 ++ .../TeamsBrowserNotice.module.scss | 30 +++++++++++++++++++ .../TeamsBrowserNotice/TeamsBrowserNotice.tsx | 24 +++++++++++++++ src/webparts/requestPortal/shared/config.ts | 7 +++++ 4 files changed, 63 insertions(+) create mode 100644 src/webparts/requestPortal/components/TeamsBrowserNotice/TeamsBrowserNotice.module.scss create mode 100644 src/webparts/requestPortal/components/TeamsBrowserNotice/TeamsBrowserNotice.tsx diff --git a/src/webparts/requestPortal/components/RequestPortal.tsx b/src/webparts/requestPortal/components/RequestPortal.tsx index 6c31d8c..715b596 100644 --- a/src/webparts/requestPortal/components/RequestPortal.tsx +++ b/src/webparts/requestPortal/components/RequestPortal.tsx @@ -28,6 +28,7 @@ import { getImpersonatedEmail, getImpersonatedDisplayName } from '../shared/impe import { confirmDiscardFormChanges, markFormClean, markFormDirty } from '../shared/unsavedChanges'; import { Drawer } from './Drawer/Drawer'; import { CategoryTabs } from './CategoryTabs/CategoryTabs'; +import { TeamsBrowserNotice } from './TeamsBrowserNotice/TeamsBrowserNotice'; import { CATEGORIES, DEFAULT_CATEGORY_ID } from '../data/categories'; import { REQUEST_TYPES } from '../data/requests'; import SubmitFeature from '../features/submit/SubmitFeature'; @@ -455,6 +456,7 @@ const RequestPortal: React.FC = ({ hasTeamsContext, context onInput={markFormDirty} onChange={markFormDirty} > + {hasTeamsContext && }
( +
+
{NOTICE_TITLE}
+

{NOTICE_TEXT}

+ + {LINK_TEXT} + +
+); diff --git a/src/webparts/requestPortal/shared/config.ts b/src/webparts/requestPortal/shared/config.ts index 09d48e5..3d92e51 100644 --- a/src/webparts/requestPortal/shared/config.ts +++ b/src/webparts/requestPortal/shared/config.ts @@ -15,6 +15,13 @@ export const DATA_SITE_URL = 'https://tnsukz.sharepoint.com/sites/requests'; export const USER_GUIDE_URL = 'https://tnsukz.sharepoint.com/:w:/r/sites/knowledge/DocLib8/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8%20%D0%BA%20IT%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0%D0%BC/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20-%20%D0%9F%D0%BE%D1%80%D1%82%D0%B0%D0%BB%20%D0%B7%D0%B0%D1%8F%D0%B2%D0%BE%D0%BA.docx?d=wce77e8a0d19d49b5b2fcdf13828e8bb3&csf=1&web=1&e=p9V3hU'; +/** + * Страница портала в SharePoint — ссылка «Открыть портал в браузере» в + * объявлении для Teams (см. components/TeamsBrowserNotice). Внутри Teams + * портал свой адрес не знает (вкладка Teams — служебная страница), поэтому задан явно. + */ +export const PORTAL_PAGE_URL = `${DATA_SITE_URL}/SitePages/${encodeURIComponent('Портал-Заявок')}.aspx`; + /** * Внешний approval-route API (маршруты согласования по ролям). * Авторизация — AadHttpClient (SSO текущего пользователя) по clientId