import React, { useState } from 'react'; import { useEditorStore } from '../../store/useEditorStore'; import './FileTabs.css'; export const FileTabs: React.FC = () => { 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()} >

Close file with unsaved changes?

)} ); };