diff --git a/frontend/src/components/RuleForm.vue b/frontend/src/components/RuleForm.vue index 78c72e8..6cd7a8a 100644 --- a/frontend/src/components/RuleForm.vue +++ b/frontend/src/components/RuleForm.vue @@ -196,7 +196,7 @@ display: flex; flex-direction: column; gap: var(--gn-space-4); - min-width: min(640px, 80vw); + min-width: 0; } .row { display: flex; @@ -220,11 +220,22 @@ display: flex; gap: var(--gn-space-3); align-items: flex-end; + flex-wrap: wrap; } .action-row > :first-child { min-width: 140px; } .action-row > :nth-child(2) { flex: 1; + min-width: 140px; +} +/* Мобайл: внутри модалки (margin 18px + padding 18px) пары полей 50/50 + становятся слишком узкими — складываем ряды в столбик. */ +@media (max-width: 479px) { + .row, + .action-row { + flex-direction: column; + align-items: stretch; + } } \ No newline at end of file diff --git a/frontend/src/views/DeliveriesView.vue b/frontend/src/views/DeliveriesView.vue index a81d6c9..2df8bf7 100644 --- a/frontend/src/views/DeliveriesView.vue +++ b/frontend/src/views/DeliveriesView.vue @@ -137,4 +137,16 @@ .event-id { font-size: 0.78em; } +/* Мобайл: селекты кита width:100% — в один ряд не помещаются, складываем в столбик + (wrap не годится: 100% base уводит каждый селект на свою строку и на десктопе). */ +@media (max-width: 767px) { + .filters { + flex-direction: column; + align-items: stretch; + } + /* выравнивающий хак с десктопа в столбике не нужен */ + .refresh-slot { + margin-bottom: 0; + } +} \ No newline at end of file diff --git a/frontend/src/views/McpKeysView.vue b/frontend/src/views/McpKeysView.vue index 3d4be23..da8014f 100644 --- a/frontend/src/views/McpKeysView.vue +++ b/frontend/src/views/McpKeysView.vue @@ -302,6 +302,11 @@ flex-direction: column; gap: var(--gn-space-3); } +@media (max-width: 479px) { + .panel { + padding: var(--gn-space-4); + } +} .panel-title { margin: 0; text-transform: uppercase; @@ -323,8 +328,11 @@ display: flex; align-items: center; gap: var(--gn-space-3); + flex-wrap: wrap; } .issue-name { + /* на телефоне кнопка уезжает под поле, само поле занимает всю ширину */ + flex: 1 1 200px; max-width: 320px; } .snippet { diff --git a/frontend/src/views/RuleDetailView.vue b/frontend/src/views/RuleDetailView.vue index 94a7edf..94f23b8 100644 --- a/frontend/src/views/RuleDetailView.vue +++ b/frontend/src/views/RuleDetailView.vue @@ -281,6 +281,11 @@ flex-direction: column; gap: var(--gn-space-3); } +@media (max-width: 479px) { + .panel { + padding: var(--gn-space-4); + } +} .panel-title { margin: 0; text-transform: uppercase; @@ -325,6 +330,8 @@ align-items: center; gap: var(--gn-space-2); flex-wrap: wrap; + min-width: 0; + overflow-wrap: anywhere; } .conditions { margin: 0; diff --git a/frontend/src/views/SettingsView.vue b/frontend/src/views/SettingsView.vue index a8f47bd..ef5d2de 100644 --- a/frontend/src/views/SettingsView.vue +++ b/frontend/src/views/SettingsView.vue @@ -361,6 +361,7 @@ display: flex; align-items: center; gap: var(--gn-space-4); + flex-wrap: wrap; } .device-row { display: flex; @@ -375,6 +376,8 @@ } .device-name { flex: 1; + min-width: 0; + overflow-wrap: anywhere; font-family: inherit; } .device-meta { diff --git a/frontend/src/views/SourceDetailView.vue b/frontend/src/views/SourceDetailView.vue index b5b14e9..3e556cc 100644 --- a/frontend/src/views/SourceDetailView.vue +++ b/frontend/src/views/SourceDetailView.vue @@ -255,6 +255,11 @@ flex-direction: column; gap: var(--gn-space-3); } +@media (max-width: 479px) { + .panel { + padding: var(--gn-space-4); + } +} .panel-title { margin: 0; text-transform: uppercase; @@ -290,6 +295,8 @@ } .meta-row dd { margin: 0; + min-width: 0; + overflow-wrap: anywhere; } .token-wrap { word-break: break-all; diff --git a/frontend/src/views/TargetDetailView.vue b/frontend/src/views/TargetDetailView.vue index 029b576..e321777 100644 --- a/frontend/src/views/TargetDetailView.vue +++ b/frontend/src/views/TargetDetailView.vue @@ -251,6 +251,11 @@ flex-direction: column; gap: var(--gn-space-3); } +@media (max-width: 479px) { + .panel { + padding: var(--gn-space-4); + } +} .panel-title { margin: 0; text-transform: uppercase; @@ -292,6 +297,8 @@ } .meta-row dd { margin: 0; + min-width: 0; + overflow-wrap: anywhere; } .form { display: flex;