feat(front): 루트 페이지를 배포별로 분기 (VITE_SITE=discovery)

webforai.kr 이 AI Discovery 랜딩을 띄워야 하는데, /discovery 는 infinith-demo 안의
경로라 도메인만 붙이면 기존 INFINITH 랜딩이 뜬다. SPA 라 rewrite 로도 안 된다.
React Router 가 주소로 판단하기 때문이다.

VITE_SITE=discovery 로 빌드한 배포만 루트에 AI Discovery 랜딩을 놓는다.
값이 없으면 지금까지처럼 INFINITH 랜딩이다. infinith-demo 의 동작은 바뀌지 않는다.

한 코드베이스로 두 사이트를 내는 방식이라 랜딩을 고칠 때 양쪽에 한 번에 반영된다.

검증: 변수 없는 빌드와 VITE_SITE=discovery 빌드 모두 성공, tsc 0 에러.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Haewon Kam 2026-09-14 15:17:48 +09:00
parent 682d426a2a
commit 98d52f20f1

View File

@ -20,12 +20,18 @@ import DiscoveryReportPage from './pages/DiscoveryReportPage.tsx';
import SupportersBuildPage from './pages/SupportersBuildPage.tsx';
import './index.css';
// 배포별 루트 페이지 분기. Vercel 프로젝트의 환경변수로 정한다.
const DISCOVERY_SITE = import.meta.env.VITE_SITE === 'discovery';
createRoot(document.getElementById('root')!).render(
<StrictMode>
<BrowserRouter>
<Routes>
<Route element={<App />}>
<Route index element={<LandingPage />} />
{/* 루트에서 무엇을 그릴지는 배포마다 다르다. VITE_SITE=discovery 로 빌드한 배포(webforai.kr)는
AI Discovery 랜딩을 루트에 놓고, 값이 없으면 지금까지처럼 INFINITH 랜딩을 놓는다.
한 코드베이스로 두 사이트를 내되 기존 배포의 동작은 바꾸지 않는다. */}
<Route index element={DISCOVERY_SITE ? <DiscoveryLandingPage /> : <LandingPage />} />
<Route path="pricing" element={<PricingPage />} />
<Route path="login" element={<LoginPage />} />
<Route path="report/loading" element={<AnalysisLoadingPage />} />