diff --git a/src/food-market.web/src/lib/useMe.ts b/src/food-market.web/src/lib/useMe.ts
index 6a0f10d..64a63e4 100644
--- a/src/food-market.web/src/lib/useMe.ts
+++ b/src/food-market.web/src/lib/useMe.ts
@@ -12,6 +12,11 @@ export interface MeResponse {
hasLiveOrg: boolean
/** Активный Employee текущего AppUser в его Organization. False → orphan. */
hasActiveEmployee: boolean
+ /** Sprint 29 — расширенный режим орг-tenanta (SuperAdmin включает
+ * вручную). false → UI скрывает «не для простого магазина»
+ * модули: Demand, Transfers, Loyalty, Promotions, ABC, Аудит,
+ * пресеты, Telegram-бот, SSO, несколько типов цен. */
+ advancedMode: boolean
}
/** Текущий залогиненный юзер с ролями. Используется для гейтов
diff --git a/src/food-market.web/src/pages/DashboardPage.tsx b/src/food-market.web/src/pages/DashboardPage.tsx
index c0cb6ea..8862744 100644
--- a/src/food-market.web/src/pages/DashboardPage.tsx
+++ b/src/food-market.web/src/pages/DashboardPage.tsx
@@ -26,6 +26,9 @@ interface MeResponse {
email: string
roles: string[]
orgId: string
+ /** Sprint 29 — расширенный режим орг-tenanta. false → скрыты
+ * продвинутые виджеты (TopProducts, Margin). */
+ advancedMode?: boolean
}
function useCount(url: string) {
@@ -208,14 +211,20 @@ export function DashboardPage() {
)}
- {/* Виджеты «Топ товаров», «Маржа», «Last sales», «Low stock» */}
+ {/* Виджеты. В простом режиме — только «что заканчивается» и
+ «последние продажи». «Топ товаров» и «Маржа» требуют расширенный
+ режим (SuperAdmin видит всегда). */}
- }>
-
-
- }>
-
-
+ {(me.data?.advancedMode || me.data?.roles?.includes('SuperAdmin')) && (
+ <>
+ }>
+
+
+ }>
+
+
+ >
+ )}
}>