반응성 적용

This commit is contained in:
2025-08-04 19:44:42 +09:00
parent cb60e7a43d
commit 84cc83d36b
3 changed files with 53 additions and 11 deletions

View File

@@ -373,6 +373,7 @@ export function DynamicTable<TData extends BaseData>({
header.getContext(),
)}
<div
role="presentation"
onMouseDown={header.getResizeHandler()}
onTouchStart={header.getResizeHandler()}
onDoubleClick={() => header.column.resetSize()}

View File

@@ -1,11 +1,19 @@
import { cn } from "@/lib/utils";
import { Menu } from "lucide-react";
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 { ThemeSelectBox } from "./ThemeSelectBox";
import { LanguageSelectBox } from "./LanguageSelectBox";
import { UserProfileBox } from "./UserProfileBox";
import { useSettingsStore } from "@/store/useSettingsStore";
import Logo from "@/assets/react.svg";
const menuItems = [
{ name: "Feedback", path: "/feedbacks", type: "feedback" },
@@ -35,8 +43,8 @@ export function Header() {
<ProjectSelectBox />
</div>
{/* Middle Navigation */}
<nav className="mx-8 flex items-center space-x-4 lg:space-x-6">
{/* Middle Navigation (Desktop) */}
<nav className="mx-8 hidden items-center space-x-4 md:flex lg:space-x-6">
{menuItems.map((item) => (
<NavLink
key={item.name}
@@ -54,12 +62,43 @@ export function Header() {
))}
</nav>
{/* Right Section */}
<div className="ml-auto flex items-center gap-4">
{/* Right Section (Desktop) */}
<div className="ml-auto hidden items-center gap-4 md:flex">
<ThemeSelectBox />
<LanguageSelectBox />
<UserProfileBox />
</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>
</header>
);

View File

@@ -4,10 +4,12 @@ import { Header } from "./Header";
export function MainLayout() {
return (
<div className="flex h-screen flex-col">
<div className="flex h-screen w-full flex-col">
<Header />
<main className="flex-1 overflow-y-auto p-6">
<Outlet />
<main className="flex-1 overflow-y-auto">
<div className="container mx-auto py-6">
<Outlet />
</div>
</main>
</div>
);