about summary refs log tree commit diff
path: root/MatrixUtils.Web/Pages/Rooms/RoomCreateComponents/RoomCreateUpgradeOptions.razor
blob: d4c4bfea094e2d4d18f57dbc7cb248a317eaa463 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
@using LibMatrix.Helpers
@using LibMatrix.RoomTypes
<tr>
    <td>Room upgrade options</td>
    <td>
        @* <details> *@
        @* <summary>Upgrading from @roomUpgrade.OldRoom.RoomId</summary> *@
        <InputCheckbox @bind-Value="@roomUpgrade.UpgradeOptions.InviteMembers"></InputCheckbox>
        <span>Invite members</span>
        <br/>
        <InputCheckbox @bind-Value="@roomUpgrade.UpgradeOptions.InvitePowerlevelUsers"></InputCheckbox>
        <span>Invite users with powerlevels</span>
        <br/>
        <InputCheckbox @bind-Value="@roomUpgrade.UpgradeOptions.MigrateBans"></InputCheckbox>
        <span>Copy bans (do not use with moderation bots!)</span>
        <br/>
        <InputCheckbox @bind-Value="@roomUpgrade.UpgradeOptions.MigrateEmptyStateEvents"></InputCheckbox>
        <span>Include empty state events</span>
        <br/>
        <InputCheckbox @bind-Value="@roomUpgrade.UpgradeOptions.UpgradeUnstableValues"></InputCheckbox>
        <span>Update unstable namespaced values to spec versions (experimental)</span>
        <br/>
        @if (roomUpgrade.Type == "support.feline.policy.lists.msc.v1") {
            <InputCheckbox @bind-Value="@roomUpgrade.UpgradeOptions.Msc4321PolicyListUpgradeOptions.Enable"></InputCheckbox>
            <span>Enable MSC4321 support</span>
            <br/>
            @if (roomUpgrade.UpgradeOptions.Msc4321PolicyListUpgradeOptions.Enable) {
                <RoomCreateMsc4321UpgradeOptions roomUpgrade="@roomUpgrade" PageStateHasChanged="@PageStateHasChanged"/>
            }
        }
        <LinkButton OnClickAsync="@(async () => {
                                      await roomUpgrade.ImportAsync(OldRoom);
                                      PageStateHasChanged();
                                  })">Apply
        </LinkButton>
        @* </details> *@
    </td>
</tr>

@code {

    [Parameter]
    public required GenericRoom OldRoom { get; set; }
    
    [Parameter]
    public required RoomUpgradeBuilder roomUpgrade { get; set; }

    [Parameter]
    public required Action PageStateHasChanged { get; set; }

}