mirror of
https://github.com/amitwh/markdown-converter.git
synced 2026-08-02 18:10:18 +05:30
- Fix file.clearRecent sending IPC to main process instead of clearing openTabs - Wire show-batch-converter, show-document-compare, open-header-footer-dialog IPC channels - Add print preview event listeners (mc:print-preview, mc:print-preview-styled) in App.tsx - Fix sidebar hidden bridge buttons toggling sidebar closed after scroll - Update sidebar menu labels to match actual sections (Files, Outline, Git) - Fix ipc.print to be an object with show/doPrint methods (was bare function) - Update callers: ExportPdfDialog, pdf-export, PrintPreview - Add 7 regression tests for all fixes - Clean 2 obsolete snapshots - Build Linux packages (deb, AppImage, snap) — 549 tests passing
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
import { useState, useEffect } from 'react';
|
|
import { AppShell } from './components/layout/AppShell';
|
|
import { ModalLayer } from './components/modals/ModalLayer';
|
|
import { Toaster } from './components/ui/sonner';
|
|
import { ReplPanel } from './components/tools/ReplPanel';
|
|
import { PrintPreview } from './components/tools/PrintPreview';
|
|
import { UpdateBanner } from './components/UpdateBanner';
|
|
import { FirstRunWizard } from './components/FirstRunWizard';
|
|
import { useWelcomeTrigger } from './hooks/use-welcome-trigger';
|
|
import { useAutoUpdateCheck } from './hooks/useAutoUpdateCheck';
|
|
|
|
function App() {
|
|
useWelcomeTrigger();
|
|
useAutoUpdateCheck();
|
|
const [printOpen, setPrintOpen] = useState(false);
|
|
|
|
useEffect(() => {
|
|
const handler = () => setPrintOpen(true);
|
|
window.addEventListener('mc:print', handler);
|
|
window.addEventListener('mc:print-preview', handler);
|
|
window.addEventListener('mc:print-preview-styled', handler);
|
|
return () => {
|
|
window.removeEventListener('mc:print', handler);
|
|
window.removeEventListener('mc:print-preview', handler);
|
|
window.removeEventListener('mc:print-preview-styled', handler);
|
|
};
|
|
}, []);
|
|
|
|
return (
|
|
<>
|
|
<AppShell />
|
|
<ModalLayer />
|
|
<Toaster />
|
|
<UpdateBanner />
|
|
<FirstRunWizard />
|
|
<ReplPanel />
|
|
{printOpen && <PrintPreview onClose={() => setPrintOpen(false)} />}
|
|
</>
|
|
);
|
|
}
|
|
export default App;
|