Make AliasSettings space-aware, remove stale unused props
parent
78debcc93b
commit
fdecba2fe5
|
@ -80,7 +80,7 @@ interface IProps {
|
||||||
canSetCanonicalAlias: boolean;
|
canSetCanonicalAlias: boolean;
|
||||||
canSetAliases: boolean;
|
canSetAliases: boolean;
|
||||||
canonicalAliasEvent?: MatrixEvent;
|
canonicalAliasEvent?: MatrixEvent;
|
||||||
aliasEvents?: MatrixEvent[];
|
hidePublishSetting?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface IState {
|
interface IState {
|
||||||
|
@ -99,7 +99,6 @@ export default class AliasSettings extends React.Component<IProps, IState> {
|
||||||
static defaultProps = {
|
static defaultProps = {
|
||||||
canSetAliases: false,
|
canSetAliases: false,
|
||||||
canSetCanonicalAlias: false,
|
canSetCanonicalAlias: false,
|
||||||
aliasEvents: [],
|
|
||||||
};
|
};
|
||||||
|
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
|
@ -317,7 +316,9 @@ export default class AliasSettings extends React.Component<IProps, IState> {
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const localDomain = MatrixClientPeg.get().getDomain();
|
const cli = MatrixClientPeg.get();
|
||||||
|
const localDomain = cli.getDomain();
|
||||||
|
const isSpaceRoom = cli.getRoom(this.props.roomId)?.isSpaceRoom();
|
||||||
|
|
||||||
let found = false;
|
let found = false;
|
||||||
const canonicalValue = this.state.canonicalAlias || "";
|
const canonicalValue = this.state.canonicalAlias || "";
|
||||||
|
@ -363,7 +364,9 @@ export default class AliasSettings extends React.Component<IProps, IState> {
|
||||||
canEdit={this.props.canSetAliases}
|
canEdit={this.props.canSetAliases}
|
||||||
onItemAdded={this.onLocalAliasAdded}
|
onItemAdded={this.onLocalAliasAdded}
|
||||||
onItemRemoved={this.onLocalAliasDeleted}
|
onItemRemoved={this.onLocalAliasDeleted}
|
||||||
noItemsLabel={_t('This room has no local addresses')}
|
noItemsLabel={isSpaceRoom
|
||||||
|
? _t("This space has no local addresses")
|
||||||
|
: _t("This room has no local addresses")}
|
||||||
placeholder={_t('Local address')}
|
placeholder={_t('Local address')}
|
||||||
domain={localDomain}
|
domain={localDomain}
|
||||||
/>);
|
/>);
|
||||||
|
@ -372,10 +375,20 @@ export default class AliasSettings extends React.Component<IProps, IState> {
|
||||||
return (
|
return (
|
||||||
<div className='mx_AliasSettings'>
|
<div className='mx_AliasSettings'>
|
||||||
<span className='mx_SettingsTab_subheading'>{_t("Published Addresses")}</span>
|
<span className='mx_SettingsTab_subheading'>{_t("Published Addresses")}</span>
|
||||||
<p>{_t("Published addresses can be used by anyone on any server to join your room. " +
|
<p>
|
||||||
"To publish an address, it needs to be set as a local address first.")}</p>
|
{ isSpaceRoom
|
||||||
{canonicalAliasSection}
|
? _t("Published addresses can be used by anyone on any server to join your space.")
|
||||||
<RoomPublishSetting roomId={this.props.roomId} canSetCanonicalAlias={this.props.canSetCanonicalAlias} />
|
: _t("Published addresses can be used by anyone on any server to join your room.")}
|
||||||
|
|
||||||
|
{ _t("To publish an address, it needs to be set as a local address first.") }
|
||||||
|
</p>
|
||||||
|
{ canonicalAliasSection }
|
||||||
|
{ this.props.hidePublishSetting
|
||||||
|
? null
|
||||||
|
: <RoomPublishSetting
|
||||||
|
roomId={this.props.roomId}
|
||||||
|
canSetCanonicalAlias={this.props.canSetCanonicalAlias}
|
||||||
|
/> }
|
||||||
<datalist id="mx_AliasSettings_altRecommendations">
|
<datalist id="mx_AliasSettings_altRecommendations">
|
||||||
{this.getLocalNonAltAliases().map(alias => {
|
{this.getLocalNonAltAliases().map(alias => {
|
||||||
return <option value={alias} key={alias} />;
|
return <option value={alias} key={alias} />;
|
||||||
|
@ -399,7 +412,10 @@ export default class AliasSettings extends React.Component<IProps, IState> {
|
||||||
{ _t("Local Addresses") }
|
{ _t("Local Addresses") }
|
||||||
</span>
|
</span>
|
||||||
<p>
|
<p>
|
||||||
{ _t("Set addresses for this room so users can find this room " +
|
{ isSpaceRoom
|
||||||
|
? _t("Set addresses for this space so users can find this space " +
|
||||||
|
"through your homeserver (%(localDomain)s)", { localDomain })
|
||||||
|
: _t("Set addresses for this room so users can find this room " +
|
||||||
"through your homeserver (%(localDomain)s)", { localDomain }) }
|
"through your homeserver (%(localDomain)s)", { localDomain }) }
|
||||||
</p>
|
</p>
|
||||||
<details onToggle={this.onLocalAliasesToggled}>
|
<details onToggle={this.onLocalAliasesToggled}>
|
||||||
|
|
|
@ -60,7 +60,6 @@ export default class GeneralRoomSettingsTab extends React.Component {
|
||||||
const canSetAliases = true; // Previously, we arbitrarily only allowed admins to do this
|
const canSetAliases = true; // Previously, we arbitrarily only allowed admins to do this
|
||||||
const canSetCanonical = room.currentState.mayClientSendStateEvent("m.room.canonical_alias", client);
|
const canSetCanonical = room.currentState.mayClientSendStateEvent("m.room.canonical_alias", client);
|
||||||
const canonicalAliasEv = room.currentState.getStateEvents("m.room.canonical_alias", '');
|
const canonicalAliasEv = room.currentState.getStateEvents("m.room.canonical_alias", '');
|
||||||
const aliasEvents = room.currentState.getStateEvents("m.room.aliases");
|
|
||||||
|
|
||||||
const canChangeGroups = room.currentState.mayClientSendStateEvent("m.room.related_groups", client);
|
const canChangeGroups = room.currentState.mayClientSendStateEvent("m.room.related_groups", client);
|
||||||
const groupsEvent = room.currentState.getStateEvents("m.room.related_groups", "");
|
const groupsEvent = room.currentState.getStateEvents("m.room.related_groups", "");
|
||||||
|
@ -100,7 +99,7 @@ export default class GeneralRoomSettingsTab extends React.Component {
|
||||||
<div className='mx_SettingsTab_section mx_SettingsTab_subsectionText'>
|
<div className='mx_SettingsTab_section mx_SettingsTab_subsectionText'>
|
||||||
<AliasSettings roomId={this.props.roomId}
|
<AliasSettings roomId={this.props.roomId}
|
||||||
canSetCanonicalAlias={canSetCanonical} canSetAliases={canSetAliases}
|
canSetCanonicalAlias={canSetCanonical} canSetAliases={canSetAliases}
|
||||||
canonicalAliasEvent={canonicalAliasEv} aliasEvents={aliasEvents} />
|
canonicalAliasEvent={canonicalAliasEv} />
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_SettingsTab_heading">{_t("Other")}</div>
|
<div className="mx_SettingsTab_heading">{_t("Other")}</div>
|
||||||
{ flairSection }
|
{ flairSection }
|
||||||
|
|
Loading…
Reference in New Issue