- Expanded CourseResourceType to include "resource" and "temp". - Renamed ICourseResource to IResource and updated its properties for consistency. - Introduced ICreateResource type for resource creation. - Modified ICourseSection and ICourseChapter interfaces to use the new IResource type and updated property names for camelCase. - Implemented uploadFile function in file API for handling file uploads. - Created ResourceUploader component for uploading resources with validation and feedback. - Developed Card component for displaying course class details and managing student enrollment. - Added AlertDialog components for consistent alert dialog UI. - Enhanced table components for better data presentation and management. - Implemented preview page for displaying various resource types based on file extension.
21 lines
452 B
TypeScript
21 lines
452 B
TypeScript
import { useLoginState } from "~/stores/loginState";
|
|
|
|
export default defineNuxtRouteMiddleware((to, from) => {
|
|
if (import.meta.server) return;
|
|
|
|
const loginState = useLoginState();
|
|
|
|
if (to.meta.requiresAuth && !loginState.isLoggedIn) {
|
|
// let queries = {
|
|
// redirect: to.fullPath,
|
|
// }
|
|
|
|
return navigateTo({
|
|
path: "/user/authenticate",
|
|
query: {
|
|
redirect: to.fullPath || from.fullPath,
|
|
},
|
|
});
|
|
}
|
|
});
|