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 {store} from 'nuxt3-store' |
||||||
|
import {Api} from "nocodb-sdk"; |
||||||
|
import {useNuxtApp} from "#app"; |
||||||
|
|
||||||
export const useUser = () =>{ |
export const useUser = () =>{ |
||||||
const user = store({ |
const user = store({ |
||||||
name: 'user', |
name: 'user', |
||||||
type: 'localstorage', |
type: 'localstorage', |
||||||
value: {token: null}, |
value: {token: null, user : null}, |
||||||
reactiveType: 'reactive', |
reactiveType: 'reactive', |
||||||
version: '1.0.0' |
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> |
<template> |
||||||
<div class="container"> |
<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> |
</div> |
||||||
</template> |
</template> |
||||||
|
|
||||||
<script setup lang="ts"> |
<script setup lang="ts"> |
||||||
import { ref } from 'vue'; |
import {useRouter} from "#app"; |
||||||
import { useToast } from "primevue/usetoast"; |
|
||||||
const text = ref(); |
const $router = useRouter() |
||||||
const toast = useToast(); |
|
||||||
const greet = () => { |
$router.replace('/projects') |
||||||
toast.add({severity: 'info', summary: 'Hello ' + text.value}); |
|
||||||
} |
|
||||||
</script> |
</script> |
||||||
|
|
||||||
<style lang="scss"> |
<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> |
</style> |
||||||
|
Loading…
Reference in new issue