X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Futils%2FtimeControl.js;h=3f5a6506aec854b1063de94ac5c0ef093e188b5e;hb=db13014d0aee87402afc2289131d65c401f71bfe;hp=89f7f31dd10db83f22e6ddc020531964ada98deb;hpb=1efe1d79400ff4b612e8d0fb820e6c4e15f801da;p=vchess.git diff --git a/client/src/utils/timeControl.js b/client/src/utils/timeControl.js index 89f7f31d..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 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;