export type ServiceCategoryType = {
  id: string;
  title: string;

  icon: string;

  isActive: boolean;

  parent: ServiceCategoryType;

  children: ServiceCategoryType[];

  parentId: string;
  childrenCount: number;
  servicesCount: number;
  order: string;
};

export type CreateServiceCategoryType = {
  title: string;
  icon?: string;
  isActive: boolean;
  parentId?: string;
  order: string | number;
};

export type ToggleStatusCategoryType = {
  id: string;
};

export type CreateServiceType = {
  categoryId: string;
  name: string;
  title: string;
  description: string;
  author: string;
  userCount: number;
  serviceLanguage: string;
  softwareLanguage: string;
  metaDescription: string;
  link: string;
  isDanakSuggest: boolean;
  icon?: string;
  images?: string[];
  createDate: string;
  coverUrl?: string;
  slug: string;
};

export type ServiceItemType = {
  id: string;
  name: string;
  author: string;
  category: ServiceCategoryType;
  createDate: string;
  isActive: boolean;
  icon: string;
  subscriptionCount: number;
  showInSlider: boolean;
  slug: string;
};

export type CreateItemPlanType = {
  name: string;
  duration: string | number;
  price: string | number;
  isActive: boolean;
};

export type CreatePlanType = {
  subs: CreateItemPlanType[];
  serviceId: string;
};

export type PlanItemType = {
  id: string;
  name: string;
  duration: string | number;
  price: string | number;
  isActive: boolean;
  createdAt: string;
};

export type UpdatePlanType = {
  name: string;
  duration: string | number;
  price: string | number;
  isActive?: boolean;
  serviceId?: string;
};

export type ReviewItemType = {
  id: string;
  comment: string;
  createdAt: string;
  rating: number;
  service: {
    id: string;
    name: string;
  };
  status: "APPROVED" | "PENDING" | "REJECTED";
  title: string;
  user: {
    id: string;
    firstName: string;
    lastName: string;
    profilePic: string;
  };
};
