-
+
Интерактивная симуляция запуска триггерной рассылки
+
+ Демо-модель
+
- Протестируйте отправку рассылки с промокодом по сегменту «Спящие клиенты» (340 получателей в базе)
+ Протестируйте отправку рассылки с промокодом по сегменту «Спящие клиенты» (340 получателей в базе). Подключение внешнего провайдера ожидает интеграции бэкенда.
diff --git a/src/features/operations/OperationsModule.tsx b/src/features/operations/OperationsModule.tsx
index b93eb8c..27400be 100644
--- a/src/features/operations/OperationsModule.tsx
+++ b/src/features/operations/OperationsModule.tsx
@@ -1,5 +1,5 @@
import React from 'react';
-import { useLocation, useNavigate } from 'react-router-dom';
+import { useLocation, useNavigate, useSearchParams } from 'react-router-dom';
import { useDemoStore } from '../../mock/store';
import { PosView } from './PosView';
import { KdsView } from './KdsView';
@@ -20,47 +20,49 @@ import { formatCurrency } from '../../shared/utils/formatters';
export const OperationsModule: React.FC = () => {
const location = useLocation();
const navigate = useNavigate();
+ const [searchParams] = useSearchParams();
const { getActiveProfile, getActiveCapabilities, setIsQuickActionsOpen, activeLocation } = useDemoStore();
const profile = getActiveProfile();
const capabilities = getActiveCapabilities();
const currentPath = location.pathname;
+ const tabParam = (searchParams.get('tab') || '').toLowerCase();
- // Sub-routes dispatcher
- if (currentPath === '/operations/pos') {
+ // Sub-routes dispatcher (supports both direct path and deep link query params)
+ if (currentPath === '/operations/pos' || tabParam === 'pos') {
return