- {lanes
- .filter(lane => lane.blockerCount > 0 || lane.percent < 80)
- .slice(0, 5)
- .map(lane => (
-
-
+ {focusRows.length > 0 ? (
+ focusRows.map(row => (
+
+
- {lane.title}
- {lane.nextAction || lane.metric}
+ {row.title}
+ {row.action}
-
+
- ))}
+ ))
+ ) : (
+
{t('nextFocus.empty')}
+ )}
@@ -642,13 +806,21 @@ export default function DeliveryPage({ params }: { params: { locale: string } })
- {['secret', 'production', 'repo', 'data', 'security'].map(key => (
-
-
- {t(`boundaries.${key}`)}
-
-
- ))}
+ {boundaryRows.length > 0
+ ? boundaryRows.map(row => (
+
+
+ {t(`boundaryFacts.${row.key}`)}
+
+
+ ))
+ : ['secret', 'production', 'repo', 'data', 'security'].map(key => (
+
+
+ {t(`boundaries.${key}`)}
+
+
+ ))}
@@ -668,6 +840,97 @@ export default function DeliveryPage({ params }: { params: { locale: string } })
grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
gap: 12px;
}
+ :global(.delivery-current-p0-grid) {
+ display: grid;
+ grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
+ gap: 14px;
+ align-items: start;
+ }
+ :global(.delivery-current-p0-main) {
+ display: grid;
+ grid-template-columns: 44px minmax(0, 1fr);
+ gap: 12px;
+ min-width: 0;
+ }
+ :global(.delivery-current-p0-icon) {
+ width: 44px;
+ height: 44px;
+ border-radius: 8px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #2f7d54;
+ background: rgba(47, 125, 84, 0.1);
+ }
+ :global(.delivery-current-p0-main h3) {
+ margin: 0;
+ font-size: 19px;
+ font-weight: 900;
+ color: #141413;
+ overflow-wrap: anywhere;
+ }
+ :global(.delivery-current-p0-main p) {
+ margin: 6px 0 0;
+ color: #595852;
+ font-size: 13px;
+ line-height: 1.55;
+ overflow-wrap: anywhere;
+ }
+ :global(.delivery-current-p0-stats),
+ :global(.delivery-current-p0-truth) {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: 8px;
+ }
+ :global(.delivery-current-p0-truth) {
+ grid-column: 1 / -1;
+ grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
+ }
+ :global(.delivery-current-p0-stats div),
+ :global(.delivery-current-p0-truth div) {
+ min-height: 68px;
+ border: 0.5px solid #e0ddd4;
+ border-radius: 8px;
+ padding: 9px;
+ background: rgba(255, 255, 255, 0.56);
+ min-width: 0;
+ }
+ :global(.delivery-current-p0-stats span),
+ :global(.delivery-current-p0-truth span) {
+ display: block;
+ color: #706f68;
+ font-size: 11px;
+ font-weight: 800;
+ margin-bottom: 6px;
+ }
+ :global(.delivery-current-p0-stats strong),
+ :global(.delivery-current-p0-truth strong) {
+ color: #141413;
+ font-size: 15px;
+ line-height: 1.3;
+ overflow-wrap: anywhere;
+ }
+ :global(.delivery-current-p0-blockers) {
+ grid-column: 1 / -1;
+ display: grid;
+ gap: 8px;
+ min-width: 0;
+ }
+ :global(.delivery-current-p0-blockers > strong) {
+ color: #141413;
+ font-size: 13px;
+ font-weight: 900;
+ }
+ :global(.delivery-current-p0-blockers > div),
+ :global(.delivery-current-p0-flags) {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px;
+ min-width: 0;
+ }
+ :global(.delivery-current-p0-flags) {
+ grid-column: 1 / -1;
+ }
:global(.delivery-drill-panel) {
min-width: 0;
}
@@ -824,6 +1087,16 @@ export default function DeliveryPage({ params }: { params: { locale: string } })
flex-direction: column;
gap: 8px;
}
+ .delivery-next-empty {
+ min-height: 54px;
+ border: 0.5px solid #e0ddd4;
+ background: rgba(255, 255, 255, 0.62);
+ border-radius: 8px;
+ padding: 12px;
+ color: #706f68;
+ font-size: 13px;
+ line-height: 1.5;
+ }
.delivery-next-row,
.delivery-boundary-row {
display: grid;
@@ -855,10 +1128,11 @@ export default function DeliveryPage({ params }: { params: { locale: string } })
overflow-wrap: anywhere;
}
.delivery-boundary-row {
- grid-template-columns: 20px minmax(0, 1fr) 20px;
+ grid-template-columns: 20px minmax(0, 1fr) auto;
}
@media (max-width: 900px) {
.delivery-hero,
+ :global(.delivery-current-p0-grid),
:global(.delivery-drill-grid),
.delivery-grid-two {
grid-template-columns: 1fr;
@@ -868,6 +1142,9 @@ export default function DeliveryPage({ params }: { params: { locale: string } })
}
}
@media (max-width: 560px) {
+ :global(.delivery-current-p0-stats) {
+ grid-template-columns: 1fr;
+ }
:global(.delivery-drill-metrics) {
grid-template-columns: 1fr;
}