From 90f79a7a691943a496f67f01c1e493256070e4de Mon Sep 17 00:00:00 2001
From: dujinkim <dujin.kim@dtsolution.co.kr>
Date: Mon, 7 Jul 2025 01:44:45 +0000
Subject: (대표님) 변경사항 20250707 10시 43분 - unstaged 변경사항 추가
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../table/login-sessions-table-toolbar-actions.tsx | 78 ++++++++++++++++++++++
 1 file changed, 78 insertions(+)
 create mode 100644 lib/login-session/table/login-sessions-table-toolbar-actions.tsx

(limited to 'lib/login-session/table/login-sessions-table-toolbar-actions.tsx')

diff --git a/lib/login-session/table/login-sessions-table-toolbar-actions.tsx b/lib/login-session/table/login-sessions-table-toolbar-actions.tsx
new file mode 100644
index 00000000..36665bc0
--- /dev/null
+++ b/lib/login-session/table/login-sessions-table-toolbar-actions.tsx
@@ -0,0 +1,78 @@
+"use client"
+
+import { type Table } from "@tanstack/react-table"
+import { Download, RotateCcw, Shield } from "lucide-react"
+
+import { Button } from "@/components/ui/button"
+import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"
+
+import { ExtendedLoginSession } from "../validation"
+import { exportTableToExcel } from "@/lib/export_all"
+
+interface LoginSessionsTableToolbarActionsProps {
+  table: Table<ExtendedLoginSession>
+}
+
+export function LoginSessionsTableToolbarActions({
+  table,
+}: LoginSessionsTableToolbarActionsProps) {
+  return (
+    <div className="flex items-center gap-2">
+      <Tooltip>
+        <TooltipTrigger asChild>
+          <Button
+            variant="outline"
+            size="sm"
+            onClick={() =>
+              exportTableToExcel(table, {
+                filename: "login-sessions",
+                excludeColumns: ["select", "actions"],
+              })
+            }
+          >
+            <Download className="mr-2 size-4" aria-hidden="true" />
+            Export
+          </Button>
+        </TooltipTrigger>
+        <TooltipContent>
+          <p>로그인 세션 데이터를 엑셀로 내보내기</p>
+        </TooltipContent>
+      </Tooltip>
+
+      <Tooltip>
+        <TooltipTrigger asChild>
+          <Button
+            variant="outline"
+            size="sm"
+            onClick={() => window.location.reload()}
+          >
+            <RotateCcw className="mr-2 size-4" aria-hidden="true" />
+            새로고침
+          </Button>
+        </TooltipTrigger>
+        <TooltipContent>
+          <p>데이터 새로고침</p>
+        </TooltipContent>
+      </Tooltip>
+
+      <Tooltip>
+        <TooltipTrigger asChild>
+          <Button
+            variant="outline"
+            size="sm"
+            onClick={() => {
+              // 보안 리포트 생성 기능
+              console.log("Generate security report")
+            }}
+          >
+            <Shield className="mr-2 size-4" aria-hidden="true" />
+            보안 리포트
+          </Button>
+        </TooltipTrigger>
+        <TooltipContent>
+          <p>보안 분석 리포트 생성</p>
+        </TooltipContent>
+      </Tooltip>
+    </div>
+  )
+}
\ No newline at end of file
-- 
cgit v1.2.3

