track down <i> tags without snabbdom helper; style <icon>s

This commit is contained in:
Thibault Duplessis
2026-05-07 10:53:27 +02:00
parent 50f1a607da
commit 83f14f12eb
73 changed files with 146 additions and 146 deletions
+1 -1
View File
@@ -8,7 +8,7 @@
padding: 0.4em 0.8em;
margin: 0;
i {
icon {
font-size: 1.5em;
margin-right: 0.4em;
}
+1 -1
View File
@@ -50,7 +50,7 @@ $clock-height: 20px;
font-size: 80%;
}
i {
icon {
font-size: 0.7em;
margin-inline-end: 0.4em;
color: $c-accent;
+1 -1
View File
@@ -44,7 +44,7 @@
background: rgba(56, 147, 232, 1);
}
.continue i::before {
.continue icon::before {
font-size: 2.5em;
margin-inline-end: 10px;
}
+1 -1
View File
@@ -36,7 +36,7 @@
&__side > div {
display: flex;
i,
icon,
strong {
flex: 0 1 6ch;
text-align: center;
+4 -4
View File
@@ -24,7 +24,7 @@
border-bottom: $border;
min-height: 3.5em;
i {
icon {
@extend %flex-center-center;
flex: 0 0 1.8em;
@@ -37,7 +37,7 @@
background: $c-primary;
color: $c-over;
i {
icon {
opacity: 0.9;
}
}
@@ -50,12 +50,12 @@
}
}
.todo i {
.todo icon {
background: $c-bad;
color: $c-over;
}
.done i {
.done icon {
background: $c-good;
}
}
+1 -1
View File
@@ -11,7 +11,7 @@
background: $c-primary;
color: $c-over;
i {
icon {
flex: 0 0 3.5em;
height: 3.5em;
margin-inline-end: 0.6rem;
+2 -2
View File
@@ -34,14 +34,14 @@ $c-study-button: $c-accent;
padding: 0 0.4em;
opacity: 0.8;
i::before {
icon::before {
font-size: 1.4em;
content: $licon-X;
color: $c-bad;
margin-inline-end: 0.2rem;
}
&.on i::before {
&.on icon::before {
content: $licon-Checkmark;
color: $c-good;
}
+1 -1
View File
@@ -90,7 +90,7 @@ $top-height: 3.2rem;
opacity: 0.6;
}
i {
icon {
display: block;
font-size: 180px;
opacity: 0.4;
+6 -6
View File
@@ -28,22 +28,22 @@
transition: 2.5s;
}
i {
icon {
font-size: 1.2em;
opacity: 0.5;
transition: 2.5s;
}
.contrib i {
.contrib icon {
opacity: 0.7;
}
.online i {
.online icon {
opacity: 0.8;
color: $c-good;
}
.online.contrib i {
.online.contrib icon {
opacity: 1;
}
@@ -66,7 +66,7 @@
.status.active {
transition: none;
i {
icon {
transition: none;
opacity: 1;
color: #fff;
@@ -85,7 +85,7 @@
.add {
@extend %roboto;
&:hover i {
&:hover icon {
color: $c-link;
opacity: 1;
transition: none;
+1 -1
View File
@@ -20,7 +20,7 @@
h2 {
margin-bottom: 0.5em;
i {
icon {
font-size: 0.6em;
&,
+1 -1
View File
@@ -171,7 +171,7 @@
font-size: 1.1em;
color: $c-font;
i {
icon {
margin-inline-start: auto;
color: $c-font-dimmer;
}
+3 -3
View File
@@ -3,7 +3,7 @@ import type { VNode } from 'snabbdom';
import perfIcons from 'lib/game/perfIcons';
import { displayLocale, numberFormat } from 'lib/i18n';
import * as licon from 'lib/licon';
import { bind, dataIcon, type MaybeVNode, type LooseVNodes, hl } from 'lib/view';
import { bind, dataIcon, type MaybeVNode, type LooseVNodes, hl, iconTag } from 'lib/view';
import type AnalyseCtrl from '../ctrl';
import { view as renderConfig } from './explorerConfig';
@@ -144,7 +144,7 @@ function showGameTable(ctrl: AnalyseCtrl, fen: FEN, title: string, games: Openin
hl(
'td',
game.speed &&
hl('i', { attrs: { title: ucfirst(game.speed), ...dataIcon(perfIcons[game.speed]) } }),
hl('icon', { attrs: { title: ucfirst(game.speed), ...dataIcon(perfIcons[game.speed]) } }),
),
]);
}),
@@ -225,7 +225,7 @@ const showEmpty = (ctrl: AnalyseCtrl, data?: OpeningData): VNode => {
const showGameEnd = (ctrl: AnalyseCtrl, title: string): VNode =>
hl('div.data.empty', [
hl('div.title', i18n.site.gameOver),
hl('div.message', [hl('i', { attrs: dataIcon(licon.InfoCircle) }), hl('h3', title), closeButton(ctrl)]),
hl('div.message', [iconTag(licon.InfoCircle), hl('h3', title), closeButton(ctrl)]),
]);
const openingTitle = (ctrl: AnalyseCtrl, data?: OpeningData) => {
+2 -2
View File
@@ -1,6 +1,6 @@
import * as licon from 'lib/licon';
import type { TreeNode } from 'lib/tree/types';
import { bind, dataIcon, hl, type VNode, spinnerVdom as spinner } from 'lib/view';
import { bind, hl, type VNode, spinnerVdom as spinner, iconTag } from 'lib/view';
import type AnalyseCtrl from '../ctrl';
import { renderIndexAndMove } from '../view/components';
@@ -14,7 +14,7 @@ const skipOrViewSolution = (ctrl: RetroCtrl): VNode =>
const jumpToNext = (ctrl: RetroCtrl): VNode =>
hl('a.half.continue', { hook: bind('click', ctrl.jumpToNext) }, [
hl('i', { attrs: dataIcon(licon.PlayTriangle) }),
iconTag(licon.PlayTriangle),
i18n.site.next,
]);
+1 -1
View File
@@ -606,7 +606,7 @@ function renderStreamerMenu(relay: RelayCtrl): VNode {
relay.streams.map(([id, info]) =>
hl('a.streamer.text', { attrs: { 'data-icon': licon.Mic, href: makeUrl(id) } }, [
info.name,
hl('i', info.lang),
hl('icon', info.lang),
]),
),
),
+2 -2
View File
@@ -422,7 +422,7 @@ h1 {
}
}
.coords i {
.coords icon {
margin: 0 0.4em;
&::before {
@@ -777,7 +777,7 @@ h1 {
color: $c-font-dim;
}
i {
icon {
font-size: 0.8em;
color: $c-bad;
text-align: center;
+3 -3
View File
@@ -42,17 +42,17 @@
transform: rotate(-45deg);
}
i {
icon {
color: $c-brag;
animation: 0.6s soft-hue ease-in-out infinite;
text-shadow: 0 -0.5px 1px rgba(0, 0, 0, 0.5);
}
i:nth-child(2) {
icon:nth-child(2) {
animation-delay: 0.2s;
}
i:nth-child(3) {
icon:nth-child(3) {
animation-delay: 0.4s;
}
+4 -4
View File
@@ -5,11 +5,11 @@
}
.patron-icon--shiny {
i {
icon {
@extend %data-icon;
}
i::before {
icon::before {
content: $licon-Wings !important;
background-clip: text;
color: transparent;
@@ -17,7 +17,7 @@
@each $id, $color in $patron-colors-dark {
&--#{$id} {
i::before {
icon::before {
@include dynamic-text-gradient($color);
}
}
@@ -25,7 +25,7 @@
@each $id, $color in $patron-colors-light {
html.light &--#{$id} {
i::before {
icon::before {
@include dynamic-text-gradient($color);
}
}
+1 -1
View File
@@ -85,7 +85,7 @@
min-height: 200px;
padding: 1em 0;
> i {
> icon {
@include fluid-size('font-size', 40px, 120px);
margin: 0 0.4em;
+2 -2
View File
@@ -43,7 +43,7 @@
@include if-light {
color: $c-font;
i {
icon {
filter: brightness(0.15);
}
}
@@ -57,7 +57,7 @@
}
}
i {
icon {
width: 70px;
height: 70px;
margin: 0 1em;
+1 -1
View File
@@ -1,4 +1,4 @@
i.practice {
icon.practice {
background: url('../images/practice/help.svg');
background-size: cover;
}
+1 -1
View File
@@ -115,7 +115,7 @@
display: flex;
}
i {
icon {
font-size: 40px;
margin-bottom: 10px;
}
+2 -2
View File
@@ -41,14 +41,14 @@
.icon {
text-align: center;
i {
icon {
font-size: 2em;
opacity: 0.6;
}
}
.enterable {
.icon i {
.icon icon {
color: $c-brag;
opacity: 1;
}
+1 -1
View File
@@ -92,7 +92,7 @@
margin-inline-end: 1rem;
}
i::before {
icon::before {
font-size: 2.2rem;
}
+4 -4
View File
@@ -113,7 +113,7 @@ body:has(.base-view.setup-view) {
}
button {
i {
icon {
display: block;
padding: 0;
width: 64px;
@@ -121,15 +121,15 @@ body:has(.base-view.setup-view) {
background-size: 64px 64px;
}
&.white i {
&.white icon {
background-image: url('../images/buttons/play-as-white.svg');
}
&.black i {
&.black icon {
background-image: url('../images/buttons/play-as-black.svg');
}
&.random i {
&.random icon {
background-image: url('../images/buttons/play-as-random.svg');
}
}
+2 -1
View File
@@ -143,7 +143,8 @@ const renderUser = (u: ChallengeUser | undefined, showRating: boolean): VNode =>
: h('span', 'Open challenge');
const renderLag = (u?: ChallengeUser) =>
u && h('signal', u.lag === undefined ? [] : [1, 2, 3, 4].map(i => h('i', { class: { off: u.lag! < i } })));
u &&
h('signal', u.lag === undefined ? [] : [1, 2, 3, 4].map(i => h('icon', { class: { off: u.lag! < i } })));
const empty = (): VNode => h('div.empty.text', { attrs: dataIcon(licon.InfoCircle) }, i18n.site.noChallenges);
@@ -42,7 +42,7 @@
}
}
i {
icon {
display: block;
width: 30px;
height: 30px;
@@ -61,7 +61,7 @@
&--color {
flex-flow: row;
i {
icon {
width: 60px;
height: 60px;
}
@@ -78,15 +78,15 @@
line-height: 1em;
}
.color_white i {
.color_white icon {
background-image: url('../piece/cburnett/wK.svg');
}
.color_random i {
.color_random icon {
background-image: url('../images/wbK.svg');
}
.color_black i {
.color_black icon {
background-image: url('../piece/cburnett/bK.svg');
}
+2 -2
View File
@@ -175,7 +175,7 @@ const configurationButtons = (ctrl: CoordinateTrainerCtrl): VNodes => [
keyup: ctrl.onRadioInputKeyUp,
},
}),
h(`label.color_${key}`, { attrs: { for: `coord_color_${key}`, title: name } }, h('i')),
h(`label.color_${key}`, { attrs: { for: `coord_color_${key}`, title: name } }, h('icon')),
]),
),
),
@@ -256,7 +256,7 @@ const settings = (ctrl: CoordinateTrainerCtrl): VNode => {
const playingAs = (ctrl: CoordinateTrainerCtrl): VNode => {
return h('div.box.current-status.current-status--color', [
h(`label.color_${ctrl.orientation}`, h('i')),
h(`label.color_${ctrl.orientation}`, h('icon')),
h('em', i18n.site[ctrl.orientation === 'white' ? 'youPlayTheWhitePieces' : 'youPlayTheBlackPieces']),
]);
};
+1 -1
View File
@@ -49,7 +49,7 @@ export class PingCtrl {
signalBars(): VNode {
const lagRating = !this.ping ? 0 : this.ping < 150 ? 4 : this.ping < 300 ? 3 : this.ping < 500 ? 2 : 1;
const bars = [];
for (let i = 1; i <= 4; i++) bars.push(h(i <= lagRating ? 'i' : 'i.off'));
for (let i = 1; i <= 4; i++) bars.push(h(i <= lagRating ? 'icon' : 'icon.off'));
return h('signal.q' + lagRating, bars);
}
+2 -2
View File
@@ -94,7 +94,7 @@
width: 100%;
}
.broken i {
.broken icon {
font-size: 50px;
}
@@ -117,7 +117,7 @@
opacity: 0.7;
}
.chart.empty i {
.chart.empty icon {
margin-bottom: 30px;
display: block;
font-size: 200px;
+2 -2
View File
@@ -67,7 +67,7 @@
color: $c-font;
img,
i {
icon {
width: 50px;
height: 50px;
opacity: 0.9;
@@ -75,7 +75,7 @@
padding: 10px;
}
i::before {
icon::before {
font-size: 30px;
}
+2 -2
View File
@@ -84,7 +84,7 @@
margin-top: 4px;
}
.stars i {
.stars icon {
margin: 3px;
animation: text-shadow-glow 1s 1;
}
@@ -168,7 +168,7 @@
margin: auto;
}
.st3 i:first-child {
.st3 icon:first-child {
display: block;
}
+1 -2
View File
@@ -63,8 +63,7 @@ p {
unicode-bidi: plaintext;
}
em,
i {
em {
font-style: normal;
}
+1 -1
View File
@@ -38,7 +38,7 @@
border: 0;
}
i {
icon {
@extend %roboto;
letter-spacing: -1px;
+1 -1
View File
@@ -32,7 +32,7 @@
&:focus,
&.complete-selected {
&,
& i {
& icon {
color: $c-font-clearer !important;
}
+7 -7
View File
@@ -6,7 +6,7 @@ signal {
white-space: nowrap;
}
signal > i {
signal > icon {
width: 20%;
margin-inline-start: 1px;
display: inline-block;
@@ -14,26 +14,26 @@ signal > i {
background-color: $m-secondary_dimmer--mix-82;
}
signal > i:nth-child(2) {
signal > icon:nth-child(2) {
height: 60%;
}
signal > i:nth-child(3) {
signal > icon:nth-child(3) {
height: 80%;
}
signal > i:nth-child(4) {
signal > icon:nth-child(4) {
height: 100%;
}
signal.q1 > i {
signal.q1 > icon {
background-color: $c-bad;
}
signal.q2 > i {
signal.q2 > icon {
background-color: $c-warn;
}
signal > i.off {
signal > icon.off {
background-color: $c-shade;
}
+1 -1
View File
@@ -5,7 +5,7 @@
background: $c-bg-zebra;
img,
i {
icon {
flex: 1 1 50%;
cursor: pointer;
}
+4 -4
View File
@@ -2,22 +2,22 @@
--king-size: 32px;
&__button {
i {
icon {
display: block;
width: var(--king-size);
height: var(--king-size);
background-size: var(--king-size) var(--king-size);
}
&.white i {
&.white icon {
background-image: url('../piece/cburnett/wK.svg');
}
&.black i {
&.black icon {
background-image: url('../piece/cburnett/bK.svg');
}
&.random i {
&.random icon {
background-image: url('../images/wbK.svg');
}
}
+1 -1
View File
@@ -170,7 +170,7 @@ export function renderCeval(ctrl: CevalHandler): VNode[] {
pearl = hl('pearl', '#' + bestEv.mate);
percent = 100;
} else {
if (!enabled) pearl = hl('pearl', hl('i'));
if (!enabled) pearl = hl('pearl', hl('icon'));
else if (node.outcome() || node.threefold) pearl = hl('pearl', '-');
else if (ceval.state === CevalState.Failed) pearl = hl('pearl', iconTag(licon.CautionCircle, 'is-red'));
else pearl = hl('pearl', hl('i.ddloader'));
+1 -1
View File
@@ -28,7 +28,7 @@ export const colorButtons = (colorProp: ColorProp): VNode =>
on: { change: () => colorProp(key) },
}),
hl(`label.card-radio`, { attrs: { for: `color-picker-${key}` } }, [
hl('div.color-picker__button', { class: { [key]: true } }, hl('i')),
hl('div.color-picker__button', { class: { [key]: true } }, hl('icon')),
hl('span.text', name),
]),
]),
+1 -1
View File
@@ -41,7 +41,7 @@
margin: 0 0.7em 0 0.4em;
}
i.img::before {
icon.img::before {
color: #fff;
font-size: 42px;
+2 -2
View File
@@ -15,12 +15,12 @@ $c-support: $c-brag;
}
&:hover .lobby__support__text,
&:hover i::before {
&:hover icon::before {
color: #fff;
}
}
i {
icon {
flex: 0 0 auto;
margin: 0 0.5em;
@@ -18,7 +18,7 @@ export const ratingView = ({ opts, data, setupCtrl }: LobbyController): MaybeVNo
return h(
'div.ratings',
!opts.showRatings
? [h('i', perfIconAttrs), perfOrSpeed.name]
? [h('icon', perfIconAttrs), perfOrSpeed.name]
: [
...i18n.site.yourRatingIsX.asArray(
h('strong', perfIconAttrs, setupCtrl.myRating() + (setupCtrl.isProvisional() ? '?' : '')),
+1 -1
View File
@@ -83,7 +83,7 @@
overflow-y: auto;
}
.user_marks i {
.user_marks icon {
@include user-marks;
}
+5 -5
View File
@@ -237,8 +237,8 @@ body.no-inquiry {
}
.fbt.icon::before,
.warn i::before,
.alt i {
.warn icon::before,
.alt icon {
font-size: 1.7em;
}
@@ -286,7 +286,7 @@ body.no-inquiry {
height: 100%;
> span,
> i,
> icon,
.main {
display: block;
height: 100%;
@@ -313,7 +313,7 @@ body.no-inquiry {
&:hover {
> span,
> i,
> icon,
.main {
background: $c-bg-zebra2;
}
@@ -328,7 +328,7 @@ body.no-inquiry {
text-align: left;
}
> i {
> icon {
line-height: 40px;
}
+2 -2
View File
@@ -73,9 +73,9 @@
}
}
.mod-timeline__event:has(i.moderator) {
.mod-timeline__event:has(icon.moderator) {
.user-link,
.user-link i.line {
.user-link icon.line {
color: $m-brag_font--mix-60;
}
}
+1 -1
View File
@@ -139,7 +139,7 @@ $c-report-high-over: white;
border-inline-start: 4px solid $c-report-high;
}
.user_marks i {
.user_marks icon {
@include user-marks;
}
+5 -5
View File
@@ -169,7 +169,7 @@
background: $m-brag_white--mix-80;
}
i {
icon {
margin-inline-end: 0.3em;
opacity: 0.5;
}
@@ -200,7 +200,7 @@
background: #484541;
border-radius: 4px 0 0 4px;
i {
icon {
display: block;
height: 30px;
width: 30px;
@@ -267,7 +267,7 @@
}
}
i {
icon {
margin-inline-start: 0.5ch;
}
@@ -327,14 +327,14 @@
}
}
.i {
.icon {
padding: 0;
&.recent {
color: $c-brag;
}
i {
icon {
margin: 0;
&::before {
+4 -4
View File
@@ -109,7 +109,7 @@
&:hover {
background: $c-bg-zebra;
i {
icon {
color: $c-link;
opacity: 0.9;
}
@@ -118,7 +118,7 @@
&.new {
background: $m-secondary_bg-popup--mix-27;
i {
icon {
color: $c-secondary;
opacity: 0.7;
}
@@ -126,13 +126,13 @@
&:hover {
background: $m-secondary_bg-popup--mix-36;
i {
icon {
opacity: 1;
}
}
}
i {
icon {
font-size: 2em;
opacity: 0.5;
margin-inline-end: 1rem;
+1 -1
View File
@@ -19,7 +19,7 @@
background: $m-primary--lighten-10;
}
i::before {
icon::before {
font-size: 2.5em;
margin-inline-end: 10px;
}
+3 -3
View File
@@ -141,7 +141,7 @@
box-shadow: none;
opacity: 1;
i {
icon {
opacity: 1;
color: $m-primary_bg--mix-70;
position: absolute;
@@ -156,7 +156,7 @@
align-items: center;
}
i {
icon {
font-size: 4em;
opacity: 0.8;
color: $c-over;
@@ -223,7 +223,7 @@
}
.puzzle-dashboard__metric--fix {
i {
icon {
font-size: 1.6em;
margin-inline-start: 0.3em;
}
+4 -4
View File
@@ -124,7 +124,7 @@
&__color {
margin-top: 1.5vh;
i {
icon {
display: block;
width: 24px;
height: 24px;
@@ -133,15 +133,15 @@
padding: 0;
}
.color-white i {
.color-white icon {
background-image: url('../piece/cburnett/wK.svg');
}
.color-random i {
.color-random icon {
background-image: url('../images/wbK.svg');
}
.color-black i {
.color-black icon {
background-image: url('../piece/cburnett/bK.svg');
}
+3 -3
View File
@@ -1,5 +1,5 @@
import * as licon from 'lib/licon';
import { type VNode, type MaybeVNodes, bind, dataIcon, hl } from 'lib/view';
import { type VNode, type MaybeVNodes, bind, hl, iconTag } from 'lib/view';
import type PuzzleCtrl from '../ctrl';
@@ -32,7 +32,7 @@ const renderStreak = (ctrl: PuzzleCtrl): MaybeVNodes => [
hl('span', i18n.puzzle.yourStreakX.asArray(hl('strong', `${ctrl.streak?.data.index ?? 0}`))),
]),
hl('a.continue', { attrs: { href: ctrl.routerWithLang('/streak') } }, [
hl('i', { attrs: dataIcon(licon.PlayTriangle) }),
iconTag(licon.PlayTriangle),
i18n.puzzle.newStreak,
]),
];
@@ -48,7 +48,7 @@ export default function (ctrl: PuzzleCtrl): VNode {
: [
hl('div.complete', i18n.puzzle[win ? 'puzzleSuccess' : 'puzzleComplete']),
hl('button.continue', { hook: bind('click', ctrl.nextPuzzle) }, [
hl('i', { attrs: dataIcon(licon.PlayTriangle) }),
iconTag(licon.PlayTriangle),
i18n.puzzle[ctrl.streak ? 'continueTheStreak' : 'continueTraining'],
]),
hl('div.puzzle__more', [
+1 -1
View File
@@ -229,7 +229,7 @@ export const renderColorForm = (ctrl: PuzzleCtrl): VNode =>
{
attrs: { href: `/training/${ctrl.data.angle.key}/${key}`, title: i18n.site[i18nKey] },
},
hl('i'),
hl('icon'),
),
]),
),
+2 -2
View File
@@ -1,5 +1,5 @@
import * as licon from 'lib/licon';
import { type VNode, type MaybeVNode, bind, dataIcon, hl, type VNodeData } from 'lib/view';
import { type VNode, type MaybeVNode, bind, hl, type VNodeData, iconTag } from 'lib/view';
import type PuzzleCtrl from '../ctrl';
import type { ThemeKey, RoundThemes } from '../interfaces';
@@ -86,7 +86,7 @@ const editor = (ctrl: PuzzleCtrl): VNode[] => {
hl(
'div.puzzle__themes__votes',
allThemes.static.has(key)
? [hl('div.puzzle__themes__lock', hl('i', { attrs: dataIcon(licon.Padlock) }))]
? [hl('div.puzzle__themes__lock', iconTag(licon.Padlock))]
: [
hl('button.puzzle__themes__vote.vote-up', {
class: { active: votedThemes[key] },
+1 -1
View File
@@ -27,7 +27,7 @@
justify-content: stretch;
text-align: center;
i {
icon {
font-size: 15em;
line-height: 1.2em;
}
+2 -2
View File
@@ -205,7 +205,7 @@ body {
gap: 3rem;
padding: 0 2rem;
i {
icon {
font-size: 3em;
}
@@ -223,7 +223,7 @@ body {
.recap__slide--patron {
gap: 2em;
i {
icon {
font-size: 3em;
}
+1 -1
View File
@@ -83,7 +83,7 @@ export function userHtml(ctrl: RoundController, player: Player, position: TopOrB
const signalBars = (signal: number) => {
const bars: VNode[] = [];
for (let i = 1; i <= 4; i++) bars.push(hl(i <= signal ? 'i' : 'i.off'));
for (let i = 1; i <= 4; i++) bars.push(hl(i <= signal ? 'icon' : 'icon.off'));
return hl('signal.q' + signal, bars);
};
+1 -1
View File
@@ -30,7 +30,7 @@ $chat-height: calc(90vh - 300px);
font-size: 1.5em;
}
> i {
> icon {
font-size: 2.5em;
margin-inline-end: 0.5em;
}
+1 -1
View File
@@ -31,7 +31,7 @@
justify-content: stretch;
text-align: center;
i {
icon {
font-size: 15em;
line-height: 1.2em;
}
+1 -1
View File
@@ -59,7 +59,7 @@
width: 1px;
/* helps keeping it as small as possible */
i {
icon {
opacity: 0.4;
font-size: 0.8em;
}
+2 -2
View File
@@ -17,7 +17,7 @@
margin: 0;
}
i {
icon {
flex: 0 0 2em;
margin-inline-end: 2.5rem;
text-align: center;
@@ -101,7 +101,7 @@
.icon {
text-align: center;
i {
icon {
font-size: 2.5em;
color: $c-brag;
}
+1 -1
View File
@@ -20,7 +20,7 @@ function playerTr(ctrl: SwissCtrl, player: Player) {
h(
'td.rank',
player.absent && ctrl.data.status !== 'finished'
? h('i', { attrs: { 'data-icon': licon.Pause, title: 'Absent' } })
? h('icon', { attrs: { 'data-icon': licon.Pause, title: 'Absent' } })
: [player.rank],
),
h('td.player', renderPlayer(player, false, ctrl.opts.showRatings)),
+4 -4
View File
@@ -5,16 +5,16 @@
letter-spacing: 2px;
}
.tour-shed-weekly & i::before {
.tour-shed-weekly & icon::before {
font-size: 35px;
}
.tour-shed-monthly & i::before,
.tour-shed-weekend & i::before {
.tour-shed-monthly & icon::before,
.tour-shed-weekend & icon::before {
font-size: 40px;
}
.tour-shed-yearly & i::before {
.tour-shed-yearly & icon::before {
font-size: 45px;
}
+1 -1
View File
@@ -67,7 +67,7 @@
width: 1px;
/* helps keeping it as small as possible */
i {
icon {
opacity: 0.4;
font-size: 0.8em;
}
+1 -1
View File
@@ -4,7 +4,7 @@
.mini-game__player {
@extend %flex-center-nowrap;
& i.berserk {
& icon.berserk {
flex: 0 0 auto;
&::before {
+2 -2
View File
@@ -23,7 +23,7 @@
white-space: nowrap;
}
i {
icon {
color: $c-brag;
}
}
@@ -63,7 +63,7 @@
.icon {
width: 0;
i {
icon {
font-size: 3em;
color: $c-brag;
opacity: 0.8;
+2 -2
View File
@@ -76,7 +76,7 @@
&__top {
@extend %flex-center-nowrap;
i {
icon {
@extend %page-text-shadow;
font-size: 4em;
@@ -87,7 +87,7 @@
&__title {
@extend %flex-column;
i + & {
icon + & {
margin-top: 1em;
}
+1 -1
View File
@@ -43,7 +43,7 @@ $c-tutor-concept: $c-good;
color: $c-tutor-concept;
}
i[data-icon] {
icon {
font-size: 6em;
color: $c-tutor-concept;
}
+1 -1
View File
@@ -4,7 +4,7 @@
@extend %flex-center-nowrap;
i {
icon {
position: relative;
font-size: 0.8em;
margin-left: 1ch;
+2 -2
View File
@@ -80,7 +80,7 @@
margin: 20px;
display: flex;
i {
icon {
font-size: 45px;
margin-inline-end: 15px;
}
@@ -246,7 +246,7 @@
vertical-align: bottom;
color: $c-font-dim;
i {
icon {
font-size: 2em;
display: block;
}
+1 -1
View File
@@ -41,7 +41,7 @@
max-width: 100%;
}
> i {
> icon {
position: absolute;
top: 7px;
font-size: 24px;
+4 -4
View File
@@ -55,7 +55,7 @@
font-size: 0.9em;
}
i {
icon {
font-size: 0.75em;
opacity: 0.2;
color: $c-font-dim;
@@ -63,12 +63,12 @@
@include transition;
}
&:hover i {
&:hover icon {
color: $c-link;
opacity: 0.7;
}
&.active i {
&.active icon {
display: none;
}
@@ -105,7 +105,7 @@
padding: 0.3em;
}
a > i,
a > icon,
h3,
hr,
rating .rp,
+1 -1
View File
@@ -6,7 +6,7 @@
font-size: 1.1em;
margin: 0.8em 10%;
i[data-icon]::before {
icon[data-icon]::before {
vertical-align: sub;
}
}