This commit is contained in:
Eduardo Figueroa 2025-09-04 21:42:18 -07:00
parent 0718fdd01f
commit 94d6a54154
2 changed files with 179 additions and 139 deletions

View file

@ -59,22 +59,21 @@ body {
flex-direction: column; flex-direction: column;
gap: 15px; gap: 15px;
margin: 30px 0; margin: 30px 0;
}
.username-form input { & input {
padding: 15px; padding: 15px;
border: 2px solid #e1e8ed; border: 2px solid #e1e8ed;
border-radius: 8px; border-radius: 8px;
font-size: 16px; font-size: 16px;
transition: border-color 0.3s; transition: border-color 0.3s;
}
.username-form input:focus { &:focus {
outline: none; outline: none;
border-color: #667eea; border-color: #667eea;
} }
}
.username-form button, .btn { & button {
background: linear-gradient(45deg, #667eea, #764ba2); background: linear-gradient(45deg, #667eea, #764ba2);
color: white; color: white;
padding: 15px 20px; padding: 15px 20px;
@ -86,23 +85,42 @@ body {
text-decoration: none; text-decoration: none;
display: inline-block; display: inline-block;
text-align: center; text-align: center;
&:hover {
transform: translateY(-2px);
}
}
} }
.username-form button:hover, .btn:hover { .btn {
background: linear-gradient(45deg, #667eea, #764ba2);
color: white;
padding: 15px 20px;
border: none;
border-radius: 8px;
font-size: 16px;
cursor: pointer;
transition: transform 0.2s;
text-decoration: none;
display: inline-block;
text-align: center;
&:hover {
transform: translateY(-2px); transform: translateY(-2px);
} }
}
.example { .example {
color: #666; color: #666;
font-size: 14px; font-size: 14px;
}
.example code { & code {
background: #f8f9fa; background: #f8f9fa;
padding: 2px 6px; padding: 2px 6px;
border-radius: 4px; border-radius: 4px;
font-family: monospace; font-family: monospace;
} }
}
/* Dashboard header */ /* Dashboard header */
.dashboard-header { .dashboard-header {
@ -116,12 +134,12 @@ body {
align-items: center; align-items: center;
flex-wrap: wrap; flex-wrap: wrap;
gap: 15px; gap: 15px;
}
.dashboard-header h1 { & h1 {
color: #2c3e50; color: #2c3e50;
font-size: 1.8rem; font-size: 1.8rem;
} }
}
.week-nav { .week-nav {
display: flex; display: flex;
@ -136,11 +154,11 @@ body {
border-radius: 6px; border-radius: 6px;
text-decoration: none; text-decoration: none;
transition: background 0.2s; transition: background 0.2s;
}
.week-btn:hover { &:hover {
background: #e9ecef; background: #e9ecef;
} }
}
.current-week { .current-week {
font-weight: bold; font-weight: bold;
@ -163,17 +181,22 @@ body {
align-items: center; align-items: center;
padding: 8px 0; padding: 8px 0;
border-bottom: 1px solid #f1f3f4; border-bottom: 1px solid #f1f3f4;
}
.score-row:last-child { &:last-child {
border-bottom: none; border-bottom: none;
} }
}
.league-info { .league-info {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: 8px;
min-width: 140px; min-width: 140px;
& .league-dot {
width: 10px;
height: 10px;
}
} }
.league-name { .league-name {
@ -191,17 +214,6 @@ body {
flex-shrink: 0; flex-shrink: 0;
} }
/* Different sizes for different contexts */
.league-info .league-dot {
width: 10px;
height: 10px;
}
.player-pill .league-dot {
width: 6px;
height: 6px;
}
.score-compact { .score-compact {
display: flex; display: flex;
align-items: center; align-items: center;
@ -235,14 +247,14 @@ body {
/* Schedule section - main focus */ /* Schedule section - main focus */
.schedule-section { .schedule-section {
flex: 1; flex: 1;
}
.schedule-section h2 { & h2 {
color: white; color: white;
margin-bottom: 25px; margin-bottom: 25px;
font-size: 1.8rem; font-size: 1.8rem;
text-align: center; text-align: center;
} }
}
.calendar-rows { .calendar-rows {
max-width: 1200px; max-width: 1200px;
@ -262,13 +274,13 @@ body {
background: linear-gradient(45deg, #667eea, #764ba2); background: linear-gradient(45deg, #667eea, #764ba2);
color: white; color: white;
padding: 15px 20px; padding: 15px 20px;
}
.day-header h3 { & h3 {
margin: 0; margin: 0;
font-size: 1.2rem; font-size: 1.2rem;
font-weight: 600; font-weight: 600;
} }
}
.day-games { .day-games {
padding: 20px; padding: 20px;
@ -284,12 +296,12 @@ body {
padding: 15px; padding: 15px;
border: 1px solid #e9ecef; border: 1px solid #e9ecef;
transition: all 0.2s ease; transition: all 0.2s ease;
}
.game-card:hover { &:hover {
transform: translateY(-2px); transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
} }
}
.game-info { .game-info {
margin-bottom: 12px; margin-bottom: 12px;
@ -321,16 +333,30 @@ body {
font-size: 12px; font-size: 12px;
} }
/* Player pills in calendar */ /* Game players section with league groups */
.game-players { .game-players {
display: flex; display: flex;
flex-wrap: wrap; flex-direction: column;
gap: 6px; gap: 8px;
justify-content: center;
margin-top: 12px; margin-top: 12px;
min-height: 24px;
} }
.league-player-group {
display: flex;
flex-wrap: wrap;
gap: 4px;
padding: 6px;
background: rgba(255, 255, 255, 0.6);
border-radius: 8px;
min-height: 28px;
& .player-pill {
padding: 3px 6px;
font-size: 10px;
}
}
/* Player pills */
.player-pill { .player-pill {
display: flex; display: flex;
align-items: center; align-items: center;
@ -342,46 +368,51 @@ body {
background: white; background: white;
font-weight: 500; font-weight: 500;
transition: all 0.2s ease; transition: all 0.2s ease;
}
.player-pill:hover { &:hover {
transform: scale(1.05); transform: scale(1.05);
} }
.player-pill .pos { & .pos {
font-weight: bold; font-weight: bold;
font-size: 9px; font-size: 9px;
opacity: 0.8; opacity: 0.8;
} }
.player-pill .name { & .name {
font-weight: 600; font-weight: normal;
color: black;
} }
/* Position colors for pills */ & .league-dot {
.player-pill.qb { display: none;
}
/* Position colors */
&.qb {
border-color: rgb(252, 43, 109); border-color: rgb(252, 43, 109);
background: rgba(252, 43, 109, 0.1); background: rgba(252, 43, 109, 0.1);
color: rgb(252, 43, 109); color: rgb(252, 43, 109);
} }
.player-pill.rb { &.rb {
border-color: rgb(0, 206, 184); border-color: rgb(0, 206, 184);
background: rgba(0, 206, 184, 0.1); background: rgba(0, 206, 184, 0.1);
color: rgb(0, 206, 184); color: rgb(0, 206, 184);
} }
.player-pill.wr { &.wr {
border-color: rgb(0, 186, 255); border-color: rgb(0, 186, 255);
background: rgba(0, 186, 255, 0.1); background: rgba(0, 186, 255, 0.1);
color: rgb(0, 186, 255); color: rgb(0, 186, 255);
} }
.player-pill.te { &.te {
border-color: rgb(255, 174, 88); border-color: rgb(255, 174, 88);
background: rgba(255, 174, 88, 0.1); background: rgba(255, 174, 88, 0.1);
color: rgb(255, 174, 88); color: rgb(255, 174, 88);
} }
}
.no-games-week { .no-games-week {
text-align: center; text-align: center;
@ -419,18 +450,18 @@ body {
max-width: 500px; max-width: 500px;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
}
.error-container h1 { & h1 {
color: #e74c3c; color: #e74c3c;
margin-bottom: 20px; margin-bottom: 20px;
} }
.error-container p { & p {
color: #666; color: #666;
margin-bottom: 30px; margin-bottom: 30px;
line-height: 1.6; line-height: 1.6;
} }
}
/* Mobile responsive styles */ /* Mobile responsive styles */
@media (max-width: 768px) { @media (max-width: 768px) {
@ -471,15 +502,17 @@ body {
.day-header { .day-header {
padding: 12px 15px; padding: 12px 15px;
}
.day-header h3 { & h3 {
font-size: 1.1rem; font-size: 1.1rem;
} }
}
.schedule-section h2 { .schedule-section {
& h2 {
font-size: 1.5rem; font-size: 1.5rem;
} }
}
.welcome-container { .welcome-container {
margin-top: 50px; margin-top: 50px;
@ -494,13 +527,13 @@ body {
@media (max-width: 480px) { @media (max-width: 480px) {
.username-form { .username-form {
gap: 12px; gap: 12px;
}
.username-form input, & input,
.username-form button { & button {
padding: 12px; padding: 12px;
font-size: 14px; font-size: 14px;
} }
}
.week-nav { .week-nav {
flex-direction: column; flex-direction: column;

View file

@ -70,19 +70,26 @@
</div> </div>
</div> </div>
<!-- Show user's players in this game --> <!-- Show user's players in this game, grouped by league -->
<div class="game-players"> <div class="game-players">
{% for league_info in league_data %} {% for league_info in league_data %}
{% set players_in_game = [] %}
{% for player in league_info.all_players %} {% for player in league_info.all_players %}
{% if player.team in game.teams %} {% if player.team in game.teams %}
{% set _ = players_in_game.append(player) %}
{% endif %}
{% endfor %}
{% if players_in_game %}
<div class="league-player-group" style="border-left: 3px solid {{ league_info.league_color }};">
{% for player in players_in_game %}
<div class="player-pill {{ player.fantasy_positions[0]|lower if player.fantasy_positions else 'flex' }}"> <div class="player-pill {{ player.fantasy_positions[0]|lower if player.fantasy_positions else 'flex' }}">
<!-- League color dot -->
<span class="league-dot" style="background-color: {{ league_info.league_color }};"></span>
<span class="pos">{{ player.fantasy_positions[0] if player.fantasy_positions else 'FLEX' }}</span> <span class="pos">{{ player.fantasy_positions[0] if player.fantasy_positions else 'FLEX' }}</span>
<span class="name">{{ player.last_name }}</span> <span class="name">{{ player.last_name }}</span>
</div> </div>
{% endif %}
{% endfor %} {% endfor %}
</div>
{% endif %}
{% endfor %} {% endfor %}
</div> </div>
</div> </div>