feat: add StroyBot app shell with URL routing

One web part replaces the separate stroy-bot-* web parts. The section and
its parameters live in the page query string (?page=objects&projectId=5),
so links can be copied, opened in a new tab and the browser Back button works.

- shared config: site/Dataverse/API addresses, list and table names
- HTTP layer behind IHttpClient so repositories can be unit-tested
- ui-kit AppLayout + Sidebar, placeholder for sections not ported yet
- migration checklist with every feature of the old web parts
- design tokens mirrored from ui-kit instead of 8 copies

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Тимур Городецкий
2026-10-15 16:42:37 +05:00
parent 5418da3bdc
commit b868e8012d
37 changed files with 1135 additions and 274 deletions
+18
View File
@@ -0,0 +1,18 @@
// Тексты оболочки приложения. Тексты разделов лежат рядом с разделами (pages/*/texts.ts).
export const APP_TEXTS = {
brand: 'StroyBot',
sectionInProgress: 'Раздел переносится из старого web part',
sectionInProgressHint: 'Пока пользуйтесь старой страницей раздела.'
} as const;
export const PROPERTY_PANE_TEXTS = {
header: 'Настройки StroyBot',
connectionGroup: 'Подключение',
siteUrl: 'URL сайта SharePoint со списками (пусто — по умолчанию)',
siteUrlPlaceholder: 'https://tnsukz.sharepoint.com/sites/stroy',
dataverseUrl: 'URL Dataverse (пусто — по умолчанию)',
dataverseUrlPlaceholder: 'https://tansu.crm5.dynamics.com',
apiBaseUrl: 'Базовый URL API (пусто — по умолчанию)',
apiBaseUrlPlaceholder: 'https://api.tnsu.kz'
} as const;