X-Git-Url: https://git.auder.net/assets/icon_infos.svg?a=blobdiff_plain;f=client%2Fsrc%2Futils%2FtimeControl.js;h=6d47aac896fdb167b7f598a06c5e88d355866f86;hb=714680114508183fba2c07231dbe8f90b5631b81;hp=89f7f31dd10db83f22e6ddc020531964ada98deb;hpb=1efe1d79400ff4b612e8d0fb820e6c4e15f801da;p=vchess.git diff --git a/client/src/utils/timeControl.js b/client/src/utils/timeControl.js index 89f7f31d..6d47aac8 100644 --- a/client/src/utils/timeControl.js +++ b/client/src/utils/timeControl.js @@ -20,23 +20,26 @@ function isLargerUnit(unit1, unit2) || (unit1 == 'm' && unit2 == 's'); } -export function extractTime(timeControl) +export function extractTime(cadence) { - const tcParts = timeControl.replace(/ /g,"").split('+'); - const mainTimeArray = tcParts[0].match(/([0-9]+)([smhd])/); + let tcParts = cadence.replace(/ /g,"").split('+'); + // Concatenate usual time control suffixes, in case of none is provided + tcParts[0] += "m"; + tcParts[1] += "s"; + const mainTimeArray = tcParts[0].match(/([0-9]+)([smhd]+)/); if (!mainTimeArray) return null; const mainTimeValue = parseInt(mainTimeArray[1]); - const mainTimeUnit = mainTimeArray[2]; + const mainTimeUnit = mainTimeArray[2][0]; const mainTime = timeUnitToSeconds(mainTimeValue, mainTimeUnit); let increment = 0; if (tcParts.length >= 2) { - const incrementArray = tcParts[1].match(/([0-9]+)([smhd])/); + const incrementArray = tcParts[1].match(/([0-9]+)([smhd]+)/); if (!incrementArray) return null; const incrementValue = parseInt(incrementArray[1]); - const incrementUnit = incrementArray[2]; + const incrementUnit = incrementArray[2][0]; // Increment unit cannot be larger than main unit: if (isLargerUnit(incrementUnit, mainTimeUnit)) return null;