From f0b1d2fea25fc7bf406fee175b42adf4ecd60f04 Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Wed, 1 Jul 2026 00:19:16 +0300 Subject: [PATCH 01/11] Refactor ClanCard component styles to align with latest Figma design specifications --- .../v2/ModularCard/ui/ModularCard.module.scss | 442 +++++++++--------- 1 file changed, 216 insertions(+), 226 deletions(-) diff --git a/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss b/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss index 5f4c69ac4..c331265df 100644 --- a/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss @@ -13,16 +13,14 @@ --small-size-desktop: 14px; --border-desktop: 4px; --border-mobile: 2px; - --primary-color: #FFA100; - --primary-border: #FFA100; - --background: #1E3544; - --white: #FAF9F6; + --primary-color: #ffa100; + --primary-border: #ffa100; + --background: #1e3544; + --white: #faf9f6; --black: #121212; } - .withScalableLink { - .ModularCardTexts { transition: all ease-in-out; transition-duration: 0.3s; @@ -32,23 +30,22 @@ flex-basis: 40% !important; } } - } // NewsImageCard -.Card.NewsImageCard { - position:relative; +.Card.NewsImageCard { + position: relative; background-color: var(--background); - height:203px; + height: 203px; border: var(--border-desktop) solid var(--black); border-radius: var(--border-radius-md); display: flex; box-shadow: 4px 8px 0 var(--black); - @media (max-width:breakpoint(xxl)) { + @media (max-width: breakpoint(xxl)) { height: 155px; } - @media (max-width:breakpoint(md)) { - height:127px; + @media (max-width: breakpoint(md)) { + height: 127px; border: var(--border-mobile) solid var(--black); box-shadow: 2px 4px 0 var(--black); } @@ -61,13 +58,13 @@ display: flex; flex-direction: column; align-content: center; - padding-left:.5em; - padding-right:.5em; + padding-left: 0.5em; + padding-right: 0.5em; } .Card.NewsImageCard > .ModularCardTexts > .ModularCardTitle { - padding-left:0 !important; - padding-right:0 !important; - margin-bottom: .5em; + padding-left: 0 !important; + padding-right: 0 !important; + margin-bottom: 0.5em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; @@ -75,13 +72,12 @@ overflow: hidden; h2 { font: var(--font-sw-l); - color:var(--primary-color); + color: var(--primary-color); } - @media (max-width:breakpoint(md)) { + @media (max-width: breakpoint(md)) { h2 { - font: var(--font-sw-l); - margin-top:.7em; + margin-top: 0.7em; } -webkit-line-clamp: 2; line-clamp: 2; @@ -92,15 +88,14 @@ display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; - line-clamp:5; - @media (max-width:breakpoint(xxl)) { + line-clamp: 5; + @media (max-width: breakpoint(xxl)) { -webkit-line-clamp: 3; line-clamp: 3; } - @media (max-width:breakpoint(md)) { + @media (max-width: breakpoint(md)) { display: none; } - } .Card.NewsImageCard > .ModularCardTexts > .ModularCardFootnote { font: var(--font-dm-s); @@ -108,19 +103,19 @@ display: flex; flex-direction: column; justify-content: flex-end; - padding-left:0; - padding-right:0; - margin-top: .5em; - margin-bottom: .3em; + padding-left: 0; + padding-right: 0; + margin-top: 0.5em; + margin-bottom: 0.3em; } .Card.NewsImageCard > .ModularCardImageSection { overflow: hidden; - flex-grow:1; + flex-grow: 1; } .Card.NewsImageCard > .ModularCardImageSection > .ModularCardImage { - object-fit:contain; - height:100%; - width:100%; + object-fit: contain; + height: 100%; + width: 100%; } .Card.NewsImageCard > .ModularCardImageSection > .ModularCardTriangle { position: absolute; @@ -128,17 +123,16 @@ height: 0; border-bottom: 195px solid var(--background); border-right: 157px solid transparent; - @media (max-width:breakpoint(xxl)) { + @media (max-width: breakpoint(xxl)) { border-bottom: 147px solid var(--background); border-right: 130px solid transparent; } - @media (max-width:breakpoint(md)) { + @media (max-width: breakpoint(md)) { border-bottom: 123px solid var(--background); border-right: 80px solid transparent; } } - // TItleImageCard .Card.TitleImageCard { position: relative; @@ -148,8 +142,8 @@ border-radius: var(--border-radius-md); display: flex; box-shadow: 4px 8px 0 var(--black); - @media (max-width:breakpoint(md)) { - height:160px; + @media (max-width: breakpoint(md)) { + height: 160px; box-shadow: 2px 4px 0 var(--black); } } @@ -160,20 +154,20 @@ display: flex; flex-direction: column; justify-content: center; - padding-left:.5em; - padding-right:.5em; + padding-left: 0.5em; + padding-right: 0.5em; } .Card.TitleImageCard > .ModularCardTexts > .ModularCardTitle { - padding-left:0 !important; - padding-right:0 !important; - margin-top: .3em; - margin-bottom: .5em; + padding-left: 0 !important; + padding-right: 0 !important; + margin-top: 0.3em; + margin-bottom: 0.5em; h2 { font: var(--font-sw-xl); - color:var(--primary-color); + color: var(--primary-color); margin-left: 30px; } - @media (max-width:breakpoint(md)) { + @media (max-width: breakpoint(md)) { h2 { font: var(--font-sw-l); } @@ -182,9 +176,9 @@ .Card.TitleImageCard > .ModularCardImageSection > .ModularCardImage { height: 100%; - width:min-content; + width: min-content; object-fit: contain; - margin-left:auto; + margin-left: auto; } .Card.TitleImageCard > .ModularCardImageSection > .ModularCardTriangle { position: absolute; @@ -192,7 +186,7 @@ height: 0; border-bottom: 212px solid var(--background); border-right: 140px solid transparent; - @media (max-width:breakpoint(md)) { + @media (max-width: breakpoint(md)) { border-bottom: 152px solid var(--background); border-right: 85px solid transparent; } @@ -215,21 +209,19 @@ @media (max-width: breakpoint(xl)) { height: 184px; } - @media (max-width:breakpoint(md)) { + @media (max-width: breakpoint(md)) { height: 152px; box-shadow: 2px 4px 0 var(--black); } @media (max-width: 640px) { height: 144px; } - @media (max-width:breakpoint(sm)) { + @media (max-width: breakpoint(sm)) { height: 120px; box-shadow: 1px 2px 0 var(--black); } - } - .Card.DefenseCard > .ModularCardTexts { flex-basis: 45%; display: flex; @@ -242,7 +234,7 @@ h2 { line-height: var(--font-line-l) !important; font: var(--font-sw-m); - color:var(--white); + color: var(--white); } @media (max-width: breakpoint(xl)) { //margin-top: var(--spacing-600); @@ -250,7 +242,7 @@ font: var(--font-sw-m); } } - @media (max-width: breakpoint(md)) { + @media (max-width: breakpoint(md)) { padding-left: var(--spacing-200); h2 { line-height: var(--font-line-m) !important; @@ -282,7 +274,7 @@ .Card.DefenseCard > .ModularCardTexts > .ModularCardBody { line-height: calc(var(--font-line-xl) + 6px) !important; - color:var(--primary-color); + color: var(--primary-color); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; @@ -314,13 +306,13 @@ } .Card.DefenseCard > .ModularCardImageSection::before { - content: ""; + content: ''; position: absolute; left: 0; top: 0; width: 150%; height: 100%; - transform: skewX(20deg); + transform: skewX(20deg); background-color: var(--before-color, red); } @@ -347,209 +339,209 @@ // ClanCard .Card.ClanCard { - position: relative; - display: flex; - align-items: stretch; - justify-content: space-between; - background-color: var(--background); - border: var(--border-desktop) solid var(--black); - border-radius: var(--border-radius-md); - box-shadow: 4px 8px 0 var(--black); - overflow: hidden; - cursor: pointer; - transition: border-color .3s ease-out; - - //Labels - --label-font-size: 0.95rem; - --label-icon-box: 1.10em; - --label-icon-scale: 1.35; - --label-gap: 0.2rem; - --label-pad-y: 0.45rem; - --label-pad-x: 0.25rem; - --label-border: 1px; - --label-radius: 4px; - - // Info row - --info-font-size: 0.9rem; - --info-col-gap: 0.75rem; - - // Logo - --logo-lane-w: clamp(96px, 10.5vw, 150px); - --logo-max-h: 64%; - min-height: 180px; - - &:hover { - border-color: var(--primary-border); - } - - @media (max-width: 1280px) { - --logo-lane-w: clamp(92px, 10vw, 140px); - --logo-max-h: 60%; - --label-font-size: 0.9rem; - } - - @media (max-width: breakpoint(md)) { - border-width: var(--border-mobile); - box-shadow: 2px 4px 0 var(--black); - min-height: 152px; - - --label-font-size: 0.85rem; - - --logo-lane-w: clamp(88px, 18vw, 132px); - --logo-max-h: 58%; - } - - @media (max-width: breakpoint(sm)) { - box-shadow: 1px 2px 0 var(--black); - height: 280px; - min-height: unset; - --logo-lane-w: clamp(84px, 26vw, 120px); - --logo-max-h: 56%; - --label-font-size: 0.8rem; - } + position: relative; + display: flex; + align-items: stretch; + justify-content: space-between; + background-color: var(--background); + border: var(--border-desktop) solid var(--black); + border-radius: var(--border-radius-lg); + box-shadow: 6px 12px 0px 0px var(--ShadowblackShadow); + overflow: hidden; + cursor: pointer; + transition: border-color 0.3s ease-out; + + //Labels + --label-font-size: 0.95rem; + --label-icon-box: 1.1em; + --label-icon-scale: 1.35; + --label-gap: 0.5rem; + --label-pad-y: 0.5rem; + --label-pad-x: 0.5rem; + --label-border: 2px; + --label-radius: 12px; + + // Info row + --info-font-size: 1.125rem; + --info-col-gap: 0.625rem; + + // Logo + --logo-lane-w: clamp(215px, 10.5vw, 222px); + --logo-max-h: 64%; + min-height: 180px; + + &:hover { + border-color: var(--primary-border); + } + + @media (max-width: 1280px) { + --logo-lane-w: clamp(92px, 10vw, 140px); + --logo-max-h: 60%; + --label-font-size: 0.9rem; + } + + @media (max-width: breakpoint(md)) { + border-width: var(--border-mobile); + box-shadow: 2px 4px 0 var(--black); + min-height: 152px; + + --label-font-size: 0.85rem; + + --logo-lane-w: clamp(88px, 18vw, 132px); + --logo-max-h: 58%; + } + + @media (max-width: breakpoint(sm)) { + box-shadow: 1px 2px 0 var(--black); + height: 280px; + min-height: unset; + --logo-lane-w: clamp(84px, 26vw, 120px); + --logo-max-h: 56%; + --label-font-size: 0.8rem; + } } .Card.ClanCard > .ModularCardTexts { - flex: 1 1 auto; - display: flex; - flex-direction: column; - gap: .35rem; - padding: 1rem; - min-width: 0; - - h2 { - font: var(--font-sw-l); - line-height: var(--font-line-l); - color: var(--white); - margin: 0 0 .18rem 0; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - - > .ModularCardBody { + flex: 1 1 auto; display: flex; flex-direction: column; - gap: .28rem; + gap: 0.35rem; + padding: 1rem; min-width: 0; - } - - @media (max-width: breakpoint(md)) { - padding: .75rem; - gap: .28rem; h2 { - font: var(--font-sw-m); - margin-bottom: .12rem; + font: var(--font-sw-xxxl); + + color: var(--primary-color); + margin: 0 0 0.18rem 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } - } - @media (max-width: breakpoint(sm)) { - padding: .5rem; - gap: .24rem; + > .ModularCardBody { + display: flex; + flex-direction: column; + gap: 0.28rem; + min-width: 0; + } - h2 { - font: var(--font-sw-s); - margin-bottom: .1rem; + @media (max-width: breakpoint(md)) { + padding: 0.75rem; + gap: 0.28rem; + + h2 { + font: var(--font-sw-m); + margin-bottom: 0.12rem; + } + } + + @media (max-width: breakpoint(sm)) { + padding: 0.5rem; + gap: 0.24rem; + + h2 { + font: var(--font-sw-s); + margin-bottom: 0.1rem; + } } - } } .Card.ClanCard > .ModularCardImageSection { - flex: 0 0 var(--logo-lane-w); - min-width: var(--logo-lane-w); - display: flex; - align-items: center; - justify-content: flex-end; - overflow: hidden; - - .ModularCardImage { - max-height: var(--logo-max-h); - object-fit: contain; - pointer-events: none; - user-select: none; - } + flex: 0 0 var(--logo-lane-w); + min-width: var(--logo-lane-w); + display: flex; + align-items: center; + justify-content: flex-end; + overflow: hidden; + + .ModularCardImage { + max-height: var(--logo-max-h); + object-fit: contain; + pointer-events: none; + user-select: none; + } } .ClanInfoRow { - display: flex; - flex-wrap: nowrap; - align-items: center; - gap: var(--info-col-gap); - color: var(--white); - font-size: var(--info-font-size); - line-height: 1.28; - min-width: 0; - overflow: hidden; + display: flex; + flex-wrap: nowrap; + align-items: center; + gap: var(--info-col-gap); + color: var(--white); + font-size: var(--info-font-size); + line-height: 1.28; + min-width: 0; + overflow: hidden; } .ClanInfoBadges, .ClanInfoStats { - display: inline-flex; - align-items: center; - gap: 6px; - min-width: 0; - white-space: nowrap; - flex: 0 1 auto; + display: inline-flex; + align-items: center; + gap: 6px; + min-width: 0; + white-space: nowrap; + flex: 0 1 auto; } .ClanInfoIcon { - width: 1.2em; - height: 1.2em; - flex: 0 0 auto; + width: 1.2em; + height: 1.2em; + flex: 0 0 auto; } .ClanInfoValue { - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + max-width: 100%; } .ClanLabels { - display: flex; - flex-wrap: wrap; - gap: 4px; - margin-top: 4px; - align-items: flex-start; - justify-content: flex-start; - min-width: 0; + display: flex; + flex-wrap: wrap; + gap: 4px; + margin-top: 4px; + align-items: flex-start; + justify-content: flex-start; + min-width: 0; } @media (max-width: breakpoint(sm)) { - .ClanLabels { - flex-wrap: nowrap; - flex-direction: column; - } + .ClanLabels { + flex-wrap: nowrap; + flex-direction: column; + } } .ClanLabel { - display: inline-flex; - align-items: center; - gap: var(--label-gap); - background: var(--primary-color); - color: var(--black); - border: var(--label-border) solid var(--black); - border-radius: var(--label-radius); - padding: var(--label-pad-y) var(--label-pad-x); - font-size: var(--label-font-size); - font-weight: 700; - line-height: 1; - max-width: 100%; - - .ClanLabelText { - display: block; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - } + display: inline-flex; + align-items: center; + gap: var(--label-gap); + background: var(--primary-color); + color: var(--black); + border: var(--label-border) solid var(--black); + border-radius: var(--label-radius); + padding: var(--label-pad-y) var(--label-pad-x); + font-size: var(--label-font-size); + font-weight: 700; + line-height: 1; + max-width: 100%; + + .ClanLabelText { + display: block; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } - img, - svg { - width: var(--label-icon-box); - height: var(--label-icon-box); - flex: 0 0 var(--label-icon-box); - transform: scale(var(--label-icon-scale)); - } + img, + svg { + width: var(--label-icon-box); + height: var(--label-icon-box); + flex: 0 0 var(--label-icon-box); + transform: scale(var(--label-icon-scale)); + } } // SectionCard .Card.SectionCard { @@ -569,7 +561,6 @@ margin: 0; margin-bottom: 30px; } - } .Card.SectionCard > .ModularCardTexts { @@ -627,7 +618,6 @@ height: auto; margin-top: -190px; } - } .Card.SectionCard > .ModularCardImageSection > .ModularCardImage { From a08cc371d478cf3ef083b140b102223b948add36 Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Wed, 1 Jul 2026 23:30:46 +0300 Subject: [PATCH 02/11] Continued refactoring ClanCard component styles to align with latest Figma design specifications --- .../ui/ClanAllSubPage/ClanAllSubPage.tsx | 22 +- .../images/clanLogos/ClanLogo_Placeholder.png | Bin 0 -> 88860 bytes .../images/clanLogos/CommonLockOpen 1.png | Bin 0 -> 3047 bytes .../v2/MobileCard/ui/MobileCard.module.scss | 448 +++++++++--------- .../v2/ModularCard/ui/ModularCard.module.scss | 7 +- 5 files changed, 240 insertions(+), 237 deletions(-) create mode 100644 frontend-next-migration/src/shared/assets/images/clanLogos/ClanLogo_Placeholder.png create mode 100644 frontend-next-migration/src/shared/assets/images/clanLogos/CommonLockOpen 1.png diff --git a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx index 80c2ff285..238cab812 100644 --- a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx +++ b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx @@ -14,10 +14,11 @@ import mobileCardCls from '@/shared/ui/v2/MobileCard/ui/MobileCard.module.scss'; import { PageTitle } from '@/shared/ui/PageTitle'; import { SearchBar } from '../ClanLayout/ClanLayout'; import cls from './ClanAllSubPage.module.scss'; -import clanLogo from '@/shared/assets/images/clanLogos/CommonSelectHeart 1.png'; +import clanLogo from '@/shared/assets/images/clanLogos/ClanLogo_Placeholder.png'; import iconLeaderboard from '@/shared/assets/images/clanLogos/LeaderboardWinFirstPlace.png'; import iconFlagFi from '@/shared/assets/images/clanLogos/CommonFlagFinland 1.png'; -import starGray from '@/shared/assets/images/clanLogos/TopPanelMatchmakingPorvarit.png'; +import iconCommonLockOpen from '@/shared/assets/images/clanLogos/CommonLockOpen 1.png'; +import iconClanAgeTeenages from '/public/images/gallery/Käyttöliittymä grafiikkaa 08-2025/ClanAgeTeenages.png'; type ClanItem = GetClansResponse['data']['Clan'][number]; @@ -134,11 +135,6 @@ const ClansViewMobile = ({ clans }: MobileProps) => { title2={''} >
- score {clan.gameCoins} @@ -194,8 +190,17 @@ const ClansViewDesktop = ({ clans, onClickToClan }: DesktopProps) => { alt="flag" className={cardCls.ClanInfoIcon} /> + lock + teenage - {t('members')} {clan.playerCount} / 30 @@ -218,7 +223,6 @@ const ClansViewDesktop = ({ clans, onClickToClan }: DesktopProps) => { alt={label} className={cardCls.ClanLabelIcon} /> - {label} ))}
diff --git a/frontend-next-migration/src/shared/assets/images/clanLogos/ClanLogo_Placeholder.png b/frontend-next-migration/src/shared/assets/images/clanLogos/ClanLogo_Placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..6f94dbc087850e4988c7eb606f13c1a0ff79174c GIT binary patch literal 88860 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 literal 0 HcmV?d00001 diff --git a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss index 22c36f727..62a591491 100644 --- a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss @@ -1,309 +1,309 @@ @mixin card-dimensions { - --gap: 0.5rem; - width: calc(33.333% - 2 * var(--gap) / 3); - height: calc(33.333vh - 2 * var(--gap) / 3); + --gap: 0.5rem; + width: calc(33.333% - 2 * var(--gap) / 3); + height: calc(33.333vh - 2 * var(--gap) / 3); } -.MobileCard.DefenseGalleryCard { - @include card-dimensions; - overflow: hidden; - border-radius: var(--corner-radius-web); - background-color: var(--base-card-background); - display: flex; - flex-direction: column; - justify-content: space-between; - text-align: center; - border: var(--border-mobile) solid var(--black); - box-shadow: var(--black) 4px 6px 0; +.MobileCard.DefenseGalleryCard { + @include card-dimensions; + overflow: hidden; + border-radius: var(--corner-radius-web); + background-color: var(--base-card-background); + display: flex; + flex-direction: column; + justify-content: space-between; + text-align: center; + border: var(--border-mobile) solid var(--black); + box-shadow: var(--black) 4px 6px 0; } .withScalableLink { - transition: border-color ease .4s; - .TextContainer { - transition: height ease .4s; - } - .ImageContainer{ - transition: height ease .4s; - } - &:active { - .MobileCard { - border-color: var(--primary-color); - } + transition: border-color ease 0.4s; .TextContainer { - height: 20% !important; + transition: height ease 0.4s; } .ImageContainer { - height: 80% !important; + transition: height ease 0.4s; } - } - &:hover { - .MobileCard { - border-color: var(--primary-color); + &:active { + .MobileCard { + border-color: var(--primary-color); + } + .TextContainer { + height: 20% !important; + } + .ImageContainer { + height: 80% !important; + } } - .TextContainer { - height: 20% !important; - } - .ImageContainer { - height: 80% !important; + &:hover { + .MobileCard { + border-color: var(--primary-color); + } + .TextContainer { + height: 20% !important; + } + .ImageContainer { + height: 80% !important; + } } - } } .MobileCard { - transition: border-color ease .4s; + transition: border-color ease 0.4s; } .AppLink { - @include card-dimensions; + @include card-dimensions; } .AppLink .MobileCard { - width: 100% !important; + width: 100% !important; } .MobileCard.DefenseGalleryCard > .ImageContainer { - height: 70%; - width: 100%; - overflow: hidden; - clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 100%); - padding-top: 20%; - display: flex; - justify-content: center; - align-items: center; + height: 70%; + width: 100%; + overflow: hidden; + clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 100%); + padding-top: 20%; + display: flex; + justify-content: center; + align-items: center; } .MobileCard.DefenseGalleryCard > .TextContainer { - margin-top: 10%; + margin-top: 10%; } .MobileCard.DefenseGalleryCard > .TextContainer > .Title1 { - color:var(--white); - @media (max-width: breakpoint(sm)) { - font: var(--font-sw-m); - } - @media (max-width: breakpoint(xs)) { - font: var(--font-sw-s); - } + color: var(--white); + @media (max-width: breakpoint(sm)) { + font: var(--font-sw-m); + } + @media (max-width: breakpoint(xs)) { + font: var(--font-sw-s); + } } .MobileCard.DefenseGalleryCard > .TextContainer > .Title2 { - color:var(--primary-color); - @media (max-width: breakpoint(sm)) { - font: var(--font-sw-m); - } - @media (max-width: breakpoint(xs)) { - font: var(--font-sw-s); - } - + color: var(--primary-color); + @media (max-width: breakpoint(sm)) { + font: var(--font-sw-m); + } + @media (max-width: breakpoint(xs)) { + font: var(--font-sw-s); + } } // FurnitureCollectionsCard @mixin furniture-card-dimensions { - --gap: 2em; - width: 100%; - height: 400px; + --gap: 2em; + width: 100%; + height: 400px; } -.MobileCard.FurnitureCollectionsCard { - @include furniture-card-dimensions; - overflow: hidden; - border-radius: var(--corner-radius-web); - background-color: var(--base-card-background); - display: flex; - flex-direction: column; - justify-content: space-between; - text-align: center; - border: var(--border-mobile) solid var(--black); - box-shadow: var(--black) 4px 6px 0; - position: relative; +.MobileCard.FurnitureCollectionsCard { + @include furniture-card-dimensions; + overflow: hidden; + border-radius: var(--corner-radius-web); + background-color: var(--base-card-background); + display: flex; + flex-direction: column; + justify-content: space-between; + text-align: center; + border: var(--border-mobile) solid var(--black); + box-shadow: var(--black) 4px 6px 0; + position: relative; } -.FurnitureCollectionsCard.MobileCard { - transition: border-color ease .4s; +.FurnitureCollectionsCard.MobileCard { + transition: border-color ease 0.4s; } -.FurnitureCollectionsCard.AppLink { - @include furniture-card-dimensions; +.FurnitureCollectionsCard.AppLink { + @include furniture-card-dimensions; } .AppLink .MobileCard { - width: 100% !important; + width: 100% !important; } .MobileCard.FurnitureCollectionsCard > .ImageContainer { - width: 100%; - height: 70%; - background-color: transparent; - overflow: hidden; - clip-path: polygon(0 30%, 100% 0, 100% 100%, 0 100%); - display: flex; - justify-content: center; - align-items: flex-end; - position: relative; - - .Image { - object-fit: cover !important; - object-position: center bottom; width: 100%; - height: auto; - max-height: none; - } + height: 70%; + background-color: transparent; + overflow: hidden; + clip-path: polygon(0 30%, 100% 0, 100% 100%, 0 100%); + display: flex; + justify-content: center; + align-items: flex-end; + position: relative; + + .Image { + object-fit: cover !important; + object-position: center bottom; + width: 100%; + height: auto; + max-height: none; + } } .MobileCard.FurnitureCollectionsCard > .TextContainer { - margin-top: 10%; + margin-top: 10%; } .MobileCard.FurnitureCollectionsCard > .TextContainer > .Title1 { - color:var(--white); - font-family: var(--font-family-title); - font-size: 1.5rem; - font-weight: 400; - @media (max-width: breakpoint(sm)) { - font-size: 1.2rem; - } - @media (max-width: breakpoint(xs)) { - font-size: .9rem; - } + color: var(--white); + font-family: var(--font-family-title); + font-size: 1.5rem; + font-weight: 400; + @media (max-width: breakpoint(sm)) { + font-size: 1.2rem; + } + @media (max-width: breakpoint(xs)) { + font-size: 0.9rem; + } } .MobileCard.FurnitureCollectionsCard > .TextContainer > .Title2 { - color:var(--primary-color); - font-family: var(--font-family-title); - font-size: 1.5rem; - font-weight: 400; - @media (max-width: breakpoint(sm)) { - font-size: 1rem; - } - @media (max-width: breakpoint(xs)) { - font-size: .8rem; - } - + color: var(--primary-color); + font-family: var(--font-family-title); + font-size: 1.5rem; + font-weight: 400; + @media (max-width: breakpoint(sm)) { + font-size: 1rem; + } + @media (max-width: breakpoint(xs)) { + font-size: 0.8rem; + } } // ClanCard .MobileCard.ClanCard { - @include card-dimensions; - position: relative; - overflow: hidden; - border-radius: var(--corner-radius-web); - background-color: var(--base-card-background); - display: flex; - flex-direction: column; - border: var(--border-mobile) solid var(--black); - box-shadow: var(--black) 4px 6px 0; - padding: 0.5rem; - - > .TextContainer:first-of-type { - height: 24%; - padding: 0.25rem 0.25rem 0; + @include card-dimensions; + position: relative; + overflow: hidden; + border-radius: var(--corner-radius-web); + background-color: var(--base-card-background); display: flex; flex-direction: column; - justify-content: center; - gap: 0.25rem; - align-items: center; - position: relative; - z-index: 1; - - .Title1 { - color: var(--white); - font: var(--font-sw-l); - line-height: 1.1; - margin: 0; - text-align: center; - max-width: 100%; - white-space: normal; - word-break: break-word; - } + border: var(--border-mobile) solid var(--black); + box-shadow: var(--black) 4px 6px 0; + padding: 0.5rem; - .Text { margin: 0; } - } + > .TextContainer:first-of-type { + height: 24%; + padding: 0.25rem 0.25rem 0; + display: flex; + flex-direction: column; + justify-content: center; + gap: 0.25rem; + align-items: center; + position: relative; + z-index: 1; - > .ImageContainer { - height: 48%; - display: flex; - justify-content: center; - align-items: center; - padding: 0.25rem 0; - position: relative; - z-index: 0; + .Title1 { + color: var(--primary-color); + font: var(--font-sw-l); + line-height: 1.1; + margin: 0; + text-align: center; + max-width: 100%; + white-space: normal; + word-break: break-word; + } - .Image { - height: auto; - max-width: 100%; - object-fit: contain !important; - transform-origin: center; + .Text { + margin: 0; + } } - } - > .TextContainer:last-of-type { - height: 28%; - padding: 0.25rem; - display: flex; - flex-direction: column; - justify-content: center; - gap: 0.25rem; - align-items: stretch; - text-align: center; + > .ImageContainer { + height: 48%; + display: flex; + justify-content: center; + align-items: center; + padding: 0.25rem 0; + position: relative; + z-index: 0; - .ClanInfoRow { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - padding: 0 0.25rem; + .Image { + height: auto; + max-width: 100%; + object-fit: contain !important; + transform-origin: center; + } } - .ClanInfoIcon { - width: 20px; - height: 20px; - flex: 0 0 auto; - } + > .TextContainer:last-of-type { + height: 28%; + padding: 0.25rem; + display: flex; + flex-direction: column; + justify-content: center; + gap: 0.25rem; + align-items: stretch; + text-align: center; - .ClanInfoValue { - color: var(--white); - font-size: 0.98rem; - line-height: 1.05; - flex: 0 0 auto; - text-align: right; - } + .ClanInfoRow { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + padding: 0 0.25rem; + } + + .ClanInfoIcon { + width: 20px; + height: 20px; + flex: 0 0 auto; + } - .ClanMembersRow { - display: flex; - align-items: center; - justify-content: center; - width: 100%; - margin-inline: auto; - color: var(--white); - font-size: 0.92rem; - line-height: 1.15; + .ClanInfoValue { + color: var(--white); + font-size: 0.98rem; + line-height: 1.05; + flex: 0 0 auto; + text-align: right; + } + + .ClanMembersRow { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + margin-inline: auto; + color: var(--white); + font-size: 0.92rem; + line-height: 1.15; + } } - } } @media (min-width: 768px) and (max-width: 1024px) { - .MobileCard.ClanCard > .ImageContainer .Image { - width: 80%; - } + .MobileCard.ClanCard > .ImageContainer .Image { + width: 80%; + } } @media (max-width: 400px) { - .MobileCard.ClanCard > .TextContainer:first-of-type .Title1 { - font-size: 1.15rem; - } + .MobileCard.ClanCard > .TextContainer:first-of-type .Title1 { + font-size: 1.15rem; + } } @media (max-width: 360px) { - .MobileCard.ClanCard > .TextContainer:first-of-type .Title1 { - font-size: 1rem; - } + .MobileCard.ClanCard > .TextContainer:first-of-type .Title1 { + font-size: 1rem; + } } // Override withScalableLink behaviour for ClanCard only .withScalableLink { - .MobileCard.ClanCard { - > .TextContainer:first-of-type { - height: 24% !important; - } + .MobileCard.ClanCard { + > .TextContainer:first-of-type { + height: 24% !important; + } - > .ImageContainer { - height: 48% !important; - } + > .ImageContainer { + height: 48% !important; + } - > .TextContainer:last-of-type { - height: 28% !important; + > .TextContainer:last-of-type { + height: 28% !important; + } } - } } diff --git a/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss b/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss index c331265df..0bc16bbad 100644 --- a/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss @@ -353,8 +353,8 @@ //Labels --label-font-size: 0.95rem; - --label-icon-box: 1.1em; - --label-icon-scale: 1.35; + --label-icon-box: 2.5em; + --label-icon-scale: 3.5em; --label-gap: 0.5rem; --label-pad-y: 0.5rem; --label-pad-x: 0.5rem; @@ -470,7 +470,6 @@ gap: var(--info-col-gap); color: var(--white); font-size: var(--info-font-size); - line-height: 1.28; min-width: 0; overflow: hidden; } @@ -500,7 +499,7 @@ .ClanLabels { display: flex; flex-wrap: wrap; - gap: 4px; + gap: 10px; margin-top: 4px; align-items: flex-start; justify-content: flex-start; From c29ac703e26b07c40cd06d57223d8f5cead57e25 Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Thu, 2 Jul 2026 15:49:02 +0300 Subject: [PATCH 03/11] Refactor code structure for improved readability and maintainability --- .../ui/ClanAllSubPage/ClanAllSubPage.tsx | 12 ++++++------ .../assets/images/clanLogos/ClanAgeTeenages.png | Bin 0 -> 53546 bytes 2 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 frontend-next-migration/src/shared/assets/images/clanLogos/ClanAgeTeenages.png diff --git a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx index 238cab812..8b9fb3a1c 100644 --- a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx +++ b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx @@ -18,7 +18,7 @@ import clanLogo from '@/shared/assets/images/clanLogos/ClanLogo_Placeholder.png' import iconLeaderboard from '@/shared/assets/images/clanLogos/LeaderboardWinFirstPlace.png'; import iconFlagFi from '@/shared/assets/images/clanLogos/CommonFlagFinland 1.png'; import iconCommonLockOpen from '@/shared/assets/images/clanLogos/CommonLockOpen 1.png'; -import iconClanAgeTeenages from '/public/images/gallery/Käyttöliittymä grafiikkaa 08-2025/ClanAgeTeenages.png'; +import iconClanAgeTeenages from '@/shared/assets/images/clanLogos/ClanAgeTeenages.png'; type ClanItem = GetClansResponse['data']['Clan'][number]; @@ -185,11 +185,6 @@ const ClansViewDesktop = ({ clans, onClickToClan }: DesktopProps) => { alt="leaderboard" className={cardCls.ClanInfoIcon} /> - flag lock { alt="teenage" className={cardCls.ClanInfoIcon} /> + flag diff --git a/frontend-next-migration/src/shared/assets/images/clanLogos/ClanAgeTeenages.png b/frontend-next-migration/src/shared/assets/images/clanLogos/ClanAgeTeenages.png new file mode 100644 index 0000000000000000000000000000000000000000..48219cd33ad15f43a3ad5ad5ba07bf281dd918c6 GIT binary patch literal 53546 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 Date: Mon, 6 Jul 2026 18:28:08 +0300 Subject: [PATCH 04/11] Refactor ClanCard component to enhance mobile and desktop views, aligning with latest design specifications and improving layout for clan information display --- .../ui/ClanAllSubPage/ClanAllSubPage.tsx | 48 +++++++++++++------ .../src/shared/i18n/locales/en/clan.json | 3 +- .../src/shared/i18n/locales/fi/clan.json | 1 + .../v2/ModularCard/ui/ModularCard.module.scss | 14 ++++-- 4 files changed, 48 insertions(+), 18 deletions(-) diff --git a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx index 8b9fb3a1c..ec90da5a3 100644 --- a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx +++ b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx @@ -130,18 +130,38 @@ const ClansViewMobile = ({ clans }: MobileProps) => { backgroundColor="transparent" /> +

+ -
- - {clan.gameCoins} - -
-
- {t('members')} {clan.playerCount} / 30 + {t('members')} {clan.playerCount} / 30 · {t('position')} + {clan.positionLeaderboard ?? '-'}
@@ -201,13 +221,13 @@ const ClansViewDesktop = ({ clans, onClickToClan }: DesktopProps) => { className={cardCls.ClanInfoIcon} /> - - - {t('members')} {clan.playerCount} / 30 - - - {clan.gameCoins} - + +
+ + {t('members')} {clan.playerCount} / 30 + + + {t('position')} {clan.positionLeaderboard ?? '-'}
diff --git a/frontend-next-migration/src/shared/i18n/locales/en/clan.json b/frontend-next-migration/src/shared/i18n/locales/en/clan.json index 1a85a3bfb..f6e5bb949 100644 --- a/frontend-next-migration/src/shared/i18n/locales/en/clan.json +++ b/frontend-next-migration/src/shared/i18n/locales/en/clan.json @@ -9,8 +9,9 @@ "search_btn_text": "Search", "no_result": "No clans found for your search.", "rating": "Rating", + "position": "Position:", "clan": "Clan", - "clans": "Clans", + "clans": "Clans", "clans_title": "All Clans", "coins": "Coins", "tag": "Tag", diff --git a/frontend-next-migration/src/shared/i18n/locales/fi/clan.json b/frontend-next-migration/src/shared/i18n/locales/fi/clan.json index 5ae55e7fc..2afbb7509 100644 --- a/frontend-next-migration/src/shared/i18n/locales/fi/clan.json +++ b/frontend-next-migration/src/shared/i18n/locales/fi/clan.json @@ -6,6 +6,7 @@ "clan_deleted": "Klaani poistettiin onnistuneesti", "clan_delete_cancelled": "Poisto peruutettiin", "rating": "Rating", + "position": "Sijoitus:", "clan": "Klaani", "clans": "Klaanit", "clans_title": "Kaikki Klaanit", diff --git a/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss b/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss index 0bc16bbad..9c535131e 100644 --- a/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss @@ -474,16 +474,24 @@ overflow: hidden; } -.ClanInfoBadges, -.ClanInfoStats { +.ClanInfoBadges { display: inline-flex; align-items: center; - gap: 6px; + gap: 10px; min-width: 0; white-space: nowrap; flex: 0 1 auto; } +.ClanInfoStats { + display: inline-flex; + align-items: center; + gap: 10px; + min-width: 0; + white-space: nowrap; + margin-top: 0.5rem; +} + .ClanInfoIcon { width: 1.2em; height: 1.2em; From 8f73a51a735a209c4cc90124981665f70ae20679 Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Tue, 7 Jul 2026 19:51:41 +0300 Subject: [PATCH 05/11] Refactor ClanCard styles to align with Figma design, adjusting font sizes and media queries for improved responsiveness --- .../shared/ui/v2/MobileCard/ui/MobileCard.module.scss | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss index 62a591491..fb173704a 100644 --- a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss @@ -197,8 +197,7 @@ .Title1 { color: var(--primary-color); - font: var(--font-sw-l); - line-height: 1.1; + font: var(--font-sw-xs); margin: 0; text-align: center; max-width: 100%; @@ -279,18 +278,12 @@ } } -@media (max-width: 400px) { +@media (min-width: 768px) and (max-width: 1024px) { .MobileCard.ClanCard > .TextContainer:first-of-type .Title1 { font-size: 1.15rem; } } -@media (max-width: 360px) { - .MobileCard.ClanCard > .TextContainer:first-of-type .Title1 { - font-size: 1rem; - } -} - // Override withScalableLink behaviour for ClanCard only .withScalableLink { .MobileCard.ClanCard { From 030d572a82311fd69d41a1581a3601ce44b9e2f3 Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Wed, 8 Jul 2026 15:31:05 +0300 Subject: [PATCH 06/11] Refactor ClanCard mobile layout and styles to enhance responsiveness and align with Figma design, improving information display and visual consistency. Updated MobileCard.module.scss so mobile clan cards now: - allow ClanInfoBadges to wrap and use full width - keep badge icons smaller and better spaced - show ClanInfoStats in a flexible column instead of a cramped block - let ClanInfoValue wrap cleanly on small screens - render ClanLabels in a responsive row with smaller, pill-style chips Validation: Checked the updated stylesheet for errors: none found. --- .../ui/ClanAllSubPage/ClanAllSubPage.tsx | 25 +++++- .../v2/MobileCard/ui/MobileCard.module.scss | 76 ++++++++++++++----- 2 files changed, 81 insertions(+), 20 deletions(-) diff --git a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx index ec90da5a3..4e420ff6f 100644 --- a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx +++ b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx @@ -159,9 +159,28 @@ const ClansViewMobile = ({ clans }: MobileProps) => { title1={''} title2={''} > -
- {t('members')} {clan.playerCount} / 30 · {t('position')} - {clan.positionLeaderboard ?? '-'} +
+ + {t('members')} {clan.playerCount} / 30 + + + {t('position')} {clan.positionLeaderboard ?? '-'} + +
+
+ {clan.labels?.slice(0, 4).map((label) => ( + + {label} + + ))}
diff --git a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss index fb173704a..a46ffc11e 100644 --- a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss @@ -228,11 +228,12 @@ } > .TextContainer:last-of-type { - height: 28%; + height: auto; + min-height: 28%; padding: 0.25rem; display: flex; flex-direction: column; - justify-content: center; + justify-content: flex-start; gap: 0.25rem; align-items: stretch; text-align: center; @@ -240,34 +241,74 @@ .ClanInfoRow { display: flex; align-items: center; - justify-content: space-between; + justify-content: center; width: 100%; - padding: 0 0.25rem; + padding: 0 0.188rem; + } + + .ClanInfoBadges { + display: flex; + align-items: center; + justify-content: center; + gap: 0.25rem; + flex-wrap: wrap; + width: 100%; + max-width: 100%; } .ClanInfoIcon { - width: 20px; - height: 20px; + width: 18px; + height: 18px; flex: 0 0 auto; } + .ClanInfoStats { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.15rem; + width: 100%; + padding: 0 0.25rem; + } + .ClanInfoValue { color: var(--white); - font-size: 0.98rem; - line-height: 1.05; - flex: 0 0 auto; - text-align: right; + font: var(--font-dm-xs); + text-align: center; + white-space: normal; + width: 100%; + overflow-wrap: anywhere; } - .ClanMembersRow { + .ClanLabels { display: flex; - align-items: center; + flex-wrap: wrap; justify-content: center; width: 100%; - margin-inline: auto; - color: var(--white); - font-size: 0.92rem; - line-height: 1.15; + gap: 0.25rem; + margin-top: 0.2rem; + padding: 0 0.25rem; + } + + .ClanLabel { + display: inline-flex; + align-items: center; + justify-content: center; + background: var(--primary-color); + color: var(--black); + border: 1px solid var(--black); + border-radius: 999px; + padding: 0.2rem 0.4rem; + font: var(--font-dm-xxs); + line-height: 1; + white-space: nowrap; + min-width: 0; + } + + .ClanLabelIcon { + width: 16px; + height: 16px; + object-fit: contain; } } } @@ -296,7 +337,8 @@ } > .TextContainer:last-of-type { - height: 28% !important; + height: auto !important; + min-height: 28% !important; } } } From 0b52314298775b48ab0f78a1dd5b8fd91240540b Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Fri, 17 Jul 2026 19:16:23 +0300 Subject: [PATCH 07/11] Refactor ClanCard component styles and layout to enhance responsiveness and align with Figma design, improving visual consistency and information display. --- .../ui/ClanAllSubPage/ClanAllSubPage.tsx | 72 ++++---- .../v2/MobileCard/ui/MobileCard.module.scss | 171 +++++++++++++----- .../v2/ModularCard/ui/ModularCard.module.scss | 2 +- 3 files changed, 164 insertions(+), 81 deletions(-) diff --git a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx index 4e420ff6f..3b8777800 100644 --- a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx +++ b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx @@ -119,65 +119,59 @@ const ClansViewMobile = ({ clans }: MobileProps) => { className={cls.MobileCardItem} > - - -
- - leaderboard - lock - teenage - flag - -
- +
+ + leaderboard + lock + teenage + flag + +
+
- +

{t('members')} {clan.playerCount} / 30 - - +

+

{t('position')} {clan.positionLeaderboard ?? '-'} - +

+
- {clan.labels?.slice(0, 4).map((label) => ( + {clan.labels?.slice(0, 3).map((label) => ( {label} ))} diff --git a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss index a46ffc11e..eb89fe0e3 100644 --- a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss @@ -180,17 +180,33 @@ background-color: var(--base-card-background); display: flex; flex-direction: column; + align-items: center; + justify-content: flex-start; border: var(--border-mobile) solid var(--black); - box-shadow: var(--black) 4px 6px 0; - padding: 0.5rem; + box-shadow: 4px 8px 0px 0px var(--black); + padding: 0.625rem; + cursor: pointer; + transition: border-color 0.3s ease-out; + + --label-font-size: 0.75rem; + --label-icon-box: 1.375rem; + --label-icon-scale: 2.2em; + --label-gap: 0.313rem; + --label-pad-y: 0.2rem; + --label-pad-x: 0.4rem; + --label-border: 1px; + --label-radius: 6px; + --info-font-size: 0.75rem; + --info-col-gap: 0.188rem; > .TextContainer:first-of-type { - height: 24%; - padding: 0.25rem 0.25rem 0; + width: 100%; + height: auto; + padding: 0.25rem 0.25rem 0.1rem; display: flex; flex-direction: column; justify-content: center; - gap: 0.25rem; + gap: 0.625rem; align-items: center; position: relative; z-index: 1; @@ -202,7 +218,6 @@ text-align: center; max-width: 100%; white-space: normal; - word-break: break-word; } .Text { @@ -211,31 +226,32 @@ } > .ImageContainer { - height: 48%; + width: 100%; + height: 80px; display: flex; justify-content: center; align-items: center; - padding: 0.25rem 0; + padding: 0.25rem 0 0.4rem; position: relative; z-index: 0; .Image { - height: auto; - max-width: 100%; + height: 100%; + width: auto; object-fit: contain !important; transform-origin: center; } } > .TextContainer:last-of-type { - height: auto; - min-height: 28%; - padding: 0.25rem; + flex: 1; + height: 100%; + padding: 0.2rem 0.2rem 0.3rem; display: flex; flex-direction: column; - justify-content: flex-start; + justify-content: center; gap: 0.25rem; - align-items: stretch; + align-items: center; text-align: center; .ClanInfoRow { @@ -243,7 +259,7 @@ align-items: center; justify-content: center; width: 100%; - padding: 0 0.188rem; + padding: 0 0.125rem; } .ClanInfoBadges { @@ -251,7 +267,7 @@ align-items: center; justify-content: center; gap: 0.25rem; - flex-wrap: wrap; + flex-wrap: nowrap; width: 100%; max-width: 100%; } @@ -264,62 +280,136 @@ .ClanInfoStats { display: flex; - flex-direction: column; + flex-direction: row; align-items: center; - gap: 0.15rem; - width: 100%; - padding: 0 0.25rem; + justify-content: center; + gap: 0.25rem; + width: auto; /* Allow width to adjust based on content */ + height: auto; + padding: 0 0.2rem; } .ClanInfoValue { color: var(--white); font: var(--font-dm-xs); text-align: center; - white-space: normal; - width: 100%; - overflow-wrap: anywhere; + white-space: nowrap; /* Prevent values from wrapping onto new lines */ + overflow: hidden; + text-overflow: ellipsis; } .ClanLabels { display: flex; - flex-wrap: wrap; + flex-direction: row; + flex-wrap: nowrap; justify-content: center; + align-items: center; width: 100%; - gap: 0.25rem; + height: auto; + gap: 0.313rem; margin-top: 0.2rem; - padding: 0 0.25rem; + padding: 0 0.2rem; } .ClanLabel { display: inline-flex; align-items: center; justify-content: center; + gap: var(--label-gap); background: var(--primary-color); color: var(--black); - border: 1px solid var(--black); - border-radius: 999px; - padding: 0.2rem 0.4rem; - font: var(--font-dm-xxs); + border: var(--label-border) solid var(--black); + border-radius: var(--label-radius); + padding: var(--label-pad-y) var(--label-pad-x); + font-size: var(--label-font-size); line-height: 1; white-space: nowrap; min-width: 0; - } + max-width: 100%; + font-weight: 700; - .ClanLabelIcon { - width: 16px; - height: 16px; - object-fit: contain; + img, + svg { + width: var(--label-icon-box); + height: var(--label-icon-box); + flex: 0 0 var(--label-icon-box); + transform: none; + } } } } -@media (min-width: 768px) and (max-width: 1024px) { +@media (max-width: breakpoint(md)) { + .MobileCard.ClanCard { + width: calc(50% - 0.5rem); + padding: 0.5rem; + } + + .MobileCard.ClanCard > .ImageContainer { + height: auto; + padding: 0.25rem 0 0.3rem; + } + + .MobileCard.ClanCard > .TextContainer:last-of-type { + gap: 0.2rem; + } + + .MobileCard.ClanCard .ClanInfoStats { + flex-direction: column; + align-items: center; + gap: 0.2rem; + width: 100%; + } + + .MobileCard.ClanCard .ClanInfoValue { + white-space: normal; + } + + .MobileCard.ClanCard .ClanLabels { + flex-wrap: wrap; + justify-content: center; + } +} + +@media (max-width: breakpoint(sm)) { + .MobileCard.ClanCard { + width: 100%; + max-width: 100%; + margin-inline: auto; + padding: 0.4rem; + } + + .MobileCard.ClanCard > .TextContainer:first-of-type { + gap: 0.35rem; + } + + .MobileCard.ClanCard > .ImageContainer { + height: auto; + padding: 0.2rem 0 0.3rem; + } + + .MobileCard.ClanCard > .TextContainer:last-of-type { + padding: 0.2rem 0.15rem 0.25rem; + } + + .MobileCard.ClanCard .ClanInfoBadges { + flex-wrap: wrap; + gap: 0.2rem; + } + + .MobileCard.ClanCard .ClanLabel { + font-size: 0.7rem; + padding: 0.15rem 0.3rem; + } +} + +@media (min-width: $breakpoint-md) and (max-width: $breakpoint-lg) { .MobileCard.ClanCard > .ImageContainer .Image { width: 80%; } } -@media (min-width: 768px) and (max-width: 1024px) { +@media (min-width: $breakpoint-md) and (max-width: $breakpoint-lg) { .MobileCard.ClanCard > .TextContainer:first-of-type .Title1 { font-size: 1.15rem; } @@ -329,16 +419,15 @@ .withScalableLink { .MobileCard.ClanCard { > .TextContainer:first-of-type { - height: 24% !important; + height: auto !important; } > .ImageContainer { - height: 48% !important; + height: 90px !important; } > .TextContainer:last-of-type { height: auto !important; - min-height: 28% !important; } } } diff --git a/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss b/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss index 9c535131e..589e68f49 100644 --- a/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/ModularCard/ui/ModularCard.module.scss @@ -414,7 +414,7 @@ color: var(--primary-color); margin: 0 0 0.18rem 0; - white-space: nowrap; + white-space: normal; overflow: hidden; text-overflow: ellipsis; } From 1091e7c4719d925ed1c201db9f3472a074ff28dd Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Tue, 21 Jul 2026 19:02:33 +0300 Subject: [PATCH 08/11] Refactor ClanCard component to update image assets and enhance mobile styles for improved layout and responsiveness --- .../ui/ClanAllSubPage/ClanAllSubPage.tsx | 4 +-- ...lagFinland 1.png => CommonFlagFinland.png} | Bin ...ommonLockOpen 1.png => CommonLockOpen.png} | Bin .../v2/MobileCard/ui/MobileCard.module.scss | 28 +++++++++++------- 4 files changed, 19 insertions(+), 13 deletions(-) rename frontend-next-migration/src/shared/assets/images/clanLogos/{CommonFlagFinland 1.png => CommonFlagFinland.png} (100%) rename frontend-next-migration/src/shared/assets/images/clanLogos/{CommonLockOpen 1.png => CommonLockOpen.png} (100%) diff --git a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx index 3b8777800..479369533 100644 --- a/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx +++ b/frontend-next-migration/src/preparedPages/ClanPages/ui/ClanAllSubPage/ClanAllSubPage.tsx @@ -16,8 +16,8 @@ import { SearchBar } from '../ClanLayout/ClanLayout'; import cls from './ClanAllSubPage.module.scss'; import clanLogo from '@/shared/assets/images/clanLogos/ClanLogo_Placeholder.png'; import iconLeaderboard from '@/shared/assets/images/clanLogos/LeaderboardWinFirstPlace.png'; -import iconFlagFi from '@/shared/assets/images/clanLogos/CommonFlagFinland 1.png'; -import iconCommonLockOpen from '@/shared/assets/images/clanLogos/CommonLockOpen 1.png'; +import iconFlagFi from '@/shared/assets/images/clanLogos/CommonFlagFinland.png'; +import iconCommonLockOpen from '@/shared/assets/images/clanLogos/CommonLockOpen.png'; import iconClanAgeTeenages from '@/shared/assets/images/clanLogos/ClanAgeTeenages.png'; type ClanItem = GetClansResponse['data']['Clan'][number]; diff --git a/frontend-next-migration/src/shared/assets/images/clanLogos/CommonFlagFinland 1.png b/frontend-next-migration/src/shared/assets/images/clanLogos/CommonFlagFinland.png similarity index 100% rename from frontend-next-migration/src/shared/assets/images/clanLogos/CommonFlagFinland 1.png rename to frontend-next-migration/src/shared/assets/images/clanLogos/CommonFlagFinland.png diff --git a/frontend-next-migration/src/shared/assets/images/clanLogos/CommonLockOpen 1.png b/frontend-next-migration/src/shared/assets/images/clanLogos/CommonLockOpen.png similarity index 100% rename from frontend-next-migration/src/shared/assets/images/clanLogos/CommonLockOpen 1.png rename to frontend-next-migration/src/shared/assets/images/clanLogos/CommonLockOpen.png diff --git a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss index eb89fe0e3..5d3df4586 100644 --- a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss @@ -342,9 +342,15 @@ @media (max-width: breakpoint(md)) { .MobileCard.ClanCard { width: calc(50% - 0.5rem); + min-width: calc(50% - 0.5rem); + height: auto; padding: 0.5rem; } + .MobileCard.ClanCard > .TextContainer:first-of-type { + gap: 0.35rem; + } + .MobileCard.ClanCard > .ImageContainer { height: auto; padding: 0.25rem 0 0.3rem; @@ -352,6 +358,7 @@ .MobileCard.ClanCard > .TextContainer:last-of-type { gap: 0.2rem; + padding: 0.2rem 0.15rem 0.25rem; } .MobileCard.ClanCard .ClanInfoStats { @@ -361,10 +368,6 @@ width: 100%; } - .MobileCard.ClanCard .ClanInfoValue { - white-space: normal; - } - .MobileCard.ClanCard .ClanLabels { flex-wrap: wrap; justify-content: center; @@ -380,26 +383,29 @@ } .MobileCard.ClanCard > .TextContainer:first-of-type { - gap: 0.35rem; + padding: 0.25rem 0.2rem 0.1rem; } .MobileCard.ClanCard > .ImageContainer { - height: auto; padding: 0.2rem 0 0.3rem; } - .MobileCard.ClanCard > .TextContainer:last-of-type { - padding: 0.2rem 0.15rem 0.25rem; + .MobileCard.ClanCard > .ImageContainer .Image { + width: 70%; } .MobileCard.ClanCard .ClanInfoBadges { - flex-wrap: wrap; gap: 0.2rem; + flex-wrap: wrap; + } + + .MobileCard.ClanCard .ClanInfoValue { + font: var(--font-dm-xxs); } .MobileCard.ClanCard .ClanLabel { - font-size: 0.7rem; - padding: 0.15rem 0.3rem; + font-size: 0.65rem; + padding: 0.12rem 0.3rem; } } From 2c53f7799f118a83a4cc15472ba75c1fa1563c50 Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Thu, 23 Jul 2026 21:13:36 +0300 Subject: [PATCH 09/11] fix(ui): improve MobileCard ClanCard responsiveness and layout alignment - Fix ClanCard layout flow and height constraints across mobile and tablet viewports - Constrain image container max-height to stop clan logos from overlapping titles - Apply primary color accent to clan titles with ellipsis text-overflow truncation - Restructure stats and badge rows to stack vertically on narrow screens --- .../v2/MobileCard/ui/MobileCard.module.scss | 70 ++++++++++--------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss index 5d3df4586..d279d54b9 100644 --- a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss @@ -188,21 +188,22 @@ cursor: pointer; transition: border-color 0.3s ease-out; - --label-font-size: 0.75rem; + /* Fluid Variables */ + --label-font-size: clamp(0.6rem, 2.5vw, 0.75rem); --label-icon-box: 1.375rem; --label-icon-scale: 2.2em; --label-gap: 0.313rem; - --label-pad-y: 0.2rem; - --label-pad-x: 0.4rem; + --label-pad-y: 0.2em; + --label-pad-x: 0.4em; --label-border: 1px; --label-radius: 6px; - --info-font-size: 0.75rem; + --info-font-size: clamp(0.65rem, 2.2vw, 0.75rem); --info-col-gap: 0.188rem; > .TextContainer:first-of-type { width: 100%; height: auto; - padding: 0.25rem 0.25rem 0.1rem; + padding: 0.2rem 0.1rem; display: flex; flex-direction: column; justify-content: center; @@ -212,12 +213,14 @@ z-index: 1; .Title1 { - color: var(--primary-color); font: var(--font-sw-xs); + color: var(--primary-color); margin: 0; text-align: center; max-width: 100%; - white-space: normal; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } .Text { @@ -228,6 +231,7 @@ > .ImageContainer { width: 100%; height: 80px; + max-height: 80px; display: flex; justify-content: center; align-items: center; @@ -236,8 +240,8 @@ z-index: 0; .Image { - height: 100%; - width: auto; + max-height: 100% !important; + width: auto !important; object-fit: contain !important; transform-origin: center; } @@ -273,29 +277,28 @@ } .ClanInfoIcon { - width: 18px; - height: 18px; - flex: 0 0 auto; + width: clamp(14px, 4vw, 20px); + height: clamp(14px, 4vw, 20px); } .ClanInfoStats { display: flex; - flex-direction: row; + flex-direction: column; align-items: center; justify-content: center; - gap: 0.25rem; - width: auto; /* Allow width to adjust based on content */ - height: auto; - padding: 0 0.2rem; + gap: 0.1rem; + width: 100%; + padding: 0; } .ClanInfoValue { color: var(--white); font: var(--font-dm-xs); text-align: center; - white-space: nowrap; /* Prevent values from wrapping onto new lines */ + white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + max-width: 100%; } .ClanLabels { @@ -330,10 +333,8 @@ img, svg { - width: var(--label-icon-box); - height: var(--label-icon-box); - flex: 0 0 var(--label-icon-box); - transform: none; + width: clamp(12px, 3.5vw, 21px); + height: clamp(12px, 3.5vw, 21px); } } } @@ -341,8 +342,8 @@ @media (max-width: breakpoint(md)) { .MobileCard.ClanCard { - width: calc(50% - 0.5rem); - min-width: calc(50% - 0.5rem); + width: 100%; + min-width: 0; height: auto; padding: 0.5rem; } @@ -391,7 +392,7 @@ } .MobileCard.ClanCard > .ImageContainer .Image { - width: 70%; + width: 50%; } .MobileCard.ClanCard .ClanInfoBadges { @@ -410,14 +411,14 @@ } @media (min-width: $breakpoint-md) and (max-width: $breakpoint-lg) { - .MobileCard.ClanCard > .ImageContainer .Image { - width: 80%; - } -} - -@media (min-width: $breakpoint-md) and (max-width: $breakpoint-lg) { - .MobileCard.ClanCard > .TextContainer:first-of-type .Title1 { - font-size: 1.15rem; + .MobileCard.ClanCard { + > .ImageContainer .Image { + width: 100%; + height: 100%; + } + > .TextContainer:first-of-type .Title1 { + font-size: 1.15rem; + } } } @@ -429,7 +430,8 @@ } > .ImageContainer { - height: 90px !important; + height: 60px !important; + max-height: 60px !important; } > .TextContainer:last-of-type { From b3074c1cf5712ab44054213a46d0907166d5b42c Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Fri, 24 Jul 2026 00:40:17 +0300 Subject: [PATCH 10/11] refactor(ClanCard): update media queries and improve image container styles for better responsiveness --- .../v2/MobileCard/ui/MobileCard.module.scss | 29 +++++-------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss index d279d54b9..26211be8f 100644 --- a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss @@ -340,7 +340,7 @@ } } -@media (max-width: breakpoint(md)) { +@media (max-width: $breakpoint-md) { .MobileCard.ClanCard { width: 100%; min-width: 0; @@ -348,15 +348,16 @@ padding: 0.5rem; } - .MobileCard.ClanCard > .TextContainer:first-of-type { - gap: 0.35rem; - } - .MobileCard.ClanCard > .ImageContainer { height: auto; padding: 0.25rem 0 0.3rem; } + .MobileCard.ClanCard > .ImageContainer .Image { + width: 100%; + height: 100%; + } + .MobileCard.ClanCard > .TextContainer:last-of-type { gap: 0.2rem; padding: 0.2rem 0.15rem 0.25rem; @@ -375,7 +376,7 @@ } } -@media (max-width: breakpoint(sm)) { +@media (max-width: $breakpoint-sm) { .MobileCard.ClanCard { width: 100%; max-width: 100%; @@ -383,10 +384,6 @@ padding: 0.4rem; } - .MobileCard.ClanCard > .TextContainer:first-of-type { - padding: 0.25rem 0.2rem 0.1rem; - } - .MobileCard.ClanCard > .ImageContainer { padding: 0.2rem 0 0.3rem; } @@ -410,18 +407,6 @@ } } -@media (min-width: $breakpoint-md) and (max-width: $breakpoint-lg) { - .MobileCard.ClanCard { - > .ImageContainer .Image { - width: 100%; - height: 100%; - } - > .TextContainer:first-of-type .Title1 { - font-size: 1.15rem; - } - } -} - // Override withScalableLink behaviour for ClanCard only .withScalableLink { .MobileCard.ClanCard { From ef5e62860538893d129210b2a5d1889ce35f21ca Mon Sep 17 00:00:00 2001 From: Patrick Varkoi Date: Fri, 24 Jul 2026 19:14:54 +0300 Subject: [PATCH 11/11] - I added a direct .MobileCard.ClanCard > .TextContainer > .Title1 rule so the title uses var(--primary-color) reliably. Validation: checked the diff and selector location. - Refactored media queries in MobileCard ClanCard. - Polished the UI so it better matches Figma designs. --- .../v2/MobileCard/ui/MobileCard.module.scss | 83 +++---------------- 1 file changed, 12 insertions(+), 71 deletions(-) diff --git a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss index 26211be8f..2fbe66fb8 100644 --- a/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss +++ b/frontend-next-migration/src/shared/ui/v2/MobileCard/ui/MobileCard.module.scss @@ -212,22 +212,22 @@ position: relative; z-index: 1; - .Title1 { - font: var(--font-sw-xs); - color: var(--primary-color); - margin: 0; - text-align: center; - max-width: 100%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - .Text { margin: 0; } } + > .TextContainer > .Title1 { + font: var(--font-sw-xs); + color: var(--primary-color); + margin: 0; + text-align: center; + max-width: 100%; + white-space: normal; + overflow: hidden; + text-overflow: ellipsis; + } + > .ImageContainer { width: 100%; height: 80px; @@ -270,7 +270,7 @@ display: flex; align-items: center; justify-content: center; - gap: 0.25rem; + gap: 0.313rem; flex-wrap: nowrap; width: 100%; max-width: 100%; @@ -343,68 +343,9 @@ @media (max-width: $breakpoint-md) { .MobileCard.ClanCard { width: 100%; - min-width: 0; height: auto; padding: 0.5rem; } - - .MobileCard.ClanCard > .ImageContainer { - height: auto; - padding: 0.25rem 0 0.3rem; - } - - .MobileCard.ClanCard > .ImageContainer .Image { - width: 100%; - height: 100%; - } - - .MobileCard.ClanCard > .TextContainer:last-of-type { - gap: 0.2rem; - padding: 0.2rem 0.15rem 0.25rem; - } - - .MobileCard.ClanCard .ClanInfoStats { - flex-direction: column; - align-items: center; - gap: 0.2rem; - width: 100%; - } - - .MobileCard.ClanCard .ClanLabels { - flex-wrap: wrap; - justify-content: center; - } -} - -@media (max-width: $breakpoint-sm) { - .MobileCard.ClanCard { - width: 100%; - max-width: 100%; - margin-inline: auto; - padding: 0.4rem; - } - - .MobileCard.ClanCard > .ImageContainer { - padding: 0.2rem 0 0.3rem; - } - - .MobileCard.ClanCard > .ImageContainer .Image { - width: 50%; - } - - .MobileCard.ClanCard .ClanInfoBadges { - gap: 0.2rem; - flex-wrap: wrap; - } - - .MobileCard.ClanCard .ClanInfoValue { - font: var(--font-dm-xxs); - } - - .MobileCard.ClanCard .ClanLabel { - font-size: 0.65rem; - padding: 0.12rem 0.3rem; - } } // Override withScalableLink behaviour for ClanCard only

}~Zo&cCc#2e&Pay`uJ8 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