Update scheduling parameters and refactor channel endpoints: extend HorizonDays to 7 and RetentionDays to 90 in appsettings.json. Consolidate channel-related endpoint logic by removing obsolete files and enhancing the ShowEndpoints with audience and genre management capabilities. Improve error handling and streamline command handlers for channel operations.
This commit is contained in:
1 parent
c4ef954dea
commit
66040a8841
272 files changed
+27944
-8699
No files matched your search
@@ -29,6 +29,27 @@ function AdminLayout() {
|
||||
>
|
||||
{t('admin.shows.title')}
|
||||
</Link>
|
||||
<Link
|
||||
to="/admin/groups"
|
||||
className={cn('pb-2 uppercase tracking-wide text-muted-foreground hover:text-foreground')}
|
||||
activeProps={{ className: 'border-b-2 border-primary text-primary' }}
|
||||
>
|
||||
{t('admin.groups.title')}
|
||||
</Link>
|
||||
<Link
|
||||
to="/admin/collections"
|
||||
className={cn('pb-2 uppercase tracking-wide text-muted-foreground hover:text-foreground')}
|
||||
activeProps={{ className: 'border-b-2 border-primary text-primary' }}
|
||||
>
|
||||
{t('admin.collections.title')}
|
||||
</Link>
|
||||
<Link
|
||||
to="/admin/genres"
|
||||
className={cn('pb-2 uppercase tracking-wide text-muted-foreground hover:text-foreground')}
|
||||
activeProps={{ className: 'border-b-2 border-primary text-primary' }}
|
||||
>
|
||||
{t('admin.genres.title')}
|
||||
</Link>
|
||||
<Link
|
||||
to="/admin/channels"
|
||||
className={cn('pb-2 uppercase tracking-wide text-muted-foreground hover:text-foreground')}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
import { createFileRoute } from '@tanstack/react-router'
|
||||
import { CollectionDetail } from '@/features/admin/collections/CollectionDetail'
|
||||
|
||||
export const Route = createFileRoute('/admin/collections/$collectionId')({
|
||||
component: CollectionDetailRoute,
|
||||
})
|
||||
|
||||
function CollectionDetailRoute() {
|
||||
const { collectionId } = Route.useParams()
|
||||
return <CollectionDetail collectionId={collectionId} />
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from '@tanstack/react-router'
|
||||
import { CollectionsPanel } from '@/features/admin/collections/CollectionsPanel'
|
||||
|
||||
export const Route = createFileRoute('/admin/collections/')({ component: CollectionsPanel })
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute, Outlet } from '@tanstack/react-router'
|
||||
|
||||
// Лейаут для /admin/collections/*: список — в index-роуте, деталь — в collections.$collectionId.
|
||||
export const Route = createFileRoute('/admin/collections')({ component: () => <Outlet /> })
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from '@tanstack/react-router'
|
||||
import { GenresPanel } from '@/features/admin/genres/GenresPanel'
|
||||
|
||||
export const Route = createFileRoute('/admin/genres')({ component: GenresPanel })
|
||||
@@ -0,0 +1,9 @@
|
||||
import { createFileRoute } from '@tanstack/react-router'
|
||||
import { GroupDetail } from '@/features/admin/groups/GroupDetail'
|
||||
|
||||
export const Route = createFileRoute('/admin/groups/$groupId')({ component: GroupDetailRoute })
|
||||
|
||||
function GroupDetailRoute() {
|
||||
const { groupId } = Route.useParams()
|
||||
return <GroupDetail groupId={groupId} />
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute } from '@tanstack/react-router'
|
||||
import { GroupsPanel } from '@/features/admin/groups/GroupsPanel'
|
||||
|
||||
export const Route = createFileRoute('/admin/groups/')({ component: GroupsPanel })
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createFileRoute, Outlet } from '@tanstack/react-router'
|
||||
|
||||
// Лейаут для /admin/groups/*: список — в index-роуте, редактор — в groups.$groupId.
|
||||
export const Route = createFileRoute('/admin/groups')({ component: () => <Outlet /> })
|
||||
Reference in new issue
Block a user