@using ArcaneLibs.Extensions
@using LibMatrix.Helpers
Permissions: |
@if (roomBuilder.Version is "org.matrix.hydra.11" or "12") {
@(roomBuilder.AdditionalCreators.Count + 1) creators,
}
@roomBuilder.PowerLevels.Users.Count members, @roomBuilder.PowerLevels.Events.Count events
@if (roomBuilder.Version is "org.matrix.hydra.11" or "12") {
Creators:
@Homeserver.WhoAmI.UserId (you - to change, visit the homepage.)
}
Events:
@foreach (var eventType in roomBuilder.PowerLevels.Events.Keys) {
var _event = eventType;
-
:
|
{ roomBuilder.PowerLevels.Events[_event] = int.Parse(val.Value.ToString()); }"
@onfocusout="@(() => { roomBuilder.PowerLevels.Events = roomBuilder.PowerLevels.Events.OrderByDescending(x => x.Value).ThenBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value); })"/>
|
}
+
|
Users:
@foreach (var user in roomBuilder.PowerLevels.Users.Keys) {
var _user = user;
-
:
|
{ roomBuilder.PowerLevels.Users[_user] = int.Parse(val.Value.ToString()); }"
@onfocusout="@(() => { roomBuilder.PowerLevels.Users = roomBuilder.PowerLevels.Users.OrderByDescending(x => x.Value).ThenBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value); })"/>
|
}
+
|
@code {
[Parameter]
public required RoomBuilder roomBuilder { get; set; }
[Parameter]
public required Action PageStateHasChanged { get; set; }
[Parameter]
public AuthenticatedHomeserverGeneric Homeserver { get; set; }
private string GetPermissionFriendlyName(string key) => key switch {
"m.reaction" => "Send reaction",
"m.room.avatar" => "Change room icon",
"m.room.canonical_alias" => "Change room alias",
"m.room.encryption" => "Enable encryption",
"m.room.history_visibility" => "Change history visibility",
"m.room.name" => "Change room name",
"m.room.power_levels" => "Change power levels",
"m.room.tombstone" => "Upgrade room",
"m.room.topic" => "Change room topic",
"m.room.pinned_events" => "Pin events",
"m.room.server_acl" => "Change server ACLs",
"org.matrix.msc4284.policy" => "Change policy server",
"m.room.guest_access" => "Change guest access",
_ => key
};
}