156 lines
3.6 KiB
CSS
156 lines
3.6 KiB
CSS
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
display: flex;
|
|
flex-direction: column; /* Changed to column for header + grid */
|
|
align-items: center;
|
|
min-height: 100vh; /* Use min-height to allow content to push body height */
|
|
margin: 0;
|
|
background-color: #f4f7f6;
|
|
color: #333;
|
|
padding: 20px; /* Add some padding */
|
|
box-sizing: border-box; /* Include padding in element's total width and height */
|
|
}
|
|
|
|
.header-container {
|
|
text-align: center;
|
|
padding: 20px;
|
|
background-color: white;
|
|
border-radius: 8px;
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
|
|
margin-bottom: 20px;
|
|
width: 90%; /* Adjust width */
|
|
max-width: 800px; /* Max width for header */
|
|
}
|
|
|
|
h1 {
|
|
color: #0b2d48;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
p {
|
|
font-size: 1rem;
|
|
color: #555;
|
|
margin: 5px 0;
|
|
}
|
|
|
|
code {
|
|
background-color: #e8e8e8;
|
|
padding: 3px 8px;
|
|
border-radius: 4px;
|
|
font-family: "Courier New", Courier, monospace;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
#node-grid-container {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); /* Responsive grid */
|
|
gap: 15px; /* Space between grid items */
|
|
width: 90%; /* Adjust width */
|
|
max-width: 1200px; /* Max width for grid */
|
|
padding: 20px;
|
|
background-color: white;
|
|
border-radius: 8px;
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.loading-message {
|
|
grid-column: 1 / -1; /* Span across all columns */
|
|
text-align: center;
|
|
font-style: italic;
|
|
color: #888;
|
|
}
|
|
|
|
.node-cell {
|
|
border: 1px solid #ddd;
|
|
border-radius: 6px;
|
|
padding: 15px;
|
|
text-align: center;
|
|
font-size: 0.9rem;
|
|
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
|
|
transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.1s ease;
|
|
cursor: pointer;
|
|
position: relative; /* For tooltip positioning */
|
|
overflow: hidden; /* Hide overflow for truncated UUID */
|
|
}
|
|
|
|
.node-cell:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.node-uuid {
|
|
font-weight: bold;
|
|
margin-bottom: 5px;
|
|
color: #333;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis; /* Truncate long UUIDs */
|
|
}
|
|
|
|
.node-status-text {
|
|
font-size: 0.8rem;
|
|
color: #666;
|
|
}
|
|
|
|
/* Health Status Colors */
|
|
.node-healthy {
|
|
background-color: #e6ffe6; /* Light green */
|
|
border-color: #4CAF50; /* Green */
|
|
}
|
|
|
|
.node-warning {
|
|
background-color: #fffacd; /* Light yellow */
|
|
border-color: #FFC107; /* Orange */
|
|
}
|
|
|
|
.node-critical {
|
|
background-color: #ffe6e6; /* Light red */
|
|
border-color: #F44336; /* Red */
|
|
}
|
|
|
|
.node-unknown {
|
|
background-color: #f0f0f0; /* Light gray */
|
|
border-color: #9E9E9E; /* Gray */
|
|
}
|
|
|
|
/* Tooltip styles */
|
|
.node-tooltip {
|
|
visibility: hidden;
|
|
opacity: 0;
|
|
width: 200px;
|
|
background-color: #333;
|
|
color: #fff;
|
|
text-align: left;
|
|
border-radius: 6px;
|
|
padding: 10px;
|
|
position: absolute;
|
|
z-index: 1;
|
|
bottom: 100%; /* Position above the node cell */
|
|
left: 50%;
|
|
margin-left: -100px; /* Center the tooltip */
|
|
transition: opacity 0.3s;
|
|
font-size: 0.8rem;
|
|
white-space: normal; /* Allow text to wrap */
|
|
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
|
|
}
|
|
|
|
.node-tooltip::after {
|
|
content: " ";
|
|
position: absolute;
|
|
top: 100%; /* At the bottom of the tooltip */
|
|
left: 50%;
|
|
margin-left: -5px;
|
|
border-width: 5px;
|
|
border-style: solid;
|
|
border-color: #333 transparent transparent transparent;
|
|
}
|
|
|
|
.node-cell:hover .node-tooltip {
|
|
visibility: visible;
|
|
opacity: 1;
|
|
}
|
|
|
|
.node-tooltip p {
|
|
margin: 2px 0;
|
|
color: #eee;
|
|
} |