Basic login
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
<script setup>
|
||||
import {ref} from "vue";
|
||||
import {$user} from "./users.js";
|
||||
|
||||
const formData = ref({username: '', password: ''})
|
||||
|
||||
async function formSubmit() {
|
||||
const url = `${import.meta.env.PUBLIC_SERVER_URL}/login`
|
||||
const response = await fetch(
|
||||
url,
|
||||
{
|
||||
method: 'POST',
|
||||
mode: 'cors',
|
||||
body: JSON.stringify(formData.value),
|
||||
headers: {'Content-Type': 'application/json'}
|
||||
}
|
||||
)
|
||||
if(response.status === 200) {
|
||||
const responseData = await response.json()
|
||||
console.log(responseData)
|
||||
$user.set(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>
|
||||
Reference in New Issue
Block a user