diff --git a/airflow-core/src/airflow/ui/src/components/DataTable/DataTable.tsx b/airflow-core/src/airflow/ui/src/components/DataTable/DataTable.tsx index e6a91a35d61df..7326a20050543 100644 --- a/airflow-core/src/airflow/ui/src/components/DataTable/DataTable.tsx +++ b/airflow-core/src/airflow/ui/src/components/DataTable/DataTable.tsx @@ -29,8 +29,9 @@ import { type Table as TanStackTable, type Updater, } from "@tanstack/react-table"; -import React, { type ReactNode, useCallback, useRef, useState } from "react"; +import React, { type ReactNode, useCallback, useRef } from "react"; import { useTranslation } from "react-i18next"; +import { useLocalStorage } from "usehooks-ts"; import { CardList } from "src/components/DataTable/CardList"; import { TableList } from "src/components/DataTable/TableList"; @@ -105,7 +106,8 @@ export const DataTable = ({ }, [onStateChange], ); - const [columnVisibility, setColumnVisibility] = useState( + const [columnVisibility, setColumnVisibility] = useLocalStorage( + `dataTable:${modelName}:columnVisibility`, initialState?.columnVisibility ?? {}, );