export interface Tag {
  tag: string;
}

export interface Home {
  name: string;
  title: string;
  button1: string;
  button2: string;
  keywords: string;
  tags: Tag[];
  image: string;
  video?: string;
  slug: string;
  created_at: string;
  updated_at: string;
  is_active: boolean;
}

export interface Setting {
  title: string;
  meta_title: string;
  meta_description: string;
  phone: string;
  url: string;
  email: string;
  facebook: string;
  x: string;
  instagram: string;
  linkedin?: string;
  pinterest?: string;
  whatsapp: string;
  slogan: string;
  w_logo: string;
  b_logo: string;
  created_at: string;
  updated_at: string;
  is_active: boolean;
}

export interface AboutMe {
  title: string;
  image: string;
  image_sub: string;
  cv: string;
  birthday: string;
  city: string;
  study: string;
  website: string;
  phone: string;
  age: string;
  interests: string;
  degree: string;
  x: string;
  mail: string;
  project_done: string;
  hapy_user: string;
  great_reviews: string;
  support_team: string;
  slug: string;
  created_at: string;
  updated_at: string;
  is_active: boolean;
  counter_active: boolean;
  done: number;
  user_h: number;
  great: number;
  team: number;
}

export interface Service {
  id?: number;
  title: string;
  image: string;
  content: string;
  slug: string;
  created_at: string;
  updated_at: string;
  is_active: boolean;
}

export interface ServiceTitle {
  title: string;
  title_sub: string;
  created_at: string;
  updated_at: string;
  is_active: boolean;
}

export interface EduResume {
  id: number;
  between_years: string;
  title: string;
  content: string;
  resume: number;
  created_at: string;
  updated_at: string;
  is_active: boolean;
}

export interface ExpResume {
  id: number;
  between_years: string;
  title: string;
  content: string;
  resume: number;
  created_at: string;
  updated_at: string;
  is_active: boolean;
}

export interface SkillResume {
  id: number;
  title: string;
  degree: number;
  resume: number;
  created_at: string;
  updated_at: string;
  is_active: boolean;
}

export interface KnowResume {
  id: number;
  title: string;
  resume: number;
  created_at: string;
  updated_at: string;
  is_active: boolean;
}

export interface Resume {
  id: number;
  title: string;
  title_sub: string;
  edu_resume: EduResume[];
  exp_resume: ExpResume[];
  skill_resume: SkillResume[];
  know_resume: KnowResume[];
  created_at: string;
  updated_at: string;
  is_active: boolean;
  education: string;
  experience: string;
  coding_skills: string;
  knowledge: string;
}

export interface PortfolioCategory {
  id: number;
  url: string;
  image: string;
  parent: number | null;
  created_at: string;
  updated_at: string;
  is_active: boolean;
}

export interface Category {
  id: number;
  title: string;
  parent: number | null;
  is_active: boolean;
  created_at: string;
  updated_at: string;
  order: number;
  slug: string;
  image: string | null;
  keywords: string;
  description: string;
  portfolio_categories: PortfolioCategory[];
}

export type CategoriesResponse = Category[];

export interface MainMenu {
  id: number;
  home: string;
  about: string;
  services: string;
  resume: string;
  portfolio: string;
  contact: string;
  created_at: string;
  updated_at: string;
  is_active: boolean;
}

export interface OpenClose {
  is_active: boolean;
  site_active: boolean;
}

export interface Bundle {
  home: Home;
  about_me: AboutMe;
  service_title: ServiceTitle;
  resume: Resume;
  main_menu: MainMenu;
  services: Service[];
  education: EduResume[];
  experience: ExpResume[];
  skills: SkillResume[];
  knowledge: KnowResume[];
}

export interface Bundle {
  home: Home;
  about_me: AboutMe;
  service_title: ServiceTitle;
  resume: Resume;
  main_menu: MainMenu;
  services: Service[];
  education: EduResume[];
  experience: ExpResume[];
  skills: SkillResume[];
  knowledge: KnowResume[];
}
