import { defineStore } from 'pinia' import fileTypeService from '../services/file_type/file_type.service.js' const supportedTypes = new Set(['image', 'video', 'audio', 'flash']) export const useMediaViewerStore = defineStore('mediaViewer', { state: () => ({ media: [], currentIndex: 0, activated: false, }), actions: { setMedia(attachments) { const media = attachments.filter((attachment) => { const type = fileTypeService.fileType(attachment.mimetype) return supportedTypes.has(type) }) this.media = media }, setCurrentMedia(current) { const index = this.media.indexOf(current) this.activated = true this.currentIndex = index }, closeMediaViewer() { this.activated = false }, }, })