fix: protocol presence syncing

This commit is contained in:
Julian Krauser 2025-02-03 13:50:52 +01:00
parent a24f8b7153
commit 06d24c21a2
2 changed files with 16 additions and 3 deletions

View file

@ -22,8 +22,12 @@ export const useProtocolPresenceStore = defineStore("protocolPresence", {
getters: {
detectedChangeProtocolPresence: (state) =>
!isEqual(
state.origin, //.sort((a: ProtocolPresenceViewModel, b: ProtocolPresenceViewModel) => a.memberId - b.memberId),
state.presence //.sort((a: ProtocolPresenceViewModel, b: ProtocolPresenceViewModel) => a.memberId - b.memberId)
state.origin.sort((a: ProtocolPresenceViewModel, b: ProtocolPresenceViewModel) =>
a.memberId.localeCompare(b.memberId)
),
state.presence.sort((a: ProtocolPresenceViewModel, b: ProtocolPresenceViewModel) =>
a.memberId.localeCompare(b.memberId)
)
) && state.syncingProtocolPresence != "syncing",
},
actions: {

View file

@ -22,7 +22,7 @@
<p>Anwesenheit</p>
<div class="flex flex-col gap-2 grow overflow-y-auto">
<div
v-for="member in presence"
v-for="member in sortedPresence"
:key="member.memberId"
class="flex flex-row h-fit w-full border border-primary rounded-md bg-primary p-2 text-white justify-between items-center"
>
@ -82,6 +82,15 @@ export default defineComponent({
return this.members.find((m) => memberId == m.id);
};
},
sortedPresence() {
return this.presence.toSorted((a, b) => {
const memberA = this.getMember(a.memberId);
const memberB = this.getMember(b.memberId);
return `${memberA?.lastname}, ${memberA?.firstname}`.localeCompare(
`${memberB?.lastname}, ${memberB?.firstname}`
);
});
},
},
mounted() {},
methods: {