/*
 * Copyright (C) 2022 StApps
 * This program is free software: you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the Free
 * Software Foundation, version 3.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <https://www.gnu.org/licenses/>.
 */
import {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {RouterModule} from '@angular/router';
import {LayoutModule} from '@angular/cdk/layout';
import {TranslateModule} from '@ngx-translate/core';
import {SettingsModule} from '../settings/settings.module';
import {ContextMenuService} from './context/context-menu.service';
import {
  IonButton,
  IonButtons,
  IonCheckbox,
  IonContent,
  IonHeader,
  IonItem,
  IonLabel,
  IonList,
  IonListHeader,
  IonMenu,
  IonMenuToggle,
  IonRadio,
  IonRadioGroup,
  IonTabBar,
  IonTabButton,
  IonTitle,
  IonToolbar,
} from '@ionic/angular/standalone';
import {IonIconDirective} from 'src/app/util/ion-icon/ion-icon.directive';
import {ContextMenuModalComponent} from './context/context-menu-modal.component';

/**
 * Menu module
 */
@NgModule({
  declarations: [ContextMenuModalComponent],
  exports: [ContextMenuModalComponent],
  imports: [
    CommonModule,
    IonIconDirective,
    FormsModule,
    RouterModule,
    SettingsModule,
    TranslateModule.forChild(),
    LayoutModule,
    IonLabel,
    IonTabButton,
    IonTabBar,
    IonMenu,
    IonMenuToggle,
    IonButton,
    IonCheckbox,
    IonItem,
    IonList,
    IonListHeader,
    IonTitle,
    IonRadio,
    IonRadioGroup,
    IonContent,
    IonToolbar,
    IonButtons,
    IonHeader,
  ],
  providers: [ContextMenuService],
})
export class MenuModule {}
