46 lines
974 B
Vue
46 lines
974 B
Vue
<script setup>
|
|
import {ref} from "vue";
|
|
import {saveToken} from "./scripts/load_token.js";
|
|
import * as gateway from "./lib/gateway.js";
|
|
|
|
const formData = ref({username: '', password: ''})
|
|
|
|
async function formSubmit() {
|
|
const response = await gateway.request(
|
|
'/login',
|
|
{
|
|
method: 'POST',
|
|
cors: true,
|
|
body: JSON.stringify(formData.value)
|
|
}
|
|
)
|
|
if(response.status === 200) {
|
|
const responseData = await response.json()
|
|
console.log(responseData)
|
|
saveToken(responseData)
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<form @submit.prevent="formSubmit">
|
|
<label>
|
|
Username:
|
|
<input type="text" name="username" v-model="formData.username">
|
|
</label>
|
|
<label>
|
|
Password:
|
|
<input type="password" name="password" v-model="formData.password">
|
|
</label>
|
|
<div>
|
|
<button type="submit">Login</button>
|
|
</div>
|
|
</form>
|
|
</template>
|
|
|
|
<style>
|
|
/* TODO: extract */
|
|
label {
|
|
display: block;
|
|
}
|
|
</style> |