1
0
Fork 0
forked from TWS/kalkutago

Compare commits

..

No commits in common. "003383e45565b5463fa73c48e7897aec2ecb0c70" and "f32a18875008e2bbfcd64f9123f47ff538670bfb" have entirely different histories.

3 changed files with 11 additions and 13 deletions

View file

@ -7,7 +7,6 @@ client/dist/index.html:
build-client: client/dist/index.html
start-server: build-client
-mkdir db.mount
docker compose up --build -d
clean:

View file

@ -2,12 +2,11 @@
import { RouterLink } from 'vue-router';
import { error } from '../error'
import router from "../router";
import { state } from '../state'
async function logOut() {
const result = await fetch('/api/v1/auth', {method: 'DELETE'})
if(!result.ok) return error('failed to log out')
state.user = undefined
console.debug('logged out')
router.push('/login')
}
</script>

View file

@ -3,38 +3,38 @@ import { ref, computed } from 'vue'
import { state } from '../state';
import router from '../router'
const $name = ref("")
const $password = ref("")
const name = ref("")
const password = ref("")
const signUpWait = ref(false)
const loginWait = ref(false)
const signUpClass = computed(() => `submit button is-success ${signUpWait.value ? 'is-loading' : ''}`)
const loginClass = computed(() => `submit button is-info ${loginWait.value ? 'is-loading' : ''}`)
async function signUp() {
const name = $name.value, password = $password.value
const $name = name.value
signUpWait.value = true
const result = await fetch("/api/v1/auth", {
method: 'POST',
body: JSON.stringify({ name, password }),
body: JSON.stringify({ name: $name, password: password.value }),
headers: {'Content-Type': 'application/json'}
})
if (result.ok) {
state.user = { name }
state.user = { name: $name }
await state.repopulate()
router.push("/")
}
}
async function login() {
const name = $name.value, password = $password.value
const $name = name.value
loginWait.value = true
const result = await fetch("/api/v1/auth", {
method: 'PUT',
body: JSON.stringify({ name, password }),
body: JSON.stringify({ name: $name, password: password.value }),
headers: {'Content-Type': 'application/json'}
})
if (result.ok) {
state.user = { name }
state.user = { name: $name }
await state.repopulate()
router.push("/")
}
@ -54,14 +54,14 @@ if(state.user?.name) router.push("/")
<div class="field">
<label for="username" class=label>Name</label>
<div class="control">
<input type="text" name="username" class="input" v-model="$name" />
<input type="text" name="username" class="input" v-model="name" />
</div>
</div>
<div class="field">
<label for="password" class="label">Password</label>
<div class="control">
<input type="password" name="password" class="input" v-model="$password" />
<input type="password" name="password" class="input" v-model="password" />
</div>
</div>
</section>