feat: Implement core authentication and course management logic with new discovery and profile pages.

This commit is contained in:
supalerk-ar66 2026-01-16 10:03:04 +07:00
parent 1aa3190ca4
commit 2ffcc36fe4
12 changed files with 397 additions and 89 deletions

View file

@ -31,6 +31,7 @@ export { setInterval } from '#app/compat/interval';
export { definePageMeta } from '../node_modules/nuxt/dist/pages/runtime/composables';
export { defineLazyHydrationComponent } from '#app/composables/lazy-hydration';
export { useAuth } from '../composables/useAuth';
export { useCourse, Course } from '../composables/useCourse';
export { useFormValidation, ValidationRule, FieldErrors } from '../composables/useFormValidation';
export { useDialogPluginComponent, useFormChild, useInterval, useMeta, useQuasar, useRenderCache, useSplitAttrs, useTick, useTimeout, Notify } from 'quasar';
export { useNuxtDevTools } from '../node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools';

View file

@ -1 +1 @@
{"id":"dev","timestamp":1768449730995}
{"id":"dev","timestamp":1768531253711}

View file

@ -1 +1 @@
{"id":"dev","timestamp":1768449730995,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
{"id":"dev","timestamp":1768531253711,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

View file

@ -1,5 +1,5 @@
{
"date": "2026-01-15T04:02:21.792Z",
"date": "2026-01-16T02:41:00.186Z",
"preset": "nitro-dev",
"framework": {
"name": "nuxt",
@ -9,9 +9,9 @@
"nitro": "2.12.8"
},
"dev": {
"pid": 1972,
"pid": 15604,
"workerAddress": {
"socketPath": "\\\\.\\pipe\\nitro-worker-1972-1-1-5250.sock"
"socketPath": "\\\\.\\pipe\\nitro-worker-15604-1-1-4154.sock"
}
}
}

View file

@ -1,8 +1,8 @@
/// <reference types="quasar" />
/// <reference types="@nuxtjs/tailwindcss" />
/// <reference types="nuxt-quasar-ui" />
/// <reference types="@nuxt/devtools" />
/// <reference types="nuxt-quasar-ui" />
/// <reference types="@nuxt/telemetry" />
/// <reference types="@nuxtjs/tailwindcss" />
/// <reference path="types/builder-env.d.ts" />
/// <reference types="nuxt" />
/// <reference path="types/app-defaults.d.ts" />

View file

@ -1,4 +1,4 @@
// generated by the @nuxtjs/tailwindcss <https://github.com/nuxt-modules/tailwindcss> module at 15/1/2569 11:25:01
// generated by the @nuxtjs/tailwindcss <https://github.com/nuxt-modules/tailwindcss> module at 16/1/2569 09:58:37
import "@nuxtjs/tailwindcss/config-ctx"
import configMerger from "@nuxtjs/tailwindcss/merger";

View file

@ -100,6 +100,7 @@ declare global {
const useAttrs: typeof import('../../node_modules/vue').useAttrs
const useAuth: typeof import('../../composables/useAuth').useAuth
const useCookie: typeof import('../../node_modules/nuxt/dist/app/composables/cookie').useCookie
const useCourse: typeof import('../../composables/useCourse').useCourse
const useCssModule: typeof import('../../node_modules/vue').useCssModule
const useCssVars: typeof import('../../node_modules/vue').useCssVars
const useDialogPluginComponent: typeof import('quasar').useDialogPluginComponent
@ -194,6 +195,9 @@ declare global {
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from '../../node_modules/vue'
import('../../node_modules/vue')
// @ts-ignore
export type { Course } from '../../composables/useCourse'
import('../../composables/useCourse')
// @ts-ignore
export type { ValidationRule, FieldErrors } from '../../composables/useFormValidation'
import('../../composables/useFormValidation')
}
@ -300,6 +304,7 @@ declare module 'vue' {
readonly useAttrs: UnwrapRef<typeof import('../../node_modules/vue')['useAttrs']>
readonly useAuth: UnwrapRef<typeof import('../../composables/useAuth')['useAuth']>
readonly useCookie: UnwrapRef<typeof import('../../node_modules/nuxt/dist/app/composables/cookie')['useCookie']>
readonly useCourse: UnwrapRef<typeof import('../../composables/useCourse')['useCourse']>
readonly useCssModule: UnwrapRef<typeof import('../../node_modules/vue')['useCssModule']>
readonly useCssVars: UnwrapRef<typeof import('../../node_modules/vue')['useCssVars']>
readonly useDialogPluginComponent: UnwrapRef<typeof import('quasar')['useDialogPluginComponent']>