Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
347be3f
Images exported and testing card layout
NikolasKataja Oct 15, 2025
e3b01ec
Testing new card design on clan page
NikolasKataja Oct 21, 2025
76fe8a6
Use ModularCard in ClanAllSubPage
NikolasKataja Oct 22, 2025
ed35ac9
Fixing desktop clan card, mobile started
NikolasKataja Oct 24, 2025
172e90c
Mobilecard added and adjustments to modular card.
NikolasKataja Oct 27, 2025
372318d
Mobilecard improved
NikolasKataja Oct 28, 2025
8dbf50c
Responsive update to clancards
NikolasKataja Oct 29, 2025
465af96
tweaks to scrolling behavior
NikolasKataja Oct 29, 2025
c80d8de
prev/next page buttons and logic removed, new searchbar implementatio…
NikolasKataja Nov 1, 2025
f7cfa99
use LayoutWithSidebars, move PageTitle to ClanAllSubPage
NikolasKataja Nov 3, 2025
4632345
responsivenes updates and new searchbar
NikolasKataja Nov 3, 2025
7320344
testing better content fitment and responsivenes for desktop clancard
NikolasKataja Nov 4, 2025
b2e0cf9
Mobile clancard updated
NikolasKataja Nov 5, 2025
f4cee6b
Mobilecard layout updated
NikolasKataja Nov 6, 2025
5039bae
change page title to Clans/Klaanit
NikolasKataja Nov 6, 2025
d5ab41f
remove global styles and improve responsiveness
NikolasKataja Nov 8, 2025
6243313
mobilecarditemwrap, fix mistake
NikolasKataja Nov 8, 2025
ff38695
small tweaks to modularcard
NikolasKataja Nov 10, 2025
2eb1228
fix modularcard sm breakpoint and mobilecard improvements
NikolasKataja Nov 11, 2025
73c5af7
cleanup ClanAllSubPage
NikolasKataja Nov 11, 2025
d583aca
simular search logic as other pages and more cleanup
NikolasKataja Nov 11, 2025
02d84a6
cleanup
NikolasKataja Nov 12, 2025
02c9e80
SearchBarTablet fix
NikolasKataja Nov 12, 2025
7828c45
change modularcardtheme name to CLANCARD
NikolasKataja Nov 12, 2025
8ff691c
fix mobilecard gap and padding + eslint fix
NikolasKataja Nov 19, 2025
7bf668f
testing clanLabel implementation
NikolasKataja Nov 23, 2025
4d87c5d
ellipsis for lable text
NikolasKataja Nov 24, 2025
951980f
Reduce clan label padding/gap and enable flex-wrap
NikolasKataja Nov 25, 2025
e5a3df9
move clan label icon map to entities
NikolasKataja Nov 26, 2025
a975f3f
small font fix
NikolasKataja Nov 26, 2025
58c50a7
Fix mobile ClanCard hover overflow and lock layout heights
NikolasKataja Dec 2, 2025
98f96b5
Merge branch 'dev' into nikolas/enhancement/564-update-clan-page
Rutjake Dec 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { ClanLabel } from '../enum/clanLabel.enum';
import type { StaticImageData } from 'next/image';
import iconSpammer from '@/shared/assets/images/clanLabels/ClanLabelSpammer.png';
import iconHumorous from '@/shared/assets/images/clanLabels/ClanLabelHumorous.png';
import iconAnimalLovers from '@/shared/assets/images/clanLabels/ClanLabelAnimalLovers.png';

const CLAN_LABEL_ICON_MAP: Partial<Record<ClanLabel, StaticImageData>> = {
[ClanLabel.SPΓ„MMÄÄJΓ„T]: iconSpammer,
[ClanLabel.HUUMORINTAJUISET]: iconHumorous,
[ClanLabel.ELΓ„INRAKKAAT]: iconAnimalLovers,
};

// Temporary fallback icon for labels without a specific icon
const CLAN_LABEL_FALLBACK_ICON = iconSpammer;

export const getClanLabelIcon = (label: string) =>
CLAN_LABEL_ICON_MAP[label as ClanLabel] ?? CLAN_LABEL_FALLBACK_ICON;
Original file line number Diff line number Diff line change
@@ -1,87 +1,94 @@
.ClanTable {
overflow-y: auto;
overflow-x: hidden;
border-collapse: collapse;
max-width: 100px;
font: var(--font-dm-m);

th,
td {
padding: 0px 10px;
border-bottom: 1px solid rgba(255, 0, 0, 0.11);
white-space: nowrap;
word-wrap: break-word;
}


th {
background-color: rgb(100, 84, 66);
text-align: left;
}

tr:hover {
cursor: pointer;
.Container {
max-width: var(--content-width);
margin: 0 auto;
}

&:hover {
//@include link-scale-effect;
background-color: rgba(203, 15, 15, 0.47) !important;
}
}
.TitleBar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-bottom: 1rem;
}

tr {
height: 40px;
border-collapse: collapse;
white-space: nowrap;
word-wrap: break-word;
}
.SearchBar {
display: flex;
height: 20px;
justify-content: left;
color: var(--primary-color);
border: 2px solid var(--black);
box-shadow: var(--black) 4px 4px 0;
border-radius: 1.5em;
background: var(--base-card-background);
align-items: center;
padding: 1em;
margin-top: 1em;
margin-bottom: 1em;
font: var(--font-dm-m);
}

.Input {
color: var(--primary-color);
padding-left: 1em;
border: none;
background: transparent;
outline: none;
width: 100%;
}

.SearchBarDesktop {
width: 200px;
}

.ClanCard {
border: 1px solid #ddd;
padding: 10px;
margin-bottom: 10px;
border-radius: var(--border-radius-custom);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
.SearchBarMobile {
width: 280px;
max-width: 90%;
margin: 0.5rem auto 1rem;
}

div {
cursor: pointer;
margin-bottom: 8px;
}
.SearchBarTablet {
width: 280px;
max-width: 90%;
margin: 0.5rem auto 1rem;
}

main :where(.SearchBarDesktop, .SearchBarMobile) {
overflow: visible;
}

.Loader {
@include position-absolute-center;
.DesktopCardContainer {
display: flex;
padding-top: 1em;
justify-content: left;
flex-wrap: wrap;
gap: 1em;
}

.Buttons {
.MobileCardContainer {
--gap: 0.45rem;
--row-gap: 0.95rem;
display: flex;
flex-direction: row;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
column-gap: var(--gap);
row-gap: var(--row-gap);
justify-content: flex-start;
align-items: flex-start;
width: 100%;
margin-top: 5%;
padding-inline: 0;
margin-top: 0.25rem;
}

.titleText {
font: var(--font-dm-bold-xl);
text-align: center;
margin-bottom: 20px;
.MobileCardItemWrap {
box-sizing: border-box;
flex: 0 0 calc((100% - 2 * var(--gap)) / 3);
display: flex;
justify-content: center;
min-width: 0;
}

.notFound {
text-align: left;
.MobileCardItem {
width: 100% !important;
height: auto !important;
max-width: 100%;
display: block;
}

.BtnGame {
background-color: var(--black) !important;


//line height: ;
font: var(--font-dm-m) !important;
white-space: nowrap;
min-width: fit-content;
//border: solid 1px var(--primary-color);
}
Loading