diff --git a/src/components/ObjectCard.vue b/src/components/ObjectCard.vue index 36fc4c4..77f7817 100644 --- a/src/components/ObjectCard.vue +++ b/src/components/ObjectCard.vue @@ -20,18 +20,32 @@ touch-action: none; transition: transform 50ms ease, background-color 200ms ease; } + + .combineFirst { + animation: 500ms ease-in-out alternate infinite combineFirst; + } + + @keyframes combineFirst { + from { + @apply border-blue-400; + } + + to { + @apply border-blue-700; + } + } \ No newline at end of file diff --git a/src/game.ts b/src/game.ts index c24d8b7..ef9ebb6 100644 --- a/src/game.ts +++ b/src/game.ts @@ -25,8 +25,9 @@ export const useGame = defineStore("gameState", () => { currentInteraction.value = interaction trpcClient.player.voteForInteraction.mutate({ interaction }) }, - removeInteractionVote(queueItemId: string) { - trpcClient.player.removeInteractionVote.mutate({ queueItemId }) + revokeCurrentInteractionVote() { + if (currentInteractionId.value === null) return + trpcClient.player.removeInteractionVote.mutate({ queueItemId: currentInteractionId.value }) currentInteraction.value = null }, switchRoom(roomId: string) { diff --git a/src/screens/InteractionsScreen.vue b/src/screens/InteractionsScreen.vue index 2fba867..c95504a 100644 --- a/src/screens/InteractionsScreen.vue +++ b/src/screens/InteractionsScreen.vue @@ -13,6 +13,7 @@ class="bg-blue-900" :has-floating="combineFloatingObjectIds.size > 0" @object-change="(v, i) => createSetInclusionSetter(combineFloatingObjectIds)(v, i)" + @object-drop="onObjectInteractionDrop" />