feat: submit knop om de code in te versturen
This commit is contained in:
parent
729c3f6972
commit
87974bbfe5
1 changed files with 30 additions and 14 deletions
|
@ -1,13 +1,14 @@
|
|||
<script setup lang="ts">
|
||||
import { useI18n } from "vue-i18n";
|
||||
import authState from "@/services/auth/auth-service.ts";
|
||||
import { ref, watch } from "vue";
|
||||
import { ref } from "vue";
|
||||
import { validate, version } from "uuid";
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
const role: String = authState.authState.activeRole!;
|
||||
|
||||
// TODO : temp data until frontend controllers are ready
|
||||
type Teacher = {
|
||||
username: string;
|
||||
firstName: string;
|
||||
|
@ -44,19 +45,24 @@
|
|||
|
||||
const classes: Array<Class> = [class01, class02, class03];
|
||||
|
||||
const valid = ref(false);
|
||||
// handle the class join requests
|
||||
const code = ref<string>("");
|
||||
|
||||
// the code needs to be formatted as v4 to be valid
|
||||
// these rules are used to display a message to the user if they use a code that has an invalid format
|
||||
const codeRules = [
|
||||
(value: string | undefined) => {
|
||||
if (value !== undefined && validate(value) && version(value) === 4) return true;
|
||||
return "Invalid format.";
|
||||
},
|
||||
];
|
||||
watch(code, (newValue) => {
|
||||
// submitting a code will send a request if the code is valid
|
||||
const submitCode = () => {
|
||||
if (code.value !== undefined && validate(code.value) && version(code.value) == 4) {
|
||||
console.log("Code changed:", newValue);
|
||||
// TODO: temp function until frontend controllers are ready
|
||||
console.log("Code submitted:", code.value);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// handle dialog for showing members of a class
|
||||
const dialog = ref(false);
|
||||
|
@ -126,15 +132,25 @@
|
|||
<div class="join">
|
||||
<h1>{{ t("joinClass") }}</h1>
|
||||
<p>{{ t("JoinClassExplanation") }}</p>
|
||||
<v-form v-model="valid">
|
||||
<v-text-field
|
||||
label="CODE"
|
||||
v-model="code"
|
||||
:rules="codeRules"
|
||||
variant="outlined"
|
||||
max-width="400px"
|
||||
></v-text-field>
|
||||
</v-form>
|
||||
<v-sheet width="400">
|
||||
<v-form @submit.prevent>
|
||||
<v-text-field
|
||||
label="CODE"
|
||||
v-model="code"
|
||||
placeholder="XXXXXXXX-XXXX-4XXX-XXXX-XXXXXXXXXXXX"
|
||||
:rules="codeRules"
|
||||
variant="outlined"
|
||||
></v-text-field>
|
||||
<v-btn
|
||||
class="mt-4"
|
||||
style="background-color: #f6faf2"
|
||||
type="submit"
|
||||
@click="submitCode"
|
||||
block
|
||||
>Submit</v-btn
|
||||
>
|
||||
</v-form>
|
||||
</v-sheet>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue