From 5d1673bad86347e075a86079ed828bc618f5261b Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Tue, 8 Apr 2025 10:57:02 +0530 Subject: [PATCH] fix: persistent favicon for all pages --- frontend/src/components/CourseOutline.vue | 1 + frontend/src/components/Quiz.vue | 2 +- frontend/src/pages/AssignmentForm.vue | 10 +++++ frontend/src/pages/AssignmentSubmission.vue | 13 ++++++- .../src/pages/AssignmentSubmissionList.vue | 10 +++++ frontend/src/pages/Assignments.vue | 10 +++++ frontend/src/pages/Badge.vue | 11 +++++- frontend/src/pages/Batch.vue | 25 +++++++----- frontend/src/pages/BatchDetail.vue | 14 +++---- frontend/src/pages/BatchForm.vue | 14 ++++++- frontend/src/pages/Batches.vue | 12 +++--- frontend/src/pages/Billing.vue | 14 +++++-- frontend/src/pages/CertifiedParticipants.vue | 10 +++-- frontend/src/pages/CourseCertification.vue | 11 +++++- frontend/src/pages/CourseDetail.vue | 18 ++++++--- frontend/src/pages/CourseForm.vue | 17 ++++---- frontend/src/pages/Courses.vue | 12 +++--- frontend/src/pages/Home.vue | 39 ------------------- frontend/src/pages/JobCreation.vue | 10 +++++ frontend/src/pages/JobDetail.vue | 13 +++---- frontend/src/pages/Jobs.vue | 20 ++++++---- frontend/src/pages/Lesson.vue | 14 +++---- frontend/src/pages/LessonForm.vue | 22 +++++++---- frontend/src/pages/Notifications.vue | 10 ++--- frontend/src/pages/Profile.vue | 20 ++++++---- frontend/src/pages/ProgramForm.vue | 14 ++++++- frontend/src/pages/Programs.vue | 10 +++++ frontend/src/pages/QuizForm.vue | 11 +++--- frontend/src/pages/QuizPage.vue | 13 +++---- frontend/src/pages/QuizSubmission.vue | 11 +++++- frontend/src/pages/QuizSubmissionList.vue | 23 +++++++++++ frontend/src/pages/Quizzes.vue | 10 ++--- frontend/src/pages/SCORMChapter.vue | 14 +++---- frontend/src/pages/Statistics.vue | 16 ++++---- frontend/src/stores/session.js | 8 +++- 35 files changed, 307 insertions(+), 175 deletions(-) delete mode 100644 frontend/src/pages/Home.vue diff --git a/frontend/src/components/CourseOutline.vue b/frontend/src/components/CourseOutline.vue index 122e76e7..3bff9484 100644 --- a/frontend/src/components/CourseOutline.vue +++ b/frontend/src/components/CourseOutline.vue @@ -142,6 +142,7 @@
{{ diff --git a/frontend/src/pages/AssignmentForm.vue b/frontend/src/pages/AssignmentForm.vue index 138781f4..cfa58f7e 100644 --- a/frontend/src/pages/AssignmentForm.vue +++ b/frontend/src/pages/AssignmentForm.vue @@ -63,6 +63,7 @@ import { createResource, FormControl, TextEditor, + usePageMeta, } from 'frappe-ui' import { computed, @@ -72,11 +73,13 @@ import { reactive, watch, } from 'vue' +import { sessionStore } from '../stores/session' import { showToast } from '@/utils' import { useRouter } from 'vue-router' const user = inject('$user') const router = useRouter() +const { brand } = sessionStore() const props = defineProps({ assignmentID: { @@ -188,4 +191,11 @@ const assignmentOptions = computed(() => { { label: 'URL', value: 'URL' }, ] }) + +usePageMeta(() => { + return { + title: assignment.doc ? assignment.doc.title : __('New Assignment'), + icon: brand.favicon, + } +}) diff --git a/frontend/src/pages/AssignmentSubmission.vue b/frontend/src/pages/AssignmentSubmission.vue index c6fb1c48..1d2b747e 100644 --- a/frontend/src/pages/AssignmentSubmission.vue +++ b/frontend/src/pages/AssignmentSubmission.vue @@ -14,12 +14,14 @@
diff --git a/frontend/src/pages/AssignmentSubmissionList.vue b/frontend/src/pages/AssignmentSubmissionList.vue index cdb68778..2e09835a 100644 --- a/frontend/src/pages/AssignmentSubmissionList.vue +++ b/frontend/src/pages/AssignmentSubmissionList.vue @@ -84,14 +84,17 @@ import { ListRows, ListRow, ListRowItem, + usePageMeta, } from 'frappe-ui' import { computed, inject, onMounted, ref, watch } from 'vue' import { useRouter } from 'vue-router' import { Pencil } from 'lucide-vue-next' +import { sessionStore } from '../stores/session' import Link from '@/components/Controls/Link.vue' const user = inject('$user') const dayjs = inject('$dayjs') +const { brand } = sessionStore() const router = useRouter() const assignmentID = ref('') const member = ref('') @@ -214,4 +217,11 @@ const breadcrumbs = computed(() => { }, ] }) + +usePageMeta(() => { + return { + title: __('Assignment Submissions'), + icon: brand.favicon, + } +}) diff --git a/frontend/src/pages/Assignments.vue b/frontend/src/pages/Assignments.vue index 3f2e1744..939c1b5d 100644 --- a/frontend/src/pages/Assignments.vue +++ b/frontend/src/pages/Assignments.vue @@ -80,15 +80,18 @@ import { createListResource, FormControl, ListView, + usePageMeta, } from 'frappe-ui' import { computed, inject, onMounted, ref, watch } from 'vue' import { Plus, Pencil } from 'lucide-vue-next' import { useRouter } from 'vue-router' +import { sessionStore } from '../stores/session' const user = inject('$user') const dayjs = inject('$dayjs') const titleFilter = ref('') const typeFilter = ref('') +const { brand } = sessionStore() const router = useRouter() onMounted(() => { @@ -184,4 +187,11 @@ const breadcrumbs = computed(() => [ route: { name: 'Assignments' }, }, ]) + +usePageMeta(() => { + return { + title: __('Assignments'), + icon: brand.favicon, + } +}) diff --git a/frontend/src/pages/Badge.vue b/frontend/src/pages/Badge.vue index 976104a8..a20fbe5f 100644 --- a/frontend/src/pages/Badge.vue +++ b/frontend/src/pages/Badge.vue @@ -24,10 +24,12 @@
diff --git a/frontend/src/pages/Batch.vue b/frontend/src/pages/Batch.vue index eec3c417..c9cf5054 100644 --- a/frontend/src/pages/Batch.vue +++ b/frontend/src/pages/Batch.vue @@ -199,9 +199,14 @@ diff --git a/frontend/src/pages/BatchDetail.vue b/frontend/src/pages/BatchDetail.vue index 24d243ec..4ccd4c33 100644 --- a/frontend/src/pages/BatchDetail.vue +++ b/frontend/src/pages/BatchDetail.vue @@ -102,8 +102,9 @@ import { computed, inject } from 'vue' import { useRouter } from 'vue-router' import { BookOpen, Clock } from 'lucide-vue-next' -import { formatTime, updateDocumentTitle } from '@/utils' -import { Breadcrumbs, createResource } from 'frappe-ui' +import { formatTime } from '@/utils' +import { Breadcrumbs, createResource, usePageMeta } from 'frappe-ui' +import { sessionStore } from '@/stores/session' import CourseCard from '@/components/CourseCard.vue' import BatchOverlay from '@/components/BatchOverlay.vue' import DateRange from '../components/Common/DateRange.vue' @@ -112,6 +113,7 @@ import UserAvatar from '@/components/UserAvatar.vue' const user = inject('$user') const router = useRouter() +const { brand } = sessionStore() const props = defineProps({ batchName: { @@ -152,14 +154,12 @@ const breadcrumbs = computed(() => { return items }) -const pageMeta = computed(() => { +usePageMeta(() => { return { - title: batch.data?.title, - description: batch.data?.description, + title: batch?.data?.title, + icon: brand.favicon, } }) - -updateDocumentTitle(pageMeta)