;
};
diff --git a/src/components/views/context_menus/IconizedContextMenu.tsx b/src/components/views/context_menus/IconizedContextMenu.tsx
index 1d822fd246..c9506d7c98 100644
--- a/src/components/views/context_menus/IconizedContextMenu.tsx
+++ b/src/components/views/context_menus/IconizedContextMenu.tsx
@@ -90,10 +90,11 @@ export const IconizedContextMenuCheckbox: React.FC = ({
;
};
-export const IconizedContextMenuOption: React.FC = ({ label, iconClassName, ...props }) => {
+export const IconizedContextMenuOption: React.FC = ({ label, iconClassName, children, ...props }) => {
return ;
};
diff --git a/src/components/views/dialogs/AddExistingSubspaceDialog.tsx b/src/components/views/dialogs/AddExistingSubspaceDialog.tsx
new file mode 100644
index 0000000000..f0e5e9241e
--- /dev/null
+++ b/src/components/views/dialogs/AddExistingSubspaceDialog.tsx
@@ -0,0 +1,70 @@
+/*
+Copyright 2021 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React, { useState } from "react";
+import { Room } from "matrix-js-sdk/src/models/room";
+
+import { _t } from '../../../languageHandler';
+import BaseDialog from "./BaseDialog";
+import AccessibleButton from "../elements/AccessibleButton";
+import MatrixClientContext from "../../../contexts/MatrixClientContext";
+import { SpaceFeedbackPrompt } from "../../structures/SpaceRoomView";
+import { AddExistingToSpace, defaultSpacesRenderer, SubspaceSelector } from "./AddExistingToSpaceDialog";
+
+interface IProps {
+ space: Room;
+ onCreateSubspaceClick(): void;
+ onFinished(added?: boolean): void;
+}
+
+const AddExistingSubspaceDialog: React.FC = ({ space, onCreateSubspaceClick, onFinished }) => {
+ const [selectedSpace, setSelectedSpace] = useState(space);
+
+ return
+ )}
+ className="mx_AddExistingToSpaceDialog"
+ contentId="mx_AddExistingToSpace"
+ onFinished={onFinished}
+ fixedWidth={false}
+ >
+
+
+
{ _t("Want to add a new space instead?") }
+
+ { _t("Create a new subspace") }
+
+ >}
+ filterPlaceholder={_t("Search for spaces")}
+ spacesRenderer={defaultSpacesRenderer}
+ />
+
+
+ onFinished(false)} />
+ ;
+};
+
+export default AddExistingSubspaceDialog;
+
diff --git a/src/components/views/dialogs/AddExistingToSpaceDialog.tsx b/src/components/views/dialogs/AddExistingToSpaceDialog.tsx
index 01dc729a83..a0c2a09943 100644
--- a/src/components/views/dialogs/AddExistingToSpaceDialog.tsx
+++ b/src/components/views/dialogs/AddExistingToSpaceDialog.tsx
@@ -18,9 +18,9 @@ import React, { ReactNode, useContext, useMemo, useState } from "react";
import classNames from "classnames";
import { Room } from "matrix-js-sdk/src/models/room";
import { sleep } from "matrix-js-sdk/src/utils";
+import { EventType } from "matrix-js-sdk/src/@types/event";
import { _t } from '../../../languageHandler';
-import { IDialogProps } from "./IDialogProps";
import BaseDialog from "./BaseDialog";
import Dropdown from "../elements/Dropdown";
import SearchBox from "../../structures/SearchBox";
@@ -42,12 +42,14 @@ import TruncatedList from "../elements/TruncatedList";
import EntityTile from "../rooms/EntityTile";
import BaseAvatar from "../avatars/BaseAvatar";
-interface IProps extends IDialogProps {
+interface IProps {
space: Room;
- onCreateRoomClick(space: Room): void;
+ onCreateRoomClick(): void;
+ onAddSubspaceClick(): void;
+ onFinished(added?: boolean): void;
}
-const Entry = ({ room, checked, onChange }) => {
+export const Entry = ({ room, checked, onChange }) => {
return
-
+
{ busy ? _t("Creating...") : _t("Create") }
diff --git a/src/components/views/spaces/SpaceTreeLevel.tsx b/src/components/views/spaces/SpaceTreeLevel.tsx
index 90584a5361..2312494641 100644
--- a/src/components/views/spaces/SpaceTreeLevel.tsx
+++ b/src/components/views/spaces/SpaceTreeLevel.tsx
@@ -34,6 +34,7 @@ import {
shouldShowSpaceSettings,
showAddExistingRooms,
showCreateNewRoom,
+ showCreateNewSubspace,
showSpaceInvite,
showSpaceSettings,
} from "../../../utils/space";
@@ -48,6 +49,7 @@ import { EventType } from "matrix-js-sdk/src/@types/event";
import { StaticNotificationState } from "../../../stores/notifications/StaticNotificationState";
import { NotificationColor } from "../../../stores/notifications/NotificationColor";
import { getKeyBindingsManager, RoomListAction } from "../../../KeyBindingsManager";
+import { BetaPill } from "../beta/BetaCard";
interface IItemProps extends InputHTMLAttributes {
space?: Room;
@@ -234,6 +236,14 @@ export class SpaceItem extends React.PureComponent {
this.setState({ contextMenuPosition: null }); // also close the menu
};
+ private onNewSubspaceClick = (ev: ButtonEvent) => {
+ ev.preventDefault();
+ ev.stopPropagation();
+
+ showCreateNewSubspace(this.props.space);
+ this.setState({ contextMenuPosition: null }); // also close the menu
+ };
+
private onMembersClick = (ev: ButtonEvent) => {
ev.preventDefault();
ev.stopPropagation();
@@ -318,6 +328,13 @@ export class SpaceItem extends React.PureComponent {
label={_t("Add existing room")}
onClick={this.onAddExistingRoomClick}
/>
+
+
+
;
}
diff --git a/src/createRoom.ts b/src/createRoom.ts
index 613fe26c9e..a3b06fa8ba 100644
--- a/src/createRoom.ts
+++ b/src/createRoom.ts
@@ -18,9 +18,15 @@ limitations under the License.
import { MatrixClient } from "matrix-js-sdk/src/client";
import { Room } from "matrix-js-sdk/src/models/room";
import { RoomMember } from "matrix-js-sdk/src/models/room-member";
-import { EventType } from "matrix-js-sdk/src/@types/event";
+import { EventType, RoomCreateTypeField, RoomType } from "matrix-js-sdk/src/@types/event";
import { ICreateRoomOpts } from "matrix-js-sdk/src/@types/requests";
-import { JoinRule, Preset, RestrictedAllowType, Visibility } from "matrix-js-sdk/src/@types/partials";
+import {
+ HistoryVisibility,
+ JoinRule,
+ Preset,
+ RestrictedAllowType,
+ Visibility,
+} from "matrix-js-sdk/src/@types/partials";
import { MatrixClientPeg } from './MatrixClientPeg';
import Modal from './Modal';
@@ -52,6 +58,9 @@ export interface IOpts {
inlineErrors?: boolean;
andView?: boolean;
associatedWithCommunity?: string;
+ avatar?: File | string; // will upload if given file, else mxcUrl is needed
+ roomType?: RoomType | string;
+ historyVisibility?: HistoryVisibility;
parentSpace?: Room;
joinRule?: JoinRule;
}
@@ -112,6 +121,13 @@ export default async function createRoom(opts: IOpts): Promise {
createOpts.is_direct = true;
}
+ if (opts.roomType) {
+ createOpts.creation_content = {
+ ...createOpts.creation_content,
+ [RoomCreateTypeField]: opts.roomType,
+ };
+ }
+
// By default, view the room after creating it
if (opts.andView === undefined) {
opts.andView = true;
@@ -144,12 +160,11 @@ export default async function createRoom(opts: IOpts): Promise {
if (opts.parentSpace) {
createOpts.initial_state.push(makeSpaceParentEvent(opts.parentSpace, true));
- createOpts.initial_state.push({
- type: EventType.RoomHistoryVisibility,
- content: {
- "history_visibility": createOpts.preset === Preset.PublicChat ? "world_readable" : "invited",
- },
- });
+ if (!opts.historyVisibility) {
+ opts.historyVisibility = createOpts.preset === Preset.PublicChat
+ ? HistoryVisibility.WorldReadable
+ : HistoryVisibility.Invited;
+ }
if (opts.joinRule === JoinRule.Restricted) {
if (SpaceStore.instance.restrictedJoinRuleSupport?.preferred) {
@@ -176,6 +191,27 @@ export default async function createRoom(opts: IOpts): Promise {
});
}
+ if (opts.avatar) {
+ let url = opts.avatar;
+ if (opts.avatar instanceof File) {
+ url = await client.uploadContent(opts.avatar);
+ }
+
+ createOpts.initial_state.push({
+ type: EventType.RoomAvatar,
+ content: { url },
+ });
+ }
+
+ if (opts.historyVisibility) {
+ createOpts.initial_state.push({
+ type: EventType.RoomHistoryVisibility,
+ content: {
+ "history_visibility": opts.historyVisibility,
+ },
+ });
+ }
+
let modal;
if (opts.spinner) modal = Modal.createDialog(Spinner, null, 'mx_Dialog_spinner');
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index b36910b41b..f2acde22cb 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -1008,6 +1008,8 @@
"Name": "Name",
"Description": "Description",
"Please enter a name for the space": "Please enter a name for the space",
+ "e.g. my-space": "e.g. my-space",
+ "Address": "Address",
"Create a space": "Create a space",
"Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.": "Spaces are a new way to group rooms and people. To join an existing space you'll need an invite.",
"Public": "Public",
@@ -1020,8 +1022,6 @@
"Your private space": "Your private space",
"Add some details to help people recognise it.": "Add some details to help people recognise it.",
"You can change these anytime.": "You can change these anytime.",
- "e.g. my-space": "e.g. my-space",
- "Address": "Address",
"Creating...": "Creating...",
"Create": "Create",
"All rooms": "All rooms",
@@ -1059,6 +1059,7 @@
"Leave space": "Leave space",
"Create new room": "Create new room",
"Add existing room": "Add existing room",
+ "Add subspace": "Add subspace",
"Members": "Members",
"Manage & explore rooms": "Manage & explore rooms",
"Explore rooms": "Explore rooms",
@@ -2108,17 +2109,20 @@
"Add a new server...": "Add a new server...",
"%(networkName)s rooms": "%(networkName)s rooms",
"Matrix rooms": "Matrix rooms",
+ "Add existing space": "Add existing space",
+ "Want to add a new space instead?": "Want to add a new space instead?",
+ "Create a new subspace": "Create a new subspace",
+ "Search for spaces": "Search for spaces",
"Not all selected were added": "Not all selected were added",
"Adding rooms... (%(progress)s out of %(count)s)|other": "Adding rooms... (%(progress)s out of %(count)s)",
"Adding rooms... (%(progress)s out of %(count)s)|one": "Adding room...",
- "Filter your rooms and spaces": "Filter your rooms and spaces",
- "Feeling experimental?": "Feeling experimental?",
- "You can add existing spaces to a space.": "You can add existing spaces to a space.",
"Direct Messages": "Direct Messages",
"Space selection": "Space selection",
"Add existing rooms": "Add existing rooms",
"Want to add a new room instead?": "Want to add a new room instead?",
"Create a new room": "Create a new room",
+ "Search for rooms": "Search for rooms",
+ "Adding spaces has moved.": "Adding spaces has moved.",
"Matrix ID": "Matrix ID",
"Matrix Room ID": "Matrix Room ID",
"email address": "email address",
@@ -2205,13 +2209,20 @@
"Create a room in %(communityName)s": "Create a room in %(communityName)s",
"Create a public room": "Create a public room",
"Create a private room": "Create a private room",
+ "Topic (optional)": "Topic (optional)",
+ "Room visibility": "Room visibility",
"Private room (invite only)": "Private room (invite only)",
"Public room": "Public room",
"Visible to space members": "Visible to space members",
- "Topic (optional)": "Topic (optional)",
- "Room visibility": "Room visibility",
"Block anyone not part of %(serverName)s from ever joining this room.": "Block anyone not part of %(serverName)s from ever joining this room.",
"Create Room": "Create Room",
+ "Create a subspace": "Create a subspace",
+ "Add a subspace to a space you manage.": "Add a subspace to a space you manage.",
+ "Subspace visibility": "Subspace visibility",
+ "Private subspace (invite only)": "Private subspace (invite only)",
+ "Public subspace": "Public subspace",
+ "Want to add an existing space instead?": "Want to add an existing space instead?",
+ "Adding...": "Adding...",
"Sign out": "Sign out",
"To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of %(brand)s to do this": "To avoid losing your chat history, you must export your room keys before logging out. You will need to go back to the newer version of %(brand)s to do this",
"You've previously used a newer version of %(brand)s with this session. To use this version again with end to end encryption, you will need to sign out and back in again.": "You've previously used a newer version of %(brand)s with this session. To use this version again with end to end encryption, you will need to sign out and back in again.",
@@ -2813,6 +2824,7 @@
"Creating rooms...": "Creating rooms...",
"What do you want to organise?": "What do you want to organise?",
"Pick rooms or conversations to add. This is just a space for you, no one will be informed. You can add more later.": "Pick rooms or conversations to add. This is just a space for you, no one will be informed. You can add more later.",
+ "Search for rooms or spaces": "Search for rooms or spaces",
"Share %(name)s": "Share %(name)s",
"It's just you at the moment, it will be even better with others.": "It's just you at the moment, it will be even better with others.",
"Go to my first room": "Go to my first room",
diff --git a/src/utils/space.tsx b/src/utils/space.tsx
index c238a83bc2..1e8a6fbeaf 100644
--- a/src/utils/space.tsx
+++ b/src/utils/space.tsx
@@ -28,6 +28,8 @@ import { _t } from "../languageHandler";
import SpacePublicShare from "../components/views/spaces/SpacePublicShare";
import InfoDialog from "../components/views/dialogs/InfoDialog";
import { showRoomInviteDialog } from "../RoomInvite";
+import CreateSubspaceDialog from "../components/views/dialogs/CreateSubspaceDialog";
+import AddExistingSubspaceDialog from "../components/views/dialogs/AddExistingSubspaceDialog";
export const shouldShowSpaceSettings = (space: Room) => {
const userId = space.client.getUserId();
@@ -54,18 +56,18 @@ export const showSpaceSettings = (space: Room) => {
}, /*className=*/null, /*isPriority=*/false, /*isStatic=*/true);
};
-export const showAddExistingRooms = async (space: Room) => {
+export const showAddExistingRooms = async (space: Room): Promise<[boolean]> => {
return Modal.createTrackedDialog(
"Space Landing",
"Add Existing",
AddExistingToSpaceDialog,
{
- matrixClient: space.client,
- onCreateRoomClick: showCreateNewRoom,
+ onCreateRoomClick: () => showCreateNewRoom(space),
+ onAddSubspaceClick: () => showAddExistingSubspace(space),
space,
},
"mx_AddExistingToSpaceDialog_wrapper",
- ).finished;
+ ).finished as Promise<[boolean]>;
};
export const showCreateNewRoom = async (space: Room) => {
@@ -102,3 +104,29 @@ export const showSpaceInvite = (space: Room, initialText = "") => {
showRoomInviteDialog(space.roomId, initialText);
}
};
+
+export const showAddExistingSubspace = async (space: Room): Promise<[boolean]> => {
+ return Modal.createTrackedDialog(
+ "Space Landing",
+ "Create Subspace",
+ AddExistingSubspaceDialog,
+ {
+ space,
+ onCreateSubspaceClick: () => showCreateNewSubspace(space),
+ },
+ "mx_AddExistingToSpaceDialog_wrapper",
+ ).finished as Promise<[boolean]>;
+};
+
+export const showCreateNewSubspace = async (space: Room): Promise<[boolean]> => {
+ return Modal.createTrackedDialog(
+ "Space Landing",
+ "Create Subspace",
+ CreateSubspaceDialog,
+ {
+ space,
+ onAddExistingSpaceClick: () => showAddExistingSubspace(space),
+ },
+ "mx_CreateSubspaceDialog_wrapper",
+ ).finished as Promise<[boolean]>;
+};
From b89434fcbc52b49fe2e557b7c8798c01ed6e0123 Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Fri, 23 Jul 2021 16:03:15 +0100
Subject: [PATCH 03/13] avoid abusing spans because you're too lazy to give
things a class
---
res/css/views/dialogs/_CreateSubspaceDialog.scss | 2 +-
src/components/views/dialogs/CreateSubspaceDialog.tsx | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/res/css/views/dialogs/_CreateSubspaceDialog.scss b/res/css/views/dialogs/_CreateSubspaceDialog.scss
index b898ba6d73..c780da4b9e 100644
--- a/res/css/views/dialogs/_CreateSubspaceDialog.scss
+++ b/res/css/views/dialogs/_CreateSubspaceDialog.scss
@@ -47,7 +47,7 @@ limitations under the License.
display: flex;
margin-top: 20px;
- > span {
+ .mx_CreateSubspaceDialog_footer_prompt {
flex-grow: 1;
font-size: $font-12px;
line-height: $font-15px;
diff --git a/src/components/views/dialogs/CreateSubspaceDialog.tsx b/src/components/views/dialogs/CreateSubspaceDialog.tsx
index 55fa0ee881..9f89490f5f 100644
--- a/src/components/views/dialogs/CreateSubspaceDialog.tsx
+++ b/src/components/views/dialogs/CreateSubspaceDialog.tsx
@@ -158,7 +158,7 @@ const CreateSubspaceDialog: React.FC = ({ space, onAddExistingSpaceClick
+ { _t("Only people invited will be able to find and join this space.") }
+
;
+ }
+
return = ({ space, onAddExistingSpaceClick
value={joinRule}
onChange={setJoinRule}
/>
+ { joinRuleMicrocopy }
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index e6b96a132d..ef4537bddf 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -2219,6 +2219,9 @@
"Visible to space members": "Visible to space members",
"Block anyone not part of %(serverName)s from ever joining this room.": "Block anyone not part of %(serverName)s from ever joining this room.",
"Create Room": "Create Room",
+ "Anyone in will be able to find and join.": "Anyone in will be able to find and join.",
+ "Anyone will be able to find and join this space, not just members of .": "Anyone will be able to find and join this space, not just members of .",
+ "Only people invited will be able to find and join this space.": "Only people invited will be able to find and join this space.",
"Create a subspace": "Create a subspace",
"Add a subspace to a space you manage.": "Add a subspace to a space you manage.",
"Subspace visibility": "Subspace visibility",
From 67b8c0a8113752a13eb251a9f3443c370d10ba50 Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Wed, 28 Jul 2021 19:33:54 +0100
Subject: [PATCH 08/13] remove unused import
---
src/components/structures/SpaceRoomDirectory.tsx | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/components/structures/SpaceRoomDirectory.tsx b/src/components/structures/SpaceRoomDirectory.tsx
index 610ac5e103..d8cc9593f0 100644
--- a/src/components/structures/SpaceRoomDirectory.tsx
+++ b/src/components/structures/SpaceRoomDirectory.tsx
@@ -16,7 +16,6 @@ limitations under the License.
import React, { ReactNode, useMemo, useState } from "react";
import { Room } from "matrix-js-sdk/src/models/room";
-import { MatrixClient } from "matrix-js-sdk/src/client";
import { EventType, RoomType } from "matrix-js-sdk/src/@types/event";
import { ISpaceSummaryRoom, ISpaceSummaryEvent } from "matrix-js-sdk/src/@types/spaces";
import classNames from "classnames";
From 78a911759835c6ffa34b1d4e6c12ff50e593c28b Mon Sep 17 00:00:00 2001
From: Germain Souquet
Date: Thu, 29 Jul 2021 11:12:07 +0200
Subject: [PATCH 09/13] Prevent timeline flickering on hover
---
res/css/views/rooms/_EventBubbleTile.scss | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/res/css/views/rooms/_EventBubbleTile.scss b/res/css/views/rooms/_EventBubbleTile.scss
index 866bc904c2..65e4e58078 100644
--- a/res/css/views/rooms/_EventBubbleTile.scss
+++ b/res/css/views/rooms/_EventBubbleTile.scss
@@ -38,18 +38,22 @@ limitations under the License.
padding-top: 0;
}
+ &::before {
+ content: '';
+ position: absolute;
+ top: -1px;
+ bottom: -1px;
+ left: -60px;
+ right: -60px;
+ z-index: -1;
+ border-radius: 4px;
+ }
+
&:hover,
&.mx_EventTile_selected {
+
&::before {
- content: '';
- position: absolute;
- top: -1px;
- bottom: -1px;
- left: -60px;
- right: -60px;
- z-index: -1;
background: $eventbubble-bg-hover;
- border-radius: 4px;
}
.mx_EventTile_avatar {
From 9c4101fa8999ed490011e9424443b875de5b986a Mon Sep 17 00:00:00 2001
From: Germain Souquet
Date: Thu, 29 Jul 2021 11:48:22 +0200
Subject: [PATCH 10/13] Align event list summary read receipts when using
message bubbles
---
res/css/views/rooms/_EventBubbleTile.scss | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/res/css/views/rooms/_EventBubbleTile.scss b/res/css/views/rooms/_EventBubbleTile.scss
index 866bc904c2..8dd4a6e515 100644
--- a/res/css/views/rooms/_EventBubbleTile.scss
+++ b/res/css/views/rooms/_EventBubbleTile.scss
@@ -288,9 +288,9 @@ limitations under the License.
}
.mx_EventListSummary[data-layout=bubble] {
- --maxWidth: 80%;
+ --maxWidth: 70%;
margin-left: calc(var(--avatarSize) + var(--gutterSize));
- margin-right: calc(var(--gutterSize) + var(--avatarSize));
+ margin-right: 94px;
.mx_EventListSummary_toggle {
float: none;
margin: 0;
From 6c68f779ec13278cdac373bf6d30c9da56db1133 Mon Sep 17 00:00:00 2001
From: Germain Souquet
Date: Thu, 29 Jul 2021 11:58:32 +0200
Subject: [PATCH 11/13] Restore pointer cursor for SenderProfile in message
bubbles
---
res/css/views/rooms/_EventTile.scss | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/res/css/views/rooms/_EventTile.scss b/res/css/views/rooms/_EventTile.scss
index 206fe843de..5de9a9f9d1 100644
--- a/res/css/views/rooms/_EventTile.scss
+++ b/res/css/views/rooms/_EventTile.scss
@@ -59,7 +59,6 @@ $hover-select-border: 4px;
font-size: $font-14px;
display: inline-block; /* anti-zalgo, with overflow hidden */
overflow: hidden;
- cursor: pointer;
padding-bottom: 0px;
padding-top: 0px;
margin: 0px;
@@ -322,6 +321,10 @@ $hover-select-border: 4px;
// on ELS we need the margin to allow interaction with the expand/collapse button which is normally in the RR gutter
}
+.mx_SenderProfile {
+ cursor: pointer;
+}
+
.mx_EventTile_bubbleContainer {
display: grid;
grid-template-columns: 1fr 100px;
From 7baa3284e3441361920234547993bb661398b385 Mon Sep 17 00:00:00 2001
From: Dariusz Niemczyk
Date: Thu, 29 Jul 2021 12:39:32 +0200
Subject: [PATCH 12/13] Fix grecaptcha regression
---
src/components/views/auth/CaptchaForm.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/views/auth/CaptchaForm.tsx b/src/components/views/auth/CaptchaForm.tsx
index b1c09f2b22..97f45167a8 100644
--- a/src/components/views/auth/CaptchaForm.tsx
+++ b/src/components/views/auth/CaptchaForm.tsx
@@ -103,8 +103,8 @@ export default class CaptchaForm extends React.Component
Date: Thu, 29 Jul 2021 13:02:07 +0100
Subject: [PATCH 13/13] Update all copy of `subspace` to `space`
---
src/components/structures/SpaceRoomView.tsx | 2 +-
.../views/dialogs/AddExistingSubspaceDialog.tsx | 2 +-
.../views/dialogs/CreateSubspaceDialog.tsx | 10 +++++-----
src/components/views/spaces/SpaceTreeLevel.tsx | 2 +-
src/i18n/strings/en_EN.json | 14 ++++++--------
5 files changed, 14 insertions(+), 16 deletions(-)
diff --git a/src/components/structures/SpaceRoomView.tsx b/src/components/structures/SpaceRoomView.tsx
index 5829578cd2..682a0c68db 100644
--- a/src/components/structures/SpaceRoomView.tsx
+++ b/src/components/structures/SpaceRoomView.tsx
@@ -356,7 +356,7 @@ const SpaceLandingAddButton = ({ space }) => {
}}
/>
{
e.preventDefault();
diff --git a/src/components/views/dialogs/AddExistingSubspaceDialog.tsx b/src/components/views/dialogs/AddExistingSubspaceDialog.tsx
index f0e5e9241e..a6dbf9dd42 100644
--- a/src/components/views/dialogs/AddExistingSubspaceDialog.tsx
+++ b/src/components/views/dialogs/AddExistingSubspaceDialog.tsx
@@ -54,7 +54,7 @@ const AddExistingSubspaceDialog: React.FC = ({ space, onCreateSubspaceCl
footerPrompt={<>
{ _t("Want to add a new space instead?") }
- { _t("Create a new subspace") }
+ { _t("Create a new space") }
>}
filterPlaceholder={_t("Search for spaces")}
diff --git a/src/components/views/dialogs/CreateSubspaceDialog.tsx b/src/components/views/dialogs/CreateSubspaceDialog.tsx
index 6a81bb04df..0d71eb2de3 100644
--- a/src/components/views/dialogs/CreateSubspaceDialog.tsx
+++ b/src/components/views/dialogs/CreateSubspaceDialog.tsx
@@ -136,7 +136,7 @@ const CreateSubspaceDialog: React.FC = ({ space, onAddExistingSpaceClick
return = ({ space, onAddExistingSpaceClick
- { _t("Add a subspace to a space you manage.") }
+ { _t("Add a space to a space you manage.") }
= ({ space, onAddExistingSpaceClick
aliasFieldRef={spaceAliasField}
>
{
/>
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index ef4537bddf..314f8a469e 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -1056,7 +1056,7 @@
"Leave space": "Leave space",
"Create new room": "Create new room",
"Add existing room": "Add existing room",
- "Add subspace": "Add subspace",
+ "Add space": "Add space",
"Members": "Members",
"Manage & explore rooms": "Manage & explore rooms",
"Explore rooms": "Explore rooms",
@@ -2113,7 +2113,7 @@
"Matrix rooms": "Matrix rooms",
"Add existing space": "Add existing space",
"Want to add a new space instead?": "Want to add a new space instead?",
- "Create a new subspace": "Create a new subspace",
+ "Create a new space": "Create a new space",
"Search for spaces": "Search for spaces",
"Not all selected were added": "Not all selected were added",
"Adding rooms... (%(progress)s out of %(count)s)|other": "Adding rooms... (%(progress)s out of %(count)s)",
@@ -2222,11 +2222,10 @@
"Anyone in will be able to find and join.": "Anyone in will be able to find and join.",
"Anyone will be able to find and join this space, not just members of .": "Anyone will be able to find and join this space, not just members of .",
"Only people invited will be able to find and join this space.": "Only people invited will be able to find and join this space.",
- "Create a subspace": "Create a subspace",
- "Add a subspace to a space you manage.": "Add a subspace to a space you manage.",
- "Subspace visibility": "Subspace visibility",
- "Private subspace (invite only)": "Private subspace (invite only)",
- "Public subspace": "Public subspace",
+ "Add a space to a space you manage.": "Add a space to a space you manage.",
+ "Space visibility": "Space visibility",
+ "Private space (invite only)": "Private space (invite only)",
+ "Public space": "Public space",
"Want to add an existing space instead?": "Want to add an existing space instead?",
"Adding...": "Adding...",
"Sign out": "Sign out",
@@ -2815,7 +2814,6 @@
"If you can't find the room you're looking for, ask for an invite or create a new room.": "If you can't find the room you're looking for, ask for an invite or create a new room.",
"Create room": "Create room",
"Spaces are a beta feature.": "Spaces are a beta feature.",
- "Public space": "Public space",
"Private space": "Private space",
" invites you": " invites you",
"To view %(spaceName)s, turn on the Spaces beta": "To view %(spaceName)s, turn on the Spaces beta",