diff --git a/frontend/src/components/v2/Table/Table.tsx b/frontend/src/components/v2/Table/Table.tsx index 0880b3362..065efab1e 100644 --- a/frontend/src/components/v2/Table/Table.tsx +++ b/frontend/src/components/v2/Table/Table.tsx @@ -1,4 +1,4 @@ -import { HTMLAttributes, ReactNode, TdHTMLAttributes } from "react"; +import { DetailedHTMLProps, HTMLAttributes, ReactNode, TdHTMLAttributes } from "react"; import { twMerge } from "tailwind-merge"; import { Skeleton } from "../Skeleton"; @@ -7,12 +7,13 @@ export type TableContainerProps = { children: ReactNode; isRounded?: boolean; className?: string; -}; +} & DetailedHTMLProps, HTMLDivElement>; export const TableContainer = ({ children, className, - isRounded = true + isRounded = true, + ...props }: TableContainerProps): JSX.Element => (
{children}
diff --git a/frontend/src/views/SecretOverviewPage/SecretOverviewPage.tsx b/frontend/src/views/SecretOverviewPage/SecretOverviewPage.tsx index e18882501..beb1a3221 100644 --- a/frontend/src/views/SecretOverviewPage/SecretOverviewPage.tsx +++ b/frontend/src/views/SecretOverviewPage/SecretOverviewPage.tsx @@ -1,4 +1,4 @@ -import { useCallback, useEffect, useMemo, useRef, useState } from "react"; +import { useCallback, useEffect, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import Link from "next/link"; import { useRouter } from "next/router"; @@ -107,18 +107,10 @@ export const SecretOverviewPage = () => { const { t } = useTranslation(); const router = useRouter(); - // this is to set expandable table width - // coz when overflow the table goes to the right - const parentTableRef = useRef(null); - const [expandableTableWidth, setExpandableTableWidth] = useState(0); + const [scrollOffset, setScrollOffset] = useState(0); + const [debouncedScrollOffset] = useDebounce(scrollOffset); const { permission } = useProjectPermission(); - useEffect(() => { - if (parentTableRef.current) { - setExpandableTableWidth(parentTableRef.current.clientWidth); - } - }, [parentTableRef.current]); - const { currentWorkspace, isLoading: isWorkspaceLoading } = useWorkspace(); const isProjectV3 = currentWorkspace?.version === ProjectVersion.V3; const { currentOrg } = useOrganization(); @@ -162,19 +154,13 @@ export const SecretOverviewPage = () => { }, []); useEffect(() => { - const handleParentTableWidthResize = () => { - setExpandableTableWidth(parentTableRef.current?.clientWidth || 0); - }; - const onRouteChangeStart = () => { resetSelectedEntries(); }; router.events.on("routeChangeStart", onRouteChangeStart); - window.addEventListener("resize", handleParentTableWidthResize); return () => { - window.removeEventListener("resize", handleParentTableWidthResize); router.events.off("routeChangeStart", onRouteChangeStart); }; }, []); @@ -864,8 +850,11 @@ export const SecretOverviewPage = () => { selectedEntries={selectedEntries} resetSelectedEntries={resetSelectedEntries} /> -
- +
+ setScrollOffset(e.currentTarget.scrollLeft)} + className="thin-scrollbar" + > @@ -1052,7 +1041,7 @@ export const SecretOverviewPage = () => { environments={visibleEnvs} secretKey={key} getSecretByKey={getSecretByKey} - expandableColWidth={expandableTableWidth} + scrollOffset={debouncedScrollOffset} /> ))} diff --git a/frontend/src/views/SecretOverviewPage/components/SecretOverviewTableRow/SecretOverviewTableRow.tsx b/frontend/src/views/SecretOverviewPage/components/SecretOverviewTableRow/SecretOverviewTableRow.tsx index c71480e59..197144acf 100644 --- a/frontend/src/views/SecretOverviewPage/components/SecretOverviewTableRow/SecretOverviewTableRow.tsx +++ b/frontend/src/views/SecretOverviewPage/components/SecretOverviewTableRow/SecretOverviewTableRow.tsx @@ -23,7 +23,6 @@ type Props = { secretKey: string; secretPath: string; environments: { name: string; slug: string }[]; - expandableColWidth: number; isSelected: boolean; onToggleSecretSelect: (key: string) => void; getSecretByKey: (slug: string, key: string) => SecretV3RawSanitized | undefined; @@ -41,6 +40,7 @@ type Props = { env: string, secretName: string ) => { secret?: SecretV3RawSanitized; environmentInfo?: WorkspaceEnv } | undefined; + scrollOffset: number; }; export const SecretOverviewTableRow = ({ @@ -53,9 +53,7 @@ export const SecretOverviewTableRow = ({ onSecretDelete, isImportedSecretPresentInEnv, getImportedSecretByKey, - // temporary until below todo is resolved - // eslint-disable-next-line @typescript-eslint/no-unused-vars - expandableColWidth, + scrollOffset, onToggleSecretSelect, isSelected }: Props) => { @@ -152,11 +150,11 @@ export const SecretOverviewTableRow = ({ }`} >