Make displayname colors based off of power level

Fixes #128
This commit is contained in:
Henry Hiles 2026-10-23 01:10:01 -04:00
commit c0f4c053b0
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs

View file

@ -0,0 +1,13 @@
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:material_ui/material_ui.dart";
import "package:nexus/controllers/room_power_levels.dart";
import "package:nexus/helpers/extensions/string_to_color.dart";
extension DisplaynameColor on WidgetRef {
/// The color of [userId]'s name in [roomId], hashed from their power level,
/// so everyone with the same level shares one.
Color displaynameColor(String roomId, String userId) => watch(
RoomPowerLevelsController.provider(roomId)
.select((levels) => levels.levelOf(userId)),
).toString().colorHash;
}