Skip to content

Commit cc201eb

Browse files
committed
feat: 동일하게 2025에도 적용
1 parent 163a756 commit cc201eb

3 files changed

Lines changed: 52 additions & 38 deletions

File tree

apps/pyconkr-2025/src/App.tsx

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
11
import { useBackendClient, useFlattenSiteMapQuery, useSponsorQuery } from "@frontend/common/src/hooks/useAPI";
2+
import * as BackendAPISchemas from "@frontend/common/src/schemas/backendAPI";
23
import { buildNestedSiteMap } from "@frontend/common/src/utils";
34
import * as React from "react";
4-
import { Route, Routes, useLocation } from "react-router-dom";
5+
import { Outlet, ScrollRestoration, useLocation } from "react-router-dom";
56
import * as R from "remeda";
67

7-
import * as BackendAPISchemas from "@frontend/common/src/schemas/backendAPI";
8-
import MainLayout from "./components/layout/index.tsx";
9-
import { PageIdParamRenderer, RouteRenderer } from "./components/pages/dynamic_route.tsx";
10-
import { PresentationDetailPage } from "./components/pages/presentation_detail.tsx";
11-
import { ShopSignInPage } from "./components/pages/sign_in.tsx";
12-
import { SponsorDetailPage } from "./components/pages/sponsor_detail.tsx";
13-
import { Test } from "./components/pages/test.tsx";
14-
import { IS_DEBUG_ENV } from "./consts";
158
import { useAppContext } from "./contexts/app_context";
169

1710
export const App: React.FC = () => {
@@ -45,15 +38,9 @@ export const App: React.FC = () => {
4538
}, [location, language, flatSiteMap, sponsorTiers]);
4639

4740
return (
48-
<Routes>
49-
<Route element={<MainLayout />}>
50-
{IS_DEBUG_ENV && <Route path="/debug" element={<Test />} />}
51-
<Route path="/account/sign-in" element={<ShopSignInPage />} />
52-
<Route path="/sponsors/:id" element={<SponsorDetailPage />} />
53-
<Route path="/presentations/:id" element={<PresentationDetailPage />} />
54-
<Route path="/pages/:id" element={<PageIdParamRenderer />} />
55-
<Route path="*" element={<RouteRenderer />} />
56-
</Route>
57-
</Routes>
41+
<>
42+
<ScrollRestoration />
43+
<Outlet />
44+
</>
5845
);
5946
};

apps/pyconkr-2025/src/main.tsx

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
99
import { SnackbarProvider } from "notistack";
1010
import * as React from "react";
1111
import * as ReactDom from "react-dom/client";
12-
import { BrowserRouter } from "react-router-dom";
12+
import { RouterProvider } from "react-router-dom";
1313

14-
import { App } from "./App.tsx";
14+
import { router } from "./router.tsx";
1515
import { IS_DEBUG_ENV } from "./consts";
1616
import { LOCAL_STORAGE_LANGUAGE_KEY } from "./consts/local_stroage.ts";
1717
import { PyConKRMDXComponents } from "./consts/mdx_components.ts";
@@ -85,23 +85,21 @@ const MainApp: React.FC = () => {
8585
<QueryClientProvider client={queryClient}>
8686
<ReactQueryDevtools initialIsOpen={false} />
8787
<SnackbarProvider>
88-
<BrowserRouter>
89-
<AppContext.Provider value={{ ...appState, setAppContext }}>
90-
<Components.CommonContextProvider options={{ ...CommonOptions, language: appState.language }}>
91-
<Shop.Components.Common.ShopContextProvider options={{ ...ShopOptions, language: appState.language }}>
92-
<ErrorBoundary fallback={Components.ErrorFallback}>
93-
<Suspense fallback={SuspenseFallback}>
94-
<ThemeProvider theme={muiTheme}>
95-
<CssBaseline />
96-
<Global styles={globalStyles} />
97-
<App />
98-
</ThemeProvider>
99-
</Suspense>
100-
</ErrorBoundary>
101-
</Shop.Components.Common.ShopContextProvider>
102-
</Components.CommonContextProvider>
103-
</AppContext.Provider>
104-
</BrowserRouter>
88+
<AppContext.Provider value={{ ...appState, setAppContext }}>
89+
<Components.CommonContextProvider options={{ ...CommonOptions, language: appState.language }}>
90+
<Shop.Components.Common.ShopContextProvider options={{ ...ShopOptions, language: appState.language }}>
91+
<ErrorBoundary fallback={Components.ErrorFallback}>
92+
<Suspense fallback={SuspenseFallback}>
93+
<ThemeProvider theme={muiTheme}>
94+
<CssBaseline />
95+
<Global styles={globalStyles} />
96+
<RouterProvider router={router} />
97+
</ThemeProvider>
98+
</Suspense>
99+
</ErrorBoundary>
100+
</Shop.Components.Common.ShopContextProvider>
101+
</Components.CommonContextProvider>
102+
</AppContext.Provider>
105103
</SnackbarProvider>
106104
</QueryClientProvider>
107105
</React.StrictMode>

apps/pyconkr-2025/src/router.tsx

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { createBrowserRouter } from "react-router-dom";
2+
3+
import { App } from "./App.tsx";
4+
import MainLayout from "./components/layout/index.tsx";
5+
import { PageIdParamRenderer, RouteRenderer } from "./components/pages/dynamic_route.tsx";
6+
import { PresentationDetailPage } from "./components/pages/presentation_detail.tsx";
7+
import { ShopSignInPage } from "./components/pages/sign_in.tsx";
8+
import { SponsorDetailPage } from "./components/pages/sponsor_detail.tsx";
9+
import { Test } from "./components/pages/test.tsx";
10+
import { IS_DEBUG_ENV } from "./consts";
11+
12+
export const router = createBrowserRouter([
13+
{
14+
element: <App />,
15+
children: [
16+
{
17+
element: <MainLayout />,
18+
children: [
19+
...(IS_DEBUG_ENV ? [{ path: "/debug", element: <Test /> }] : []),
20+
{ path: "/account/sign-in", element: <ShopSignInPage /> },
21+
{ path: "/sponsors/:id", element: <SponsorDetailPage /> },
22+
{ path: "/presentations/:id", element: <PresentationDetailPage /> },
23+
{ path: "/pages/:id", element: <PageIdParamRenderer /> },
24+
{ path: "*", element: <RouteRenderer /> },
25+
],
26+
},
27+
],
28+
},
29+
]);

0 commit comments

Comments
 (0)