diff --git a/src/renderer/components/layout/Toolbar.tsx b/src/renderer/components/layout/Toolbar.tsx
new file mode 100644
index 0000000..c9dc98c
--- /dev/null
+++ b/src/renderer/components/layout/Toolbar.tsx
@@ -0,0 +1,15 @@
+import { Bold, Italic, List, ListOrdered, Code, Link as LinkIcon } from 'lucide-react';
+import { Button } from '@/components/ui/button';
+
+export function Toolbar() {
+ return (
+
+
+
+
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/tests/component/layout/Toolbar.test.tsx b/tests/component/layout/Toolbar.test.tsx
new file mode 100644
index 0000000..9c49cad
--- /dev/null
+++ b/tests/component/layout/Toolbar.test.tsx
@@ -0,0 +1,11 @@
+import { describe, it, expect } from 'vitest';
+import { render, screen } from '@testing-library/react';
+import { Toolbar } from '@/components/layout/Toolbar';
+
+describe('Toolbar', () => {
+ it('renders formatting buttons', () => {
+ render();
+ expect(screen.getByRole('button', { name: /bold/i })).toBeInTheDocument();
+ expect(screen.getByRole('button', { name: /italic/i })).toBeInTheDocument();
+ });
+});
\ No newline at end of file