@@ -5,19 +5,19 @@ Please see LICENSE files in the repository root for full details.
5
5
*/
6
6
7
7
import { useContext } from "react" ;
8
- import { type Room , RoomMember , KnownMembership , IPowerLevelsContent } from "matrix-js-sdk/src/matrix" ;
8
+ import { type Room , type RoomMember , KnownMembership , type IPowerLevelsContent } from "matrix-js-sdk/src/matrix" ;
9
+ import { logger } from "matrix-js-sdk/src/logger" ;
9
10
10
11
import ConfirmSpaceUserActionDialog from "../../views/dialogs/ConfirmSpaceUserActionDialog" ;
11
12
import Modal from "../../../Modal" ;
12
- import { logger } from "matrix-js-sdk/src/logger" ;
13
13
import MatrixClientContext from "../../../contexts/MatrixClientContext" ;
14
14
import { _t } from "../../../languageHandler" ;
15
15
import { bulkSpaceBehaviour } from "../../../utils/space" ;
16
16
import ConfirmUserActionDialog from "../../views/dialogs/ConfirmUserActionDialog" ;
17
17
import ErrorDialog from "../../views/dialogs/ErrorDialog" ;
18
18
import BulkRedactDialog from "../../views/dialogs/BulkRedactDialog" ;
19
19
20
- interface RoomAdminToolsProps {
20
+ export interface RoomAdminToolsProps {
21
21
room : Room ;
22
22
member : RoomMember ;
23
23
isUpdating : boolean ;
@@ -40,8 +40,8 @@ interface RoomKickButtonState {
40
40
* @param stopUpdating - a function to stop the operation
41
41
* @returns the room kick button state
42
42
*/
43
- export function useRoomKickButtonViewModel ( props : RoomAdminToolsProps ) : RoomKickButtonState {
44
- const { isUpdating, startUpdating, stopUpdating, room, member} = props ;
43
+ export function useRoomKickButtonViewModel ( props : RoomAdminToolsProps ) : RoomKickButtonState {
44
+ const { isUpdating, startUpdating, stopUpdating, room, member } = props ;
45
45
46
46
const cli = useContext ( MatrixClientContext ) ;
47
47
@@ -122,7 +122,7 @@ export function useRoomKickButtonViewModel( props: RoomAdminToolsProps ): RoomKi
122
122
} ) ;
123
123
} ;
124
124
125
- const canUserBeKicked = member . membership !== KnownMembership . Invite && member . membership ! == KnownMembership . Join ;
125
+ const canUserBeKicked = member . membership === KnownMembership . Invite || member . membership = == KnownMembership . Join ;
126
126
127
127
const kickLabel = room . isSpaceRoom ( )
128
128
? member . membership === KnownMembership . Invite
@@ -139,7 +139,6 @@ export function useRoomKickButtonViewModel( props: RoomAdminToolsProps ): RoomKi
139
139
} ;
140
140
}
141
141
142
-
143
142
export interface RedactMessagesButtonState {
144
143
onRedactAllMessagesClick : ( ) => void ;
145
144
}
@@ -149,7 +148,7 @@ export interface RedactMessagesButtonState {
149
148
* @param member - the member to redact messages for
150
149
* @returns the redact messages button state
151
150
*/
152
- export const userRedactMessagesButtonViewModel = ( member : RoomMember ) : RedactMessagesButtonState => {
151
+ export const useRedactMessagesButtonViewModel = ( member : RoomMember ) : RedactMessagesButtonState => {
153
152
const cli = useContext ( MatrixClientContext ) ;
154
153
155
154
const onRedactAllMessagesClick = ( ) : void => {
@@ -168,12 +167,12 @@ export const userRedactMessagesButtonViewModel = (member: RoomMember): RedactMes
168
167
} ;
169
168
} ;
170
169
171
- export interface BanToggleButtonState {
170
+ export interface BanButtonState {
172
171
onBanOrUnbanClick : ( ) => void ;
173
172
banLabel : string ;
174
173
}
175
174
176
- export const userBanToggleButtonViewModel = ( props : RoomAdminToolsProps ) : BanToggleButtonState => {
175
+ export const useBanButtonViewModel = ( props : RoomAdminToolsProps ) : BanButtonState => {
177
176
const { isUpdating, startUpdating, stopUpdating, room, member } = props ;
178
177
179
178
const cli = useContext ( MatrixClientContext ) ;
@@ -281,17 +280,17 @@ export const userBanToggleButtonViewModel = (props: RoomAdminToolsProps): BanTog
281
280
stopUpdating ( ) ;
282
281
} ) ;
283
282
} ;
284
-
283
+
285
284
return {
286
285
onBanOrUnbanClick,
287
286
banLabel,
288
287
} ;
289
- }
288
+ } ;
290
289
291
290
interface MuteButtonState {
292
291
isMemberInTheRoom : boolean ;
293
292
muteLabel : string ;
294
- onMutebuttonClick : ( ) => void ;
293
+ onMuteButtonClick : ( ) => void ;
295
294
}
296
295
297
296
export const useMuteButtonViewModel = ( props : RoomAdminToolsProps ) : MuteButtonState => {
@@ -320,7 +319,7 @@ export const useMuteButtonViewModel = (props: RoomAdminToolsProps): MuteButtonSt
320
319
321
320
const isMemberInTheRoom = member . membership !== KnownMembership . Join ;
322
321
323
- const onMutebuttonClick = async ( ) : Promise < void > => {
322
+ const onMuteButtonClick = async ( ) : Promise < void > => {
324
323
if ( isUpdating ) return ; // only allow one operation at a time
325
324
startUpdating ( ) ;
326
325
@@ -367,7 +366,7 @@ export const useMuteButtonViewModel = (props: RoomAdminToolsProps): MuteButtonSt
367
366
368
367
return {
369
368
isMemberInTheRoom,
370
- onMutebuttonClick ,
369
+ onMuteButtonClick ,
371
370
muteLabel,
372
371
} ;
373
372
} ;
@@ -380,12 +379,12 @@ interface UserInfoAdminToolsContainerState {
380
379
isCurrentUserInTheRoom : boolean ;
381
380
}
382
381
383
- interface RoomAdminToolsContainerProps {
382
+ export interface RoomAdminToolsContainerProps {
384
383
room : Room ;
385
384
member : RoomMember ;
386
385
powerLevels : IPowerLevelsContent ;
387
386
children : React . ReactNode ;
388
- } ;
387
+ }
389
388
390
389
export const useUserInfoAdminToolsContainerViewModel = (
391
390
props : RoomAdminToolsContainerProps ,
@@ -409,7 +408,7 @@ export const useUserInfoAdminToolsContainerViewModel = (
409
408
shouldShowMuteButton : false ,
410
409
shouldShowRedactButton : false ,
411
410
isCurrentUserInTheRoom : false ,
412
- }
411
+ } ;
413
412
}
414
413
415
414
const isMe = me . userId === member . userId ;
@@ -422,4 +421,4 @@ export const useUserInfoAdminToolsContainerViewModel = (
422
421
shouldShowMuteButton : ! isMe && canAffectUser && me . powerLevel >= Number ( editPowerLevel ) && ! room . isSpaceRoom ( ) ,
423
422
isCurrentUserInTheRoom,
424
423
} ;
425
- } ;
424
+ } ;
0 commit comments