Add business workshop management UI with Jalali scheduling and shared dashboard polish.

Includes workshop list/edit/details, registrations modal, category tree, shared EmptyState/RichTextEditor/toasts, and fixes for the Jalali date picker and thumbnail field layout.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-22 12:22:27 +03:30
co-authored by Cursor
parent 89269dff04
commit d5aca8bea7
76 changed files with 4719 additions and 974 deletions
+10 -2
View File
@@ -68,7 +68,12 @@ function isGroupActive(group: NavGroup, pathname: string) {
return true
}
if (group.id === 'content') {
if (pathname.startsWith('/blog') || pathname.startsWith('/videos') || pathname.startsWith('/instructions')) {
if (
pathname.startsWith('/blog') ||
pathname.startsWith('/videos') ||
pathname.startsWith('/instructions') ||
pathname.startsWith('/workshops')
) {
return true
}
}
@@ -183,6 +188,9 @@ export function Sidebar({ open = false }: SidebarProps) {
...(hasBusinessModule(enabledModules, 'instructions')
? [{ labelKey: 'nav.content.instructions' as BusinessMessageKey, to: '/instructions' }]
: []),
...(hasBusinessModule(enabledModules, 'workshops')
? [{ labelKey: 'nav.workshops' as BusinessMessageKey, to: '/workshops' }]
: []),
],
},
{
@@ -222,7 +230,7 @@ export function Sidebar({ open = false }: SidebarProps) {
return items.filter((item) => {
if (item.type === 'group' && item.id === 'content') {
return hasAnyBusinessModule(enabledModules, ['blog', 'videos', 'instructions'])
return hasAnyBusinessModule(enabledModules, ['blog', 'videos', 'instructions', 'workshops'])
}
return !item.moduleId || hasBusinessModule(enabledModules, item.moduleId)
})