-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Expand file tree
/
Copy pathLogStreamPanel.stories.tsx
More file actions
77 lines (71 loc) · 1.9 KB
/
LogStreamPanel.stories.tsx
File metadata and controls
77 lines (71 loc) · 1.9 KB
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import type { Meta, StoryObj } from "@storybook/react-vite";
import type { LoggingLevel } from "@modelcontextprotocol/sdk/types.js";
import { fn } from "storybook/test";
import { LogStreamPanel } from "./LogStreamPanel";
import type { LogEntryData } from "../../elements/LogEntry/LogEntry";
const meta: Meta<typeof LogStreamPanel> = {
title: "Groups/LogStreamPanel",
component: LogStreamPanel,
args: {
filterText: "",
visibleLevels: {
debug: true,
info: true,
notice: true,
warning: true,
error: true,
critical: true,
alert: true,
emergency: true,
},
autoScroll: true,
onToggleAutoScroll: fn(),
onClear: fn(),
onExport: fn(),
},
};
export default meta;
type Story = StoryObj<typeof LogStreamPanel>;
export const Empty: Story = {
args: {
entries: [],
},
};
const logMessages: {
level: LoggingLevel;
data: string;
logger?: string;
}[] = [
{ level: "info", data: "Server started on port 3000" },
{ level: "debug", data: "Loading configuration", logger: "config" },
{
level: "warning",
data: "Deprecated API endpoint called",
logger: "http",
},
{ level: "error", data: "Failed to read resource", logger: "resources" },
{
level: "info",
data: "Tool execution completed (245ms)",
logger: "tools",
},
{
level: "critical",
data: "Database connection pool exhausted",
logger: "db",
},
{ level: "alert", data: "Memory usage exceeds 95%", logger: "system" },
{ level: "emergency", data: "System unresponsive", logger: "system" },
];
const entries: LogEntryData[] = Array.from({ length: 30 }, (_, i) => {
const src = logMessages[i % logMessages.length];
return {
receivedAt: new Date(`2026-03-17T10:00:${String(i + 1).padStart(2, "0")}Z`),
params: { level: src.level, data: src.data, logger: src.logger },
};
});
export const WithEntries: Story = {
args: {
entries,
},
};