Skip to content

Commit 3ecda4a

Browse files
committed
chore: 디버깅 페이지 레이아웃 수정
1 parent 2bc29fb commit 3ecda4a

File tree

2 files changed

+32
-19
lines changed

2 files changed

+32
-19
lines changed

apps/pyconkr/src/components/layout/index.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,17 @@ const LayoutContainer = styled.div`
5656
const MainContent = styled.main`
5757
flex: 1;
5858
59+
width: 100%;
60+
height: 100%;
61+
min-height: 100%;
5962
display: flex;
6063
flex-direction: column;
6164
justify-content: center;
6265
align-items: center;
66+
67+
> * {
68+
flex-grow: 1;
69+
}
6370
`;
6471

6572
export default function MainLayout() {
Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,36 @@
11
import * as React from "react";
22

3-
import { Box, Button } from "@mui/material";
3+
import { Button, Stack } from "@mui/material";
44

55
import { BackendTestPage } from '../../debug/page/backend_test';
66
import { MdiTestPage } from "../../debug/page/mdi_test";
77
import { ShopTestPage } from "../../debug/page/shop_test";
88

9+
const LOCAL_STORAGE_KEY = "selectedTab";
910
type SelectedTabType = "shop" | "mdi" | "backend";
1011

12+
const getTabFromLocalStorage = (): SelectedTabType => localStorage.getItem(LOCAL_STORAGE_KEY) as SelectedTabType || "shop";
13+
14+
const setTabToLocalStorage = (tab: SelectedTabType) => {
15+
localStorage.setItem(LOCAL_STORAGE_KEY, tab);
16+
return tab;
17+
};
18+
19+
const TabList: { [key in SelectedTabType]: React.ReactNode } = {
20+
shop: <ShopTestPage />,
21+
mdi: <MdiTestPage />,
22+
backend: <BackendTestPage />,
23+
};
24+
1125
export const Test: React.FC = () => {
12-
const [selectedTab, setSelectedTab] = React.useState<SelectedTabType>("mdi");
13-
14-
return (
15-
<Box>
16-
<Button variant="contained" onClick={() => setSelectedTab("shop")}>
17-
Shop Test
18-
</Button>
19-
<Button variant="contained" onClick={() => setSelectedTab("mdi")}>
20-
MDI Test
21-
</Button>
22-
<Button variant="contained" onClick={() => setSelectedTab("backend")}>
23-
Backend Test
24-
</Button>
25-
{selectedTab === "shop" && <ShopTestPage />}
26-
{selectedTab === "mdi" && <MdiTestPage />}
27-
{selectedTab === "backend" && <BackendTestPage />}
28-
</Box>
29-
);
26+
const [selectedTab, setSelectedTab] = React.useState<SelectedTabType>(getTabFromLocalStorage());
27+
const selectTab = (tab: SelectedTabType) => setSelectedTab(setTabToLocalStorage(tab));
28+
const TabButton: React.FC<{ tab: SelectedTabType }> = ({ tab }) => <Button variant={selectedTab === tab ? "contained" : "outlined"} onClick={() => selectTab(tab)}>{tab} Test</Button>;
29+
30+
return <Stack>
31+
<Stack direction="row" spacing={2} sx={{ width: "100%", justifyContent: "center" }}>
32+
{Object.keys(TabList).map((tab) => <TabButton key={tab} tab={tab as SelectedTabType} />)}
33+
</Stack>
34+
{TabList[selectedTab]}
35+
</Stack>;
3036
};

0 commit comments

Comments
 (0)