zioinfo-esn/frontend/src/App.tsx
DESKTOP-TKLFCPR\ython 67e1c5eeef feat(esn): e-paper ESL 핵심 플로우 추가 — 태그 바인딩 + 가격 전파 큐
- esn_tag_binding: ESL 태그 ↔ 선반위치 ↔ 상품 매핑 테이블
- esn_update_queue: POS 가격변경 → 태그 RF 전파 추적 큐
- TagBindingController/Service/Mapper: 태그 바인딩 CRUD + 언바인딩
- UpdateQueueController/Service/Mapper: Gateway 폴링(/poll), 태그 ACK(/confirm), 실패재시도
- PosCvtService.process(): 가격 처리 시 바인딩된 e-paper 태그에 자동 큐 생성
- 프론트: TagBindingList.tsx (배터리/신호강도), UpdateQueueList.tsx (5초 자동갱신)
- 사이드바: 태그 바인딩 / 업데이트 큐 메뉴 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 01:57:28 +09:00

50 lines
2.2 KiB
TypeScript

import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import Layout from './components/Layout'
import Login from './pages/Login'
import Dashboard from './pages/Dashboard'
import StoreList from './pages/StoreList'
import TemplateList from './pages/TemplateList'
import PosCvtList from './pages/PosCvtList'
import AlarmList from './pages/AlarmList'
import HCoreStatus from './pages/HCoreStatus'
import WorkHistory from './pages/WorkHistory'
import FirmwareList from './pages/FirmwareList'
import UserList from './pages/UserList'
import ProductList from './pages/ProductList'
import TenantAdmin from './pages/TenantAdmin'
import AiAnalysis from './pages/AiAnalysis'
import TagBindingList from './pages/TagBindingList'
import UpdateQueueList from './pages/UpdateQueueList'
const qc = new QueryClient()
export default function App() {
return (
<QueryClientProvider client={qc}>
<BrowserRouter>
<Routes>
<Route path="/login" element={<Login />} />
<Route element={<Layout />}>
<Route path="/dashboard" element={<Dashboard />} />
<Route path="/stores" element={<StoreList />} />
<Route path="/templates" element={<TemplateList />} />
<Route path="/pos-cvt" element={<PosCvtList />} />
<Route path="/tag-binding" element={<TagBindingList />} />
<Route path="/update-queue" element={<UpdateQueueList />} />
<Route path="/alarms" element={<AlarmList />} />
<Route path="/hcore" element={<HCoreStatus />} />
<Route path="/works" element={<WorkHistory />} />
<Route path="/firmware" element={<FirmwareList />} />
<Route path="/products" element={<ProductList />} />
<Route path="/users" element={<UserList />} />
<Route path="/tenants" element={<TenantAdmin />} />
<Route path="/ai" element={<AiAnalysis />} />
</Route>
<Route path="*" element={<Navigate to="/dashboard" replace />} />
</Routes>
</BrowserRouter>
</QueryClientProvider>
)
}