반응성 적용
This commit is contained in:
@@ -373,6 +373,7 @@ export function DynamicTable<TData extends BaseData>({
|
|||||||
header.getContext(),
|
header.getContext(),
|
||||||
)}
|
)}
|
||||||
<div
|
<div
|
||||||
|
role="presentation"
|
||||||
onMouseDown={header.getResizeHandler()}
|
onMouseDown={header.getResizeHandler()}
|
||||||
onTouchStart={header.getResizeHandler()}
|
onTouchStart={header.getResizeHandler()}
|
||||||
onDoubleClick={() => header.column.resetSize()}
|
onDoubleClick={() => header.column.resetSize()}
|
||||||
|
|||||||
@@ -1,11 +1,19 @@
|
|||||||
import { cn } from "@/lib/utils";
|
import { Menu } from "lucide-react";
|
||||||
import { NavLink } from "react-router-dom";
|
import { NavLink } from "react-router-dom";
|
||||||
|
|
||||||
|
import Logo from "@/assets/react.svg";
|
||||||
|
import { Button } from "@/components/ui/button";
|
||||||
|
import {
|
||||||
|
DropdownMenu,
|
||||||
|
DropdownMenuContent,
|
||||||
|
DropdownMenuItem,
|
||||||
|
DropdownMenuTrigger,
|
||||||
|
} from "@/components/ui/dropdown-menu";
|
||||||
|
import { useSettingsStore } from "@/store/useSettingsStore";
|
||||||
|
import { LanguageSelectBox } from "./LanguageSelectBox";
|
||||||
import { ProjectSelectBox } from "./ProjectSelectBox";
|
import { ProjectSelectBox } from "./ProjectSelectBox";
|
||||||
import { ThemeSelectBox } from "./ThemeSelectBox";
|
import { ThemeSelectBox } from "./ThemeSelectBox";
|
||||||
import { LanguageSelectBox } from "./LanguageSelectBox";
|
|
||||||
import { UserProfileBox } from "./UserProfileBox";
|
import { UserProfileBox } from "./UserProfileBox";
|
||||||
import { useSettingsStore } from "@/store/useSettingsStore";
|
|
||||||
import Logo from "@/assets/react.svg";
|
|
||||||
|
|
||||||
const menuItems = [
|
const menuItems = [
|
||||||
{ name: "Feedback", path: "/feedbacks", type: "feedback" },
|
{ name: "Feedback", path: "/feedbacks", type: "feedback" },
|
||||||
@@ -35,8 +43,8 @@ export function Header() {
|
|||||||
<ProjectSelectBox />
|
<ProjectSelectBox />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Middle Navigation */}
|
{/* Middle Navigation (Desktop) */}
|
||||||
<nav className="mx-8 flex items-center space-x-4 lg:space-x-6">
|
<nav className="mx-8 hidden items-center space-x-4 md:flex lg:space-x-6">
|
||||||
{menuItems.map((item) => (
|
{menuItems.map((item) => (
|
||||||
<NavLink
|
<NavLink
|
||||||
key={item.name}
|
key={item.name}
|
||||||
@@ -54,12 +62,43 @@ export function Header() {
|
|||||||
))}
|
))}
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
{/* Right Section */}
|
{/* Right Section (Desktop) */}
|
||||||
<div className="ml-auto flex items-center gap-4">
|
<div className="ml-auto hidden items-center gap-4 md:flex">
|
||||||
<ThemeSelectBox />
|
<ThemeSelectBox />
|
||||||
<LanguageSelectBox />
|
<LanguageSelectBox />
|
||||||
<UserProfileBox />
|
<UserProfileBox />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* Mobile Menu */}
|
||||||
|
<div className="ml-auto md:hidden">
|
||||||
|
<DropdownMenu>
|
||||||
|
<DropdownMenuTrigger asChild>
|
||||||
|
<Button variant="ghost" size="icon">
|
||||||
|
<Menu className="h-6 w-6" />
|
||||||
|
<span className="sr-only">메뉴 열기</span>
|
||||||
|
</Button>
|
||||||
|
</DropdownMenuTrigger>
|
||||||
|
<DropdownMenuContent align="end">
|
||||||
|
{menuItems.map((item) => (
|
||||||
|
<DropdownMenuItem key={item.name} asChild>
|
||||||
|
<NavLink to={getPath(item.type, item.path)}>
|
||||||
|
{item.name}
|
||||||
|
</NavLink>
|
||||||
|
</DropdownMenuItem>
|
||||||
|
))}
|
||||||
|
<div className="border-t my-2" />
|
||||||
|
<DropdownMenuItem>
|
||||||
|
<ThemeSelectBox />
|
||||||
|
</DropdownMenuItem>
|
||||||
|
<DropdownMenuItem>
|
||||||
|
<LanguageSelectBox />
|
||||||
|
</DropdownMenuItem>
|
||||||
|
<DropdownMenuItem>
|
||||||
|
<UserProfileBox />
|
||||||
|
</DropdownMenuItem>
|
||||||
|
</DropdownMenuContent>
|
||||||
|
</DropdownMenu>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -4,10 +4,12 @@ import { Header } from "./Header";
|
|||||||
|
|
||||||
export function MainLayout() {
|
export function MainLayout() {
|
||||||
return (
|
return (
|
||||||
<div className="flex h-screen flex-col">
|
<div className="flex h-screen w-full flex-col">
|
||||||
<Header />
|
<Header />
|
||||||
<main className="flex-1 overflow-y-auto p-6">
|
<main className="flex-1 overflow-y-auto">
|
||||||
<Outlet />
|
<div className="container mx-auto py-6">
|
||||||
|
<Outlet />
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user