diff --git a/Frontend-Learner/components/course/CourseCard.vue b/Frontend-Learner/components/course/CourseCard.vue index b26d9ea1..c4714d79 100644 --- a/Frontend-Learner/components/course/CourseCard.vue +++ b/Frontend-Learner/components/course/CourseCard.vue @@ -25,6 +25,8 @@ interface CourseCardProps { showContinue?: boolean showCertificate?: boolean showStudyAgain?: boolean + hideProgress?: boolean + hideActions?: boolean } const props = withDefaults(defineProps(), { @@ -106,7 +108,7 @@ const displayCategory = computed(() => getLocalizedText(props.category))
-
+
{{ $t('course.progress') }} {{ progress }}% @@ -117,25 +119,27 @@ const displayCategory = computed(() => getLocalizedText(props.category))
- - +
+ + - - + + +
diff --git a/Frontend-Learner/components/layout/AppHeader.vue b/Frontend-Learner/components/layout/AppHeader.vue index ab1444d8..74346187 100644 --- a/Frontend-Learner/components/layout/AppHeader.vue +++ b/Frontend-Learner/components/layout/AppHeader.vue @@ -5,9 +5,15 @@ * Uses Quasar QToolbar. */ -defineProps<{ +import { ref, computed } from 'vue' + +const props = defineProps<{ /** Controls visibility of the search bar */ showSearch?: boolean + /** Controls visibility of the sidebar toggle button */ + showSidebarToggle?: boolean + /** Type of navigation links to display */ + navType?: 'public' | 'learner' }>() const emit = defineEmits<{ @@ -15,67 +21,114 @@ const emit = defineEmits<{ toggleSidebar: [] }>() +const { t } = useI18n() +const route = useRoute() + +// Automatically determine navType based on route if not explicitly passed +const navTypeComputed = computed(() => { + if (props.navType) return props.navType + // Show learner nav for dashboard, browse, classroom, and course details + const learnerRoutes = ['/dashboard', '/browse', '/classroom', '/course'] + return learnerRoutes.some(r => route.path.startsWith(r)) ? 'learner' : 'public' +}) + const searchText = ref('') diff --git a/Frontend-Learner/components/profile/PasswordChangeForm.vue b/Frontend-Learner/components/profile/PasswordChangeForm.vue index a7a0208f..67e6f031 100644 --- a/Frontend-Learner/components/profile/PasswordChangeForm.vue +++ b/Frontend-Learner/components/profile/PasswordChangeForm.vue @@ -7,6 +7,7 @@ const props = defineProps<{ modelValue: any; // passwordForm (currentPassword, newPassword, confirmPassword) loading: boolean; + flat?: boolean; }>(); const emit = defineEmits<{ @@ -33,11 +34,15 @@ const showConfirmPassword = ref(false);