All checks were successful
build-and-push / build (push) Successful in 36s
- AppShell·사이드바(역할별 네비)·탑바·UI킷, react-query·axios·recharts·dnd-kit - SP 디자인 토큰 재사용(navy/canvas/Noto Sans KR) + 회계용 고밀도 확장 - 페이지: 대시보드, 근무(타임시트·휴가/초과 신청), 프로젝트 목록/상세 (간트·칸반·캘린더·작업자portion·업체담당자·계약/분할입금 admin), 인센티브(유저 대시보드), 인센티브 관리 콘솔(단계 stepper·시뮬레이터·오버라이드), 회계(현금-인센티브 갭·원장·세금), 구성원·설정·승인·프로필 - 권한 가드: 관리자 전용 라우트, ?as=user 로 구성원 시점 미리보기 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
27 lines
649 B
TypeScript
27 lines
649 B
TypeScript
import React from "react";
|
|
import ReactDOM from "react-dom/client";
|
|
import { BrowserRouter } from "react-router-dom";
|
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
import App from "./App";
|
|
import "./index.css";
|
|
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
retry: 1,
|
|
refetchOnWindowFocus: false,
|
|
staleTime: 30_000,
|
|
},
|
|
},
|
|
});
|
|
|
|
ReactDOM.createRoot(document.getElementById("root")!).render(
|
|
<React.StrictMode>
|
|
<QueryClientProvider client={queryClient}>
|
|
<BrowserRouter>
|
|
<App />
|
|
</BrowserRouter>
|
|
</QueryClientProvider>
|
|
</React.StrictMode>
|
|
);
|