2424 <div >
2525 <div @click.stop.prevent >
2626 <Actions v-if =" canEdit && !isArchived" >
27- <ActionButton v-if =" showArchived === false" icon =" icon-user" @click =" assignCardToMe()" >
27+ <ActionButton v-if =" showArchived === false && !isCurrentUserAssigned " icon =" icon-user" @click =" assignCardToMe()" >
2828 {{ t('deck', 'Assign to me') }}
2929 </ActionButton >
30+ <ActionButton v-if =" showArchived === false && isCurrentUserAssigned" icon =" icon-user" @click =" unassignCardFromMe()" >
31+ {{ t('deck', 'Unassign myself') }}
32+ </ActionButton >
3033 <ActionButton icon =" icon-archive" @click =" archiveUnarchiveCard()" >
3134 {{ showArchived ? t('deck', 'Unarchive card') : t('deck', 'Archive card') }}
3235 </ActionButton >
@@ -114,6 +117,9 @@ export default {
114117 return board .id !== this .currentBoard .id
115118 })
116119 },
120+ isCurrentUserAssigned () {
121+ return this .card .assignedUsers .find ((item ) => item .type === 0 && item .participant .uid === getCurrentUser ()? .uid )
122+ },
117123 },
118124 methods: {
119125 openCard () {
@@ -126,9 +132,17 @@ export default {
126132 this .$store .dispatch (' archiveUnarchiveCard' , { ... this .card , archived: ! this .card .archived })
127133 },
128134 assignCardToMe () {
129- this .copiedCard = Object .assign ({}, this .card )
130135 this .$store .dispatch (' assignCardToUser' , {
131- card: this .copiedCard ,
136+ card: this .card ,
137+ assignee: {
138+ userId: getCurrentUser ()? .uid ,
139+ type: 0 ,
140+ },
141+ })
142+ },
143+ unassignCardFromMe () {
144+ this .$store .dispatch (' removeUserFromCard' , {
145+ card: this .card ,
132146 assignee: {
133147 userId: getCurrentUser ()? .uid ,
134148 type: 0 ,
0 commit comments