X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fhelpers%2FResult.js;h=b1fb3f90845e914e335113d3cd57b416b4ac1f54;hb=d2d1231d5cea49224df581aed9d9e77f9deb832b;hp=205a42b27325050800c4fe55f728f43de1d0c8c0;hpb=278c9b9d68b2a5e57068a12b3f7d9611ac42222b;p=alttp.git diff --git a/resources/js/helpers/Result.js b/resources/js/helpers/Result.js index 205a42b..b1fb3f9 100644 --- a/resources/js/helpers/Result.js +++ b/resources/js/helpers/Result.js @@ -1,6 +1,29 @@ import React from 'react'; import Icon from '../components/common/Icon'; +export const compareResult = (a, b) => { + const a_placement = a && a.placement ? a.placement : 0; + const b_placement = b && b.placement ? b.placement : 0; + if (a_placement) { + if (b_placement) { + if (a_placement < b_placement) return -1; + if (b_placement < a_placement) return 1; + return compareUsername(a, b); + } + return -1; + } + if (b_placement) { + return 1; + } + return compareUsername(a, b); +}; + +export const compareUsername = (a, b) => { + const a_name = (a && a.user && a.user.username) || ''; + const b_name = (b && b.user && b.user.username) || ''; + return a_name.localeCompare(b_name); +}; + export const formatTime = result => { const hours = `${Math.floor(result.time / 60 / 60)}`; let minutes = `${Math.floor((result.time / 60) % 60)}`; @@ -52,6 +75,8 @@ export const parseTime = str => { }; export default { + compareResult, + compareUsername, formatTime, getIcon, getTime,