mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-04-25 15:56:19 -05:00
* Got something going * Style overwrites * width != height * More playing with lines * Migrations * Start bracket initial * Unhardcode stage generation params * Link to match page * Matches page initial * Support directly adding seed to map list generator * Add docs * Maps in matches page * Add invariant about tie breaker map pool * Fix PICNIC lacking tie breaker maps * Only link in bracket when tournament has started * Styled tournament roster inputs * Prefer IGN in tournament match page * ModeProgressIndicator * Some conditional rendering * Match action initial + better error display * Persist bestOf in DB * Resolve best of ahead of time * Move brackets-manager to core * Score reporting works * Clear winner on score report * ModeProgressIndicator: highlight winners * Fix inconsistent input * Better text when submitting match * mapCountPlayedInSetWithCertainty that works * UNDO_REPORT_SCORE implemented * Permission check when starting tournament * Remove IGN from upsert * View match results page * Source in DB * Match page waiting for teams * Move tournament bracket to feature folder * REOPEN_MATCH initial * Handle proper resetting of match * Inline bracket-manager * Syncify * Transactions * Handle match is locked gracefully * Match page auto refresh * Fix match refresh called "globally" * Bracket autoupdate * Move fillWithNullTillPowerOfTwo to utils with testing * Fix map lists not visible after tournament started * Optimize match events * Show UI while in progress to members * Fix start tournament alert not being responsive * Teams can check in * Fix map list 400 * xxx -> TODO * Seeds page * Remove map icons for team page * Don't display link to seeds after tournament has started * Admin actions initial * Change captain admin action * Make all hooks ts * Admin actions functioning * Fix validate error not displaying in CatchBoundary * Adjust validate args order * Remove admin loader * Make delete team button menancing * Only include checked in teams to bracket * Optimize to.id route loads * Working show map list generator toggle * Update full tournaments flow * Make full tournaments work with many start times * Handle undefined in crud * Dynamic stage banner * Handle default strat if map list generation fails * Fix crash on brackets if less than 2 teams * Add commented out test for reference * Add TODO * Add players from team during register * TrustRelationship * Prefers not to host feature * Last before merge * Rename some vars * More renames
243 lines
5.4 KiB
CSS
243 lines
5.4 KiB
CSS
.tournament-bracket__start-bracket-alert {
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.tournament-bracket__infos {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-bottom: var(--s-4);
|
|
background: var(--bg-lighter);
|
|
border-end-end-radius: var(--rounded);
|
|
border-end-start-radius: var(--rounded);
|
|
color: var(--tournaments-text);
|
|
column-gap: var(--s-8);
|
|
font-size: var(--fonts-xs);
|
|
}
|
|
|
|
.tournament-bracket__infos__label {
|
|
margin-block-end: 0;
|
|
}
|
|
|
|
.tournament-bracket__infos__value > button {
|
|
font-size: var(--fonts-xxs);
|
|
}
|
|
|
|
.tournament-bracket__stage-banner {
|
|
display: flex;
|
|
width: 100%;
|
|
height: 10rem;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
background-image: var(--_tournament-bg-url);
|
|
background-position: center;
|
|
border-start-end-radius: var(--rounded);
|
|
border-start-start-radius: var(--rounded);
|
|
grid-area: img;
|
|
background-repeat: no-repeat;
|
|
background-size: cover;
|
|
}
|
|
|
|
.tournament-bracket__stage-banner__top-bar {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: var(--s-2);
|
|
|
|
/* TODO: add fallback from Firefox */
|
|
backdrop-filter: blur(5px);
|
|
background: rgb(0 0 0 / 25%);
|
|
border-start-end-radius: var(--rounded);
|
|
border-start-start-radius: var(--rounded);
|
|
}
|
|
|
|
.tournament-bracket__stage-banner__bottom-bar {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
padding: var(--s-2);
|
|
}
|
|
|
|
.tournament-bracket__stage-banner__undo-button {
|
|
border: 0;
|
|
background-color: var(--theme-error-semi-transparent);
|
|
color: var(--text);
|
|
font-size: var(--fonts-xxs);
|
|
padding-block: var(--s-1);
|
|
padding-inline: var(--s-2);
|
|
}
|
|
|
|
.tournament-bracket__stage-banner__top-bar__header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: var(--s-2);
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions {
|
|
display: grid;
|
|
grid-template-areas:
|
|
"img"
|
|
"infos"
|
|
"rosters";
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__actions {
|
|
display: flex;
|
|
justify-content: center;
|
|
color: var(--theme-warning);
|
|
margin-block-start: var(--s-6);
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__amount-warning-paragraph {
|
|
display: flex;
|
|
align-items: center;
|
|
text-align: center;
|
|
font-size: var(--fonts-xs);
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__confirm-score-text {
|
|
font-size: var(--fonts-xs);
|
|
color: var(--text);
|
|
text-align: center;
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__rosters {
|
|
display: flex;
|
|
width: 100%;
|
|
flex-wrap: wrap;
|
|
justify-content: space-evenly;
|
|
row-gap: var(--s-4);
|
|
text-align: center;
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__radio-container {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__team-players {
|
|
display: flex;
|
|
width: 15rem;
|
|
flex-direction: column;
|
|
margin-top: var(--s-3);
|
|
gap: var(--s-2);
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__checkbox-name {
|
|
display: flex;
|
|
width: 100%;
|
|
align-items: center;
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__checkbox-name:not(
|
|
.disabled-opaque
|
|
):not(.presentational):hover {
|
|
border-radius: var(--rounded);
|
|
cursor: pointer;
|
|
outline: 2px solid var(--theme-transparent);
|
|
outline-offset: 2px;
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__checkbox {
|
|
width: 50% !important;
|
|
height: 1.5rem !important;
|
|
appearance: none;
|
|
background-color: var(--theme-transparent);
|
|
border-end-start-radius: var(--rounded);
|
|
border-start-start-radius: var(--rounded);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__checkbox:checked {
|
|
background-color: var(--theme);
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__checkbox::after {
|
|
display: flex;
|
|
width: 100%;
|
|
height: 100%;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--text-lighter);
|
|
content: "Didn't play";
|
|
font-size: var(--fonts-xxs);
|
|
font-weight: var(--bold);
|
|
letter-spacing: var(--sparse);
|
|
padding-block-end: 1px;
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__checkbox:checked::after {
|
|
color: var(--button-text);
|
|
content: "Played";
|
|
}
|
|
|
|
.tournament-bracket__during-match-actions__player-name {
|
|
display: flex;
|
|
width: 50%;
|
|
height: 1.5rem;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin: 0;
|
|
background-color: var(--bg);
|
|
border-end-end-radius: var(--rounded);
|
|
border-start-end-radius: var(--rounded);
|
|
overflow-x: hidden;
|
|
text-overflow: ellipsis;
|
|
user-select: none;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.tournament-bracket__mode-progress {
|
|
display: flex;
|
|
margin-bottom: var(--s-4);
|
|
gap: var(--s-4);
|
|
justify-content: center;
|
|
}
|
|
|
|
.tournament-bracket__mode-progress__image {
|
|
background-color: var(--bg-lighter);
|
|
border-radius: 100%;
|
|
padding: var(--s-2-5);
|
|
outline: 2px solid var(--bg-lightest);
|
|
}
|
|
|
|
.tournament-bracket__mode-progress__image__notable {
|
|
background-color: var(--bg-lightest);
|
|
border: none;
|
|
outline: 2px solid var(--bg-lightest);
|
|
}
|
|
|
|
.tournament-bracket__mode-progress__image__team-one-win {
|
|
outline: 2px solid var(--theme);
|
|
}
|
|
|
|
.tournament-bracket__mode-progress__image__team-two-win {
|
|
outline: 2px solid var(--theme-secondary);
|
|
}
|
|
|
|
.tournament-bracket__mode-progress__image__selected {
|
|
background-color: var(--bg-lighter);
|
|
}
|
|
|
|
.tournament-bracket__team-one-dot {
|
|
border-radius: 100%;
|
|
background-color: var(--theme);
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
|
|
.tournament-bracket__team-two-dot {
|
|
border-radius: 100%;
|
|
background-color: var(--theme-secondary);
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
|
|
@media screen and (min-width: 480px) {
|
|
.tournament-bracket__infos {
|
|
flex-direction: row;
|
|
}
|
|
}
|