Files
hfb_sys/frontend/src/features/admin/views/AdminListingDetailView.css
T

490 lines
7.9 KiB
CSS

.listing-detail-header {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: start;
gap: 20px;
margin-bottom: 18px;
}
.listing-title-block {
min-width: 0;
}
.listing-code-line {
display: inline-flex;
align-items: center;
gap: 8px;
color: #64748b;
font-size: 13px;
font-weight: 700;
}
.listing-code-line strong {
color: #2563eb;
letter-spacing: 0;
}
.listing-title-block h1 {
margin: 8px 0 10px;
color: #0f172a;
font-size: 30px;
line-height: 1.15;
}
.listing-subtitle {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.listing-subtitle span {
padding: 4px 9px;
border: 1px solid #dbe3ef;
border-radius: 8px;
background: #fff;
color: #64748b;
font-size: 13px;
}
.listing-summary-bar {
display: grid;
grid-template-columns: repeat(6, minmax(120px, 1fr));
gap: 1px;
overflow: hidden;
margin-bottom: 16px;
border: 1px solid #e5e7eb;
border-radius: 10px;
background: #e5e7eb;
}
.listing-summary-bar > div {
display: grid;
min-height: 74px;
align-content: center;
gap: 8px;
padding: 12px 14px;
background: #fff;
}
.listing-summary-bar span {
color: #64748b;
font-size: 13px;
font-weight: 700;
}
.listing-summary-bar strong {
color: #0f172a;
font-size: 21px;
line-height: 1.1;
}
.listing-workspace {
display: grid;
grid-template-columns: minmax(0, 1.3fr) minmax(360px, 0.7fr);
gap: 16px;
align-items: start;
}
.detail-panel {
min-width: 0;
border: 1px solid #e5e7eb;
border-radius: 10px;
background: #fff;
padding: 16px;
box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
.screenshots-panel {
grid-column: 1 / -1;
}
.panel-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 12px;
padding-bottom: 10px;
border-bottom: 1px solid #eef2f7;
}
.panel-heading h2 {
margin: 0;
color: #0f172a;
font-size: 16px;
font-weight: 800;
}
.panel-heading span {
overflow: hidden;
color: #94a3b8;
font-size: 13px;
text-overflow: ellipsis;
white-space: nowrap;
}
.compact-detail-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1px;
overflow: hidden;
margin: 0;
border: 1px solid #eef2f7;
border-radius: 8px;
background: #eef2f7;
}
.compact-detail-grid.single {
grid-template-columns: 1fr;
}
.compact-detail-grid div {
display: grid;
grid-template-columns: 88px minmax(0, 1fr);
gap: 10px;
align-items: start;
min-height: 38px;
padding: 10px 12px;
background: #fff;
}
.compact-detail-grid dt {
color: #64748b;
font-size: 13px;
font-weight: 700;
}
.compact-detail-grid dd {
min-width: 0;
margin: 0;
overflow-wrap: anywhere;
color: #0f172a;
font-size: 13px;
font-weight: 700;
}
.resource-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
gap: 10px;
}
.resource-item {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
padding: 10px 12px;
border: 1px solid #e5e7eb;
border-radius: 8px;
background: #f8fafc;
}
.resource-item span {
color: #64748b;
font-size: 13px;
font-weight: 700;
}
.resource-item strong {
color: #0f172a;
font-size: 18px;
}
.skin-chip-list {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 12px;
}
.screenshot-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
gap: 12px;
}
.screenshot-thumb {
display: grid;
gap: 8px;
padding: 8px;
border: 1px solid #e5e7eb;
border-radius: 8px;
background: #fff;
color: #64748b;
cursor: pointer;
text-align: left;
}
.screenshot-thumb:hover {
border-color: #93c5fd;
background: #eff6ff;
}
.screenshot-thumb img {
width: 100%;
aspect-ratio: 4 / 3;
border-radius: 6px;
background: #f1f5f9;
object-fit: cover;
}
.screenshot-image {
width: 100%;
aspect-ratio: 4 / 3;
border-radius: 6px;
}
.screenshot-thumb span {
color: #334155;
font-size: 13px;
font-weight: 700;
}
.empty-line {
margin: 0;
color: #94a3b8;
font-size: 13px;
}
.transfer-owner-trigger {
min-width: 120px;
font-weight: 700;
}
.external-adjust-form {
display: grid;
gap: 4px;
}
:global(.external-adjust-dialog) {
max-width: calc(100vw - 32px);
}
:global(.external-adjust-dialog .el-dialog__body) {
max-height: calc(100vh - 180px);
overflow-y: auto;
}
.external-adjust-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 18px;
}
.external-adjust-grid :deep(.el-input-number),
.external-adjust-form :deep(.el-input-number) {
width: 100%;
}
.external-adjust-preview {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 1px;
overflow: hidden;
margin: 4px 0 18px 112px;
border: 1px solid #e5e7eb;
border-radius: 8px;
background: #e5e7eb;
}
.external-adjust-preview > div {
display: grid;
min-height: 70px;
align-content: center;
gap: 7px;
padding: 10px;
background: #f8fafc;
}
.external-adjust-preview span {
color: #64748b;
font-size: 12px;
font-weight: 700;
}
.external-adjust-preview strong {
color: #0f172a;
font-size: 16px;
}
.transfer-dialog {
display: grid;
gap: 18px;
}
.transfer-route {
display: grid;
grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
align-items: stretch;
gap: 12px;
padding: 14px;
border: 1px solid #e5e7eb;
border-radius: 8px;
background: #f8fafc;
}
.transfer-owner-card {
display: flex;
min-width: 0;
flex-direction: column;
justify-content: center;
gap: 6px;
padding: 12px 14px;
border: 1px solid #e5e7eb;
border-radius: 8px;
background: #fff;
color: #64748b;
}
.transfer-owner-card.target {
border-color: #86efac;
background: #f0fdf4;
}
.transfer-owner-card.target.empty {
border-color: #bfdbfe;
background: #eff6ff;
}
.transfer-owner-card span {
font-size: 13px;
}
.transfer-owner-card strong {
overflow: hidden;
color: #0f172a;
font-size: 18px;
line-height: 1.25;
text-overflow: ellipsis;
white-space: nowrap;
}
.transfer-owner-card small {
overflow: hidden;
color: #94a3b8;
text-overflow: ellipsis;
white-space: nowrap;
}
.transfer-arrow {
display: grid;
place-items: center;
color: #2563eb;
font-size: 22px;
font-weight: 800;
}
.transfer-section {
display: grid;
gap: 8px;
}
.transfer-section label {
color: #334155;
font-size: 14px;
font-weight: 700;
}
.transfer-user-list {
min-height: 138px;
max-height: 280px;
overflow: auto;
border: 1px solid #e5e7eb;
border-radius: 8px;
background: #fff;
}
.transfer-user {
display: flex;
width: 100%;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 13px 14px;
border: 0;
border-bottom: 1px solid #eef2f7;
background: #fff;
color: #334155;
text-align: left;
cursor: pointer;
}
.transfer-user:last-child {
border-bottom: 0;
}
.transfer-user:hover,
.transfer-user.is-selected {
background: #eff6ff;
}
.transfer-user.is-selected {
box-shadow: inset 3px 0 0 #2563eb;
}
.transfer-user-main {
min-width: 0;
}
.transfer-user strong {
display: block;
overflow: hidden;
color: #0f172a;
text-overflow: ellipsis;
white-space: nowrap;
}
.transfer-user small {
display: block;
margin-top: 4px;
overflow: hidden;
color: #94a3b8;
text-overflow: ellipsis;
white-space: nowrap;
}
.transfer-user-meta {
display: inline-flex;
flex-shrink: 0;
align-items: center;
gap: 8px;
}
@media (max-width: 760px) {
.listing-detail-header,
.listing-workspace {
grid-template-columns: 1fr;
}
.listing-summary-bar {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.compact-detail-grid {
grid-template-columns: 1fr;
}
.transfer-route {
grid-template-columns: 1fr;
}
.external-adjust-grid,
.external-adjust-preview {
grid-template-columns: 1fr;
}
.external-adjust-preview {
margin-left: 0;
}
.transfer-arrow {
transform: rotate(90deg);
}
.transfer-user {
align-items: flex-start;
flex-direction: column;
}
}