1
1
"use client" ;
2
2
3
- import { ClientList } from "@/components/ClientList" ;
4
- import { DroppedMessagesList } from "@/components/Events" ;
5
- import { ScenarioEnabledFaultsList } from "@/components/FaultsList" ;
6
- import { NodeList } from "@/components/NodeList" ;
7
- import { PredicateList } from "@/components/PredicateList" ;
8
- import { RunningSimulatorStats } from "@/components/RunningSimulatorStats" ;
9
- import { ScheduleDetails } from "@/components/Schedule" ;
10
- import { ScenarioScheduledFaultsList } from "@/components/ScheduledFaultsList" ;
11
- import { useGetMode , useGetSchedule } from "@/lib/byzzbench-client" ;
12
- import { Accordion , AppShell , Container , Group , ScrollArea , Stack , Title , } from "@mantine/core" ;
13
- import { useLocalStorage } from "@mantine/hooks" ;
14
- import dynamic from "next/dynamic" ;
3
+ import { ClientList } from "@/components/ClientList" ;
4
+ import { DroppedMessagesList } from "@/components/Events" ;
5
+ import { ScenarioEnabledFaultsList } from "@/components/FaultsList" ;
6
+ import { NodeList } from "@/components/NodeList" ;
7
+ import { PredicateList } from "@/components/PredicateList" ;
8
+ import { RunningSimulatorStats } from "@/components/RunningSimulatorStats" ;
9
+ import { ScheduleDetails } from "@/components/Schedule" ;
10
+ import { ScenarioScheduledFaultsList } from "@/components/ScheduledFaultsList" ;
11
+ import { useGetMode , useGetSchedule } from "@/lib/byzzbench-client" ;
12
+ import {
13
+ Accordion ,
14
+ AppShell ,
15
+ Container ,
16
+ Group ,
17
+ ScrollArea ,
18
+ Stack ,
19
+ Switch ,
20
+ Title ,
21
+ } from "@mantine/core" ;
22
+ import { useLocalStorage } from "@mantine/hooks" ;
15
23
import React from "react" ;
16
24
25
+ /*
17
26
const AdoBStateDiagram = dynamic<{}>(
18
27
() =>
19
28
import("@/components/adob/AdoBStateDiagram").then(
@@ -22,86 +31,98 @@ const AdoBStateDiagram = dynamic<{}>(
22
31
{
23
32
ssr: false,
24
33
},
25
- ) ;
34
+ );*/
26
35
27
36
export default function Home ( ) {
28
- const [ selectedAccordionEntries , setSelectedAccordionEntries ] =
29
- useLocalStorage < string [ ] > ( {
30
- key : "byzzbench/selectedAccordionEntries" ,
31
- defaultValue : [ "nodes" , "schedule" ] ,
32
- } ) ;
37
+ const [ selectedAccordionEntries , setSelectedAccordionEntries ] =
38
+ useLocalStorage < string [ ] > ( {
39
+ key : "byzzbench/selectedAccordionEntries" ,
40
+ defaultValue : [ "nodes" , "schedule" ] ,
41
+ } ) ;
33
42
34
- const { data : schedule } = useGetSchedule ( ) ;
43
+ const { data : schedule } = useGetSchedule ( ) ;
35
44
36
- const mode = useGetMode ( ) ;
45
+ const mode = useGetMode ( ) ;
37
46
38
- if ( mode . data ?. data === "RUNNING" ) {
39
- return (
40
- < Container fluid p = "xl" >
41
- < RunningSimulatorStats />
42
- </ Container >
43
- ) ;
44
- }
47
+ const [ showMailboxes , setShowMailboxes ] = useLocalStorage < boolean > ( {
48
+ key : "byzzbench/showMailboxes" ,
49
+ defaultValue : true ,
50
+ } ) ;
45
51
52
+ if ( mode . data ?. data === "RUNNING" ) {
46
53
return (
47
- < Container fluid p = "xl" >
48
- < Stack gap = "md" >
49
- < Accordion
50
- multiple
51
- variant = "separated"
52
- value = { selectedAccordionEntries }
53
- onChange = { setSelectedAccordionEntries }
54
- >
55
- < Group wrap = "nowrap" gap = "xs" align = "center" >
56
- < Title order = { 3 } > { schedule ?. data . scenarioId } </ Title >
57
- < PredicateList />
58
- </ Group >
59
- < Accordion . Item key = "clients" value = "clients" >
60
- < Accordion . Control > Clients</ Accordion . Control >
61
- < Accordion . Panel >
62
- < ClientList />
63
- </ Accordion . Panel >
64
- </ Accordion . Item >
65
- < Accordion . Item key = "nodes" value = "nodes" >
66
- < Accordion . Control > Nodes</ Accordion . Control >
67
- < Accordion . Panel >
68
- < NodeList />
69
- </ Accordion . Panel >
70
- </ Accordion . Item >
71
- < Accordion . Item key = "adob" value = "adob" >
54
+ < Container fluid p = "xl" >
55
+ < RunningSimulatorStats />
56
+ </ Container >
57
+ ) ;
58
+ }
59
+
60
+ return (
61
+ < Container fluid p = "xl" >
62
+ < Stack gap = "md" >
63
+ < Accordion
64
+ multiple
65
+ variant = "separated"
66
+ value = { selectedAccordionEntries }
67
+ onChange = { setSelectedAccordionEntries }
68
+ >
69
+ < Group wrap = "nowrap" gap = "xs" align = "center" >
70
+ < Title order = { 3 } > { schedule ?. data . scenarioId } </ Title >
71
+ < PredicateList />
72
+ < Switch
73
+ label = "Show mailboxes"
74
+ checked = { showMailboxes }
75
+ onChange = { ( event ) => {
76
+ setShowMailboxes ( event . currentTarget . checked ) ;
77
+ } }
78
+ />
79
+ </ Group >
80
+ < Accordion . Item key = "clients" value = "clients" >
81
+ < Accordion . Control > Clients</ Accordion . Control >
82
+ < Accordion . Panel >
83
+ < ClientList />
84
+ </ Accordion . Panel >
85
+ </ Accordion . Item >
86
+ < Accordion . Item key = "nodes" value = "nodes" >
87
+ < Accordion . Control > Nodes</ Accordion . Control >
88
+ < Accordion . Panel >
89
+ < NodeList showMailboxes = { showMailboxes } />
90
+ </ Accordion . Panel >
91
+ </ Accordion . Item >
92
+ { /*<Accordion.Item key="adob" value="adob">
72
93
<Accordion.Control>AdoB State</Accordion.Control>
73
94
<Accordion.Panel>
74
95
<AdoBStateDiagram/>
75
96
</Accordion.Panel>
76
- </ Accordion . Item >
77
- </ Accordion >
78
- </ Stack >
97
+ </Accordion.Item>*/ }
98
+ </ Accordion >
99
+ </ Stack >
79
100
80
- < AppShell . Aside p = "md" maw = { 400 } >
81
- < Stack gap = "xs" >
82
- < Title order = { 5 } > Schedule</ Title >
83
- < ScrollArea mah = { 500 } type = "auto" >
84
- { schedule ?. data && (
85
- < ScheduleDetails
86
- hideTitle
87
- hideMaterializeButton
88
- hideDownloadButton
89
- hideDetailsButton
90
- hideScenario
91
- hideSaveButton
92
- title = "Current Schedule"
93
- schedule = { schedule . data }
94
- />
95
- ) }
96
- </ ScrollArea >
97
- < Title order = { 5 } > Trigger Faulty Behaviors</ Title >
98
- < ScenarioEnabledFaultsList />
99
- < Title order = { 5 } > Scheduled Faults</ Title >
100
- < ScenarioScheduledFaultsList />
101
- < Title order = { 5 } > Discarded Events</ Title >
102
- < DroppedMessagesList />
103
- </ Stack >
104
- </ AppShell . Aside >
105
- </ Container >
106
- ) ;
101
+ < AppShell . Aside p = "md" maw = { 400 } >
102
+ < Stack gap = "xs" >
103
+ < Title order = { 5 } > Schedule</ Title >
104
+ < ScrollArea mah = { 500 } type = "auto" >
105
+ { schedule ?. data && (
106
+ < ScheduleDetails
107
+ hideTitle
108
+ hideMaterializeButton
109
+ hideDownloadButton
110
+ hideDetailsButton
111
+ hideScenario
112
+ hideSaveButton
113
+ title = "Current Schedule"
114
+ schedule = { schedule . data }
115
+ />
116
+ ) }
117
+ </ ScrollArea >
118
+ < Title order = { 5 } > Trigger Faulty Behaviors</ Title >
119
+ < ScenarioEnabledFaultsList />
120
+ < Title order = { 5 } > Scheduled Faults</ Title >
121
+ < ScenarioScheduledFaultsList />
122
+ < Title order = { 5 } > Discarded Events</ Title >
123
+ < DroppedMessagesList />
124
+ </ Stack >
125
+ </ AppShell . Aside >
126
+ </ Container >
127
+ ) ;
107
128
}
0 commit comments