chore: satisfies linter

pull/27073/head
Keno Dressel 2024-01-19 15:38:47 +01:00
parent 110250d0c3
commit 2c808eab45
7 changed files with 35 additions and 30 deletions

View File

@ -1,14 +1,15 @@
import { useAtom } from "jotai";
import React, { ReactElement } from "react";
import { minimumTokenThresholdAtom } from "../../../atoms";
import { _t } from "../../../languageHandler";
import React, { ReactElement } from "react";
import { cleanRoomName } from "../../../hooks/useVerifiedRoom";
export function CommunityRoomPeekMessage({ roomName }: { roomName: string }): ReactElement {
const [allTokens] = useAtom(minimumTokenThresholdAtom)
const cleanedRoomName = cleanRoomName(roomName);
let tokenThreshold = allTokens[cleanedRoomName];
const tokenThreshold = allTokens[cleanedRoomName];
return (
<h3>{_t("room|no_peek_join_prompt_community", { roomName: cleanedRoomName })} {

View File

@ -1,9 +1,10 @@
import { useAtom } from "jotai";
import React from "react";
import { Room } from "matrix-js-sdk/src/matrix";
import { minimumTokenThresholdAtom } from "../../../atoms";
import { _t } from "../../../languageHandler";
import React from "react";
import { useVerifiedRoom } from "../../../hooks/useVerifiedRoom";
import { Room } from "matrix-js-sdk/src/matrix";
import { MessageCommunityBotButton } from "./MessageButton";
export function DisabledMessageField({ room }: { room: Room }): JSX.Element {
@ -28,8 +29,8 @@ export function DisabledMessageField({ room }: { room: Room }): JSX.Element {
{_t("composer|no_perms_token_notice", tokenThreshold)}
{ isCommunityRoom ? (
<>
<span style={{'marginLeft': '1rem', display: 'block'}}></span>
<MessageCommunityBotButton text={'Get room tokens'} />
<span style={{'marginLeft': '1rem', display: 'block'}} />
<MessageCommunityBotButton text="Get room tokens" />
</>
) : null }
</div>

View File

@ -1,13 +1,14 @@
import React, { useContext, useState } from "react";
import MatrixClientContext from "matrix-react-sdk/src/contexts/MatrixClientContext";
import AccessibleButton from "matrix-react-sdk/src/components/views/elements/AccessibleButton";
import { Member } from "../right_panel/UserInfo";
import { Icon as SendMessage } from "../../../../res/themes/superhero/img/icons/send.svg";
import { MatrixClient, RoomMember, User } from "matrix-js-sdk/src/matrix";
import { DirectoryMember, startDmOnFirstMessage } from "matrix-react-sdk/src/utils/direct-messages";
import { BareUser, communityBotAtom } from "../../../atoms";
import { useAtom } from "jotai";
import { Member } from "../right_panel/UserInfo";
import { Icon as SendMessage } from "../../../../res/themes/superhero/img/icons/send.svg";
import { BareUser, communityBotAtom } from "../../../atoms";
/**
* Converts the member to a DirectoryMember and starts a DM with them.
*/

View File

@ -25,8 +25,6 @@ import {
THREAD_RELATION_TYPE,
} from "matrix-js-sdk/src/matrix";
import { Optional } from "matrix-events-sdk";
import { _t } from "../../../languageHandler";
import { MatrixClientPeg } from "matrix-react-sdk/src/MatrixClientPeg";
import { ButtonEvent } from "matrix-react-sdk/src/components/views/elements/AccessibleButton";
import AccessibleTooltipButton from "matrix-react-sdk/src/components/views/elements/AccessibleTooltipButton";
@ -65,6 +63,9 @@ import ReplyPreview from "matrix-react-sdk/src/components/views/rooms/ReplyPrevi
import MessageComposerButtons from "matrix-react-sdk/src/components/views/rooms/MessageComposerButtons";
import { UIFeature } from "matrix-react-sdk/src/settings/UIFeature";
import { setUpVoiceBroadcastPreRecording } from "matrix-react-sdk/src/voice-broadcast/utils/setUpVoiceBroadcastPreRecording";
import { Icon as RoomReplacedIcon } from "matrix-react-sdk/res/img/room_replaced.svg";
import { _t } from "../../../languageHandler";
import { DisabledMessageField } from "../elements/DisabledMessageField";
let instanceCount = 0;
@ -545,11 +546,9 @@ export class MessageComposer extends React.Component<IProps, IState> {
controls.push(
<div className="mx_MessageComposer_replaced_wrapper" key="room_replaced">
<div className="mx_MessageComposer_replaced_valign">
<img
<RoomReplacedIcon
aria-hidden
alt=""
className="mx_MessageComposer_roomReplaced_icon"
src={require("matrix-react-sdk/res/img/room_replaced.svg").default}
/>
<span className="mx_MessageComposer_roomReplaced_header">
{_t("composer|room_upgraded_notice")}

View File

@ -26,14 +26,12 @@ import {
} from "matrix-js-sdk/src/matrix";
import classNames from "classnames";
import { RoomPreviewOpts, RoomViewLifecycle } from "@matrix-org/react-sdk-module-api/lib/lifecycles/RoomViewLifecycle";
import { Icon as AskToJoinIcon } from "matrix-react-sdk/res/img/element-icons/ask-to-join.svg";
import { IOOBData } from "matrix-react-sdk/src/stores/ThreepidInviteStore";
import { MatrixClientPeg } from "matrix-react-sdk/src/MatrixClientPeg";
import IdentityAuthClient from "matrix-react-sdk/src/IdentityAuthClient";
import { UserFriendlyError } from "matrix-react-sdk/src/languageHandler";
import SdkConfig from "matrix-react-sdk/src/SdkConfig";
import { _t } from "../../../languageHandler";
import { ModuleRunner } from "matrix-react-sdk/src/modules/ModuleRunner";
import SettingsStore from "matrix-react-sdk/src/settings/SettingsStore";
import { UIFeature } from "matrix-react-sdk/src/settings/UIFeature";
@ -43,6 +41,8 @@ import InviteReason from "matrix-react-sdk/src/components/views/elements/InviteR
import AccessibleButton from "matrix-react-sdk/src/components/views/elements/AccessibleButton";
import Field from "matrix-react-sdk/src/components/views/elements/Field";
import dis from "matrix-react-sdk/src/dispatcher/dispatcher";
import { _t } from "../../../languageHandler";
import { isVerifiedRoom } from "../../../hooks/useVerifiedRoom";
import { MessageCommunityBotButton } from "../elements/MessageButton";
import { CommunityRoomPeekMessage } from "../elements/CommunityRoomPeekMessage";
@ -127,7 +127,7 @@ interface IState {
export default class RoomPreviewBar extends React.Component<IProps, IState> {
public static defaultProps = {
onJoinClick() {},
onJoinClick(): void {},
};
public constructor(props: IProps) {
@ -365,7 +365,7 @@ export default class RoomPreviewBar extends React.Component<IProps, IState> {
if (opts.canJoin) {
title = _t("room|join_title");
primaryActionLabel = _t("action|join");
primaryActionHandler = () => {
primaryActionHandler = (): void => {
ModuleRunner.instance.invoke(RoomViewLifecycle.JoinFromRoomPreview, this.props.roomId);
};
} else {
@ -643,7 +643,7 @@ export default class RoomPreviewBar extends React.Component<IProps, IState> {
/>
);
primaryActionHandler = () =>
primaryActionHandler = (): void =>
this.props.onSubmitAskToJoin && this.props.onSubmitAskToJoin(this.state.reason);
primaryActionLabel = _t("room|knock_send_action");
@ -706,7 +706,7 @@ export default class RoomPreviewBar extends React.Component<IProps, IState> {
if(isCommunityRoom) {
secondaryButton = primaryButton;
primaryButton = (<MessageCommunityBotButton text={'Message Superhero Bot to get tokens'} />);
primaryButton = (<MessageCommunityBotButton text="Message Superhero Bot to get tokens" />);
titleElement = (<CommunityRoomPeekMessage roomName={roomName} />);
}

View File

@ -3,8 +3,8 @@ import React, { useCallback, useEffect } from "react";
import { communityBotAtom, minimumTokenThresholdAtom, verifiedAccountsAtom } from "../atoms";
const useMinimumTokenThreshold = (config: any) => {
const [_, setMinimumTokenThreshold] = useAtom(minimumTokenThresholdAtom);
const useMinimumTokenThreshold = (config: any): void => {
const [, setMinimumTokenThreshold] = useAtom(minimumTokenThresholdAtom);
const [isLoading, setIsLoading] = React.useState(false);
const loadMinimumTokenThreshold = useCallback(() => {
@ -22,7 +22,7 @@ const useMinimumTokenThreshold = (config: any) => {
setIsLoading(false);
});
}
}, [config.bots_backend_url, setMinimumTokenThreshold]);
}, [config.bots_backend_url, isLoading, setMinimumTokenThreshold]);
useEffect(() => {
loadMinimumTokenThreshold();
@ -31,7 +31,7 @@ const useMinimumTokenThreshold = (config: any) => {
loadMinimumTokenThreshold();
}, 10000);
return () => clearInterval(interval);
return (): void => clearInterval(interval);
}, [loadMinimumTokenThreshold]);
}
@ -44,14 +44,14 @@ const useMinimumTokenThreshold = (config: any) => {
*/
export const SuperheroProvider = ({ children, config }: any): any => {
const [verifiedAccounts, setVerifiedAccounts] = useAtom(verifiedAccountsAtom);
const [_, setCommunityBot] = useAtom(communityBotAtom);
const [, setCommunityBot] = useAtom(communityBotAtom);
useEffect(() => {
setCommunityBot({
userId: config.community_bot_user_id,
rawDisplayName: 'Community DAO Room Bot',
});
}, []);
}, [setCommunityBot, config.community_bot_user_id]);
function loadVerifiedAccounts(): void {
if (config.bots_backend_url) {

View File

@ -23,7 +23,7 @@ export function useVerifiedRoom(room?: Room | IPublicRoomsChunkRoom): {
};
}
export function cleanRoomName(roomName: string) {
export const cleanRoomName = (roomName: string): string => {
// remove # in the beginning
let parsedName = roomName.startsWith('#') ? roomName.slice(1) : roomName;
@ -33,8 +33,11 @@ export function cleanRoomName(roomName: string) {
return parsedName;
}
export function isVerifiedRoom(roomName: string) {
let parsedRoomName = cleanRoomName(roomName);
export const isVerifiedRoom = (roomName: string): {
isTokenGatedRoom: boolean;
isCommunityRoom: boolean;
} => {
const parsedRoomName = cleanRoomName(roomName);
return {
isTokenGatedRoom: parsedRoomName.startsWith("[TG]"),
isCommunityRoom: parsedRoomName.startsWith("$"),