Files
peworkshop/app/(main)/stats/stats.module.css
T
2025-03-16 17:33:55 +00:00

244 lines
3.5 KiB
CSS

.container {
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #f4f4f4;
padding-bottom: 70px; /* Space for the navbar */
}
.header {
background-color: #68543c;
color: white;
padding: 20px;
text-align: center;
}
.title {
font-size: 1.5rem;
margin: 0 0 5px 0;
}
.teamName {
font-size: 1.2rem;
margin: 0;
font-weight: normal;
}
.statsCard {
background-color: white;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
margin: 20px;
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;
}