diff --git a/src/components/Header.vue b/src/components/Header.vue index 65d4671..048ab71 100644 --- a/src/components/Header.vue +++ b/src/components/Header.vue @@ -5,13 +5,18 @@
- +
+ +
diff --git a/src/components/icons/IconLogout.vue b/src/components/icons/IconLogout.vue new file mode 100644 index 0000000..11ec9b2 --- /dev/null +++ b/src/components/icons/IconLogout.vue @@ -0,0 +1,8 @@ + diff --git a/src/components/icons/IconMenu.vue b/src/components/icons/IconMenu.vue deleted file mode 100644 index 1852c4c..0000000 --- a/src/components/icons/IconMenu.vue +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/src/components/icons/index.ts b/src/components/icons/index.ts index 07964c1..0ec8768 100644 --- a/src/components/icons/index.ts +++ b/src/components/icons/index.ts @@ -5,5 +5,5 @@ export { default as IconLink } from './IconLink.vue' export { default as IconSpinner } from './IconSpinner.vue' export { default as IconNoGift } from './IconNoGift.vue' export { default as IconLightDark } from './IconLightDark.vue' -export { default as IconMenu } from './IconMenu.vue' +export { default as IconLogout } from './IconLogout.vue' export { default as IconCloudQuestion } from './IconCloudQuestion.vue' diff --git a/src/composables/index.ts b/src/composables/index.ts index 698d7ff..bae9bf9 100644 --- a/src/composables/index.ts +++ b/src/composables/index.ts @@ -1,3 +1,5 @@ export * from './useWishlistsStore' export * from './useWishlistStore' export * from './useModal' +export * from './useAxios' +export * from './useAuth' diff --git a/src/composables/useAuth.ts b/src/composables/useAuth.ts index c0cee60..8e5fa54 100644 --- a/src/composables/useAuth.ts +++ b/src/composables/useAuth.ts @@ -1,4 +1,4 @@ -import { readonly } from 'vue' +import { computed, readonly } from 'vue' import { useStorage } from '@vueuse/core' const state = useStorage('auth-token', '') @@ -7,9 +7,14 @@ const setToken = (token: string): void => { state.value = token } -export default () => { +const isAuthenticated = computed(() => { + return state.value !== '' +}) + +export const useAuth = () => { return { setToken, + isAuthenticated, token: readonly(state), } } diff --git a/src/composables/useAxios.ts b/src/composables/useAxios.ts index 40732ed..e444108 100644 --- a/src/composables/useAxios.ts +++ b/src/composables/useAxios.ts @@ -7,7 +7,7 @@ import axios, { import { apiConfig } from '@/config' import { ref } from 'vue' import router from '../router' -import useAuth from './useAuth' +import { useAuth } from './useAuth' export interface CustomAxiosError extends AxiosError { ignore: boolean diff --git a/src/views/LoginView.vue b/src/views/LoginView.vue index b57dfa6..fc957ea 100644 --- a/src/views/LoginView.vue +++ b/src/views/LoginView.vue @@ -3,7 +3,7 @@ import { useRouter } from 'vue-router' import { useI18n } from 'vue-i18n' import { Form } from 'vee-validate' import { object, string } from 'yup' -import useAuth from '@/composables/useAuth' +import { useAuth } from '@/composables' import BaseButton from '@/components/BaseButton.vue' import TextInput from '@/components/TextInput.vue'