Kairo-Jinkendo/frontend/src/utils/portfolioRank.js
Lars a19c6abd26
All checks were successful
Deploy Development / deploy (push) Successful in 50s
Test Suite / pytest-backend (push) Successful in 2m21s
Test Suite / lint-backend (push) Successful in 2s
Test Suite / compose-smoke (push) Has been skipped
Test Suite / k6 /api/health Baseline (push) Successful in 18s
Test Suite / playwright-smoke (push) Successful in 21s
AP1.8a: Portfolio-Rang im Cockpit mit Reorder und Next-Action-Sortierung.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 09:39:49 +02:00

25 lines
603 B
JavaScript

/**
* Portfolio-Rang (AP1.8a) — niedrigerer Rank = höhere Aufmerksamkeit.
*/
/**
* @template {{ id: string, portfolio_rank?: number | null }} T
* @param {T[]} items
*/
export function sortByPortfolioRank(items) {
return [...items].sort(
(a, b) =>
(a.portfolio_rank ?? Number.MAX_SAFE_INTEGER) -
(b.portfolio_rank ?? Number.MAX_SAFE_INTEGER) ||
String(a.id).localeCompare(String(b.id)),
)
}
/**
* @param {number | null | undefined} rank
*/
export function formatPortfolioRank(rank) {
if (rank == null || Number.isNaN(rank)) return null
return `#${rank + 1}`
}