gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/nodes/log/container.tsx · v0.3.0-alpha7
Source
1 b15ff05 Mrdn 2y ago import { Badge, Card, CardContent, CardHeader, ScrollArea } from "@marzneshin/components"
2 b15ff05 Mrdn 2y ago import { NodeType, useNodesLog } from ".."
3 b15ff05 Mrdn 2y ago import { FC } from "react"
4 b15ff05 Mrdn 2y ago import { useTranslation } from "react-i18next"
5 b15ff05 Mrdn 2y ago
6 b15ff05 Mrdn 2y ago interface LogContainerProps {
7 b15ff05 Mrdn 2y ago node: NodeType
8 b15ff05 Mrdn 2y ago }
9 b15ff05 Mrdn 2y ago
10 b15ff05 Mrdn 2y ago export const LogContainer: FC<LogContainerProps> = ({ node }) => {
11 b15ff05 Mrdn 2y ago const { logs, status, logsDiv } = useNodesLog(node)
12 b15ff05 Mrdn 2y ago const { t } = useTranslation()
13 b15ff05 Mrdn 2y ago return (
14 b15ff05 Mrdn 2y ago <Card className="h-1/2">
15 b15ff05 Mrdn 2y ago <CardContent className="flex flex-col p-1 h-full" >
16 b15ff05 Mrdn 2y ago <CardHeader className="flex flex-row justify-between items-center p-2">
17 b15ff05 Mrdn 2y ago <p className="capitalize font-header">{t('page.nodes.settings.log-container.title')}</p>
18 b15ff05 Mrdn 2y ago <div className="flex flex-row gap-2 justify-center items-center">
19 b15ff05 Mrdn 2y ago <Badge variant={status === "closed" ? "destructive" : "default"} className="flex justify-center items-center w-full h-6 capitalize">
20 b15ff05 Mrdn 2y ago {status}
21 b15ff05 Mrdn 2y ago </Badge>
22 b15ff05 Mrdn 2y ago </div>
23 b15ff05 Mrdn 2y ago </CardHeader>
24 b15ff05 Mrdn 2y ago <ScrollArea className="flex p-2 m-1 h-full rounded-b-md divide-dashed divide-accent bg-secondary text-primary" ref={logsDiv}>
25 b15ff05 Mrdn 2y ago {logs.map((log: string, i) => {
26 b15ff05 Mrdn 2y ago return <p key={i} className="font-mono text-[0.7rem] text-primary">{log}</p>
27 b15ff05 Mrdn 2y ago })}
28 b15ff05 Mrdn 2y ago </ScrollArea>
29 b15ff05 Mrdn 2y ago </CardContent>
30 b15ff05 Mrdn 2y ago </Card>
31 b15ff05 Mrdn 2y ago )
32 b15ff05 Mrdn 2y ago }