Refactor saveMember function to improve duplicate member handling and streamline member updates. Enhance error messaging for non-existent members and ensure new members are added with default active status.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 56s

This commit is contained in:
Torsten Schulz (local)
2026-03-29 14:49:04 +02:00
parent f7701d698f
commit bdc9eef707

View File

@@ -242,10 +242,10 @@ export async function saveMember(memberData) {
const members = await readMembers()
if (memberData.id) {
// Update existing
// Update existing manual member if present.
// If the ID belongs to a login-only member shown in the merged list,
// create a manual overlay with the same ID so editable fields can be stored.
const index = members.findIndex(m => m.id === memberData.id)
if (index !== -1) {
// Check for duplicate (excluding current member)
const duplicate = findDuplicateMember(
members.filter(m => m.id !== memberData.id),
memberData.firstName,
@@ -257,9 +257,13 @@ export async function saveMember(memberData) {
throw new Error('Ein Mitglied mit diesem Namen und Geburtsdatum existiert bereits.')
}
if (index !== -1) {
members[index] = { ...members[index], ...memberData }
} else {
throw new Error('Mitglied nicht gefunden')
members.push({
...memberData,
active: typeof memberData.active === 'boolean' ? memberData.active : true
})
}
} else {
// Add new - check for duplicate first