power level improvements

changed default colors
added more presets
This commit is contained in:
anavoi 2025-08-21 21:00:43 +02:00
commit 1e2548ad11
3 changed files with 12 additions and 20 deletions

View file

@ -51,26 +51,22 @@ export const getUsedPowers = (powerLevels: IPowerLevels): Set<number> => {
};
const DEFAULT_TAGS: PowerLevelTags = {
9001: {
name: 'Goku',
color: '#ff6a00',
},
102: {
name: 'Goku Reborn',
color: '#ff6a7f',
},
101: {
name: 'Founder',
color: '#0000ff',
},
100: {
name: 'Admin',
color: '#ed0800',
},
70: {
name: 'Manager',
color: '#0088ff',
},
50: {
name: 'Moderator',
color: '#1fd81f',
},
10: {
name: 'Helper',
color: '#0be0ce',
},
0: {
name: 'Member',
color: '#91cfdf',
@ -82,13 +78,9 @@ const DEFAULT_TAGS: PowerLevelTags = {
};
const generateFallbackTag = (powerLevelTags: PowerLevelTags, power: number): PowerLevelTag => {
const highToLow = sortPowers(getPowers(powerLevelTags));
const tagPower = highToLow.find((p) => p < power);
const tag = typeof tagPower === 'number' ? powerLevelTags[tagPower] : undefined;
return {
name: tag ? `${tag.name} ${power}` : `Team ${power}`,
name: `Team ${power}`,
};
};

View file

@ -35,7 +35,9 @@ function PowerLevelSelector({
{max >= 0 && <MenuHeader>Presets</MenuHeader>}
{max >= 100 && <MenuItem variant={value === 100 ? 'positive' : 'surface'} onClick={() => onSelect(100)}>Admin - 100</MenuItem>}
{max >= 50 && <MenuItem variant={value === 50 ? 'positive' : 'surface'} onClick={() => onSelect(50)}>Mod - 50</MenuItem>}
{max >= 10 && <MenuItem variant={value === 10 ? 'positive' : 'surface'} onClick={() => onSelect(10)}>Helper - 10</MenuItem>}
{max >= 0 && <MenuItem variant={value === 0 ? 'positive' : 'surface'} onClick={() => onSelect(0)}>Member - 0</MenuItem>}
{max >= -1 && <MenuItem variant={value === -1 ? 'positive' : 'surface'} onClick={() => onSelect(-1)}>Muted - -1</MenuItem>}
</div>
);
}

View file

@ -48,9 +48,7 @@ export async function isRoomAliasAvailable(mx, alias) {
}
export function getPowerLabel(powerLevel) {
if (powerLevel > 9000) return 'Goku';
if (powerLevel > 100) return 'Founder';
if (powerLevel === 100) return 'Admin';
if (powerLevel === 100) return 'Founder';
if (powerLevel >= 50) return 'Mod';
return null;
}