Merge pull request #977 from dmytrokyrychuk/short-time-format

Add short time format
This commit is contained in:
Daniël van Noord
2021-09-05 17:34:51 +02:00
committed by GitHub
7 changed files with 38 additions and 18 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -129,7 +129,7 @@ const settings = {
0, 0,
'bool', 'bool',
'Notation', 'Notation',
['Time XXd, XXh, XXm, XXs', 'Time XX:XX:XX:XX:XX'], ['Time XXd, XXh, XXm, XXs', 'Time XX:XX:XX:XX:XX', 'Time XXx, XXx'],
'Change the time format', 'Change the time format',
false, false,
), ),

View File

@@ -5,6 +5,7 @@
* @returns {string} Formatted time * @returns {string} Formatted time
*/ */
export default function FormatTime(time, longFormat) { export default function FormatTime(time, longFormat) {
/* eslint-disable no-nested-ternary */
let formattedTime = time; let formattedTime = time;
if (time === Infinity) return time; if (time === Infinity) return time;
if (time < 0) return 'Negative time period'; if (time < 0) return 'Negative time period';
@@ -15,7 +16,21 @@ export default function FormatTime(time, longFormat) {
const m = Math.floor((((formattedTime % 31536000) % 86400) % 3600) / 60); const m = Math.floor((((formattedTime % 31536000) % 86400) % 3600) / 60);
const s = Math.floor((((formattedTime % 31536000) % 86400) % 3600) % 60); const s = Math.floor((((formattedTime % 31536000) % 86400) % 3600) % 60);
let str = ''; let str = '';
if (Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.settings.TimeFormat) {
if (Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.settings.TimeFormat === 0) {
if (formattedTime > 777600000) return longFormat ? 'Over 9000 days!' : '>9000d';
str +=
y > 0
? `${y + (longFormat ? (y === 1 ? ' year' : ' years') : 'y')}, `
: '';
if (str.length > 0 || d > 0)
str += `${d + (longFormat ? (d === 1 ? ' day' : ' days') : 'd')}, `;
if (str.length > 0 || h > 0)
str += `${h + (longFormat ? (h === 1 ? ' hour' : ' hours') : 'h')}, `;
if (str.length > 0 || m > 0)
str += `${m + (longFormat ? (m === 1 ? ' minute' : ' minutes') : 'm')}, `;
str += s + (longFormat ? (s === 1 ? ' second' : ' seconds') : 's');
} else if (Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.settings.TimeFormat === 1) {
if (formattedTime > 3155760000) return 'XX:XX:XX:XX:XX'; if (formattedTime > 3155760000) return 'XX:XX:XX:XX:XX';
str += `${(y < 10 ? '0' : '') + y}:`; str += `${(y < 10 ? '0' : '') + y}:`;
str += `${(d < 10 ? '0' : '') + d}:`; str += `${(d < 10 ? '0' : '') + d}:`;
@@ -23,18 +38,23 @@ export default function FormatTime(time, longFormat) {
str += `${(m < 10 ? '0' : '') + m}:`; str += `${(m < 10 ? '0' : '') + m}:`;
str += (s < 10 ? '0' : '') + s; str += (s < 10 ? '0' : '') + s;
} else { } else {
// Similar to TimeFormat === 0, but only two most significant components are included.
if (formattedTime > 777600000) return longFormat ? 'Over 9000 days!' : '>9000d'; if (formattedTime > 777600000) return longFormat ? 'Over 9000 days!' : '>9000d';
str += if (y > 0) {
y > 0 str += `${y + (longFormat ? (y === 1 ? ' year' : ' years') : 'y')}, `;
? `${y + (longFormat ? (y === 1 ? ' year' : ' years') : 'y')}, ` // eslint-disable-line no-nested-ternary str += `${d + (longFormat ? (d === 1 ? ' day' : ' days') : 'd')}`;
: ''; } else if (d > 0) {
if (str.length > 0 || d > 0) str += `${d + (longFormat ? (d === 1 ? ' day' : ' days') : 'd')}, `;
str += `${d + (longFormat ? (d === 1 ? ' day' : ' days') : 'd')}, `; // eslint-disable-line no-nested-ternary str += `${h + (longFormat ? (h === 1 ? ' hour' : ' hours') : 'h')}`;
if (str.length > 0 || h > 0) } else if (h > 0) {
str += `${h + (longFormat ? (h === 1 ? ' hour' : ' hours') : 'h')}, `; // eslint-disable-line no-nested-ternary str += `${h + (longFormat ? (h === 1 ? ' hour' : ' hours') : 'h')}, `;
if (str.length > 0 || m > 0) str += `${m + (longFormat ? (m === 1 ? ' minute' : ' minutes') : 'm')}`;
str += `${m + (longFormat ? (m === 1 ? ' minute' : ' minutes') : 'm')}, `; // eslint-disable-line no-nested-ternary } else if (m > 0) {
str += s + (longFormat ? (s === 1 ? ' second' : ' seconds') : 's'); // eslint-disable-line no-nested-ternary str += `${m + (longFormat ? (m === 1 ? ' minute' : ' minutes') : 'm')}, `;
str += s + (longFormat ? (s === 1 ? ' second' : ' seconds') : 's');
} else {
str += s + (longFormat ? (s === 1 ? ' second' : ' seconds') : 's');
}
} }
return str; return str;
} }

View File

@@ -10,7 +10,7 @@ export default function GetTimeColour(time) {
let colour; let colour;
let text; let text;
if (time <= 0) { if (time <= 0) {
if (Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.settings.TimeFormat) if (Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.settings.TimeFormat === 1)
text = '00:00:00:00:00'; text = '00:00:00:00:00';
else text = 'Done!'; else text = 'Done!';
colour = ColourGreen; colour = ColourGreen;