From 226e1c7957f92640ed27e48f07d8d48f90e6301f Mon Sep 17 00:00:00 2001 From: louiscklaw Date: Mon, 14 Apr 2025 10:56:54 +0800 Subject: [PATCH] build ok, --- .../src/components/dashboard/layout/config.ts | 542 +++++++++++------- 1 file changed, 329 insertions(+), 213 deletions(-) diff --git a/002_source/cms/src/components/dashboard/layout/config.ts b/002_source/cms/src/components/dashboard/layout/config.ts index 0aaee08..1f69921 100644 --- a/002_source/cms/src/components/dashboard/layout/config.ts +++ b/002_source/cms/src/components/dashboard/layout/config.ts @@ -17,21 +17,124 @@ export const layoutConfig = { title: 'Dashboards', items: [ { key: 'overview', title: 'Overview', href: paths.dashboard.overview, icon: 'house' }, - { key: 'analytics', title: 'Analytics', href: paths.dashboard.analytics, icon: 'chart-pie' }, - { key: 'ecommerce', title: 'E-commerce', href: paths.dashboard.eCommerce, icon: 'cube' }, - { key: 'crypto', title: 'Crypto', href: paths.dashboard.crypto, icon: 'currency-eth' }, + // { key: 'analytics', title: 'Analytics', href: paths.dashboard.analytics, icon: 'chart-pie' }, + // { key: 'ecommerce', title: 'E-commerce', href: paths.dashboard.eCommerce, icon: 'cube' }, + // { key: 'crypto', title: 'Crypto', href: paths.dashboard.crypto, icon: 'currency-eth' }, ], }, { - key: 'general', - title: 'General', + key: 'lesson', + title: 'Lesson', items: [ { - key: 'settings', - title: 'Settings', - href: paths.dashboard.settings.account, - icon: 'gear', - matcher: { type: 'startsWith', href: '/dashboard/settings' }, + key: 'lesson-types', + title: 'type', + icon: 'users', + items: [ + { + key: 'lesson-types', + title: 'dashboard.lessonTypes.list', + href: paths.dashboard.lesson_types.list, + // + }, + { + key: 'lesson-types:create', + title: 'dashboard.lessonTypes.create', + href: paths.dashboard.lesson_types.create, + }, + ], + }, + { + key: 'lesson-categories', + title: 'categories', + icon: 'users', + items: [ + { + key: 'lesson-categories', + title: 'dashboard.lessonTypes.list', + href: paths.dashboard.lesson_categories.list, + }, + { + key: 'lesson-categories:create', + title: 'dashboard.lessonTypes.create', + href: paths.dashboard.lesson_categories.create, + }, + ], + }, + { + key: 'quiz_listenings', + title: 'listenings', + icon: 'users', + items: [ + { + key: 'quiz_listening_categories', + title: 'question_category', + icon: 'align-left', + items: [ + { key: 'quiz_listenings', title: 'List', href: paths.dashboard.customers.list }, + { key: 'quiz_listenings:create', title: 'Create', href: paths.dashboard.customers.create }, + ], + }, + { + key: 'quiz_listening_questions', + title: 'question_list', + icon: 'align-left', + items: [ + { key: 'quiz_listenings', title: 'List', href: paths.dashboard.customers.list }, + { key: 'quiz_listenings:create', title: 'Create', href: paths.dashboard.customers.create }, + ], + }, + ], + }, + { + key: 'quiz_matching_frenzy', + title: 'Matching Frenzy', + icon: 'users', + items: [ + { + key: 'quiz_mf_categories', + title: 'categories', + icon: 'align-left', + items: [ + { key: 'quiz_matching_frenzy', title: 'List', href: paths.dashboard.customers.list }, + { key: 'quiz_matching_frenzy:create', title: 'Create', href: paths.dashboard.customers.create }, + ], + }, + { + key: 'quiz_mf_questions', + title: 'questions', + icon: 'align-left', + items: [ + { key: 'quiz_matching_frenzy', title: 'List', href: paths.dashboard.customers.list }, + { key: 'quiz_matching_frenzy:create', title: 'Create', href: paths.dashboard.customers.create }, + ], + }, + ], + }, + { + key: 'quiz_Connective_revision', + title: 'Connective revision', + icon: 'users', + items: [ + { + key: 'quiz_cr_categories', + title: 'categories', + icon: 'align-left', + items: [ + { key: 'quiz_Connective_revision', title: 'List', href: paths.dashboard.customers.list }, + { key: 'quiz_Connective_revision:create', title: 'Create', href: paths.dashboard.customers.create }, + ], + }, + { + key: 'quiz_cr_questions', + title: 'questions', + icon: 'align-left', + items: [ + { key: 'quiz_Connective_revision', title: 'List', href: paths.dashboard.customers.list }, + { key: 'quiz_Connective_revision:create', title: 'Create', href: paths.dashboard.customers.create }, + ], + }, + ], }, { key: 'customers', @@ -43,110 +146,110 @@ export const layoutConfig = { { key: 'customers:details', title: 'Customer details', href: paths.dashboard.customers.details('1') }, ], }, - { - key: 'products', - title: 'Products', - icon: 'shopping-bag-open', - items: [ - { key: 'products', title: 'List products', href: paths.dashboard.products.list }, - { key: 'products:create', title: 'Create product', href: paths.dashboard.products.create }, - { key: 'products:details', title: 'Product details', href: paths.dashboard.products.details('1') }, - ], - }, - { - key: 'orders', - title: 'Orders', - icon: 'shopping-cart-simple', - items: [ - { key: 'orders', title: 'List orders', href: paths.dashboard.orders.list }, - { key: 'orders:create', title: 'Create order', href: paths.dashboard.orders.create }, - { key: 'orders:details', title: 'Order details', href: paths.dashboard.orders.details('1') }, - ], - }, - { - key: 'invoices', - title: 'Invoices', - icon: 'receipt', - items: [ - { key: 'invoices', title: 'List invoices', href: paths.dashboard.invoices.list }, - { key: 'invoices:create', title: 'Create invoice', href: paths.dashboard.invoices.create }, - { key: 'invoices:details', title: 'Invoice details', href: paths.dashboard.invoices.details('1') }, - ], - }, - { - key: 'jobs', - title: 'Jobs', - icon: 'read-cv-logo', - items: [ - { key: 'jobs:browse', title: 'Browse jobs', href: paths.dashboard.jobs.browse }, - { key: 'jobs:create', title: 'Create job', href: paths.dashboard.jobs.create }, - { - key: 'jobs:company', - title: 'Company details', - href: paths.dashboard.jobs.companies.overview('1'), - matcher: { type: 'startsWith', href: '/dashboard/jobs/companies/1' }, - }, - ], - }, - { - key: 'logistics', - title: 'Logistics', - icon: 'truck', - items: [ - { key: 'logistics:metrics', title: 'Metrics', href: paths.dashboard.logistics.metrics }, - { key: 'logistics:fleet', title: 'Fleet', href: paths.dashboard.logistics.fleet }, - ], - }, - { - key: 'blog', - title: 'Blog', - icon: 'text-align-left', - items: [ - { key: 'blog', title: 'List posts', href: paths.dashboard.blog.list }, - { key: 'blog:create', title: 'Create post', href: paths.dashboard.blog.create }, - { key: 'blog:details', title: 'Post details', href: paths.dashboard.blog.details('1') }, - ], - }, - { - key: 'social', - title: 'Social', - icon: 'share-network', - items: [ - { - key: 'social:profile', - title: 'Profile', - href: paths.dashboard.social.profile.timeline, - matcher: { type: 'startsWith', href: '/dashboard/social/profile' }, - }, - { key: 'social:feed', title: 'Feed', href: paths.dashboard.social.feed }, - ], - }, - { - key: 'academy', - title: 'Academy', - icon: 'graduation-cap', - items: [ - { key: 'academy:browse', title: 'Browse courses', href: paths.dashboard.academy.browse }, - { key: 'academy:course', title: 'Course details', href: paths.dashboard.academy.details('1') }, - ], - }, - { key: 'file-storage', title: 'File storage', href: paths.dashboard.fileStorage, icon: 'upload' }, - { - key: 'mail', - title: 'Mail', - href: paths.dashboard.mail.list('inbox'), - icon: 'envelope-simple', - matcher: { type: 'startsWith', href: '/dashboard/mail' }, - }, - { - key: 'chat', - title: 'Chat', - href: paths.dashboard.chat.base, - icon: 'chats-circle', - matcher: { type: 'startsWith', href: '/dashboard/chat' }, - }, - { key: 'calendar', title: 'Calendar', href: paths.dashboard.calendar, icon: 'calendar-check' }, - { key: 'tasks', title: 'Tasks', href: paths.dashboard.tasks, icon: 'kanban' }, + // { + // key: 'products', + // title: 'Products', + // icon: 'shopping-bag-open', + // items: [ + // { key: 'products', title: 'List products', href: paths.dashboard.products.list }, + // { key: 'products:create', title: 'Create product', href: paths.dashboard.products.create }, + // { key: 'products:details', title: 'Product details', href: paths.dashboard.products.details('1') }, + // ], + // }, + // { + // key: 'orders', + // title: 'Orders', + // icon: 'shopping-cart-simple', + // items: [ + // { key: 'orders', title: 'List orders', href: paths.dashboard.orders.list }, + // { key: 'orders:create', title: 'Create order', href: paths.dashboard.orders.create }, + // { key: 'orders:details', title: 'Order details', href: paths.dashboard.orders.details('1') }, + // ], + // }, + // { + // key: 'invoices', + // title: 'Invoices', + // icon: 'receipt', + // items: [ + // { key: 'invoices', title: 'List invoices', href: paths.dashboard.invoices.list }, + // { key: 'invoices:create', title: 'Create invoice', href: paths.dashboard.invoices.create }, + // { key: 'invoices:details', title: 'Invoice details', href: paths.dashboard.invoices.details('1') }, + // ], + // }, + // { + // key: 'jobs', + // title: 'Jobs', + // icon: 'read-cv-logo', + // items: [ + // { key: 'jobs:browse', title: 'Browse jobs', href: paths.dashboard.jobs.browse }, + // { key: 'jobs:create', title: 'Create job', href: paths.dashboard.jobs.create }, + // { + // key: 'jobs:company', + // title: 'Company details', + // href: paths.dashboard.jobs.companies.overview('1'), + // matcher: { type: 'startsWith', href: '/dashboard/jobs/companies/1' }, + // }, + // ], + // }, + // { + // key: 'logistics', + // title: 'Logistics', + // icon: 'truck', + // items: [ + // { key: 'logistics:metrics', title: 'Metrics', href: paths.dashboard.logistics.metrics }, + // { key: 'logistics:fleet', title: 'Fleet', href: paths.dashboard.logistics.fleet }, + // ], + // }, + // { + // key: 'blog', + // title: 'Blog', + // icon: 'text-align-left', + // items: [ + // { key: 'blog', title: 'List posts', href: paths.dashboard.blog.list }, + // { key: 'blog:create', title: 'Create post', href: paths.dashboard.blog.create }, + // { key: 'blog:details', title: 'Post details', href: paths.dashboard.blog.details('1') }, + // ], + // }, + // { + // key: 'social', + // title: 'Social', + // icon: 'share-network', + // items: [ + // { + // key: 'social:profile', + // title: 'Profile', + // href: paths.dashboard.social.profile.timeline, + // matcher: { type: 'startsWith', href: '/dashboard/social/profile' }, + // }, + // { key: 'social:feed', title: 'Feed', href: paths.dashboard.social.feed }, + // ], + // }, + // { + // key: 'academy', + // title: 'Academy', + // icon: 'graduation-cap', + // items: [ + // { key: 'academy:browse', title: 'Browse courses', href: paths.dashboard.academy.browse }, + // { key: 'academy:course', title: 'Course details', href: paths.dashboard.academy.details('1') }, + // ], + // }, + // { key: 'file-storage', title: 'File storage', href: paths.dashboard.fileStorage, icon: 'upload' }, + // { + // key: 'mail', + // title: 'Mail', + // href: paths.dashboard.mail.list('inbox'), + // icon: 'envelope-simple', + // matcher: { type: 'startsWith', href: '/dashboard/mail' }, + // }, + // { + // key: 'chat', + // title: 'Chat', + // href: paths.dashboard.chat.base, + // icon: 'chats-circle', + // matcher: { type: 'startsWith', href: '/dashboard/chat' }, + // }, + // { key: 'calendar', title: 'Calendar', href: paths.dashboard.calendar, icon: 'calendar-check' }, + // { key: 'tasks', title: 'Tasks', href: paths.dashboard.tasks, icon: 'kanban' }, ], }, { @@ -154,107 +257,120 @@ export const layoutConfig = { title: 'Other', items: [ { - key: 'auth', - title: 'Auth', - icon: 'lock', - items: [ - { - key: 'auth:sign-in', - title: 'Sign in', - items: [ - { key: 'auth:sign-in:centered', title: 'Centered', href: paths.auth.samples.signIn.centered }, - { key: 'auth:sign-in:split', title: 'Split', href: paths.auth.samples.signIn.split }, - ], - }, - { - key: 'auth:sign-up', - title: 'Sign up', - items: [ - { key: 'auth:sign-up:centered', title: 'Centered', href: paths.auth.samples.signUp.centered }, - { key: 'auth:sign-up:split', title: 'Split', href: paths.auth.samples.signUp.split }, - ], - }, - { - key: 'auth:reset-password', - title: 'Reset password', - items: [ - { - key: 'auth:reset-password:centered', - title: 'Centered', - href: paths.auth.samples.resetPassword.centered, - }, - { key: 'auth:reset-password:split', title: 'Split', href: paths.auth.samples.resetPassword.split }, - ], - }, - { - key: 'auth:update-password', - title: 'Update password', - items: [ - { - key: 'auth:update-password:centered', - title: 'Centered', - href: paths.auth.samples.updatePassword.centered, - }, - { key: 'auth:update-password:split', title: 'Split', href: paths.auth.samples.updatePassword.split }, - ], - }, - { - key: 'auth:verify-code', - title: 'Verify code', - items: [ - { key: 'auth:verify-code:centered', title: 'Centered', href: paths.auth.samples.verifyCode.centered }, - { key: 'auth:verify-code:split', title: 'Split', href: paths.auth.samples.verifyCode.split }, - ], - }, - ], - }, - { key: 'pricing', title: 'Pricing', href: paths.pricing, icon: 'credit-card' }, - { key: 'checkout', title: 'Checkout', href: paths.checkout, icon: 'sign-out' }, - { key: 'contact', title: 'Contact', href: paths.contact, icon: 'address-book' }, - { - key: 'error', - title: 'Error', - icon: 'file-x', - items: [ - { key: 'error:not-authorized', title: 'Not authorized', href: paths.notAuthorized }, - { key: 'error:not-found', title: 'Not found', href: paths.notFound }, - { key: 'error:internal-server-error', title: 'Internal server error', href: paths.internalServerError }, - ], + key: 'settings', + title: 'Settings', + href: paths.dashboard.settings.account, + icon: 'gear', + matcher: { type: 'startsWith', href: '/dashboard/settings' }, }, ], }, - { - key: 'misc', - title: 'Misc', - items: [ - { - key: 'levels:level-0', - title: 'Level 0', - icon: 'align-left', - items: [ - { - key: 'levels:level-1a', - title: 'Level 1a', - items: [ - { - key: 'levels:level-2a', - title: 'Level 2a', - items: [ - { key: 'levels:level-3a', title: 'Level 3a' }, - { key: 'levels:level-3b', title: 'Level 3b', disabled: true }, - ], - }, - { key: 'levels:level-2b', title: 'Level 2b' }, - ], - }, - { key: 'levels:level-1b', title: 'Level 1b' }, - ], - }, - { key: 'disabled', title: 'Disabled', disabled: true, icon: 'warning-diamond' }, - { key: 'label', title: 'Label', icon: 'file', label: 'New' }, - { key: 'blank', title: 'Blank', href: paths.dashboard.blank, icon: 'file-dashed' }, - { key: 'external', title: 'External link', href: 'https://devias.io', external: true, icon: 'link' }, - ], - }, + // { + // key: 'other', + // title: 'Other', + // items: [ + // { + // key: 'auth', + // title: 'Auth', + // icon: 'lock', + // items: [ + // { + // key: 'auth:sign-in', + // title: 'Sign in', + // items: [ + // { key: 'auth:sign-in:centered', title: 'Centered', href: paths.auth.samples.signIn.centered }, + // { key: 'auth:sign-in:split', title: 'Split', href: paths.auth.samples.signIn.split }, + // ], + // }, + // { + // key: 'auth:sign-up', + // title: 'Sign up', + // items: [ + // { key: 'auth:sign-up:centered', title: 'Centered', href: paths.auth.samples.signUp.centered }, + // { key: 'auth:sign-up:split', title: 'Split', href: paths.auth.samples.signUp.split }, + // ], + // }, + // { + // key: 'auth:reset-password', + // title: 'Reset password', + // items: [ + // { + // key: 'auth:reset-password:centered', + // title: 'Centered', + // href: paths.auth.samples.resetPassword.centered, + // }, + // { key: 'auth:reset-password:split', title: 'Split', href: paths.auth.samples.resetPassword.split }, + // ], + // }, + // { + // key: 'auth:update-password', + // title: 'Update password', + // items: [ + // { + // key: 'auth:update-password:centered', + // title: 'Centered', + // href: paths.auth.samples.updatePassword.centered, + // }, + // { key: 'auth:update-password:split', title: 'Split', href: paths.auth.samples.updatePassword.split }, + // ], + // }, + // { + // key: 'auth:verify-code', + // title: 'Verify code', + // items: [ + // { key: 'auth:verify-code:centered', title: 'Centered', href: paths.auth.samples.verifyCode.centered }, + // { key: 'auth:verify-code:split', title: 'Split', href: paths.auth.samples.verifyCode.split }, + // ], + // }, + // ], + // }, + // { key: 'pricing', title: 'Pricing', href: paths.pricing, icon: 'credit-card' }, + // { key: 'checkout', title: 'Checkout', href: paths.checkout, icon: 'sign-out' }, + // { key: 'contact', title: 'Contact', href: paths.contact, icon: 'address-book' }, + // { + // key: 'error', + // title: 'Error', + // icon: 'file-x', + // items: [ + // { key: 'error:not-authorized', title: 'Not authorized', href: paths.notAuthorized }, + // { key: 'error:not-found', title: 'Not found', href: paths.notFound }, + // { key: 'error:internal-server-error', title: 'Internal server error', href: paths.internalServerError }, + // ], + // }, + // ], + // }, + // { + // key: 'misc', + // title: 'Misc', + // items: [ + // { + // key: 'levels:level-0', + // title: 'Level 0', + // icon: 'align-left', + // items: [ + // { + // key: 'levels:level-1a', + // title: 'Level 1a', + // items: [ + // { + // key: 'levels:level-2a', + // title: 'Level 2a', + // items: [ + // { key: 'levels:level-3a', title: 'Level 3a' }, + // { key: 'levels:level-3b', title: 'Level 3b', disabled: true }, + // ], + // }, + // { key: 'levels:level-2b', title: 'Level 2b' }, + // ], + // }, + // { key: 'levels:level-1b', title: 'Level 1b' }, + // ], + // }, + // { key: 'disabled', title: 'Disabled', disabled: true, icon: 'warning-diamond' }, + // { key: 'label', title: 'Label', icon: 'file', label: 'New' }, + // { key: 'blank', title: 'Blank', href: paths.dashboard.blank, icon: 'file-dashed' }, + // { key: 'external', title: 'External link', href: 'https://devias.io', external: true, icon: 'link' }, + // ], + // }, ], } satisfies LayoutConfig;