mirror of https://github.com/nocodb/nocodb
Pranav C
2 years ago
11 changed files with 124 additions and 74 deletions
@ -1,15 +1,32 @@
|
||||
import {store} from 'nuxt3-store' |
||||
import {Api} from "nocodb-sdk"; |
||||
import {useNuxtApp} from "#app"; |
||||
|
||||
export const useUser = () =>{ |
||||
const user = store({ |
||||
name: 'user', |
||||
type: 'localstorage', |
||||
value: {token: null}, |
||||
value: {token: null, user : null}, |
||||
reactiveType: 'reactive', |
||||
version: '1.0.0' |
||||
}) |
||||
|
||||
const setToken = (token) => { user.token = token } |
||||
const {$api}: { $api: Api<any> } = useNuxtApp() as any |
||||
|
||||
return {user,setToken} |
||||
|
||||
const getUser =async (args = {}) => { |
||||
const userInfo = await $api.auth.me(args, { |
||||
headers: { |
||||
'xc-auth': user.value.token |
||||
} |
||||
}) |
||||
|
||||
user.user = userInfo |
||||
} |
||||
|
||||
const setToken = (token) => { |
||||
user.token = token |
||||
} |
||||
|
||||
return {user,setToken, getUser} |
||||
} |
||||
|
@ -1,41 +1,17 @@
|
||||
<template> |
||||
<div class="container"> |
||||
<div> |
||||
<img alt="Vue logo" src="../assets/icon.png" width="50"> |
||||
<Toast /> |
||||
|
||||
<div > |
||||
<form @submit.prevent="greet"> |
||||
<InputText type="text" v-model="text"/> |
||||
<Button type="submit" label="Submit"/> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script setup lang="ts"> |
||||
import { ref } from 'vue'; |
||||
import { useToast } from "primevue/usetoast"; |
||||
const text = ref(); |
||||
const toast = useToast(); |
||||
const greet = () => { |
||||
toast.add({severity: 'info', summary: 'Hello ' + text.value}); |
||||
} |
||||
import {useRouter} from "#app"; |
||||
|
||||
const $router = useRouter() |
||||
|
||||
$router.replace('/projects') |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
.container { |
||||
margin: 0 auto; |
||||
min-height: 100vh; |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
div { |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: center; |
||||
margin-top: 1rem; |
||||
} |
||||
} |
||||
|
||||
</style> |
||||
|
Loading…
Reference in new issue