mirror of https://github.com/vector-im/riot-web
Convert RoomView and RoomContext to TS
parent
6a304ce16e
commit
906d4defd5
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
src/components/structures/RoomDirectory.js
|
src/components/structures/RoomDirectory.js
|
||||||
src/components/structures/RoomStatusBar.js
|
src/components/structures/RoomStatusBar.js
|
||||||
src/components/structures/RoomView.js
|
|
||||||
src/components/structures/ScrollPanel.js
|
src/components/structures/ScrollPanel.js
|
||||||
src/components/structures/SearchBox.js
|
src/components/structures/SearchBox.js
|
||||||
src/components/structures/UploadBar.js
|
src/components/structures/UploadBar.js
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,25 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright 2019 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 { createContext } from "react";
|
|
||||||
|
|
||||||
const RoomContext = createContext({
|
|
||||||
canReact: undefined,
|
|
||||||
canReply: undefined,
|
|
||||||
room: undefined,
|
|
||||||
});
|
|
||||||
RoomContext.displayName = "RoomContext";
|
|
||||||
export default RoomContext;
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 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 { createContext } from "react";
|
||||||
|
|
||||||
|
import {IState} from "../components/structures/RoomView";
|
||||||
|
|
||||||
|
const RoomContext = createContext<IState>({
|
||||||
|
roomLoading: true,
|
||||||
|
peekLoading: false,
|
||||||
|
shouldPeek: true,
|
||||||
|
membersLoaded: false,
|
||||||
|
numUnreadMessages: 0,
|
||||||
|
draggingFile: false,
|
||||||
|
searching: false,
|
||||||
|
guestsCanJoin: false,
|
||||||
|
canPeek: false,
|
||||||
|
showApps: false,
|
||||||
|
isAlone: false,
|
||||||
|
isPeeking: false,
|
||||||
|
showingPinned: false,
|
||||||
|
showReadReceipts: true,
|
||||||
|
showRightPanel: true,
|
||||||
|
joining: false,
|
||||||
|
atEndOfLiveTimeline: true,
|
||||||
|
atEndOfLiveTimelineInit: false,
|
||||||
|
showTopUnreadMessagesBar: false,
|
||||||
|
statusBarVisible: false,
|
||||||
|
canReact: false,
|
||||||
|
canReply: false,
|
||||||
|
useIRCLayout: false,
|
||||||
|
matrixClientIsReady: false,
|
||||||
|
});
|
||||||
|
RoomContext.displayName = "RoomContext";
|
||||||
|
export default RoomContext;
|
|
@ -18,7 +18,13 @@ interface Room {
|
||||||
roomId: string;
|
roomId: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function shieldStatusForRoom(client: Client, room: Room): Promise<string> {
|
export enum E2EStatus {
|
||||||
|
Warning = "warning",
|
||||||
|
Verified = "verified",
|
||||||
|
Normal = "normal"
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function shieldStatusForRoom(client: Client, room: Room): Promise<E2EStatus> {
|
||||||
const members = (await room.getEncryptionTargetMembers()).map(({userId}) => userId);
|
const members = (await room.getEncryptionTargetMembers()).map(({userId}) => userId);
|
||||||
const inDMMap = !!DMRoomMap.shared().getUserIdForRoomId(room.roomId);
|
const inDMMap = !!DMRoomMap.shared().getUserIdForRoomId(room.roomId);
|
||||||
|
|
||||||
|
@ -33,7 +39,7 @@ export async function shieldStatusForRoom(client: Client, room: Room): Promise<s
|
||||||
/* Alarm if any unverified users were verified before. */
|
/* Alarm if any unverified users were verified before. */
|
||||||
for (const userId of unverified) {
|
for (const userId of unverified) {
|
||||||
if (client.checkUserTrust(userId).wasCrossSigningVerified()) {
|
if (client.checkUserTrust(userId).wasCrossSigningVerified()) {
|
||||||
return "warning";
|
return E2EStatus.Warning;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,9 +56,9 @@ export async function shieldStatusForRoom(client: Client, room: Room): Promise<s
|
||||||
return !client.checkDeviceTrust(userId, deviceId).isVerified();
|
return !client.checkDeviceTrust(userId, deviceId).isVerified();
|
||||||
});
|
});
|
||||||
if (anyDeviceNotVerified) {
|
if (anyDeviceNotVerified) {
|
||||||
return "warning";
|
return E2EStatus.Warning;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return unverified.length === 0 ? "verified" : "normal";
|
return unverified.length === 0 ? E2EStatus.Verified : E2EStatus.Normal;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue