From ed5d983d18ba2e88e62dfea60b46d67132c32248 Mon Sep 17 00:00:00 2001 From: Dominik Pschenitschni Date: Sun, 1 Jun 2025 16:27:38 +0200 Subject: [PATCH] feat: consistent sorting --- frontend/src/helpers/checklistFromText.ts | 2 +- frontend/src/models/task.ts | 2 +- frontend/src/stores/projects.ts | 2 +- frontend/src/views/user/settings/General.vue | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/helpers/checklistFromText.ts b/frontend/src/helpers/checklistFromText.ts index 162b94a3b..0128d1a8b 100644 --- a/frontend/src/helpers/checklistFromText.ts +++ b/frontend/src/helpers/checklistFromText.ts @@ -38,7 +38,7 @@ export const findCheckboxesInText = (text: string): number[] => { return [ ...checkboxes.checked, ...checkboxes.unchecked, - ].sort((a, b) => a < b ? -1 : 1) + ].sort((a, b) => a - b) } export const getChecklistStatistics = (text: string): CheckboxStatistics => { diff --git a/frontend/src/models/task.ts b/frontend/src/models/task.ts index 701efe2a2..0f6e65b89 100644 --- a/frontend/src/models/task.ts +++ b/frontend/src/models/task.ts @@ -107,7 +107,7 @@ export default class TaskModel extends AbstractModel implements ITask { this.labels = this.labels .map(l => new LabelModel(l)) - .sort((f, s) => f.title > s.title ? 1 : -1) + .sort((a, b) => a.title.localeCompare(b.title)) // Parse the assignees into user models this.assignees = this.assignees.map(a => { diff --git a/frontend/src/stores/projects.ts b/frontend/src/stores/projects.ts index 974d95f22..ebf571541 100644 --- a/frontend/src/stores/projects.ts +++ b/frontend/src/stores/projects.ts @@ -238,7 +238,7 @@ export const useProjectStore = defineStore('project', () => { } else { views.push(view) } - views.sort((a, b) => a.position < b.position ? -1 : 1) + views.sort((a, b) => a.position - b.position) setProject({ ...projects.value[view.projectId], diff --git a/frontend/src/views/user/settings/General.vue b/frontend/src/views/user/settings/General.vue index c0745595d..84cfe529a 100644 --- a/frontend/src/views/user/settings/General.vue +++ b/frontend/src/views/user/settings/General.vue @@ -310,7 +310,7 @@ function useAvailableTimezones(settingsRef: Ref) { if (r.data) { // Transform timezones into objects with value/label pairs availableTimezones.value = r.data - .sort() + .sort((a, b) => a.localeCompare(b)) .map((tz: string) => ({ value: tz, label: tz.replace(/_/g, ' '),