diff --git a/frontend/package.json b/frontend/package.json index 6eb6dafb..8c9e5cfd 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -15,6 +15,7 @@ "qalendar": "^3.6.1", "tailwindcss": "^3.2.7", "vue": "^3.2.25", + "dayjs": "^1.11.6", "vue-router": "^4.0.12" }, "devDependencies": { diff --git a/frontend/src/components/AppSidebar.vue b/frontend/src/components/AppSidebar.vue index ebb4c647..5e811e7c 100644 --- a/frontend/src/components/AppSidebar.vue +++ b/frontend/src/components/AppSidebar.vue @@ -22,7 +22,6 @@ \ No newline at end of file + + \ No newline at end of file diff --git a/frontend/src/components/CourseCard.vue b/frontend/src/components/CourseCard.vue index 19e01df3..2f967b3c 100644 --- a/frontend/src/components/CourseCard.vue +++ b/frontend/src/components/CourseCard.vue @@ -69,8 +69,7 @@ import { computed } from 'vue' import UserAvatar from '@/components/UserAvatar.vue' import { sessionStore } from '@/stores/session' -const { isLoggedIn, getUser } = sessionStore() -const user = computed(() => isLoggedIn && getUser()) +const { isLoggedIn, user } = sessionStore() const props = defineProps({ course: { diff --git a/frontend/src/components/CourseOutline.vue b/frontend/src/components/CourseOutline.vue index 74edadd9..a25b5027 100644 --- a/frontend/src/components/CourseOutline.vue +++ b/frontend/src/components/CourseOutline.vue @@ -6,7 +6,7 @@
- +
-
+
diff --git a/frontend/src/components/UserDropdown.vue b/frontend/src/components/UserDropdown.vue index b22b5b4e..57bc4fa5 100644 --- a/frontend/src/components/UserDropdown.vue +++ b/frontend/src/components/UserDropdown.vue @@ -16,7 +16,7 @@ LMS
- {{ user.full_name }} + {{ convertToTitleCase(user.split('@')[0]) }}
diff --git a/frontend/src/main.js b/frontend/src/main.js index b780705a..7b988ed1 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -4,21 +4,15 @@ import { createApp } from 'vue' import router from './router' import App from './App.vue' import { createPinia } from 'pinia' +import dayjs from '@/utils/dayjs' import translationPlugin from './translation' +import { usersStore } from './stores/user' +import { sessionStore } from './stores/session' -import { - FrappeUI, - Button, - setConfig, - frappeRequest, - resourcesPlugin, -} from 'frappe-ui' +import { FrappeUI, setConfig, frappeRequest, resourcesPlugin } from 'frappe-ui' -// create a pinia instance let pinia = createPinia() - let app = createApp(App) - setConfig('resourceFetcher', frappeRequest) app.use(FrappeUI) @@ -26,6 +20,16 @@ app.use(pinia) app.use(router) app.use(resourcesPlugin) app.use(translationPlugin) +app.provide('$dayjs', dayjs) -app.component('Button', Button) app.mount('#app') + +const { userResource } = usersStore() +let { isLoggedIn } = sessionStore() + +if (isLoggedIn) { + await userResource.reload() +} + +app.provide('$user', userResource) +app.config.globalProperties.$user = userResource diff --git a/frontend/src/pages/Batches.vue b/frontend/src/pages/Batches.vue index 28232707..d6c7ca0c 100644 --- a/frontend/src/pages/Batches.vue +++ b/frontend/src/pages/Batches.vue @@ -1,5 +1,5 @@