Apply prettier formatting
This commit is contained in:
parent
1cac306093
commit
526645c791
1576 changed files with 65385 additions and 62478 deletions
|
@ -56,14 +56,16 @@ const validServer = withValidation<undefined, { error?: MatrixError }>({
|
|||
key: "required",
|
||||
test: async ({ value }) => !!value,
|
||||
invalid: () => _t("Enter a server name"),
|
||||
}, {
|
||||
},
|
||||
{
|
||||
key: "available",
|
||||
final: true,
|
||||
test: async (_, { error }) => !error,
|
||||
valid: () => _t("Looks good"),
|
||||
invalid: ({ error }) => error?.errcode === "M_FORBIDDEN"
|
||||
? _t("You are not allowed to view this server's rooms list")
|
||||
: _t("Can't find this server or its room list"),
|
||||
invalid: ({ error }) =>
|
||||
error?.errcode === "M_FORBIDDEN"
|
||||
? _t("You are not allowed to view this server's rooms list")
|
||||
: _t("Can't find this server or its room list"),
|
||||
},
|
||||
],
|
||||
});
|
||||
|
@ -116,9 +118,7 @@ function useServers(): ServerList {
|
|||
);
|
||||
|
||||
const homeServer = MatrixClientPeg.getHomeserverName();
|
||||
const configServers = new Set<string>(
|
||||
SdkConfig.getObject("room_directory")?.get("servers") ?? [],
|
||||
);
|
||||
const configServers = new Set<string>(SdkConfig.getObject("room_directory")?.get("servers") ?? []);
|
||||
removeAll(configServers, homeServer);
|
||||
// configured servers take preference over user-defined ones, if one occurs in both ignore the latter one.
|
||||
const removableServers = new Set(userDefinedServers);
|
||||
|
@ -147,7 +147,7 @@ interface IProps {
|
|||
export const NetworkDropdown = ({ protocols, config, setConfig }: IProps) => {
|
||||
const { allServers, homeServer, userDefinedServers, setUserDefinedServers } = useServers();
|
||||
|
||||
const options: GenericDropdownMenuItem<IPublicRoomDirectoryConfig | null>[] = allServers.map(roomServer => ({
|
||||
const options: GenericDropdownMenuItem<IPublicRoomDirectoryConfig | null>[] = allServers.map((roomServer) => ({
|
||||
key: { roomServer, instanceId: null },
|
||||
label: roomServer,
|
||||
description: roomServer === homeServer ? _t("Your server") : null,
|
||||
|
@ -156,74 +156,88 @@ export const NetworkDropdown = ({ protocols, config, setConfig }: IProps) => {
|
|||
key: { roomServer, instanceId: undefined },
|
||||
label: _t("Matrix"),
|
||||
},
|
||||
...(roomServer === homeServer && protocols ? Object.values(protocols)
|
||||
.flatMap(protocol => protocol.instances)
|
||||
.map(instance => ({
|
||||
key: { roomServer, instanceId: instance.instance_id },
|
||||
label: instance.desc,
|
||||
})) : []),
|
||||
...(roomServer === homeServer && protocols
|
||||
? Object.values(protocols)
|
||||
.flatMap((protocol) => protocol.instances)
|
||||
.map((instance) => ({
|
||||
key: { roomServer, instanceId: instance.instance_id },
|
||||
label: instance.desc,
|
||||
}))
|
||||
: []),
|
||||
],
|
||||
...(userDefinedServers.includes(roomServer) ? ({
|
||||
adornment: (
|
||||
<AccessibleButton
|
||||
className="mx_NetworkDropdown_removeServer"
|
||||
alt={_t("Remove server “%(roomServer)s”", { roomServer })}
|
||||
onClick={() => setUserDefinedServers(without(userDefinedServers, roomServer))}
|
||||
/>
|
||||
),
|
||||
}) : {}),
|
||||
...(userDefinedServers.includes(roomServer)
|
||||
? {
|
||||
adornment: (
|
||||
<AccessibleButton
|
||||
className="mx_NetworkDropdown_removeServer"
|
||||
alt={_t("Remove server “%(roomServer)s”", { roomServer })}
|
||||
onClick={() => setUserDefinedServers(without(userDefinedServers, roomServer))}
|
||||
/>
|
||||
),
|
||||
}
|
||||
: {}),
|
||||
}));
|
||||
|
||||
const addNewServer = useCallback(({ closeMenu }) => (
|
||||
<>
|
||||
<span className="mx_GenericDropdownMenu_divider" />
|
||||
<MenuItemRadio
|
||||
active={false}
|
||||
className="mx_GenericDropdownMenu_Option mx_GenericDropdownMenu_Option--item"
|
||||
onClick={async () => {
|
||||
closeMenu();
|
||||
const { finished } = Modal.createDialog(TextInputDialog, {
|
||||
title: _t("Add a new server"),
|
||||
description: _t("Enter the name of a new server you want to explore."),
|
||||
button: _t("Add"),
|
||||
hasCancel: false,
|
||||
placeholder: _t("Server name"),
|
||||
validator: validServer,
|
||||
fixedWidth: false,
|
||||
}, "mx_NetworkDropdown_dialog");
|
||||
const addNewServer = useCallback(
|
||||
({ closeMenu }) => (
|
||||
<>
|
||||
<span className="mx_GenericDropdownMenu_divider" />
|
||||
<MenuItemRadio
|
||||
active={false}
|
||||
className="mx_GenericDropdownMenu_Option mx_GenericDropdownMenu_Option--item"
|
||||
onClick={async () => {
|
||||
closeMenu();
|
||||
const { finished } = Modal.createDialog(
|
||||
TextInputDialog,
|
||||
{
|
||||
title: _t("Add a new server"),
|
||||
description: _t("Enter the name of a new server you want to explore."),
|
||||
button: _t("Add"),
|
||||
hasCancel: false,
|
||||
placeholder: _t("Server name"),
|
||||
validator: validServer,
|
||||
fixedWidth: false,
|
||||
},
|
||||
"mx_NetworkDropdown_dialog",
|
||||
);
|
||||
|
||||
const [ok, newServer] = await finished;
|
||||
if (!ok) return;
|
||||
const [ok, newServer] = await finished;
|
||||
if (!ok) return;
|
||||
|
||||
if (!allServers.includes(newServer)) {
|
||||
setUserDefinedServers([...userDefinedServers, newServer]);
|
||||
setConfig({
|
||||
roomServer: newServer,
|
||||
});
|
||||
}
|
||||
}}
|
||||
>
|
||||
<div className="mx_GenericDropdownMenu_Option--label">
|
||||
<span className="mx_NetworkDropdown_addServer">
|
||||
{ _t("Add new server…") }
|
||||
</span>
|
||||
</div>
|
||||
</MenuItemRadio>
|
||||
</>
|
||||
), [allServers, setConfig, setUserDefinedServers, userDefinedServers]);
|
||||
if (!allServers.includes(newServer)) {
|
||||
setUserDefinedServers([...userDefinedServers, newServer]);
|
||||
setConfig({
|
||||
roomServer: newServer,
|
||||
});
|
||||
}
|
||||
}}
|
||||
>
|
||||
<div className="mx_GenericDropdownMenu_Option--label">
|
||||
<span className="mx_NetworkDropdown_addServer">{_t("Add new server…")}</span>
|
||||
</div>
|
||||
</MenuItemRadio>
|
||||
</>
|
||||
),
|
||||
[allServers, setConfig, setUserDefinedServers, userDefinedServers],
|
||||
);
|
||||
|
||||
return (
|
||||
<GenericDropdownMenu
|
||||
className="mx_NetworkDropdown_wrapper"
|
||||
value={config}
|
||||
toKey={(config: IPublicRoomDirectoryConfig | null) =>
|
||||
config ? `${config.roomServer}-${config.instanceId}` : "null"}
|
||||
config ? `${config.roomServer}-${config.instanceId}` : "null"
|
||||
}
|
||||
options={options}
|
||||
onChange={(option) => setConfig(option)}
|
||||
selectedLabel={option => option?.key ? _t("Show: %(instance)s rooms (%(server)s)", {
|
||||
server: option.key.roomServer,
|
||||
instance: option.key.instanceId ? option.label : "Matrix",
|
||||
}) : _t("Show: Matrix rooms")}
|
||||
selectedLabel={(option) =>
|
||||
option?.key
|
||||
? _t("Show: %(instance)s rooms (%(server)s)", {
|
||||
server: option.key.roomServer,
|
||||
instance: option.key.instanceId ? option.label : "Matrix",
|
||||
})
|
||||
: _t("Show: Matrix rooms")
|
||||
}
|
||||
AdditionalOptions={addNewServer}
|
||||
/>
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue