diff --git a/pkgs/ui/src/components/hooks/useDebounce.tsx b/pkgs/ui/src/components/hooks/useDebounce.tsx new file mode 100644 index 00000000..59ecee16 --- /dev/null +++ b/pkgs/ui/src/components/hooks/useDebounce.tsx @@ -0,0 +1,17 @@ +import { useState, useEffect } from "react"; + +export function useDebounce(value: any, delay: number) { + const [debouncedValue, setDebouncedValue] = useState(value); + + useEffect(() => { + const handler = setTimeout(() => { + setDebouncedValue(value); + }, delay); + + return () => { + clearTimeout(handler); + }; + }, [value, delay]); + + return debouncedValue; +} diff --git a/pkgs/ui/src/components/table/enhancedTableToolbar.tsx b/pkgs/ui/src/components/table/enhancedTableToolbar.tsx index 44347fc9..c68562f0 100644 --- a/pkgs/ui/src/components/table/enhancedTableToolbar.tsx +++ b/pkgs/ui/src/components/table/enhancedTableToolbar.tsx @@ -67,15 +67,15 @@ export function EnhancedTableToolbar( {/*Toolbar Grid */} - - - {props.children} - + + {props.children} ); diff --git a/pkgs/ui/src/components/table/nodeRow.tsx b/pkgs/ui/src/components/table/nodeRow.tsx index e2b8f776..4417da34 100644 --- a/pkgs/ui/src/components/table/nodeRow.tsx +++ b/pkgs/ui/src/components/table/nodeRow.tsx @@ -59,7 +59,7 @@ export function NodeRow(props: { //const labelId = `enhanced-table-checkbox-${index}`; // Speed optimization. We compare string pointers here instead of the string content. - const isSelected = selected == row.name; + const isSelected = selected == row.id; const handleClick = (event: React.MouseEvent, name: string) => { if (isSelected) { @@ -93,7 +93,7 @@ export function NodeRow(props: { handleClick(event, row.name)} + onClick={(event) => handleClick(event, row.id)} > diff --git a/pkgs/ui/src/components/table/nodeTable.tsx b/pkgs/ui/src/components/table/nodeTable.tsx index 71720e42..ffd6f244 100644 --- a/pkgs/ui/src/components/table/nodeTable.tsx +++ b/pkgs/ui/src/components/table/nodeTable.tsx @@ -15,6 +15,7 @@ import { EnhancedTableToolbar } from "./enhancedTableToolbar"; import { StickySpeedDial } from "./stickySpeedDial"; import { NodeTableContainer } from "./nodeTableContainer"; import { SearchBar } from "./searchBar"; +import Grid2 from "@mui/material/Unstable_Grid2/Grid2"; export interface NodeTableProps { tableData: TableData[]; @@ -29,7 +30,7 @@ export function NodeTable(props: NodeTableProps) { const [selected, setSelected] = useState(undefined); const [page, setPage] = useState(0); const [rowsPerPage, setRowsPerPage] = useState(5); - const [search, setSearch] = useState(""); + const [filteredList, setFilteredList] = useState(tableData); const handleChangePage = (event: unknown, newPage: number) => { setPage(newPage); @@ -45,10 +46,15 @@ export function NodeTable(props: NodeTableProps) { - + + + >; + tableData: TableData[]; + setFilteredList: Dispatch>; } export function SearchBar(props: SearchBarProps) { - const { search, setSearch } = props; - const handleSearch = (event: ChangeEvent) => { - setSearch(event.target.value); + let { tableData, setFilteredList } = props; + const [search, setSearch] = useState(""); + const debouncedSearch = useDebounce(search, 250); + + // Define a function to handle the Esc key press + const handleEsc = (event: any) => { + if (event.key === "Escape") { + setSearch(""); + setFilteredList(tableData); + } }; + useEffect(() => { + if (debouncedSearch) { + const filtered: TableData[] = tableData.filter((row) => { + return row.name.toLowerCase().includes(debouncedSearch.toLowerCase()); + }); + setFilteredList(filtered); + } + }, [debouncedSearch]); + + const handleInputChange = (e: React.ChangeEvent) => { + if (e.target.value === "") { + setFilteredList(tableData); + } + setSearch(e.target.value); + }; + + const suggestions = useMemo( + () => tableData.map((row) => row.name), + [tableData], + ); + return ( - + { + // do something with the selected value + if (value === null) { + setSearch(""); + setFilteredList(tableData); + } else { + setSearch(value); + } + }} + renderInput={(params) => ( + + + + + + ), + }} + > + {/* {suggestions.map((item, index) => ( + + ))} */} + + )} + /> ); } diff --git a/pkgs/ui/src/data/nodeData.tsx b/pkgs/ui/src/data/nodeData.tsx index 5e536e3a..545102aa 100644 --- a/pkgs/ui/src/data/nodeData.tsx +++ b/pkgs/ui/src/data/nodeData.tsx @@ -31,6 +31,8 @@ function createData( }; } +var nameNumber = 0; + // A function to generate random names function getRandomName(): string { let names = [ @@ -55,7 +57,7 @@ function getRandomName(): string { "Zoe", ]; let index = Math.floor(Math.random() * names.length); - return names[index]; + return names[index] + nameNumber++; } // A function to generate random IPv6 addresses diff --git a/pkgs/ui/src/data/nodeDataStatic.tsx b/pkgs/ui/src/data/nodeDataStatic.tsx index cd97ea65..3745fb72 100644 --- a/pkgs/ui/src/data/nodeDataStatic.tsx +++ b/pkgs/ui/src/data/nodeDataStatic.tsx @@ -1,601 +1,601 @@ export const tableData = [ { - name: "Bob", - id: "f435:9678:eff4:cedf:7725:421c:82c0:611c", + name: "Wendy200", + id: "b960:e38b:3d05:84b9:6e26:612c:7dcf:0b7f", status: "Pending", - last_seen: 83, + last_seen: 115, }, { - name: "Peggy", - id: "aa49:f231:04ac:f0d2:cf9a:4635:57e3:4b78", - status: "Offline", - last_seen: 294, - }, - { - name: "Wendy", - id: "a453:4ec6:c401:30dc:89a0:1567:90c9:4a72", + name: "Charlie201", + id: "fa6a:c368:f557:7a8f:965d:fa00:4769:d552", status: "Pending", - last_seen: 332, + last_seen: 320, }, { - name: "Sybil", - id: "3f14:92c3:1090:bef0:7dc6:9eaf:755c:6f7f", + name: "Bob202", + id: "4736:bd8b:fb91:bb46:1665:f461:0cc4:6e70", status: "Offline", - last_seen: 48, + last_seen: 347, }, { - name: "Ivan", - id: "855e:d1ff:d20c:d1b8:86c4:9ffe:ca2a:fefa", + name: "Sybil203", + id: "2d95:93ea:3107:5804:0de4:3642:7bdc:e657", + status: "Online", + last_seen: 0, + }, + { + name: "Trent204", + id: "93ae:1ca8:cf9a:e13f:a58b:086c:adca:b4cb", + status: "Online", + last_seen: 0, + }, + { + name: "Eve205", + id: "98b6:0ee0:5989:c11c:6f54:6aec:b1ec:2b22", + status: "Online", + last_seen: 0, + }, + { + name: "Alice206", + id: "2d95:afac:1a09:544a:16db:2956:2c0f:643a", status: "Offline", - last_seen: 292, + last_seen: 256, }, { - name: "Ivan", - id: "7bfb:3980:dc1a:37e2:2464:6028:393b:315f", + name: "Frank207", + id: "d48a:19f8:f7c3:12d0:6057:9206:b8bd:6c4b", + status: "Offline", + last_seen: 248, + }, + { + name: "Eve208", + id: "6cdf:5787:7e5f:cb0a:9930:6707:57bc:8be4", status: "Pending", - last_seen: 240, + last_seen: 234, }, { - name: "Mallory", - id: "d457:0a59:ea77:963f:f20b:ca55:57f2:a54b", - status: "Online", - last_seen: 0, - }, - { - name: "Mallory", - id: "bbef:a90a:f7ff:5f40:23fc:a1d8:6b2f:7b0a", - status: "Offline", - last_seen: 95, - }, - { - name: "Zoe", - id: "1057:7b4d:0708:66a1:5d36:5d8c:6620:4f5f", - status: "Online", - last_seen: 0, - }, - { - name: "Ivan", - id: "74d3:60dc:5e12:dc52:7c7f:6903:4ff1:ba20", + name: "Bob209", + id: "9510:a6ff:7440:4319:26e8:85ed:0960:ee39", status: "Pending", - last_seen: 193, + last_seen: 178, }, { - name: "Ivan", - id: "6770:c213:bdd1:0226:26e0:a8d4:949a:f2cc", + name: "Peggy210", + id: "60d9:c015:74d6:6b98:5a3a:0473:bacb:4b2a", + status: "Offline", + last_seen: 256, + }, + { + name: "Heidi211", + id: "c21d:af34:2da7:c8c1:3159:4513:7d35:779c", + status: "Online", + last_seen: 0, + }, + { + name: "Charlie212", + id: "32b1:3abd:21f5:31f6:58c8:aad0:5c42:04e3", status: "Pending", - last_seen: 181, + last_seen: 15, }, { - name: "Bob", - id: "5551:7363:ba70:6927:57f3:24ea:386d:e2d9", - status: "Online", - last_seen: 0, - }, - { - name: "Victor", - id: "12eb:9b2b:0c94:0731:15e6:7cd1:8984:7669", - status: "Offline", - last_seen: 130, - }, - { - name: "Victor", - id: "785e:b8a0:289b:5108:a982:ecff:8f0b:9db2", - status: "Offline", - last_seen: 336, - }, - { - name: "Judy", - id: "ee4b:ce86:4885:2729:089e:7f93:d3dd:7a09", + name: "Victor213", + id: "b4df:4f69:fa76:4226:bd3b:4eb5:4c8d:a844", status: "Pending", - last_seen: 241, + last_seen: 171, }, { - name: "Frank", - id: "6c05:c65d:ef3b:be64:ae58:e1fd:7aaa:bd30", - status: "Online", - last_seen: 0, - }, - { - name: "Alice", - id: "0fe6:f3b1:58c2:ef75:12de:6514:d1a6:eda5", + name: "Heidi214", + id: "2cec:e107:3c20:1720:e193:b895:d04d:3207", status: "Pending", - last_seen: 94, + last_seen: 287, }, { - name: "Charlie", - id: "095b:1b3f:cfeb:72f8:e84c:91f7:2c62:06e9", + name: "Walter215", + id: "431d:44fd:a77d:03c2:e4c5:37e4:d890:45f7", + status: "Online", + last_seen: 0, + }, + { + name: "Alice216", + id: "4869:c55e:ffc2:a964:83cd:ec96:0be1:1094", + status: "Online", + last_seen: 0, + }, + { + name: "Zoe217", + id: "c394:621c:ab5b:d6d3:e1f5:5fc8:824f:2782", + status: "Online", + last_seen: 0, + }, + { + name: "Judy218", + id: "d4a0:2299:f649:a161:47fd:c17a:e95c:54f8", status: "Pending", - last_seen: 131, + last_seen: 184, }, { - name: "Walter", - id: "8d0a:56b0:1537:1b2e:9581:d640:cd29:21cf", - status: "Offline", - last_seen: 273, - }, - { - name: "Walter", - id: "d8ab:813a:cbc6:d379:d3be:cc4b:20b8:94ae", - status: "Offline", - last_seen: 200, - }, - { - name: "Trent", - id: "0199:cb5c:a8cd:af82:2d9a:e63a:a157:6ee6", - status: "Offline", - last_seen: 352, - }, - { - name: "Peggy", - id: "1b7b:8da6:623a:75ea:2385:8777:76b9:9ba8", + name: "Mallory219", + id: "97e1:ca9e:37f8:8cde:aa37:cd10:69e2:05e4", status: "Online", last_seen: 0, }, { - name: "Zoe", - id: "6ed3:ee3b:f7df:044a:355a:7790:0bf3:a308", - status: "Online", - last_seen: 0, - }, - { - name: "Wendy", - id: "efed:821d:a944:0775:ead4:e520:6402:8dc4", - status: "Online", - last_seen: 0, - }, - { - name: "Heidi", - id: "b616:82c5:4a37:c020:9568:aaa4:6390:22d5", - status: "Online", - last_seen: 0, - }, - { - name: "Charlie", - id: "2c05:e6fc:a359:bf63:65e7:ee0e:49e3:6cc5", - status: "Online", - last_seen: 0, - }, - { - name: "Frank", - id: "e9cb:eddc:1a94:22e4:4e3d:e927:c599:db04", - status: "Online", - last_seen: 0, - }, - { - name: "Bob", - id: "be03:3537:719f:5152:f277:03ef:c6c9:c953", - status: "Offline", - last_seen: 69, - }, - { - name: "Oscar", - id: "cede:fa4a:518d:b885:d1fa:00f4:d97a:2258", - status: "Pending", - last_seen: 280, - }, - { - name: "Judy", - id: "9337:53e7:1aae:1b94:6035:e601:e562:350c", - status: "Online", - last_seen: 0, - }, - { - name: "Judy", - id: "d50b:0ddc:0c9d:cd34:40ee:34c9:75ff:d16c", - status: "Online", - last_seen: 0, - }, - { - name: "Charlie", - id: "368f:8855:59ed:b8c3:4fff:7630:9948:877f", + name: "Judy220", + id: "7f7a:e2fa:5b79:6984:3059:85a3:ecc3:32d0", status: "Offline", last_seen: 63, }, { - name: "Judy", - id: "0fcd:74ae:8dad:8d10:370b:46c5:a403:eab8", - status: "Pending", - last_seen: 242, + name: "Wendy221", + id: "149a:9daa:7f75:cf20:fc02:9405:adad:5c26", + status: "Offline", + last_seen: 181, }, { - name: "Wendy", - id: "285f:3015:2f09:2fde:25ee:87be:6d2c:f4f3", + name: "Bob222", + id: "761e:8560:b6ad:046b:ebb1:6958:1981:d5a7", + status: "Offline", + last_seen: 300, + }, + { + name: "Eve223", + id: "e9ed:def1:e050:856c:5c33:ecc9:f6d7:b9ff", status: "Pending", last_seen: 60, }, { - name: "Ivan", - id: "942d:9c5c:1f4a:95ba:1046:c643:a874:83ce", - status: "Online", - last_seen: 0, - }, - { - name: "Frank", - id: "06f5:5b67:98e9:31b4:ddba:fb81:afb1:7677", - status: "Offline", - last_seen: 154, - }, - { - name: "Zoe", - id: "ec58:13b0:b7ef:6e19:6c78:2c35:4fa3:092a", - status: "Offline", - last_seen: 264, - }, - { - name: "Charlie", - id: "7151:20e3:3969:2933:c23b:6d9a:9723:d1bd", - status: "Online", - last_seen: 0, - }, - { - name: "David", - id: "0466:bd3f:0fff:2119:b9c0:ee60:2a90:6b54", - status: "Online", - last_seen: 0, - }, - { - name: "David", - id: "814d:b00c:4a98:7aa2:5354:7076:f48e:1609", - status: "Offline", - last_seen: 249, - }, - { - name: "David", - id: "8633:f51b:b643:829a:08b0:fc2a:7cad:abda", - status: "Offline", - last_seen: 359, - }, - { - name: "Eve", - id: "0fd5:7b72:4445:0e27:95c6:1b80:99dc:6590", - status: "Online", - last_seen: 0, - }, - { - name: "Wendy", - id: "dc9b:bac9:8ec8:9167:5da5:8530:fcb7:1458", - status: "Online", - last_seen: 0, - }, - { - name: "Bob", - id: "0412:6da1:82ef:6cb1:467e:34e9:34df:5742", - status: "Online", - last_seen: 0, - }, - { - name: "Ivan", - id: "d03b:aba5:ee40:1961:f824:0d9b:9669:2e3e", - status: "Online", - last_seen: 0, - }, - { - name: "Zoe", - id: "ad06:abfd:05c2:fc17:a8e0:857e:b04c:d3fe", - status: "Offline", - last_seen: 25, - }, - { - name: "Ivan", - id: "d2ca:12cb:d271:44a2:2813:e826:964b:b292", + name: "Judy224", + id: "c5d5:92a0:7fea:0c55:9d77:b8fb:ee3e:59d9", status: "Pending", - last_seen: 11, + last_seen: 218, }, { - name: "Charlie", - id: "aaa9:9754:34e2:7251:af6e:df7a:5422:96cd", + name: "Peggy225", + id: "71c4:c342:3708:dda8:f09e:4855:c191:676e", status: "Offline", - last_seen: 131, + last_seen: 140, }, { - name: "Mallory", - id: "8511:8f44:45d7:cc8a:43ff:908c:a35f:19bc", + name: "Frank226", + id: "0338:8c78:272f:2f2c:3ddd:187d:a3dd:878b", status: "Offline", - last_seen: 141, + last_seen: 106, }, { - name: "Alice", - id: "8bc2:8f83:3081:d90c:087e:13bf:002b:934b", - status: "Online", - last_seen: 0, - }, - { - name: "Peggy", - id: "9b33:5e44:310f:f6ab:81ae:df8e:be7b:ddc4", - status: "Pending", - last_seen: 354, - }, - { - name: "Victor", - id: "9776:1f62:b8dc:1d14:bf9c:bf41:99b7:5c11", - status: "Online", - last_seen: 0, - }, - { - name: "David", - id: "874a:a4df:321a:5367:4b63:4a0c:48d6:0a0d", + name: "Ivan227", + id: "e67c:c18d:f98e:d441:733d:4904:b54f:6fc1", status: "Offline", - last_seen: 199, + last_seen: 296, }, { - name: "Charlie", - id: "05f0:7188:a2fb:cfe3:7d85:e3de:d6c2:07e9", - status: "Pending", - last_seen: 46, - }, - { - name: "Grace", - id: "dcbd:5ddf:496d:dd27:0e98:9905:7c24:664d", - status: "Pending", - last_seen: 284, - }, - { - name: "Ivan", - id: "3cb9:d178:2cb1:ae2c:dd3d:ce93:34e0:cc68", - status: "Online", - last_seen: 0, - }, - { - name: "Frank", - id: "c974:9ef6:df64:188c:4622:aa71:497b:1fd8", - status: "Pending", - last_seen: 18, - }, - { - name: "Frank", - id: "3ba0:9362:3b2f:ec10:03c2:7bd7:67ad:759c", - status: "Online", - last_seen: 0, - }, - { - name: "Walter", - id: "b57d:3d13:6654:d944:0e7c:61d6:9dc0:15d8", - status: "Online", - last_seen: 0, - }, - { - name: "Sybil", - id: "de00:f53f:0be4:8a57:047a:f99d:8ab2:fe7c", - status: "Pending", - last_seen: 41, - }, - { - name: "Trent", - id: "bb32:acd8:bbfb:ea3e:1b58:dc17:4cc4:64ce", - status: "Offline", - last_seen: 326, - }, - { - name: "Oscar", - id: "a3e9:1060:b0df:2adb:a340:3f34:5348:d882", - status: "Offline", - last_seen: 57, - }, - { - name: "Wendy", - id: "6b49:c86c:41c8:c021:2103:b707:26a9:6d6a", - status: "Online", - last_seen: 0, - }, - { - name: "Sybil", - id: "aaf2:68cb:da7e:0844:8a12:5fb9:cff5:9de8", - status: "Online", - last_seen: 0, - }, - { - name: "Victor", - id: "b87d:0cc5:e3be:a600:045e:4a26:f7e2:6b3d", - status: "Offline", - last_seen: 342, - }, - { - name: "Frank", - id: "13e6:1b80:ba7e:6275:21c8:dc96:6ab1:ac69", - status: "Pending", - last_seen: 213, - }, - { - name: "Sybil", - id: "14ad:2010:7648:fbc8:337c:6984:d7e2:5202", - status: "Online", - last_seen: 0, - }, - { - name: "Charlie", - id: "f79c:e3b8:1082:7a9d:7adf:f5b6:e333:affd", - status: "Online", - last_seen: 0, - }, - { - name: "Sybil", - id: "534c:0d80:97d5:7b54:a1c3:5457:c5e8:62ee", - status: "Pending", - last_seen: 133, - }, - { - name: "Victor", - id: "e829:f930:b7d7:6005:cc34:7bca:0163:7903", - status: "Online", - last_seen: 0, - }, - { - name: "Ivan", - id: "18c3:6ab2:93ea:0756:52e4:33a6:0c2b:bd79", - status: "Pending", - last_seen: 109, - }, - { - name: "Eve", - id: "49a3:28ad:6121:2e35:1b72:e5d7:5efc:0626", - status: "Online", - last_seen: 0, - }, - { - name: "Trent", - id: "d900:540b:b764:2468:ad9e:2716:ab4f:9955", - status: "Pending", - last_seen: 117, - }, - { - name: "Zoe", - id: "9d3d:de15:014a:ac0d:74b9:2ae8:08d4:8848", - status: "Pending", - last_seen: 114, - }, - { - name: "Peggy", - id: "2145:0e6a:f66a:8e93:71b7:385d:c25b:6a2b", - status: "Offline", - last_seen: 71, - }, - { - name: "Sybil", - id: "834c:adcc:a3d7:b5fc:d5cd:4209:e280:e625", - status: "Pending", - last_seen: 200, - }, - { - name: "Heidi", - id: "5ecc:904c:2d31:177b:346d:4c23:5169:a982", - status: "Online", - last_seen: 0, - }, - { - name: "Ivan", - id: "0446:9092:762c:48b6:310a:e6fb:be48:4631", - status: "Online", - last_seen: 0, - }, - { - name: "David", - id: "160c:97aa:f4ff:52d0:717e:2263:7262:90ed", - status: "Offline", - last_seen: 275, - }, - { - name: "Charlie", - id: "6832:d934:2a76:27c0:88ea:2b05:5bf8:4f86", - status: "Online", - last_seen: 0, - }, - { - name: "Eve", - id: "5363:e485:d9b9:89a8:3ee4:5d24:b2b5:2ab5", - status: "Offline", - last_seen: 343, - }, - { - name: "Peggy", - id: "5673:e221:3236:0a33:29a9:5c5f:ff03:c98d", - status: "Offline", - last_seen: 130, - }, - { - name: "Grace", - id: "8946:27f1:2abe:f009:b109:f0af:92d1:4c5b", - status: "Pending", - last_seen: 72, - }, - { - name: "Walter", - id: "7bc3:a683:660d:ffc3:a40f:b8ab:2246:ed38", - status: "Offline", - last_seen: 264, - }, - { - name: "Mallory", - id: "5b5d:129e:8c3e:4f34:94bf:ffe5:7a8a:b3ae", - status: "Online", - last_seen: 0, - }, - { - name: "Eve", - id: "d7db:981a:8885:838b:70b6:a691:1c26:4d59", - status: "Offline", - last_seen: 172, - }, - { - name: "Peggy", - id: "1255:426b:034c:0171:d67e:ef4c:d9a5:7da6", + name: "Charlie228", + id: "d6d7:de33:1b48:2a4a:ad49:7c8d:b585:67ea", status: "Pending", last_seen: 81, }, { - name: "Frank", - id: "1c79:ef2f:c01a:d53b:016d:e2fc:3566:6b85", - status: "Online", - last_seen: 0, - }, - { - name: "Judy", - id: "b159:2924:969d:e1f6:e295:f19d:9bf2:8f58", - status: "Offline", - last_seen: 221, - }, - { - name: "Judy", - id: "bba4:85aa:bcc7:5ef6:920c:7d74:e921:7d47", - status: "Offline", - last_seen: 168, - }, - { - name: "Victor", - id: "dc3f:5b3a:3e71:552a:9cdb:10f2:699a:d8e9", - status: "Offline", - last_seen: 217, - }, - { - name: "Victor", - id: "e084:f4cf:be5b:83c1:f1f5:1159:d24d:dea2", - status: "Online", - last_seen: 0, - }, - { - name: "Trent", - id: "113c:335a:c844:7307:b192:1c44:fb34:4cc0", - status: "Offline", - last_seen: 77, - }, - { - name: "Sybil", - id: "05a0:cbe8:4b89:47e3:81e9:39b7:4966:bbed", - status: "Offline", - last_seen: 145, - }, - { - name: "Alice", - id: "0f33:461d:c779:067e:424e:b933:c855:c376", - status: "Online", - last_seen: 0, - }, - { - name: "Trent", - id: "a883:16c8:abb4:3ab3:7d6f:beb4:1398:bc9c", + name: "Victor229", + id: "2cba:bfb7:11d0:9d09:e025:3a3d:1cc7:59cb", status: "Pending", - last_seen: 189, + last_seen: 46, }, { - name: "Wendy", - id: "2e7c:1162:1488:6a1e:34fe:0725:bd56:4461", + name: "Mallory230", + id: "878d:b63e:57b0:576c:7bd6:e4e4:b01a:714d", + status: "Online", + last_seen: 0, + }, + { + name: "Wendy231", + id: "ec44:61cb:0c8f:1226:298b:d562:3bf6:afbe", + status: "Offline", + last_seen: 205, + }, + { + name: "David232", + id: "ed4d:bac1:32c3:c0f0:70e0:7584:acb8:e420", status: "Pending", - last_seen: 338, + last_seen: 11, }, { - name: "Judy", - id: "c4e1:6d39:5079:097b:3228:1391:4f59:1be6", + name: "Eve233", + id: "25b4:2f0d:7d28:dcd4:415c:bd1e:a701:91fd", status: "Offline", - last_seen: 352, + last_seen: 346, }, { - name: "Victor", - id: "d32c:1045:4297:251a:6ec8:16c8:541d:7925", + name: "David234", + id: "051a:96d5:743a:5574:d365:6a8a:c972:109c", + status: "Online", + last_seen: 0, + }, + { + name: "Ivan235", + id: "fec5:bb6c:d958:f982:808b:da80:0fe8:3f26", + status: "Pending", + last_seen: 291, + }, + { + name: "Mallory236", + id: "8d35:ba4f:c762:b11c:b668:ddc0:d936:9192", status: "Offline", - last_seen: 61, + last_seen: 321, }, { - name: "Zoe", - id: "b6cf:6f86:f510:9f39:93a9:aba9:4632:bb69", + name: "David237", + id: "0488:19ac:b107:32bc:38bd:6ebf:9a60:ba58", + status: "Online", + last_seen: 0, + }, + { + name: "Victor238", + id: "0d54:af9b:3792:77cd:1215:975f:6bf2:4e2d", + status: "Online", + last_seen: 0, + }, + { + name: "Judy239", + id: "fe9e:a71b:8899:b4c4:eb0e:1ff1:2f1f:17fc", + status: "Offline", + last_seen: 3, + }, + { + name: "Trent240", + id: "930b:331e:6241:d8ce:7bea:f5de:6e85:86c4", + status: "Online", + last_seen: 0, + }, + { + name: "Ivan241", + id: "26b9:10d1:8530:cf9a:4e04:1400:216d:e68d", + status: "Pending", + last_seen: 38, + }, + { + name: "Mallory242", + id: "bef3:c520:fdcf:131c:b1b1:7fcc:5113:2d37", + status: "Online", + last_seen: 0, + }, + { + name: "Charlie243", + id: "ae2d:6d80:c8df:3570:9bc0:d104:3dba:1340", + status: "Offline", + last_seen: 288, + }, + { + name: "Ivan244", + id: "8b0b:b94a:3e5b:66fa:a2f2:38b9:0422:c827", + status: "Offline", + last_seen: 225, + }, + { + name: "Zoe245", + id: "f18f:f596:694f:423a:afdf:0f1d:a94a:b36d", + status: "Pending", + last_seen: 56, + }, + { + name: "Trent246", + id: "b54a:2d8e:eb76:db56:3712:3d2c:6b23:8c0d", + status: "Pending", + last_seen: 111, + }, + { + name: "Sybil247", + id: "bc71:ac78:ded0:c384:eeef:eda2:b0a0:7dbe", + status: "Online", + last_seen: 0, + }, + { + name: "Wendy248", + id: "38de:8eef:c380:ff31:a49f:10b9:7678:dc29", + status: "Offline", + last_seen: 299, + }, + { + name: "David249", + id: "455a:18d9:0322:a575:6cbc:7fe1:1c6a:783a", + status: "Pending", + last_seen: 303, + }, + { + name: "Trent250", + id: "8d44:1910:2685:9783:4027:977e:a859:6f48", + status: "Offline", + last_seen: 69, + }, + { + name: "Eve251", + id: "b5cd:3aeb:3e35:91b9:0ba3:7dac:e090:62f6", + status: "Pending", + last_seen: 354, + }, + { + name: "Oscar252", + id: "3c62:cb7c:9a79:c2f6:03d2:99e6:60e3:4d84", + status: "Offline", + last_seen: 54, + }, + { + name: "Sybil253", + id: "e106:63c1:1dfb:2b92:9731:590c:96ce:a9df", + status: "Online", + last_seen: 0, + }, + { + name: "Zoe254", + id: "adae:66b1:b204:1d42:55b4:4ea0:230d:9c49", + status: "Offline", + last_seen: 118, + }, + { + name: "Bob255", + id: "4f40:fce2:feb2:e28f:598a:71b0:3030:9d7b", + status: "Pending", + last_seen: 112, + }, + { + name: "Alice256", + id: "33a9:11e3:5653:1441:21a4:c1e0:a0ae:274a", + status: "Online", + last_seen: 0, + }, + { + name: "Eve257", + id: "f05f:8604:fd65:dcbe:12b7:8f9d:b0e1:5a44", + status: "Pending", + last_seen: 97, + }, + { + name: "Peggy258", + id: "1474:39f6:5543:3698:a191:44dc:3d42:8a5f", + status: "Online", + last_seen: 0, + }, + { + name: "Ivan259", + id: "0ddc:afa7:b0c4:9a90:41c3:958c:6eb6:7974", + status: "Pending", + last_seen: 99, + }, + { + name: "Victor260", + id: "a09f:4a1e:8e47:0c0a:c4a4:ce7e:5d87:9657", + status: "Offline", + last_seen: 231, + }, + { + name: "Grace261", + id: "be97:8f9d:79f9:ffe9:5cfd:8359:61d6:77fd", + status: "Offline", + last_seen: 199, + }, + { + name: "Heidi262", + id: "793e:ea68:046b:7fcb:fdc8:8d0b:6771:f268", + status: "Online", + last_seen: 0, + }, + { + name: "Sybil263", + id: "4ba1:82c3:a574:f48c:0d4e:0bb5:dfef:21e0", + status: "Pending", + last_seen: 89, + }, + { + name: "Alice264", + id: "4301:64b5:7f80:ed14:67fb:c062:8720:8c98", + status: "Pending", + last_seen: 354, + }, + { + name: "Zoe265", + id: "3bf5:1907:d39a:d752:6146:5a93:51f1:5766", + status: "Pending", + last_seen: 12, + }, + { + name: "Victor266", + id: "208d:9605:56a5:b55d:d0e9:9ae2:2a43:3031", + status: "Pending", + last_seen: 24, + }, + { + name: "Ivan267", + id: "042e:115a:2455:3a0f:f6d2:6d11:36ae:b9f8", + status: "Pending", + last_seen: 238, + }, + { + name: "Peggy268", + id: "86cf:d5f1:0aa0:66dd:0287:2203:3abc:61f5", + status: "Offline", + last_seen: 113, + }, + { + name: "Oscar269", + id: "f79e:88ef:060b:4f70:6e2b:122d:d4fb:80cc", + status: "Online", + last_seen: 0, + }, + { + name: "Alice270", + id: "d280:b667:8dd6:29f5:7eaa:ae38:8651:2664", + status: "Online", + last_seen: 0, + }, + { + name: "Eve271", + id: "607b:707a:07d1:1fe6:7af9:2988:29ab:6650", + status: "Online", + last_seen: 0, + }, + { + name: "Mallory272", + id: "c140:5d2d:5066:09cf:908c:35a8:8824:485d", + status: "Pending", + last_seen: 180, + }, + { + name: "David273", + id: "34c6:6199:e4f6:5900:3429:730e:12b2:67dd", + status: "Online", + last_seen: 0, + }, + { + name: "Eve274", + id: "68d7:9503:12af:3352:c8a7:a6be:8f92:95cb", + status: "Pending", + last_seen: 164, + }, + { + name: "Walter275", + id: "723a:000b:dd46:5d88:0dbe:24df:991b:4660", + status: "Online", + last_seen: 0, + }, + { + name: "Eve276", + id: "c1bb:015e:e52f:8299:10bb:37a3:ed55:92d2", + status: "Offline", + last_seen: 123, + }, + { + name: "Wendy277", + id: "3b91:c220:5253:9c8e:b5bc:f125:71df:314a", + status: "Offline", + last_seen: 211, + }, + { + name: "Charlie278", + id: "1b8e:9c86:2075:63cf:6486:53e1:126b:30df", + status: "Pending", + last_seen: 178, + }, + { + name: "Eve279", + id: "61c3:1746:2159:033c:f361:dcaf:146c:db82", + status: "Online", + last_seen: 0, + }, + { + name: "Zoe280", + id: "f48e:98c2:b4d5:5763:881b:4f3b:ee00:144c", + status: "Online", + last_seen: 0, + }, + { + name: "Mallory281", + id: "038b:569d:0c14:e7d2:c887:2c18:5387:e625", + status: "Pending", + last_seen: 143, + }, + { + name: "Bob282", + id: "f7c3:e367:18db:7860:4ab7:1810:cdf9:00c6", + status: "Online", + last_seen: 0, + }, + { + name: "Judy283", + id: "fd6a:b87a:4069:ae0a:2b9c:93cc:a96f:70bf", + status: "Online", + last_seen: 0, + }, + { + name: "Grace284", + id: "b467:9c99:69a7:5cf3:7ff3:ee12:56c5:2391", + status: "Online", + last_seen: 0, + }, + { + name: "Zoe285", + id: "f6e6:3f2b:bbf1:6f49:19ac:19a4:23b1:c34a", + status: "Online", + last_seen: 0, + }, + { + name: "Grace286", + id: "a157:a7c4:269d:fe98:1b51:d62c:0651:9fc7", + status: "Pending", + last_seen: 92, + }, + { + name: "Walter287", + id: "cc2b:67a0:aabe:68ca:d16b:31c9:9421:d6da", + status: "Online", + last_seen: 0, + }, + { + name: "Walter288", + id: "ddf8:10e8:fb3c:a474:0344:a97a:cc41:15ce", + status: "Pending", + last_seen: 248, + }, + { + name: "David289", + id: "a310:d30e:a4e9:b41b:6901:cf56:4da7:7909", + status: "Pending", + last_seen: 301, + }, + { + name: "Peggy290", + id: "ce03:fb42:fa64:7543:faa9:2975:8caa:0ae6", + status: "Online", + last_seen: 0, + }, + { + name: "Sybil291", + id: "34c5:9736:0f1d:da41:7c34:6443:07b8:31a5", + status: "Pending", + last_seen: 114, + }, + { + name: "Heidi292", + id: "c5a0:8e3d:5935:9adc:458c:ca81:468f:4295", + status: "Online", + last_seen: 0, + }, + { + name: "David293", + id: "7a5d:2399:9083:cad8:669f:fbc4:8c79:6183", + status: "Offline", + last_seen: 165, + }, + { + name: "Judy294", + id: "7775:9779:7222:7c6f:1d9c:44e2:1269:661a", + status: "Pending", + last_seen: 52, + }, + { + name: "Trent295", + id: "2a1f:f4ff:a9ac:2ade:fc6e:d291:b66d:3a03", + status: "Online", + last_seen: 0, + }, + { + name: "Heidi296", + id: "7b50:7d90:e833:2f4a:4f24:ac9e:8165:68b4", + status: "Pending", + last_seen: 129, + }, + { + name: "Trent297", + id: "5932:1221:12d7:5a62:c218:2f47:9447:5117", + status: "Pending", + last_seen: 108, + }, + { + name: "David298", + id: "9d2e:54e6:f504:3b5e:b9d1:ab90:b9e0:3db5", + status: "Online", + last_seen: 0, + }, + { + name: "Sybil299", + id: "07c2:1588:8d1d:fadf:aa9b:e1e3:e21f:ee0e", status: "Online", last_seen: 0, },