feat: Implement Keywords management page with DataGrid

Frontend Phase 2 - Keywords Management:
- Add MainLayout component with sidebar navigation
- Implement Keywords page with MUI DataGrid
- Add Keywords CRUD operations (Create, Edit, Delete dialogs)
- Add search and filter functionality (Category, Status)
- Install @mui/x-data-grid package for table component
- Update routing to include Keywords page
- Update Dashboard to use MainLayout
- Add navigation menu items for all planned pages

Features implemented:
- Keywords list with DataGrid table
- Add/Edit keyword dialog with form validation
- Delete confirmation dialog
- Category filter (People, Topics, Companies)
- Status filter (Active, Inactive)
- Search functionality
- Priority management

Tested in browser:
- Page loads successfully
- API integration working (200 OK)
- Layout and navigation functional
- All UI components rendering correctly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
jungwoo choi
2025-11-04 21:47:45 +09:00
parent 55fcce9a38
commit 30fe4d0368
6 changed files with 818 additions and 51 deletions

View File

@ -2,6 +2,7 @@ import { Routes, Route, Navigate } from 'react-router-dom'
import { useAuthStore } from './stores/authStore'
import Login from './pages/Login'
import Dashboard from './pages/Dashboard'
import Keywords from './pages/Keywords'
function App() {
const { isAuthenticated } = useAuthStore()
@ -24,6 +25,13 @@ function App() {
}
/>
<Route
path="/keywords"
element={
isAuthenticated ? <Keywords /> : <Navigate to="/login" replace />
}
/>
{/* Catch all - redirect to dashboard or login */}
<Route path="*" element={<Navigate to="/" replace />} />
</Routes>