Skip to content

Commit 72ee322

Browse files
authored
Merge pull request #2271 from hexlet-codebattle/codex/tournament-description-validation
Refactor achievements
2 parents 2805297 + 4499046 commit 72ee322

33 files changed

+1676
-427
lines changed

TOURNAMENTS_EN.md

Lines changed: 0 additions & 35 deletions
This file was deleted.

TOURNAMENTS_RU.md

Lines changed: 0 additions & 35 deletions
This file was deleted.

services/app/apps/codebattle/assets/css/custom.scss

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,113 @@
246246
color: #cbd5e1 !important;
247247
}
248248

249+
.cb-season-leaderboard-filters {
250+
background: linear-gradient(180deg, rgba(16, 22, 34, 0.82) 0%, rgba(14, 19, 29, 0.94) 100%);
251+
}
252+
253+
.cb-season-leaderboard-filters .cb-season-filter-label {
254+
color: #a8b2c2 !important;
255+
font-size: 0.72rem;
256+
font-weight: 600;
257+
letter-spacing: 0.04em;
258+
text-transform: uppercase;
259+
}
260+
261+
.cb-season-leaderboard-filters .cb-season-filter-input-group {
262+
border-radius: 999px;
263+
overflow: hidden;
264+
box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.28);
265+
transition: box-shadow 0.2s ease;
266+
}
267+
268+
.cb-season-leaderboard-filters .cb-season-filter-input-group:focus-within {
269+
box-shadow: 0 0 0 0.2rem rgba(52, 180, 254, 0.2), inset 0 0 0 1px rgba(52, 180, 254, 0.45);
270+
}
271+
272+
.cb-season-leaderboard-filters .cb-season-filter-prefix {
273+
border: 0 !important;
274+
background-color: rgba(32, 42, 60, 0.9) !important;
275+
color: #8ea2be !important;
276+
padding: 0 0.8rem;
277+
}
278+
279+
.cb-season-leaderboard-filters .cb-season-filter-control {
280+
min-height: 2.25rem;
281+
padding: 0.45rem 0.85rem;
282+
border-radius: 999px !important;
283+
border-color: rgba(148, 163, 184, 0.3) !important;
284+
background-color: rgba(22, 29, 43, 0.94) !important;
285+
color: #f1f5f9 !important;
286+
font-size: 0.86rem;
287+
transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
288+
}
289+
290+
.cb-season-leaderboard-filters select.cb-season-filter-control {
291+
padding-left: 1rem !important;
292+
padding-inline-start: 1rem !important;
293+
padding-right: 2.25rem !important;
294+
background-position: right 0.8rem center;
295+
text-indent: 0.1rem;
296+
}
297+
298+
.cb-season-leaderboard-filters .cb-season-filter-control::placeholder {
299+
color: #7f8ea3;
300+
}
301+
302+
.cb-season-leaderboard-filters .cb-season-filter-control:hover {
303+
border-color: rgba(148, 163, 184, 0.5) !important;
304+
background-color: rgba(28, 36, 52, 0.96) !important;
305+
}
306+
307+
.cb-season-leaderboard-filters .cb-season-filter-control:focus {
308+
border-color: rgba(52, 180, 254, 0.65) !important;
309+
box-shadow: 0 0 0 0.2rem rgba(52, 180, 254, 0.18);
310+
background-color: rgba(28, 36, 52, 0.98) !important;
311+
}
312+
313+
.cb-season-leaderboard-filters .cb-season-filter-input-group .cb-season-filter-control {
314+
padding: 0.45rem 0.85rem;
315+
border: 0 !important;
316+
border-radius: 0 !important;
317+
}
318+
319+
.cb-season-leaderboard-filters .cb-season-filter-clear-btn {
320+
border: 0;
321+
background-color: rgba(32, 42, 60, 0.9);
322+
color: #cbd5e1;
323+
padding: 0 0.8rem;
324+
display: inline-flex;
325+
align-items: center;
326+
}
327+
328+
.cb-season-leaderboard-filters .cb-season-filter-clear-btn:hover,
329+
.cb-season-leaderboard-filters .cb-season-filter-clear-btn:focus {
330+
color: #fff;
331+
background-color: rgba(52, 180, 254, 0.36);
332+
}
333+
334+
.cb-season-leaderboard-filters .cb-season-filter-reset-btn {
335+
min-height: 2.25rem;
336+
border-radius: 999px;
337+
border-color: rgba(148, 163, 184, 0.36);
338+
color: #c8d3e2;
339+
background-color: rgba(22, 29, 43, 0.9);
340+
}
341+
342+
.cb-season-leaderboard-filters .cb-season-filter-reset-btn:hover,
343+
.cb-season-leaderboard-filters .cb-season-filter-reset-btn:focus {
344+
border-color: rgba(52, 180, 254, 0.64);
345+
color: #fff;
346+
background-color: rgba(52, 180, 254, 0.26);
347+
}
348+
349+
@media (max-width: 767.98px) {
350+
.cb-season-leaderboard-filters {
351+
padding-top: 1rem !important;
352+
padding-bottom: 1rem !important;
353+
}
354+
}
355+
249356
.cb-custom-event-pagination-page-item:first-child
250357
.cb-custom-event-pagination-page-link,
251358
.cb-custom-event-pagination-page-item:nth-child(2)

services/app/apps/codebattle/assets/css/style.scss

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,110 @@ a {
705705
overflow: hidden;
706706
}
707707

708+
.cb-achievement-badge {
709+
width: 86px;
710+
min-height: 50px;
711+
border-radius: 8px;
712+
border: 1px solid rgba(255, 255, 255, 0.15);
713+
padding: 5px 6px;
714+
display: flex;
715+
flex-direction: column;
716+
justify-content: space-between;
717+
align-items: center;
718+
color: #171720;
719+
font-size: 9px;
720+
line-height: 1.1;
721+
text-align: center;
722+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
723+
}
724+
725+
.cb-achievement-badge__label {
726+
font-weight: 700;
727+
text-transform: uppercase;
728+
letter-spacing: 0.02em;
729+
font-size: 8px;
730+
white-space: nowrap;
731+
overflow: hidden;
732+
width: 100%;
733+
}
734+
735+
.cb-achievement-badge__value {
736+
font-weight: 900;
737+
font-size: 15px;
738+
line-height: 1;
739+
display: flex;
740+
align-items: center;
741+
justify-content: center;
742+
min-height: 15px;
743+
}
744+
745+
.cb-achievement-badge__icons {
746+
display: flex;
747+
flex-wrap: wrap;
748+
justify-content: center;
749+
gap: 3px;
750+
min-height: 12px;
751+
}
752+
753+
.cb-achievement-badge__grade-icon {
754+
display: flex;
755+
align-items: center;
756+
justify-content: center;
757+
width: 100%;
758+
margin: auto 0;
759+
}
760+
761+
.cb-achievements-grid {
762+
display: grid;
763+
grid-template-columns: repeat(3, max-content);
764+
gap: 4px;
765+
justify-content: center;
766+
}
767+
768+
.cb-achievement-badge--gold {
769+
background: linear-gradient(145deg, color-mix(in srgb, var(--cb-grade-grand_slam), #fff 12%), var(--cb-grade-grand_slam));
770+
}
771+
772+
.cb-achievement-badge--silver {
773+
background: linear-gradient(145deg, color-mix(in srgb, var(--cb-grade-masters), #fff 12%), var(--cb-grade-masters));
774+
}
775+
776+
.cb-achievement-badge--bronze {
777+
background: linear-gradient(145deg, color-mix(in srgb, var(--cb-grade-elite), #fff 12%), var(--cb-grade-elite));
778+
}
779+
780+
.cb-achievement-badge--steel {
781+
background: linear-gradient(145deg, color-mix(in srgb, var(--cb-grade-challenger), #fff 12%), var(--cb-grade-challenger));
782+
}
783+
784+
.cb-achievement-badge--iron {
785+
background: linear-gradient(145deg, color-mix(in srgb, var(--cb-grade-rookie), #fff 12%), var(--cb-grade-rookie));
786+
}
787+
788+
.cb-achievement-badge--grade-rookie {
789+
background: linear-gradient(145deg, color-mix(in srgb, var(--cb-grade-rookie), #fff 12%), var(--cb-grade-rookie));
790+
}
791+
792+
.cb-achievement-badge--grade-challenger {
793+
background: linear-gradient(145deg, color-mix(in srgb, var(--cb-grade-challenger), #fff 12%), var(--cb-grade-challenger));
794+
}
795+
796+
.cb-achievement-badge--grade-pro {
797+
background: linear-gradient(145deg, color-mix(in srgb, var(--cb-grade-pro), #fff 12%), var(--cb-grade-pro));
798+
}
799+
800+
.cb-achievement-badge--grade-elite {
801+
background: linear-gradient(145deg, color-mix(in srgb, var(--cb-grade-elite), #fff 12%), var(--cb-grade-elite));
802+
}
803+
804+
.cb-achievement-badge--grade-masters {
805+
background: linear-gradient(145deg, color-mix(in srgb, var(--cb-grade-masters), #fff 12%), var(--cb-grade-masters));
806+
}
807+
808+
.cb-achievement-badge--grade-grand-slam {
809+
background: linear-gradient(145deg, color-mix(in srgb, var(--cb-grade-grand_slam), #fff 12%), var(--cb-grade-grand_slam));
810+
}
811+
708812
.cb-username {
709813
font-size: 27px;
710814
}

0 commit comments

Comments
 (0)