File size: 1,125 Bytes
e538a38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { Button, Center, Loader, Stack, Text } from "@mantine/core";
import { Suspense, lazy, useState } from "react";
import { addLogEntry } from "../../modules/logEntries";

const LogsModal = lazy(() => import("./LogsModal"));

export default function ShowLogsButton() {
  const [isLogsModalOpen, setLogsModalOpen] = useState(false);

  const handleShowLogsButtonClick = () => {
    addLogEntry("User opened the logs modal");
    setLogsModalOpen(true);
  };

  const handleCloseLogsButtonClick = () => {
    addLogEntry("User closed the logs modal");
    setLogsModalOpen(false);
  };

  return (
    <Stack gap="xs">
      <Suspense
        fallback={
          <Center>
            <Loader color="gray" type="bars" />
          </Center>
        }
      >
        <Button size="sm" onClick={handleShowLogsButtonClick} variant="default">
          Show logs
        </Button>
        <Text size="xs" c="dimmed">
          View session logs for debugging.
        </Text>
        <LogsModal
          opened={isLogsModalOpen}
          onClose={handleCloseLogsButtonClick}
        />
      </Suspense>
    </Stack>
  );
}