Files
TLA/resources/js/components/WordleRow.vue
T
Belupeti 5d5250287d
Build / Build-image (push) Successful in 1m13s
wordle backend and some frontend changes
2026-08-27 22:33:19 +02:00

82 lines
2.1 KiB
Vue

<script setup lang="ts">
</script>
<template>
<div class="flex-container gap-1.5">
<div v-for="i in length" class="border border-default wr-div" :class="{'correct' : getCorrectness[i-1]==2, 'wrong-place' : getCorrectness[i-1]==1}">
{{ guess[i-1] }}
</div>
</div>
</template>
<script lang="ts">
export default {
data() {
return {
}
},
props: {
correct: {
type: String,
default: 'testword',
},
guess: {
type: String,
default: '',
},
index: Number,
empty: {
type: Boolean,
default: false,
},
length: Number,
},
computed: {
getCorrectness() : number[] {
let correctness_alt = [];
let correctness = [];
for (let i = 0; i < this.guess.length; i++) {
if (this.guess[i] == this.correct[i]) {
correctness.push(2);
} else correctness.push(0);
}
correctness_alt = correctness.slice();
for (let i = 0; i < this.guess.length; i++) {
for (let j = 0; j < this.correct.length; j++) {
if (this.guess[i] == this.correct[j] && correctness[i] == 0 && correctness_alt[j] == 0) {
correctness[i] = 1;
correctness_alt[j] = 1;
}
}
}
return correctness;
}
},
}
</script>
<style scoped>
.wr-div {
justify-content: center;
border-radius: 6px;
width: 36px;
height: 36px;
line-height: 22px;
background-color: transparent;
text-transform: uppercase;
font-weight: bold;
}
.correct {
background-color: rgb(0, 126, 2);
}
.wrong-place {
background-color: rgb(37, 43, 154);
}
.empty {
background-color: rgb(93, 93, 93);
}
</style>