fix(портал-мобилка): деталь сделки на телефоне — на весь экран
Панель деталей сделки была фикс. ширины (inline 400px в «Сделках», drawer 480px в Канбане) — на экране 390 она была шире экрана: в «Сделках» давала горизонтальный скролл страницы и крошила карточки списка, в Канбане левый край уезжал за экран. На телефоне: - «Сделки» — inline-панель стала полноэкранным оверлеем (position:fixed inset:0). - Канбан — ширина drawer = ширине экрана (useDisplay). Десктоп/планшет — прежний master-detail 400px / drawer 480px, без изменений. Тесты 103/103 зелёные. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -6,9 +6,14 @@
|
||||
* Тело — общий DealDetailBody.vue.
|
||||
*/
|
||||
import { computed } from 'vue';
|
||||
import { useDisplay } from 'vuetify';
|
||||
import type { MockDeal } from '../../composables/mockDeals';
|
||||
import DealDetailBody from './DealDetailBody.vue';
|
||||
|
||||
// Телефон: overlay-панель на весь экран (фикс. 480px был шире экрана).
|
||||
const { width, xs } = useDisplay();
|
||||
const drawerWidth = computed(() => (xs.value ? width.value : 480));
|
||||
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
open: boolean;
|
||||
@@ -43,7 +48,7 @@ function close() {
|
||||
@status-changed="(s: string) => emit('status-changed', s)"
|
||||
/>
|
||||
</aside>
|
||||
<v-navigation-drawer v-else v-model="drawerOpen" location="right" temporary :width="480" class="deal-drawer">
|
||||
<v-navigation-drawer v-else v-model="drawerOpen" location="right" temporary :width="drawerWidth" class="deal-drawer">
|
||||
<DealDetailBody
|
||||
:deal="deal"
|
||||
:tenant-id="tenantId"
|
||||
@@ -69,4 +74,18 @@ function close() {
|
||||
position: sticky;
|
||||
top: 16px;
|
||||
}
|
||||
/* Телефон: панель деталей — полноэкранный оверлей поверх списка
|
||||
(фикс. 400px рядом со списком давал горизонтальный скролл и крошил карточки). */
|
||||
@media (max-width: 599.98px) {
|
||||
.deal-detail-inline {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 1200;
|
||||
width: 100%;
|
||||
max-height: none;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
overflow-y: auto;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user