From cf59bbca0df1c55098875a134e9acd894bec8eef Mon Sep 17 00:00:00 2001 From: Yvv Date: Tue, 11 Aug 2026 17:53:16 +0200 Subject: [PATCH] =?UTF-8?q?v2=20:=20d=C3=A9signation=20=C2=AB=20c'est=20mo?= =?UTF-8?q?i=20=C2=BB=20dans=20un=20collectif=20import=C3=A9=20(correctif?= =?UTF-8?q?=20QA)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - les seeds (Ğ1, Atelier) n'ont aucun isMe : la carte identité propose désormais de se désigner parmi les personnes existantes (chips) ou de s'ajouter (formulaire), au lieu d'un état vide sans issue - vitest 13 fichiers verts, build zéro erreur Co-Authored-By: Claude Fable 5 --- .../onboarding/DataIdentityCard.vue | 105 +++++++++++++++++- 1 file changed, 104 insertions(+), 1 deletion(-) diff --git a/frontend/app/components/onboarding/DataIdentityCard.vue b/frontend/app/components/onboarding/DataIdentityCard.vue index 4a58c78..df9342e 100644 --- a/frontend/app/components/onboarding/DataIdentityCard.vue +++ b/frontend/app/components/onboarding/DataIdentityCard.vue @@ -63,6 +63,37 @@ function removeRow(index: number) { rows.value.splice(index, 1) commitAttributes() } + +// ── « C'est moi » — un collectif importé (seed, fichier) n'a aucun isMe : +// on se désigne parmi les personnes existantes, ou on s'ajoute. +const newMeName = ref('') + +function claimMe(personId: string) { + const current = store.current + if (!current || store.me) return + const person = current.people.find(p => p.id === personId && !p.archivedAt) + if (!person) return + person.isMe = true + store.stamp(person) + store.persist() +} + +function createMe() { + const current = store.current + const displayName = newMeName.value.trim() + if (!current || store.me || !displayName) return + const now = store.now() + current.people.push({ + id: store.newId(), + collectiveId: current.collective.id, + createdAt: now, + updatedAt: now, + displayName, + isMe: true, + }) + newMeName.value = '' + store.persist() +}