Offer a way to create a space based on existing community

This commit is contained in:
Michael Telatynski 2021-08-04 10:37:35 +01:00
parent 152c7dc865
commit a6e5112be0
19 changed files with 895 additions and 68 deletions

View file

@ -17,6 +17,7 @@ limitations under the License.
import React from "react";
import { Room } from "matrix-js-sdk/src/models/room";
import { EventType } from "matrix-js-sdk/src/@types/event";
import { MatrixClient } from "matrix-js-sdk/src/client";
import { calculateRoomVia } from "./permalinks/Permalinks";
import Modal from "../Modal";
@ -37,6 +38,7 @@ import { leaveRoomBehaviour } from "./membership";
import Spinner from "../components/views/elements/Spinner";
import dis from "../dispatcher/dispatcher";
import LeaveSpaceDialog from "../components/views/dialogs/LeaveSpaceDialog";
import CreateSpaceFromCommunityDialog from "../components/views/dialogs/CreateSpaceFromCommunityDialog";
export const shouldShowSpaceSettings = (space: Room) => {
const userId = space.client.getUserId();
@ -173,3 +175,10 @@ export const leaveSpace = (space: Room) => {
},
}, "mx_LeaveSpaceDialog_wrapper");
};
export const createSpaceFromCommunity = (cli: MatrixClient, groupId: string): Promise<[string?]> => {
return Modal.createTrackedDialog('Create Space', 'from community', CreateSpaceFromCommunityDialog, {
matrixClient: cli,
groupId,
}, "mx_CreateSpaceFromCommunityDialog_wrapper").finished as Promise<[string?]>;
};