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 = { const DEFAULT_TAGS: PowerLevelTags = {
9001: {
name: 'Goku',
color: '#ff6a00',
},
102: {
name: 'Goku Reborn',
color: '#ff6a7f',
},
101: {
name: 'Founder',
color: '#0000ff',
},
100: { 100: {
name: 'Admin', name: 'Admin',
color: '#ed0800',
},
70: {
name: 'Manager',
color: '#0088ff', color: '#0088ff',
}, },
50: { 50: {
name: 'Moderator', name: 'Moderator',
color: '#1fd81f', color: '#1fd81f',
}, },
10: {
name: 'Helper',
color: '#0be0ce',
},
0: { 0: {
name: 'Member', name: 'Member',
color: '#91cfdf', color: '#91cfdf',
@ -82,13 +78,9 @@ const DEFAULT_TAGS: PowerLevelTags = {
}; };
const generateFallbackTag = (powerLevelTags: PowerLevelTags, power: number): PowerLevelTag => { 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 { 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 >= 0 && <MenuHeader>Presets</MenuHeader>}
{max >= 100 && <MenuItem variant={value === 100 ? 'positive' : 'surface'} onClick={() => onSelect(100)}>Admin - 100</MenuItem>} {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 >= 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 >= 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> </div>
); );
} }

View file

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