import React, { useState } from 'react'; import { useTranslation } from 'react-i18next'; import { useEditorStore } from '../../store/useEditorStore'; import './FileTabs.css'; export const FileTabs: React.FC = () => { const { t } = useTranslation(); const { files, openFileIds, activeFileId, setActiveFile, closeFile } = useEditorStore(); const [confirmCloseId, setConfirmCloseId] = useState(null); const openFiles = openFileIds .map((id) => files.find((f) => f.id === id)) .filter(Boolean) as typeof files; const handleCloseClick = (e: React.MouseEvent, fileId: string, modified: boolean) => { e.stopPropagation(); if (modified) { setConfirmCloseId(fileId); } else { closeFile(fileId); } }; const confirmClose = () => { if (confirmCloseId) closeFile(confirmCloseId); setConfirmCloseId(null); }; return ( <>
{openFiles.map((file) => (
setActiveFile(file.id)} title={file.name} > {file.modified && ( )} {file.name}
))}
{confirmCloseId && (
setConfirmCloseId(null)}>
e.stopPropagation()}>

{t('editor.fileTabs.confirmClose')}

)} ); };