Files
peworkshop/app/(main)/stats/stats.module.css
T
bobbert 8d0bca1d87 fixed a bunch of styling and component usage
made sure almost all viewer pages use the navbar component properly instead of using their hardcoded version, started to match the styling of the design for a lot of pages
2025-03-23 14:33:53 +00:00

246 lines
3.5 KiB
CSS

.container {
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #f4f4f4;
padding-bottom: 70px; /* Space for navbar */
}
/* Remove the header styles since we're using a custom banner */
/*
.header {
background-color: #68543c;
color: white;
padding: 1rem;
text-align: center;
}
.title {
margin: 0;
font-size: 1.5rem;
}
.teamName {
font-size: 1.25rem;
margin: 0.5rem 0 0;
}
*/
.statsCard {
background-color: white;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
margin: 1rem;
overflow: hidden;
}
.summaryStats {
padding: 20px;
border-bottom: 1px solid #eee;
}
.statItem {
display: flex;
justify-content: space-between;
padding: 10px 0;
border-bottom: 1px solid #f0f0f0;
}
.statItem:last-child {
border-bottom: none;
}
.rankItem {
font-weight: bold;
color: #68543c;
margin-top: 10px;
padding-top: 10px;
border-top: 2px dashed #eee;
}
.statLabel {
color: #555;
}
.statValue {
font-weight: bold;
}
.collapsibleSection {
overflow: hidden;
}
.collapsibleButton {
width: 100%;
padding: 15px 20px;
text-align: left;
background-color: #f5f5f5;
border: none;
outline: none;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 1rem;
font-weight: 600;
color: #333;
transition: background-color 0.2s;
}
.collapsibleButton:hover {
background-color: #e9e9e9;
}
.collapsibleTitle {
display: flex;
align-items: center;
}
.collapsibleIcon {
font-size: 0.8rem;
transition: transform 0.3s ease;
}
.cluesList {
padding: 0;
}
.clueItem {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 20px;
border-bottom: 1px solid #f0f0f0;
}
.clueItem:last-child {
border-bottom: none;
}
.clueTitle {
flex: 1;
font-size: 0.95rem;
}
.clueTimestamp {
color: #888;
font-size: 0.85rem;
}
.emptyMessage {
padding: 20px;
text-align: center;
color: #888;
font-style: italic;
}
/* Loading state */
.loadingSpinner {
border: 4px solid rgba(0, 0, 0, 0.1);
border-radius: 50%;
border-top: 4px solid #68543c;
width: 40px;
height: 40px;
animation: spin 1s linear infinite;
margin: 50px auto 20px;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.loadingText {
text-align: center;
color: #555;
}
/* Error state */
.errorContainer {
margin: 40px 20px;
background-color: #fff3f3;
border: 1px solid #ffcdd2;
border-radius: 8px;
padding: 20px;
text-align: center;
}
.errorTitle {
color: #d32f2f;
margin-top: 0;
}
.buttonContainer {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 20px;
}
.retryButton,
.teamButton {
padding: 8px 16px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 0.9rem;
}
.retryButton {
background-color: #68543c;
color: white;
}
.teamButton {
background-color: #4caf50;
color: white;
}
.noData {
text-align: center;
padding: 40px 0;
color: #888;
}
/* Navigation Bar */
.navBar {
display: flex;
justify-content: space-around;
background-color: white;
border-top: 1px solid #ddd;
padding: 10px 0;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
box-sizing: border-box;
z-index: 100;
}
.navItem {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
color: #666;
flex: 1;
padding: 8px 0;
}
.navIcon {
font-size: 22px;
margin-bottom: 3px;
}
.navLabel {
font-size: 12px;
}
.navItem.active {
color: #68543c;
}