import {Injectable} from '@angular/core';

export interface BadgeItem {
  type: string;
  value: string;
}

export interface ChildrenItems {
  state: string;
  name: string;
  type?: string;
}

export interface Menu {
  state: string;
  name: string;
  type: string;
  icon: string;
  badge?: BadgeItem[];
  children?: ChildrenItems[];
}

const MENUITEMS = [
  {
    state: '/',
    name: 'صفحه اصلی',
    type: 'link',
    icon: 'explore'
  },
  {
    state: 'user',
    name: 'مدیریت کاربران',
    type: 'sub',
    icon: 'account_circle',
    children: [
      {state: 'users', name: 'کاربران'},
      {state: 'roles', name: 'نقش ها'},
      {state: 'permissions', name: 'سطح دسترسی ها'},
      {state: 'types', name: 'نوع ها'},
    ]
  },
  {
    state: 'requests',
    name: 'درخواست ها ',
    type: 'sub',
    icon: 'account_circle',
    children: [
      {state: 'requests', name: 'لیست درخواست ها '},
      {state: 'requestregister', name: 'فرم ثبت نام '},
    ]
  },
  {
    state: 'basics',
    name: 'پایه',
    type: 'sub',
    icon: 'account_circle',
    children: [
      {state: 'universities', name: 'دانشگاه ها '},
      {state: 'cities', name: 'شهرها'},
      {state: 'unities', name: 'واحد ها '},
    ]
  }
];

@Injectable()
export class MenuService {

  getAll(): Menu[] {
    return MENUITEMS;
  }

  add(menu: Menu) {
    MENUITEMS.push(menu);
  }
}
