X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Futils%2FtimeControl.js;h=3f5a6506aec854b1063de94ac5c0ef093e188b5e;hb=db13014d0aee87402afc2289131d65c401f71bfe;hp=c4a229506c81cbe3a84b4ed4548621436429fbf9;hpb=dd75774d31a140cabf80790bdade9a40048c38d5;p=vchess.git diff --git a/client/src/utils/timeControl.js b/client/src/utils/timeControl.js index c4a22950..3f5a6506 100644 --- a/client/src/utils/timeControl.js +++ b/client/src/utils/timeControl.js @@ -22,21 +22,24 @@ function isLargerUnit(unit1, unit2) export function extractTime(timeControl) { - const tcParts = timeControl.replace(/ /g,"").split('+'); - const mainTimeArray = tcParts[0].match(/([0-9]+)([smhd])/); + let tcParts = timeControl.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 increment = tcParts[1].match(/([0-9]+)([smhd])/); - if (!increment) + const incrementArray = tcParts[1].match(/([0-9]+)([smhd]+)/); + if (!incrementArray) return null; - const incrementValue = parseInt(increment[1]); - const incrementUnit = increment[2]; + const incrementValue = parseInt(incrementArray[1]); + const incrementUnit = incrementArray[2][0]; // Increment unit cannot be larger than main unit: if (isLargerUnit(incrementUnit, mainTimeUnit)) return null;