Use enums in SecurityRoomSettingsTab
parent
cddcedcce2
commit
d497d62db3
|
@ -27,9 +27,24 @@ import SettingsStore from "../../../../../settings/SettingsStore";
|
||||||
import {UIFeature} from "../../../../../settings/UIFeature";
|
import {UIFeature} from "../../../../../settings/UIFeature";
|
||||||
import { replaceableComponent } from "../../../../../utils/replaceableComponent";
|
import { replaceableComponent } from "../../../../../utils/replaceableComponent";
|
||||||
|
|
||||||
type JoinRule = "public" | "knock" | "invite" | "private";
|
enum JoinRule {
|
||||||
type GuestAccess = "can_join" | "forbidden";
|
Public = "public",
|
||||||
type HistoryVisibility = "invited" | "joined" | "shared" | "world_readable";
|
Knock = "knock",
|
||||||
|
Invite = "invite",
|
||||||
|
Private = "private",
|
||||||
|
}
|
||||||
|
|
||||||
|
enum GuestAccess {
|
||||||
|
CanJoin = "can_join",
|
||||||
|
Forbidden = "forbidden",
|
||||||
|
}
|
||||||
|
|
||||||
|
enum HistoryVisibility {
|
||||||
|
Invited = "invited",
|
||||||
|
Joined = "joined",
|
||||||
|
Shared = "shared",
|
||||||
|
WorldReadable = "world_readable",
|
||||||
|
}
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
roomId: string;
|
roomId: string;
|
||||||
|
@ -49,9 +64,9 @@ export default class SecurityRoomSettingsTab extends React.Component<IProps, ISt
|
||||||
super(props);
|
super(props);
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
joinRule: "invite",
|
joinRule: JoinRule.Invite,
|
||||||
guestAccess: "can_join",
|
guestAccess: GuestAccess.CanJoin,
|
||||||
history: "shared",
|
history: HistoryVisibility.Shared,
|
||||||
hasAliases: false,
|
hasAliases: false,
|
||||||
encrypted: false,
|
encrypted: false,
|
||||||
};
|
};
|
||||||
|
@ -141,8 +156,8 @@ export default class SecurityRoomSettingsTab extends React.Component<IProps, ISt
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
|
||||||
const joinRule = "invite";
|
const joinRule = JoinRule.Invite;
|
||||||
const guestAccess = "can_join";
|
const guestAccess = GuestAccess.CanJoin;
|
||||||
|
|
||||||
const beforeJoinRule = this.state.joinRule;
|
const beforeJoinRule = this.state.joinRule;
|
||||||
const beforeGuestAccess = this.state.guestAccess;
|
const beforeGuestAccess = this.state.guestAccess;
|
||||||
|
@ -173,20 +188,20 @@ export default class SecurityRoomSettingsTab extends React.Component<IProps, ISt
|
||||||
// invite them, you clearly want them to join, whether they're a
|
// invite them, you clearly want them to join, whether they're a
|
||||||
// guest or not. In practice, guest_access should probably have
|
// guest or not. In practice, guest_access should probably have
|
||||||
// been implemented as part of the join_rules enum.
|
// been implemented as part of the join_rules enum.
|
||||||
let joinRule: JoinRule = "invite";
|
let joinRule = JoinRule.Invite;
|
||||||
let guestAccess: GuestAccess = "can_join";
|
let guestAccess = GuestAccess.CanJoin;
|
||||||
|
|
||||||
switch (roomAccess) {
|
switch (roomAccess) {
|
||||||
case "invite_only":
|
case "invite_only":
|
||||||
// no change - use defaults above
|
// no change - use defaults above
|
||||||
break;
|
break;
|
||||||
case "public_no_guests":
|
case "public_no_guests":
|
||||||
joinRule = "public";
|
joinRule = JoinRule.Public;
|
||||||
guestAccess = "forbidden";
|
guestAccess = GuestAccess.Forbidden;
|
||||||
break;
|
break;
|
||||||
case "public_with_guests":
|
case "public_with_guests":
|
||||||
joinRule = "public";
|
joinRule = JoinRule.Public;
|
||||||
guestAccess = "can_join";
|
guestAccess = GuestAccess.CanJoin;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue