import { useEffect, useState } from 'react'; import { Link, useSearchParams } from 'react-router-dom'; import { Button, Table } from 'react-bootstrap'; import PaginationForTable from '../components/PaginationForTable'; import HttpService from '../services/HttpService'; import { getPageInfoFromSearchParams } from '../helpers'; export default function SecretList() { const [searchParams] = useSearchParams(); const [secrets, setSecrets] = useState([]); const [pagination, setPagination] = useState(null); useEffect(() => { const setSecretsFromResult = (result: any) => { setSecrets(result.results); setPagination(result.pagination); }; const { page, perPage } = getPageInfoFromSearchParams(searchParams); HttpService.makeCallToBackend({ path: `/secrets?per_page=${perPage}&page=${page}`, successCallback: setSecretsFromResult, }); }, [searchParams]); const buildTable = () => { const rows = secrets.map((row) => { return ( {(row as any).key} {(row as any).value} {(row as any).username} ); }); return ( {rows}
Secret Key Secret Value Creator
); }; const SecretsDisplayArea = () => { const { page, perPage } = getPageInfoFromSearchParams(searchParams); let displayText = null; if (secrets?.length > 0) { displayText = ( ); } else { displayText =

No Secrets to Display

; } return displayText; }; if (pagination) { return ( <>

{SecretsDisplayArea()} ); } return null; }