diff --git a/src/app/layouts/AppShell.tsx b/src/app/layouts/AppShell.tsx
index 79c9965..5c8aa2e 100644
--- a/src/app/layouts/AppShell.tsx
+++ b/src/app/layouts/AppShell.tsx
@@ -22,7 +22,7 @@ export const AppShell: React.FC = () => {
activeLocation,
} = useDemoStore();
- const { isMobile, isTablet, isDesktop } = useResponsive();
+ const { width, isMobile, isTablet, isDesktop } = useResponsive();
const profile = getActiveProfile();
const location = useLocation();
const isCommunicationsPage = location.pathname.startsWith('/communications');
@@ -36,7 +36,9 @@ export const AppShell: React.FC = () => {
dark: 'graphite-forest-dark',
}[theme];
document.documentElement.setAttribute('data-krona-theme', kronaTheme);
- }, [theme]);
+ document.documentElement.setAttribute('data-omni-theme', kronaTheme);
+ document.documentElement.setAttribute('data-omni-density', isMobile ? 'touch' : 'workspace');
+ }, [theme, isMobile]);
// Layout resolution:
// 1. Real screen size is paramount:
@@ -78,7 +80,11 @@ export const AppShell: React.FC = () => {
{/* Main Shell Layout */}
{/* Left Sidebar: hidden on mobile, rendered on tablet & desktop */}
- {!isEffectiveMobile &&
}
+ {!isEffectiveMobile && (
+
+ )}
{/* Center Work Area */}
diff --git a/src/app/shell/Topbar.tsx b/src/app/shell/Topbar.tsx
index 84612ae..86ae73a 100644
--- a/src/app/shell/Topbar.tsx
+++ b/src/app/shell/Topbar.tsx
@@ -180,7 +180,7 @@ export const Topbar: React.FC = () => {
{/* Location Switcher */}
{profile.locations.length > 1 && (
-
+
@@ -208,7 +208,7 @@ export const Topbar: React.FC = () => {
)}
{/* Role Badge (RBAC) */}
-
+
{
{/* Center: Command Search Palette Trigger */}
-
+
setIsCommandPaletteOpen(true)}
className="w-full flex items-center justify-between px-3 py-1.5 bg-krona-workspace border border-krona-border rounded-xl text-xs text-krona-secondary hover:text-krona-primary hover:border-krona-gold/60 transition-colors shadow-inner"
@@ -292,7 +292,7 @@ export const Topbar: React.FC = () => {
title="Krona AI — Бизнес-оркестратор"
>
- Krona AI
+ Krona AI
{/* Theme switcher (3 buttons) */}
@@ -352,14 +352,6 @@ export const Topbar: React.FC = () => {
- {/* Communications owns its local tabs inside the module. Keep only the
- module title here so the shell does not render a duplicate menu. */}
- {isCommunicationsModule && (
-
- Коммуникации
-
- )}
-
{/* Subheader / Subtabs Navigation Bar (Desktop & Tablet) */}
{!isCommunicationsModule && activeSubtabs.length > 0 && (
diff --git a/src/features/communications/components/MessengersView.tsx b/src/features/communications/components/MessengersView.tsx
index 354375d..1cb8d63 100644
--- a/src/features/communications/components/MessengersView.tsx
+++ b/src/features/communications/components/MessengersView.tsx
@@ -696,15 +696,18 @@ export function MessengersView({ onOpenConnectModal, onOpenAddContactModal }: Me
- {onOpenConnectModal &&
}
- className="hidden sm:inline-flex"
- >
- Добавить мессенджер
- }
+ {onOpenConnectModal && (
+
+ }
+ >
+ Добавить мессенджер
+
+
+ )}
{onOpenConnectModal &&