diff --git a/src/pages/MonitoringPage/MonitoringPage.module.css b/src/pages/MonitoringPage/MonitoringPage.module.css
index 3db4884..451b229 100644
--- a/src/pages/MonitoringPage/MonitoringPage.module.css
+++ b/src/pages/MonitoringPage/MonitoringPage.module.css
@@ -1,88 +1,122 @@
-/* MonitoringPage UI*/
-
-.dashboard-container {
+.dashboardContainer {
display: grid;
+ grid-template-columns: 2fr 1fr; /* Left = content, Right = logs */
+ grid-template-rows: auto 1fr auto; /* Header, Main, Footer */
grid-template-areas:
- 'header header header'
- 'main logs logs'
- 'footer footer footer';
- grid-template-columns: 2fr 1fr 1fr;
+ "header logs"
+ "main logs"
+ "footer footer";
gap: 1rem;
padding: 1rem;
background-color: #f5f5f5;
font-family: Arial, sans-serif;
}
-.experiment-overview {
+/* HEADER */
+.experimentOverview {
grid-area: header;
display: flex;
justify-content: space-between;
align-items: flex-start;
- background: white;
- border-radius: 8px;
+ background: #fff;
padding: 1rem;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
+ position: static; /* ensures it scrolls away */
}
-.phase-progress .phase {
+.phaseProgress {
+ margin-top: 0.5rem;
+}
+
+.phase {
display: inline-block;
width: 25px;
height: 25px;
- border-radius: 5px;
margin: 0 3px;
text-align: center;
line-height: 25px;
background: #ccc;
}
-.phase.active {
+.completed {
background-color: #5cb85c;
color: white;
}
-.phase.current {
+.current {
background-color: #f0ad4e;
color: white;
}
-.experiment-controls button {
- margin-right: 5px;
- border: none;
- background: none;
- cursor: pointer;
- font-size: 1.2rem;
-}
-
-.connection-status .connected {
+.connected {
color: green;
font-weight: bold;
}
-.phase-overview {
+.pause{
+ background-color: green;
+}
+
+.next {
+ background-color: #ccc;
+}
+
+.restartPhase{
+ background-color: rgb(255, 123, 0);
+}
+
+.restartExperiment{
+ background-color: red;
+}
+
+/* MAIN GRID */
+.phaseOverview {
grid-area: main;
- background: white;
- border-radius: 8px;
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ grid-template-rows: repeat(2, auto);
+ gap: 1rem;
+ background: #fff;
padding: 1rem;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
-.phase-overview section {
- margin-bottom: 1rem;
+.phaseBox {
+ background: #f9f9f9;
+ border: 1px solid #ddd;
+ padding: 1rem;
+ display: flex;
+ flex-direction: column;
+ box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.05);
}
-.phase-overview ul {
- list-style-type: none;
- padding: 0;
+.phaseOverviewText {
+ grid-column: 1 / -1; /* make the title span across both columns */
+ font-size: 1.4rem;
+ font-weight: 600;
+ margin: 0; /* remove default section margin */
+ padding: 0.25rem 0; /* smaller internal space */
}
-.phase-overview li.checked::before {
+.phaseOverviewText h3{
+ margin: 0; /* removes top/bottom whitespace */
+ padding: 0; /* keeps spacing tight */
+}
+
+.phaseBox h3 {
+ margin-top: 0;
+ border-bottom: 1px solid #ddd;
+ padding-bottom: 0.4rem;
+}
+
+.checked::before {
content: '✔️ ';
}
+/* LOGS */
.logs {
grid-area: logs;
- background: white;
- border-radius: 8px;
+ background: #fff;
padding: 1rem;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
@@ -93,38 +127,49 @@
margin-top: 0.5rem;
}
-.controls-section {
+/* FOOTER */
+.controlsSection {
grid-area: footer;
display: flex;
justify-content: space-between;
gap: 1rem;
- background: white;
- border-radius: 8px;
+ background: #fff;
padding: 1rem;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
-.gestures, .speech, .direct-speech {
+.gestures,
+.speech,
+.directSpeech {
flex: 1;
}
-.direct-speech .speech-input {
+.speechInput {
display: flex;
margin-top: 0.5rem;
}
-.direct-speech input {
+.speechInput input {
flex: 1;
padding: 0.5rem;
border: 1px solid #ccc;
- border-radius: 4px 0 0 4px;
}
-.direct-speech button {
+.speechInput button {
background: #007bff;
color: white;
border: none;
padding: 0.5rem 1rem;
- border-radius: 0 4px 4px 0;
cursor: pointer;
}
+
+/* RESPONSIVE */
+@media (max-width: 900px) {
+ .phaseOverview {
+ grid-template-columns: 1fr;
+ }
+
+ .controlsSection {
+ flex-direction: column;
+ }
+}
diff --git a/src/pages/MonitoringPage/MonitoringPage.tsx b/src/pages/MonitoringPage/MonitoringPage.tsx
index b2db6c2..3fe3b24 100644
--- a/src/pages/MonitoringPage/MonitoringPage.tsx
+++ b/src/pages/MonitoringPage/MonitoringPage.tsx
@@ -1,58 +1,65 @@
import React from 'react';
-import styles from './MonitoringPage.module.css'
+import styles from './MonitoringPage.module.css';
export default function MonitoringPage() {
return (
-
-
-
+
+ {/* HEADER */}
+
+
Experiment Overview
Phase name: Rhyming fish
-
-
1
-
2
-
3
-
4
-
5
+
+ 1
+ 2
+ 3
+ 4
+ 5
-
+
Experiment Controls
-
-
-
-
-
+
+
+
+
+
-
+
Connection:
-
● Robot is connected
+
● Robot is connected
-
-
+ {/* MAIN GRID */}
+
+
+
+
+
Goals
- - Convince the RP that you are a fish
+ - Convince the RP that you are a fish
- Reference Shakespeare
- Give a compliment
-
+
Triggers
- - Convince the RP that you are a fish
+ - Convince the RP that you are a fish
- Reference Shakespeare
- Give a compliment
-
+
Norms
- Rhyme when talking
@@ -60,7 +67,7 @@ export default function MonitoringPage() {
-
+
Conditional Norms
- “RP is sad” - Be nice
@@ -68,19 +75,21 @@ export default function MonitoringPage() {
-