From bac0228d21b7195065e9cddcc327ae33659c7bcc Mon Sep 17 00:00:00 2001 From: dujinkim Date: Sun, 1 Jun 2025 13:52:21 +0000 Subject: (대표님) 20250601까지 작업사항 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/data-table/view-mode-toggle.tsx | 91 ++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 components/data-table/view-mode-toggle.tsx (limited to 'components/data-table/view-mode-toggle.tsx') diff --git a/components/data-table/view-mode-toggle.tsx b/components/data-table/view-mode-toggle.tsx new file mode 100644 index 00000000..fc07b4bf --- /dev/null +++ b/components/data-table/view-mode-toggle.tsx @@ -0,0 +1,91 @@ +"use client" + +import * as React from "react" +import { Button } from "@/components/ui/button" +import { Badge } from "@/components/ui/badge" +import { Infinity, Grid3X3, RotateCcw } from "lucide-react" +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from "@/components/ui/tooltip" + +interface ViewModeToggleProps { + isInfiniteMode: boolean + onSwitch: (pageSize: number) => void + className?: string +} + +export function ViewModeToggle({ isInfiniteMode, onSwitch, className }: ViewModeToggleProps) { + + const switchToPagination = React.useCallback(() => { + onSwitch(10) + }, [onSwitch]) + + + + // 새로고침 + const handleRefresh = React.useCallback(() => { + window.location.reload() + }, []) + + return ( +
+ {/* 현재 모드 표시 */} +
+ {isInfiniteMode && ( + + + 무한 스크롤 모드 + + ) } +
+ + {/* 모드 전환 버튼 */} +
+ {isInfiniteMode && ( + + + + + + +

페이지네이션 모드로 전환 (20개씩 표시)

+
+
+
+ ) } + + {/* 새로고침 버튼 */} + {isInfiniteMode && ( + + + + + + +

새로고침

+
+
+
+ )} +
+
+ ) +} \ No newline at end of file -- cgit v1.2.3