import {ChatbotConversation} from './conversations.service';

export type inputModeChoicesType = "auto" | "structured" | "specific"
export type filterType = {
  name: string,
  enabled: boolean,
  kind: "local" | "outside",
}

interface AirWatchStateType {
  activeConversation: ChatbotConversation | Object;
  app: {
    backendAPIRoot: string,
    displayConversationListPanelLarge: boolean,
    displayFeedBackPanel: boolean,
    displaySourcesPanelLarge: boolean,
    displayTour: boolean,
    displayWarningAIMaturing: boolean,
    feedBackInput: string,
    filters: Array<filterType>,
    input: string,
    lang: string,
    notifications: [],
    searchInput: string,
    version: string
    inputMode: inputModeChoicesType
  };
  conversationsList: Array<ChatbotConversation>;

  user: any;
}


export const AirWatchState: AirWatchStateType = {

  user: {
    isAuthenticated: false,
    id: "",
  },
  app: {
    backendAPIRoot: "",
    displayConversationListPanelLarge: false,
    displayFeedBackPanel: false,
    displaySourcesPanelLarge: false,
    displayTour: false,
    displayWarningAIMaturing: false,
    feedBackInput: "",
    filters: [
      {
        name: "Incident reports",
        enabled: true,
        kind: "local",
      },
      {
        name: "General reports",
        enabled: false,
        kind: "local",
      }
    ],
    input: "",
    inputMode: "auto",
    lang: "fr_FR",
    notifications: [],
    searchInput: "",
    version: "1.0.12"
  },
  conversationsList: [],
  activeConversation: {}
}
