27 lines
834 B
TypeScript
27 lines
834 B
TypeScript
import {createApp} from "vue";
|
|
import '@css/base.css'
|
|
import '@css/main.css'
|
|
import App from './App.vue'
|
|
import router from "@/router";
|
|
import { useToast } from "vue-toast-notification";
|
|
import 'vue-toast-notification/dist/theme-bootstrap.css';
|
|
import { session } from "@models/session.ts";
|
|
import {jwtDecode} from 'jwt-decode';
|
|
import type {SecureUser} from "@models/session.ts";
|
|
|
|
if (localStorage.getItem("token") && localStorage.getItem("username")) {
|
|
const decode: SecureUser = jwtDecode(localStorage.getItem("token") || "");
|
|
session.user = {
|
|
username: localStorage.getItem("username") || "",
|
|
token: localStorage.getItem("token") || "",
|
|
role: decode?.role || "user"
|
|
};
|
|
session.token = localStorage.getItem("token");
|
|
|
|
}
|
|
|
|
createApp(App)
|
|
.use(router)
|
|
.use(useToast)
|
|
.mount('#app')
|