]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/helpers/Crew.js
simple tracker config dialog
[alttp.git] / resources / js / helpers / Crew.js
index e60210fd799d8f28b85d44c0947da4c74d103499..205c0e8b5ebd1786dc24fcc0a314b3745a2514e8 100644 (file)
@@ -1,12 +1,29 @@
 export const compareCrew = (a, b) => {
+       return compareCrewConfirmed(a, b) || compareCrewChannel(a, b) || compareCrewName(a, b);
+};
+
+export const compareCrewChannel = (a, b) => {
+       const a_channel = (a && a.channel_id) || null;
+       const b_channel = (b && b.channel_id) || null;
+       if (a_channel === b_channel) return 0;
+       if (!a_channel) return -1;
+       if (!b_channel) return 1;
+       return a_channel - b_channel;
+};
+
+export const compareCrewConfirmed = (a, b) => {
        const a_confirmed = !!(a && a.confirmed);
        const b_confirmed = !!(b && b.confirmed);
        if (a_confirmed === b_confirmed) {
-               return getName(a).localeCompare(getName(b));
+               return 0;
        }
        return a_confirmed ? -1 : 1;
 };
 
+export const compareCrewName = (a, b) => {
+       return getName(a).localeCompare(getName(b));
+};
+
 export const getName = crew => {
        if (!crew) return '';
        if (crew.name_override) {