export enum NotificationType {
  SUCCESS = "success",
  ERROR = "error",
  PERMISSION = "permission",
  CONNECTION = "connection",
  TASK_START = "task_start",
  ACHIEVEMENT = "achievement",
}

export interface NotificationSound {
  type: NotificationType;
  filename: string;
  phrase: string;
  volume?: number;
}

// Essential notification sounds mapping
export const NOTIFICATION_SOUNDS: Record<NotificationType, NotificationSound> = {
  [NotificationType.SUCCESS]: {
    type: NotificationType.SUCCESS,
    filename: "im-done.mp3",
    phrase: "I'm done!",
    volume: 0.7,
  },
  [NotificationType.ERROR]: {
    type: NotificationType.ERROR,
    filename: "oh-no.mp3",
    phrase: "Oh no...",
    volume: 0.8,
  },
  [NotificationType.PERMISSION]: {
    type: NotificationType.PERMISSION,
    filename: "access-please.mp3",
    phrase: "Access please!",
    volume: 0.9,
  },
  [NotificationType.CONNECTION]: {
    type: NotificationType.CONNECTION,
    filename: "connected.mp3",
    phrase: "Connected!",
    volume: 0.7,
  },
  [NotificationType.TASK_START]: {
    type: NotificationType.TASK_START,
    filename: "working-on-it.mp3",
    phrase: "Working on it!",
    volume: 0.6,
  },
  [NotificationType.ACHIEVEMENT]: {
    type: NotificationType.ACHIEVEMENT,
    filename: "achievement.mp3",
    phrase: "Achievement Get~!",
    volume: 0.8,
  },
};
