From facd974814aa2115bad60e69a8ca46d69e88c39b Mon Sep 17 00:00:00 2001 From: Zhora Shalyapin <mr.imagine84@gmail.com> Date: Tue, 1 Apr 2025 07:37:00 +0000 Subject: [PATCH] paint cp list on route edit page --- main.js | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/main.js b/main.js index 0e7c2dc..5229d56 100644 --- a/main.js +++ b/main.js @@ -84,6 +84,8 @@ const ZOOM = 17 const METERS = 510 + const stageColors = ["#ff8080", "#ffc680", "#ffff80", "#80ff80", "#80ffff", "#8080ff", "#ff80ff"] + let removedFilesLinks = [] class Tag { @@ -2307,9 +2309,13 @@ showUnknownPoints() } + function getCpNumberFromOption(option) { + return option.textContent.match(/(?<=^\s*#)\d+/g)?.[0] + } + function matchNumberFromSelect(select) { return [...document.querySelector(select).options].reduce( - (res, el) => ({ ...res, [el.textContent.match(/(?<=^\s*#)\d+/g)?.[0]]: el.value }), + (res, el) => ({ ...res, [getCpNumberFromOption(el)]: el.value }), {} ) } @@ -2434,9 +2440,27 @@ document.querySelectorAll(`table tr:is(:nth-child(3), :nth-child(4), :nth-child(5))`).forEach(el => el.classList.add("hidden")) } + function paintCpList() { + let options = [...document.querySelectorAll(`#cps_in option`)] + + ;(async () => { + let points = await getPointsByField("number", options.map(option => getCpNumberFromOption(option))) + let catId = urlParams().get("cat_id") + + for (const option of options) { + let category = points[getCpNumberFromOption(option)].categories.find(category => category.cat_id === catId) + if (category && category.pivot.bonus_time == "0") { + let stage = parseInt(category.pivot.stage) + option.style['background-color'] = stageColors[stage % stageColors.length] + } + } + })() + } + makeTextareasOneRow() hideRedundantRows() createPointsInpit() + paintCpList() } function toggleStagePageRows(rows) {