sendou.ink/app/styles/utils.css
Kalle e7bbb565be
SendouQ (#1455)
* Tables

* Clocks

* Maplist preference selector

* Fix SSR

* Nav icon

* RankedOrScrim

* Map pool

* Create group

* Redirect logic

* Persist map pool

* Advance from preparing page

* Rename query

* Fix merge

* Fix migration order

* Seed groups

* Find looking groups SQL

* Renders something

* More UI work

* Back to 30min

* Likes/dislikes

* Always return own group

* Fix like order

* 3 tc/rm/cb -> 2

* Show only 3 weapons

* Pass group size

* Handle both liked and liked by same group

* Fix SQL

* Group preference frontend work

* Morphing

* Styling

* Don't show group controls if not manager

* Give/remove manager

* Leave group

* Leave with confirm

* Delete likes when morphing groups

* Clocks consistency

* Remove bad invariant

* Persist settings to local storage

* Fix initial value flashing

* Fix never resolving loading indicator

* REFRESH_GROUP

* Flip animations

* Tweaks

* Auto refresh logic

* Groups of 4 seed

* Reduce throwing

* Load full groups initial

* Create match

* Match UI initial

* Score reporter initial

* Push footer down on match page

* Score reporter knows when set ended

* Score reporting untested

* Show score after report

* Align better

* Look again with same group functionality

* More migrations

* Team on match page

* Show confirmer before reporting score

* Report weapons

* Report weapos again by admin + skill changing

* Handle no tiebreaker given to MapPool

* Remove unranked

* Remove support for "team id skill"

* no-wrap -> nowrap

* Preparing page work

* Use common GroupCard component

* Add some metas

* MemberAdder in looking page

* Fix GroupCard actions

* Fix SZ only map list including other modes

* Add season info

* Prompt login

* Joining team

* Manage group on preparing page

* Manage group on preparing page

* Seed past matches

* Add to seed

* No map list preference when full group + fix expiry

* Fix skill matchesCount calculation

* Tiers initial work

* Some progress on tiers

* Tiering logic

* MMR in group cards

* Name to challenge

* Team MMR

* Big team rank icons

* Adjust todos

* Match score report with confirm

* Allow regular members to report score

* Handle reporting weapons edge cases

* Add tier images

* Improve GroupCard spacing

* Refactor looking page

* Looking mobile UI

* Calculate skill only for current season

* Divide groups visually when reporting weapons

* Fix match page weapons sorting

* Add cache to user skills+tier calculation

* Admin report match score

* Initial leaderboard

* Cached leaderboard

* Weapon category lb's

* Populate SkillTeamUser in SendouQ

* Team leaderboard filtered down

* Add TODOs

* Seasons initlal

* Season weapons initial

* Weapons stylized

* Show rest weapons as +

* Hide peak if same as current

* Load matches SQL initial

* Season matches UI initial

* Take user id in account

* Add weapons

* Paginated matches

* Fix pages count logic

* Scroll top on data change

* Day headers for matches

* Link from user page to user seasons page

* Summarize maps + ui initial

* Map stats

* Player info tabs

* MMR chart

* Chart adjustments

* Handle basing team MMR on player MMR

* Set initial MMR

* Add info about discord to match page

* Season support to tournaments

* Get tournament skills as well for the graph

* WIP

* New team rating logic + misc other

* tiered -> tiered.server

* Update season starting time

* TODOs

* Add rules page

* Hide elements correctly when off-season

* Fix crash when only one player with skill

* How-to video

* Fix StartRank showing when not logged in

* Make user leaderboard the default

* Make Skill season non-nullable

* Add suggested pass to match

* Add rule

* identifierToUserIds helper

* Fix tiers not showing
2023-08-12 22:42:54 +03:00

346 lines
3.8 KiB
CSS

.text-xl {
font-size: var(--fonts-xl);
}
.text-lg {
font-size: var(--fonts-lg);
}
.text-sm {
font-size: var(--fonts-sm);
}
.text-xs {
font-size: var(--fonts-xs);
}
.text-xxs {
font-size: var(--fonts-xxs);
}
.text-center {
text-align: center;
}
.text-main-forced {
color: var(--text) !important;
}
.text-lighter {
color: var(--text-lighter);
}
.text-error {
color: var(--theme-error);
}
.text-success {
color: var(--theme-success);
}
.text-info {
color: var(--theme-info);
}
.text-warning {
color: var(--theme-warning);
}
.text-theme {
color: var(--theme);
}
.text-theme-secondary {
color: var(--theme-secondary);
}
.text-uppercase {
text-transform: uppercase;
}
.text-capitalize {
text-transform: capitalize;
}
.fill-success {
fill: var(--theme-success);
}
.fill-warning {
fill: var(--theme-warning);
}
.fill-error {
fill: var(--theme-error);
}
.bg-transparent-important {
background-color: transparent !important;
}
.bg-darker-transparent {
background-color: var(--bg-darker-transparent);
}
.rounded {
border-radius: var(--rounded);
}
.rounded-sm {
border-radius: var(--rounded-sm);
}
.rounded-full {
border-radius: 100%;
}
.font-body {
font-weight: var(--body);
}
.font-semi-bold {
font-weight: var(--semi-bold);
}
.font-bold {
font-weight: var(--bold);
}
.w-full {
width: 100%;
}
.w-full-important {
width: 100% !important;
}
.w-4 {
width: var(--s-4);
}
.w-24 {
width: var(--s-24);
}
.w-max {
width: max-content;
}
.px-4 {
padding-inline: var(--s-4);
}
.py-4 {
padding-block: var(--s-4);
}
.pl-4 {
padding-inline-start: var(--s-4);
}
.px-2 {
padding-inline: var(--s-2);
}
.pb-4 {
padding-block-end: var(--s-4);
}
.pt-12-forced {
padding-block-start: var(--s-12) !important;
}
.m-auto-0 {
margin: auto 0;
}
.mt-auto {
margin-block-start: auto;
}
.mt-0 {
margin-block-start: var(--s-0);
}
.mt-1 {
margin-block-start: var(--s-1);
}
.mt-2 {
margin-block-start: var(--s-2);
}
.mt-3 {
margin-block-start: var(--s-3);
}
.mt-4 {
margin-block-start: var(--s-4);
}
.mt-6 {
margin-block-start: var(--s-6);
}
.mb-0 {
margin-block-end: 0;
}
.mb-1 {
margin-block-end: var(--s-1);
}
.mb-2 {
margin-block-end: var(--s-2);
}
.mb-4 {
margin-block-end: var(--s-4);
}
.ml-auto {
margin-inline-start: auto;
}
.ml-2 {
margin-inline-start: var(--s-2);
}
.ml-4 {
margin-inline-start: var(--s-4);
}
.mr-auto {
margin-inline-end: auto;
}
.mx-auto {
margin: 0 auto;
}
.mx-2 {
margin-inline: var(--s-2);
}
.my-2 {
margin-block: var(--s-2);
}
.my-3 {
margin-block: var(--s-3);
}
.my-4 {
margin-block: var(--s-4);
}
.m-0-auto {
margin: 0 auto;
}
.hidden {
display: none;
}
.invisible {
visibility: hidden;
}
.whitespace-pre-wrap {
white-space: pre-wrap;
}
.whitespace-nowrap {
white-space: nowrap;
}
.flex {
display: flex;
}
.items-center {
align-items: center;
}
.items-start {
align-items: flex-start;
}
.items-end {
align-items: flex-end;
}
.justify-center {
justify-content: center;
}
.justify-end {
justify-content: flex-end;
}
.justify-between {
justify-content: space-between;
}
.justify-self-end {
justify-self: flex-end;
}
.justify-self-center {
justify-self: center;
}
.self-center {
align-self: center;
}
.self-start {
align-self: flex-start;
}
.justify-self-start {
justify-self: flex-start;
}
.flex-wrap {
flex-wrap: wrap;
}
.all-unset {
all: unset;
}
.outline-theme:focus {
outline: 2px solid var(--theme);
}
.label-no-spacing {
--label-margin: 0;
}
.mobile-hidden {
display: none;
}
.desktop-hidden {
display: inherit;
}
.cursor-pointer {
cursor: pointer;
}
.line-height-tight {
line-height: 1.3;
}
@media screen and (min-width: 480px) {
.mobile-hidden {
display: inherit;
}
.desktop-hidden {
display: none;
}
}