# All files / src/components/admin/contentManagement config.ts

0% Statements 0/4
100% Branches 0/0
100% Functions 0/0
0% Lines 0/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62

     import type { ComponentProps } from 'react';
    import type { LucideIcon } from 'lucide-react';
    import { Baby, Film, Gamepad2, Heart, Play, Tv } from 'lucide-react';
    import { Button } from '@/components/ui/button';
    import { ContentType } from '@/types';

    export type CategoryConfig = {
      type: ContentType;
      icon: LucideIcon;
      labelKey: string;
      descriptionKey: string;
      tmdbType?: string;
    };

    export type ActionConfig = {
      key: string;
      label: string;
      onSelect: () => void;
      icon?: LucideIcon;
      iconClassName?: string;
      variant?: ComponentProps<typeof Button>['variant'];
      className?: string;
      disabled?: boolean;
    };

    export const CATEGORY_CONFIG: CategoryConfig[] = [
      {
        type: ContentType.VOD,
        icon: Film,
        labelKey: 'content.categories.vod.label',
        descriptionKey: 'content.categories.vod.description',
        tmdbType: 'VOD'},
      {
        type: ContentType.TV,
        icon: Tv,
        labelKey: 'content.categories.tv.label',
        descriptionKey: 'content.categories.tv.description',
        tmdbType: 'TV'},
      {
        type: ContentType.SERIES,
        icon: Play,
        labelKey: 'content.categories.series.label',
        descriptionKey: 'content.categories.series.description',
        tmdbType: 'Series'},
      {
        type: ContentType.EVENTS,
        icon: Heart,
        labelKey: 'content.categories.events.label',
        descriptionKey: 'content.categories.events.description'},
      {
        type: ContentType.KIDS,
        icon: Baby,
        labelKey: 'content.categories.kids.label',
        descriptionKey: 'content.categories.kids.description'},
      {
        type: ContentType.ANIME,
        icon: Gamepad2,
        labelKey: 'content.categories.anime.label',
        descriptionKey: 'content.categories.anime.description',
        tmdbType: 'Anime'},
    ];