Mobile UI sprint 1: actions-bar, version cards, meta line, safe area
- Add docs/СПРИНТЫ_МОБИЛЬНЫЙ_ДИЗАЙН.md and DOC/ШАГИ/ШАГ_2026-04-27_002.md - cabinet-theme: .actions-bar, .version-card-list, .list-row__meta-tail, .inline-actions--block-mobile, btn--sm/ghost tweaks, safe-area main padding - TestDetail: replace version table with cards; command panel uses actions-bar; assign list only when there are people; publication full-width on narrow - TestsList: version suffix in non-breaking tail span Made-with: Cursor
This commit is contained in:
@@ -248,7 +248,7 @@ code,
|
||||
.btn-ghost {
|
||||
background: transparent;
|
||||
color: var(--primary);
|
||||
border-color: color-mix(in srgb, var(--outline-variant) 50%, transparent);
|
||||
border-color: color-mix(in srgb, var(--outline-variant) 70%, transparent);
|
||||
}
|
||||
|
||||
.btn-ghost:hover {
|
||||
@@ -264,8 +264,11 @@ code,
|
||||
|
||||
.btn--sm {
|
||||
font-size: 0.8rem;
|
||||
padding: 0.35rem 0.6rem;
|
||||
padding: 0.5rem 0.75rem;
|
||||
border-radius: 0.5rem;
|
||||
min-height: 2.75rem;
|
||||
min-width: 2.75rem;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* --- App shell (cabinet/base) --- */
|
||||
@@ -378,7 +381,7 @@ code,
|
||||
max-width: var(--max-content);
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 1.25rem 1.25rem 2.5rem;
|
||||
padding: 1.25rem 1.25rem calc(2.5rem + env(safe-area-inset-bottom, 0px));
|
||||
}
|
||||
|
||||
/* Cards & lists */
|
||||
@@ -431,6 +434,11 @@ code,
|
||||
margin-top: 0.25rem;
|
||||
}
|
||||
|
||||
/* «· v1» и хвост мета — не рвём посередине (мобайл) */
|
||||
.list-row__meta-tail {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Вся плитка — одна ссылка */
|
||||
.list-row--action {
|
||||
padding: 0;
|
||||
@@ -609,7 +617,8 @@ code,
|
||||
}
|
||||
|
||||
.assign-list {
|
||||
max-height: min(50vh, 22rem);
|
||||
max-height: min(40vh, 18rem);
|
||||
min-height: 0;
|
||||
overflow: auto;
|
||||
border: 1px solid color-mix(in srgb, var(--outline-variant) 30%, transparent);
|
||||
border-radius: 0.75rem;
|
||||
@@ -755,6 +764,57 @@ code,
|
||||
color: var(--on-surface-variant);
|
||||
}
|
||||
|
||||
/* История версий: карточки вместо таблицы (мобайл) */
|
||||
.version-card-list {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.version-card-list__item {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.version-card-list__row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
|
||||
.version-card-list__main {
|
||||
min-width: 0;
|
||||
flex: 1 1 12rem;
|
||||
}
|
||||
|
||||
.version-card-list__title-line {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.version-card-list__action {
|
||||
flex: 0 0 auto;
|
||||
align-self: center;
|
||||
}
|
||||
|
||||
@media (max-width: 520px) {
|
||||
.version-card-list__row {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.version-card-list__action {
|
||||
width: 100%;
|
||||
align-self: stretch;
|
||||
}
|
||||
}
|
||||
|
||||
.draft-block {
|
||||
margin-top: 1.25rem;
|
||||
padding: 1rem;
|
||||
@@ -783,3 +843,60 @@ code,
|
||||
.inline-actions .btn {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* Нижняя панель: полноширинные primary + secondary (без перебития .inline-actions .btn) */
|
||||
.actions-bar {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
gap: 0.5rem;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.actions-bar .btn-primary {
|
||||
width: 100%;
|
||||
margin-top: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.actions-bar a.btn,
|
||||
.actions-bar .btn.btn-ghost {
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
@media (min-width: 480px) {
|
||||
.actions-bar {
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.actions-bar .btn-primary {
|
||||
width: auto;
|
||||
min-width: 12rem;
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.actions-bar a.btn,
|
||||
.actions-bar .btn.btn-ghost {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 520px) {
|
||||
.inline-actions--block-mobile {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.inline-actions--block-mobile .btn {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user