Make FPP selectable in order flow

This commit is contained in:
sas.fajri
2026-04-13 16:53:30 +07:00
parent f0bb1ced65
commit 28c315c38f
2 changed files with 677 additions and 152 deletions

View File

@@ -561,6 +561,292 @@ tr:last-child td {
gap: 20px;
}
.fpp-shell {
gap: 16px;
}
.fpp-sheet {
padding: 12px;
border-radius: 18px;
border: 1px solid rgba(120, 53, 15, 0.18);
background: linear-gradient(180deg, #fffaf2 0%, #fffdf9 100%);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 12px 32px rgba(15, 23, 42, 0.06);
}
.fpp-sheet-head {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 12px;
margin-bottom: 10px;
padding: 8px 10px;
border-radius: 12px;
background: linear-gradient(180deg, #c2410c 0%, #9a3412 100%);
color: white;
}
.fpp-sheet-title {
font-size: 0.88rem;
font-weight: 900;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.fpp-sheet-meta {
font-size: 0.72rem;
font-weight: 600;
opacity: 0.86;
}
.fpp-toolbar .panel-header h2 {
letter-spacing: 0.08em;
text-transform: uppercase;
}
.fpp-toolbar .panel-header p {
max-width: 760px;
}
.fpp-toolbar .pill-row {
display: none;
}
.fpp-board {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 4px;
align-items: start;
}
.fpp-column {
overflow: hidden;
border-radius: 6px;
background: #fff;
border: 1px solid rgba(15, 23, 42, 0.08);
box-shadow: 0 4px 10px rgba(15, 23, 42, 0.03);
}
.fpp-column-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
padding: 7px 8px 6px;
color: white;
background: linear-gradient(180deg, #b9381d 0%, #9a3412 100%);
border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.fpp-column-title {
font-size: 0.7rem;
font-weight: 900;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.fpp-column-count {
padding: 4px 8px;
border-radius: 999px;
font-size: 0.62rem;
font-weight: 800;
color: #fff;
background: rgba(255, 255, 255, 0.14);
white-space: nowrap;
}
.fpp-column-body {
display: flex;
flex-direction: column;
gap: 6px;
padding: 8px 7px 9px;
}
.fpp-section {
display: flex;
flex-direction: column;
gap: 4px;
}
.fpp-section-head {
padding: 4px 6px;
border-radius: 5px;
font-size: 0.63rem;
font-weight: 900;
color: white;
text-transform: uppercase;
letter-spacing: 0.08em;
background: linear-gradient(180deg, #d46a1c 0%, #b45309 100%);
}
.fpp-test-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0;
}
.fpp-test {
display: flex;
align-items: flex-start;
gap: 4px;
padding: 0 2px 0 0;
}
.fpp-dot {
width: 7px;
height: 7px;
margin-top: 5px;
border-radius: 999px;
flex: 0 0 auto;
border: 1px solid rgba(15, 23, 42, 0.35);
background: white;
}
.fpp-test-name {
font-size: 0.73rem;
line-height: 1.18;
color: var(--text);
font-weight: 600;
}
.fpp-test.is-disabled {
opacity: 0.32;
cursor: not-allowed;
}
.fpp-test.is-disabled .fpp-dot {
background: #f3f4f6;
border-color: rgba(100, 116, 139, 0.55);
}
.fpp-test.is-disabled .fpp-test-name {
color: #64748b;
}
.fpp-selection-summary {
margin-bottom: 12px;
}
.fpp-selection-summary strong {
display: block;
margin-bottom: 4px;
}
.fpp-selection-summary p {
margin: 0;
}
.fpp-select-board {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 6px;
align-items: start;
}
.fpp-select-column {
overflow: hidden;
border-radius: 8px;
background: rgba(255, 255, 255, 0.98);
border: 1px solid rgba(15, 23, 42, 0.08);
box-shadow: 0 6px 14px rgba(15, 23, 42, 0.04);
}
.fpp-select-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
padding: 7px 8px 6px;
color: white;
background: linear-gradient(180deg, #b9381d 0%, #9a3412 100%);
border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.fpp-select-title {
font-size: 0.7rem;
font-weight: 900;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.fpp-select-count {
padding: 4px 8px;
border-radius: 999px;
font-size: 0.62rem;
font-weight: 800;
color: #fff;
background: rgba(255, 255, 255, 0.14);
white-space: nowrap;
}
.fpp-select-body {
display: flex;
flex-direction: column;
gap: 6px;
padding: 8px 7px 9px;
}
.fpp-select-section {
display: flex;
flex-direction: column;
gap: 4px;
}
.fpp-select-section-head {
padding: 4px 6px;
border-radius: 5px;
font-size: 0.63rem;
font-weight: 900;
color: white;
text-transform: uppercase;
letter-spacing: 0.08em;
background: linear-gradient(180deg, #d46a1c 0%, #b45309 100%);
}
.fpp-select-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1px;
}
.fpp-select-row {
display: block;
}
.fpp-select-label {
display: flex;
align-items: flex-start;
gap: 6px;
padding: 1px 2px 1px 0;
cursor: pointer;
}
.fpp-select-toggle {
margin-top: 5px;
accent-color: #b91c1c;
flex: 0 0 auto;
}
.fpp-select-name {
font-size: 0.75rem;
line-height: 1.22;
color: var(--text);
font-weight: 600;
}
.fpp-select-row.is-disabled {
opacity: 0.34;
}
.fpp-select-row.is-disabled .fpp-select-label {
cursor: not-allowed;
}
.mini-list {
display: flex;
flex-direction: column;
@@ -928,6 +1214,18 @@ tr:last-child td {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fpp-board {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.fpp-select-board {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.fpp-sheet {
padding: 10px;
}
.detail-grid,
.auth-card {
grid-template-columns: 1fr;
@@ -971,6 +1269,19 @@ tr:last-child td {
grid-template-columns: 1fr;
}
.fpp-board {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fpp-select-board {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fpp-sheet-head {
flex-direction: column;
align-items: flex-start;
}
.desktop-only {
display: none;
}
@@ -1047,6 +1358,19 @@ tr:last-child td {
width: 100%;
}
.fpp-board {
grid-template-columns: 1fr;
}
.fpp-select-board {
grid-template-columns: 1fr;
}
.fpp-sheet {
padding: 8px;
border-radius: 14px;
}
.table-wrap {
border-radius: 18px;
}