ES-Lint tweak (#2001)
authorSleeplessOne1917 <abias1122@gmail.com>
Fri, 28 Jul 2023 20:07:16 +0000 (20:07 +0000)
committerGitHub <noreply@github.com>
Fri, 28 Jul 2023 20:07:16 +0000 (16:07 -0400)
53 files changed:
.eslintrc.json
src/server/handlers/catch-all-handler.tsx
src/shared/components/app/navbar.tsx
src/shared/components/app/theme.tsx
src/shared/components/comment/comment-node.tsx
src/shared/components/comment/comment-report.tsx
src/shared/components/common/markdown-textarea.tsx
src/shared/components/common/paginator.tsx
src/shared/components/common/password-input.tsx
src/shared/components/common/pictrs-image.tsx
src/shared/components/common/registration-application.tsx
src/shared/components/common/vote-buttons.tsx
src/shared/components/community/communities.tsx
src/shared/components/community/community-link.tsx
src/shared/components/community/community.tsx
src/shared/components/community/sidebar.tsx
src/shared/components/home/admin-settings.tsx
src/shared/components/home/emojis-form.tsx
src/shared/components/home/home.tsx
src/shared/components/home/login-reset.tsx
src/shared/components/home/login.tsx
src/shared/components/home/setup.tsx
src/shared/components/home/signup.tsx
src/shared/components/home/site-form.tsx
src/shared/components/home/tagline-form.tsx
src/shared/components/modlog.tsx
src/shared/components/person/inbox.tsx
src/shared/components/person/password-change.tsx
src/shared/components/person/profile.tsx
src/shared/components/person/registration-applications.tsx
src/shared/components/person/reports.tsx
src/shared/components/person/settings.tsx
src/shared/components/person/verify-email.tsx
src/shared/components/post/post-form.tsx
src/shared/components/post/post-listing.tsx
src/shared/components/post/post-listings.tsx
src/shared/components/post/post-report.tsx
src/shared/components/post/post.tsx
src/shared/components/private_message/create-private-message.tsx
src/shared/components/private_message/private-message-form.tsx
src/shared/components/private_message/private-message-report.tsx
src/shared/components/private_message/private-message.tsx
src/shared/components/search.tsx
src/shared/markdown.ts
src/shared/utils/app/new-vote.ts
src/shared/utils/app/selectable-languages.ts
src/shared/utils/app/set-theme.ts
src/shared/utils/env/get-external-host.ts
src/shared/utils/helpers/get-random-from-list.ts
src/shared/utils/roles/am-community-creator.ts
src/shared/utils/roles/am-site-creator.ts
src/shared/utils/roles/am-top-mod.ts
src/shared/utils/roles/can-mod.ts

index ad777401f402347ff25f9f9efa80dfee05fa4cd2..ea26ba3be937482ec04a35f18777ca9bfa6943a7 100644 (file)
     "@typescript-eslint/no-explicit-any": 0,
     "@typescript-eslint/explicit-module-boundary-types": 0,
     "@typescript-eslint/no-empty-function": 0,
+    "@typescript-eslint/no-non-null-assertion": 0,
     "arrow-body-style": 0,
     "curly": 0,
     "eol-last": 0,
-    "eqeqeq": 0,
+    "eqeqeq": "error",
     "func-style": 0,
     "import/no-duplicates": 0,
     "max-statements": 0,
@@ -39,7 +40,7 @@
     "no-useless-constructor": 0,
     "no-useless-escape": 0,
     "no-var": 0,
-    "prefer-const": 1,
+    "prefer-const": "error",
     "prefer-rest-params": 0,
     "prettier/prettier": "error",
     "quote-props": 0,
index 06d38f31792e441d9b4e9b6b3bb328f22ef3bc9d..a40136b2c32260a13fcdb6e7437de031959253c3 100644 (file)
@@ -48,7 +48,7 @@ export default async (req: Request, res: Response) => {
     let errorPageData: ErrorPageData | undefined = undefined;
     let try_site = await client.getSite(getSiteForm);
 
-    if (try_site.state === "failed" && try_site.msg == "not_logged_in") {
+    if (try_site.state === "failed" && try_site.msg === "not_logged_in") {
       console.error(
         "Incorrect JWT token, skipping auth so frontend can remove jwt cookie"
       );
index 5c017189c5ac53b75c308a71f8b32ab15e1903a7..10b465d4f5f4cce5740e8def435acf5813feea49 100644 (file)
@@ -480,7 +480,7 @@ export class Navbar extends Component<NavbarProps, NavbarState> {
   }
 
   get unreadInboxCount(): number {
-    if (this.state.unreadInboxCountRes.state == "success") {
+    if (this.state.unreadInboxCountRes.state === "success") {
       const data = this.state.unreadInboxCountRes.data;
       return data.replies + data.mentions + data.private_messages;
     } else {
@@ -489,7 +489,7 @@ export class Navbar extends Component<NavbarProps, NavbarState> {
   }
 
   get unreadReportCount(): number {
-    if (this.state.unreadReportCountRes.state == "success") {
+    if (this.state.unreadReportCountRes.state === "success") {
       const data = this.state.unreadReportCountRes.data;
       return (
         data.post_reports +
@@ -502,7 +502,7 @@ export class Navbar extends Component<NavbarProps, NavbarState> {
   }
 
   get unreadApplicationCount(): number {
-    if (this.state.unreadApplicationCountRes.state == "success") {
+    if (this.state.unreadApplicationCountRes.state === "success") {
       const data = this.state.unreadApplicationCountRes.data;
       return data.registration_applications;
     } else {
index 93f6aed34dffe4d545920318d5560ccfff4a1c91..07c4f8c75c3ba7d8fca83a03ae4d083142170f6a 100644 (file)
@@ -22,8 +22,8 @@ export class Theme extends Component<Props> {
         </Helmet>
       );
     } else if (
-      this.props.defaultTheme != "browser" &&
-      this.props.defaultTheme != "browser-compact"
+      this.props.defaultTheme !== "browser" &&
+      this.props.defaultTheme !== "browser-compact"
     ) {
       return (
         <Helmet>
@@ -34,7 +34,7 @@ export class Theme extends Component<Props> {
           />
         </Helmet>
       );
-    } else if (this.props.defaultTheme == "browser-compact") {
+    } else if (this.props.defaultTheme === "browser-compact") {
       return (
         <Helmet>
           <link
index 2576cda1a504a23041454d247f35e23919b3acd6..bbbd820201ded9bf285ffe909da1d6c5bb4b71d1 100644 (file)
@@ -243,7 +243,7 @@ export class CommentNode extends Component<CommentNodeProps, CommentNodeState> {
     const cv = this.commentView;
 
     const purgeTypeText =
-      this.state.purgeType == PurgeType.Comment
+      this.state.purgeType === PurgeType.Comment
         ? I18NextService.i18n.t("purge_comment")
         : `${I18NextService.i18n.t("purge")} ${cv.creator.name}`;
 
@@ -278,9 +278,9 @@ export class CommentNode extends Component<CommentNodeProps, CommentNodeState> {
       : colorList[0];
 
     const showMoreChildren =
-      this.props.viewType == CommentViewType.Tree &&
+      this.props.viewType === CommentViewType.Tree &&
       !this.state.collapsed &&
-      node.children.length == 0 &&
+      node.children.length === 0 &&
       node.comment_view.counts.child_count > 0;
 
     return (
@@ -1210,19 +1210,19 @@ export class CommentNode extends Component<CommentNodeProps, CommentNodeState> {
 
   get myComment(): boolean {
     return (
-      UserService.Instance.myUserInfo?.local_user_view.person.id ==
+      UserService.Instance.myUserInfo?.local_user_view.person.id ===
       this.commentView.creator.id
     );
   }
 
   get isPostCreator(): boolean {
-    return this.commentView.creator.id == this.commentView.post.creator_id;
+    return this.commentView.creator.id === this.commentView.post.creator_id;
   }
 
   get scoreColor() {
-    if (this.commentView.my_vote == 1) {
+    if (this.commentView.my_vote === 1) {
       return "text-info";
-    } else if (this.commentView.my_vote == -1) {
+    } else if (this.commentView.my_vote === -1) {
       return "text-danger";
     } else {
       return "text-muted";
@@ -1499,7 +1499,7 @@ export class CommentNode extends Component<CommentNodeProps, CommentNodeState> {
 
   handleModBanBothSubmit(i: CommentNode, event: any) {
     event.preventDefault();
-    if (i.state.banType == BanType.Community) {
+    if (i.state.banType === BanType.Community) {
       i.handleBanPersonFromCommunity(i);
     } else {
       i.handleBanPerson(i);
@@ -1552,7 +1552,7 @@ export class CommentNode extends Component<CommentNodeProps, CommentNodeState> {
     event.preventDefault();
     i.setState({ purgeLoading: true });
 
-    if (i.state.purgeType == PurgeType.Person) {
+    if (i.state.purgeType === PurgeType.Person) {
       i.props.onPurgePerson({
         person_id: i.commentView.creator.id,
         reason: i.state.purgeReason,
index 3b328f67a28cf1103e391fe1a4800c96cb95fd82..473481ba32422682dfa3453857bb2feb99df5a5a 100644 (file)
@@ -35,7 +35,7 @@ export class CommentReport extends Component<
   componentWillReceiveProps(
     nextProps: Readonly<{ children?: InfernoNode } & CommentReportProps>
   ): void {
-    if (this.props != nextProps) {
+    if (this.props !== nextProps) {
       this.setState({ loading: false });
     }
   }
index c6b42d737124c5e71ef87055aa6ba3fc733e95cb..1404bdb3aa550541e9779e5823848eb40ead28d2 100644 (file)
@@ -360,7 +360,7 @@ export class MarkdownTextArea extends Component<
 
   handleEmoji(i: MarkdownTextArea, e: any) {
     let value = e.native;
-    if (value == null) {
+    if (value === null) {
       const emoji = customEmojisLookup.get(e.id)?.custom_emoji;
       if (emoji) {
         value = `![${emoji.alt_text}](${emoji.image_url} "${emoji.shortcode}")`;
index bd4ecf8752e48bb94ee4349e5d27fac1025a3806..ed0ed211f8d8bb62f5c821e21e9242aad8037fa9 100644 (file)
@@ -15,7 +15,7 @@ export class Paginator extends Component<PaginatorProps, any> {
       <div className="paginator my-2">
         <button
           className="btn btn-secondary me-2"
-          disabled={this.props.page == 1}
+          disabled={this.props.page === 1}
           onClick={linkEvent(this, this.handlePrev)}
         >
           {I18NextService.i18n.t("prev")}
index 47005a00001388d1156f366bf4c625dbd5d9717e..39496863c63dd64a85634005e4e6689da650ff0c 100644 (file)
@@ -146,7 +146,7 @@ class PasswordInput extends Component<PasswordInputProps, PasswordInputState> {
 
     if (strength && ["weak", "medium"].includes(strength)) {
       return "text-warning";
-    } else if (strength == "strong") {
+    } else if (strength === "strong") {
       return "text-success";
     } else {
       return "text-danger";
index 5c3d823df58ba1a415ab1d5cb169adb81ea2e22a..f12851290b5f817b1d7cdc6c9c8ea8b372b1fce4 100644 (file)
@@ -56,7 +56,7 @@ export class PictrsImage extends Component<PictrsImageProps, any> {
     const split = this.props.src.split("/pictrs/image/");
 
     // If theres not multiple, then its not a pictrs image
-    if (split.length == 1) {
+    if (split.length === 1) {
       return this.props.src;
     }
 
index 3857c49ed1e903067d4becf6f3ed9d1010d10ae0..58ae57ddfb5587791322c7cb2b59ed05fe546594 100644 (file)
@@ -44,7 +44,7 @@ export class RegistrationApplication extends Component<
       { children?: InfernoNode } & RegistrationApplicationProps
     >
   ): void {
-    if (this.props != nextProps) {
+    if (this.props !== nextProps) {
       this.setState({
         denyExpanded: false,
         approveLoading: false,
index 0664e76904f397f332d5ddf376e6244e479b04fa..8a89a2c3c48d217d0e31a1aace8973506765a908 100644 (file)
@@ -193,7 +193,7 @@ export class VoteButtons extends Component<VoteButtonsProps, VoteButtonsState> {
         <button
           type="button"
           className={`btn-animate btn btn-link p-0 ${
-            this.props.my_vote == 1 ? "text-info" : "text-muted"
+            this.props.my_vote === 1 ? "text-info" : "text-muted"
           }`}
           onClick={linkEvent(this, handleUpvote)}
           data-tippy-content={I18NextService.i18n.t("upvote")}
@@ -220,7 +220,7 @@ export class VoteButtons extends Component<VoteButtonsProps, VoteButtonsState> {
           <button
             type="button"
             className={`btn-animate btn btn-link p-0 ${
-              this.props.my_vote == -1 ? "text-danger" : "text-muted"
+              this.props.my_vote === -1 ? "text-danger" : "text-muted"
             }`}
             onClick={linkEvent(this, handleDownvote)}
             data-tippy-content={I18NextService.i18n.t("downvote")}
index 4ab1bfeceeb5b18a382084ca343e739ecd796fc8..966b6c9dd0526fa26d7b8d6fbefa183e9f8501b0 100644 (file)
@@ -172,7 +172,7 @@ export class Communities extends Component<any, CommunitiesState> {
                           {numToSI(cv.counts.comments)}
                         </td>
                         <td className="text-right">
-                          {cv.subscribed == "Subscribed" && (
+                          {cv.subscribed === "Subscribed" && (
                             <button
                               className="btn btn-link d-inline-block"
                               onClick={linkEvent(
@@ -369,8 +369,8 @@ export class Communities extends Component<any, CommunitiesState> {
   findAndUpdateCommunity(res: RequestState<CommunityResponse>) {
     this.setState(s => {
       if (
-        s.listCommunitiesResponse.state == "success" &&
-        res.state == "success"
+        s.listCommunitiesResponse.state === "success" &&
+        res.state === "success"
       ) {
         s.listCommunitiesResponse.data.communities = editCommunity(
           res.data.community_view,
index 958333332d1c4c2803c8ef1259a3db458a7621fe..77accf666aa0a5723f63928f9b5337825a11af8b 100644 (file)
@@ -22,7 +22,7 @@ export class CommunityLink extends Component<CommunityLinkProps, any> {
   render() {
     const community = this.props.community;
     let name_: string, title: string, link: string;
-    const local = community.local == null ? true : community.local;
+    const local = community.local === null ? true : community.local;
     if (local) {
       name_ = community.name;
       title = community.title;
index f89eb832e2aeb7800cf5e3fa0ac1fa2ca8b6f42e..7df6985588ad60fbba7ef2f885c97651d41abd46 100644 (file)
@@ -290,7 +290,7 @@ export class Community extends Component<
 
   get documentTitle(): string {
     const cRes = this.state.communityRes;
-    return cRes.state == "success"
+    return cRes.state === "success"
       ? `${cRes.data.community_view.community.title} - ${this.isoData.site_res.site_view.site.name}`
       : "";
   }
@@ -626,11 +626,11 @@ export class Community extends Component<
     this.updateCommunity(followCommunityRes);
 
     // Update myUserInfo
-    if (followCommunityRes.state == "success") {
+    if (followCommunityRes.state === "success") {
       const communityId = followCommunityRes.data.community_view.community.id;
       const mui = UserService.Instance.myUserInfo;
       if (mui) {
-        mui.follows = mui.follows.filter(i => i.community.id != communityId);
+        mui.follows = mui.follows.filter(i => i.community.id !== communityId);
       }
     }
   }
@@ -657,10 +657,10 @@ export class Community extends Component<
 
   async handleBlockCommunity(form: BlockCommunity) {
     const blockCommunityRes = await HttpService.client.blockCommunity(form);
-    if (blockCommunityRes.state == "success") {
+    if (blockCommunityRes.state === "success") {
       updateCommunityBlock(blockCommunityRes.data);
       this.setState(s => {
-        if (s.communityRes.state == "success") {
+        if (s.communityRes.state === "success") {
           s.communityRes.data.community_view.blocked =
             blockCommunityRes.data.blocked;
         }
@@ -670,7 +670,7 @@ export class Community extends Component<
 
   async handleBlockPerson(form: BlockPerson) {
     const blockPersonRes = await HttpService.client.blockPerson(form);
-    if (blockPersonRes.state == "success") {
+    if (blockPersonRes.state === "success") {
       updatePersonBlock(blockPersonRes.data);
     }
   }
@@ -753,14 +753,14 @@ export class Community extends Component<
 
   async handleCommentReport(form: CreateCommentReport) {
     const reportRes = await HttpService.client.createCommentReport(form);
-    if (reportRes.state == "success") {
+    if (reportRes.state === "success") {
       toast(I18NextService.i18n.t("report_created"));
     }
   }
 
   async handlePostReport(form: CreatePostReport) {
     const reportRes = await HttpService.client.createPostReport(form);
-    if (reportRes.state == "success") {
+    if (reportRes.state === "success") {
       toast(I18NextService.i18n.t("report_created"));
     }
   }
@@ -778,7 +778,7 @@ export class Community extends Component<
   async handleAddAdmin(form: AddAdmin) {
     const addAdminRes = await HttpService.client.addAdmin(form);
 
-    if (addAdminRes.state == "success") {
+    if (addAdminRes.state === "success") {
       this.setState(s => ((s.siteRes.admins = addAdminRes.data.admins), s));
     }
   }
@@ -813,18 +813,18 @@ export class Community extends Component<
 
   updateBanFromCommunity(banRes: RequestState<BanFromCommunityResponse>) {
     // Maybe not necessary
-    if (banRes.state == "success") {
+    if (banRes.state === "success") {
       this.setState(s => {
-        if (s.postsRes.state == "success") {
+        if (s.postsRes.state === "success") {
           s.postsRes.data.posts
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(
               c => (c.creator_banned_from_community = banRes.data.banned)
             );
         }
-        if (s.commentsRes.state == "success") {
+        if (s.commentsRes.state === "success") {
           s.commentsRes.data.comments
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(
               c => (c.creator_banned_from_community = banRes.data.banned)
             );
@@ -836,16 +836,16 @@ export class Community extends Component<
 
   updateBan(banRes: RequestState<BanPersonResponse>) {
     // Maybe not necessary
-    if (banRes.state == "success") {
+    if (banRes.state === "success") {
       this.setState(s => {
-        if (s.postsRes.state == "success") {
+        if (s.postsRes.state === "success") {
           s.postsRes.data.posts
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(c => (c.creator.banned = banRes.data.banned));
         }
-        if (s.commentsRes.state == "success") {
+        if (s.commentsRes.state === "success") {
           s.commentsRes.data.comments
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(c => (c.creator.banned = banRes.data.banned));
         }
         return s;
@@ -855,7 +855,7 @@ export class Community extends Component<
 
   updateCommunity(res: RequestState<CommunityResponse>) {
     this.setState(s => {
-      if (s.communityRes.state == "success" && res.state == "success") {
+      if (s.communityRes.state === "success" && res.state === "success") {
         s.communityRes.data.community_view = res.data.community_view;
         s.communityRes.data.discussion_languages =
           res.data.discussion_languages;
@@ -866,7 +866,7 @@ export class Community extends Component<
 
   updateCommunityFull(res: RequestState<GetCommunityResponse>) {
     this.setState(s => {
-      if (s.communityRes.state == "success" && res.state == "success") {
+      if (s.communityRes.state === "success" && res.state === "success") {
         s.communityRes.data.community_view = res.data.community_view;
         s.communityRes.data.moderators = res.data.moderators;
       }
@@ -875,7 +875,7 @@ export class Community extends Component<
   }
 
   purgeItem(purgeRes: RequestState<PurgeItemResponse>) {
-    if (purgeRes.state == "success") {
+    if (purgeRes.state === "success") {
       toast(I18NextService.i18n.t("purge_success"));
       this.context.router.history.push(`/`);
     }
@@ -883,7 +883,7 @@ export class Community extends Component<
 
   findAndUpdateComment(res: RequestState<CommentResponse>) {
     this.setState(s => {
-      if (s.commentsRes.state == "success" && res.state == "success") {
+      if (s.commentsRes.state === "success" && res.state === "success") {
         s.commentsRes.data.comments = editComment(
           res.data.comment_view,
           s.commentsRes.data.comments
@@ -896,7 +896,7 @@ export class Community extends Component<
 
   createAndUpdateComments(res: RequestState<CommentResponse>) {
     this.setState(s => {
-      if (s.commentsRes.state == "success" && res.state == "success") {
+      if (s.commentsRes.state === "success" && res.state === "success") {
         s.commentsRes.data.comments.unshift(res.data.comment_view);
 
         // Set finished for the parent
@@ -911,7 +911,7 @@ export class Community extends Component<
 
   findAndUpdateCommentReply(res: RequestState<CommentReplyResponse>) {
     this.setState(s => {
-      if (s.commentsRes.state == "success" && res.state == "success") {
+      if (s.commentsRes.state === "success" && res.state === "success") {
         s.commentsRes.data.comments = editWith(
           res.data.comment_reply_view,
           s.commentsRes.data.comments
@@ -923,7 +923,7 @@ export class Community extends Component<
 
   findAndUpdatePost(res: RequestState<PostResponse>) {
     this.setState(s => {
-      if (s.postsRes.state == "success" && res.state == "success") {
+      if (s.postsRes.state === "success" && res.state === "success") {
         s.postsRes.data.posts = editPost(
           res.data.post_view,
           s.postsRes.data.posts
@@ -936,7 +936,7 @@ export class Community extends Component<
   updateModerators(res: RequestState<AddModToCommunityResponse>) {
     // Update the moderators
     this.setState(s => {
-      if (s.communityRes.state == "success" && res.state == "success") {
+      if (s.communityRes.state === "success" && res.state === "success") {
         s.communityRes.data.moderators = res.data.moderators;
       }
       return s;
index ec454de182a38def673dbad66e8c02ad087833d2..ace58f94ef6dd11ed444e7ab459ccc77a319d8fb 100644 (file)
@@ -81,13 +81,13 @@ export class Sidebar extends Component<SidebarProps, SidebarState> {
   componentWillReceiveProps(
     nextProps: Readonly<{ children?: InfernoNode } & SidebarProps>
   ): void {
-    if (this.props.moderators != nextProps.moderators) {
+    if (this.props.moderators !== nextProps.moderators) {
       this.setState({
         showConfirmLeaveModTeam: false,
       });
     }
 
-    if (this.props.community_view != nextProps.community_view) {
+    if (this.props.community_view !== nextProps.community_view) {
       this.setState({
         showEdit: false,
         showPurgeDialog: false,
index b56dc42cb6e33d993928e1dd3bcd041f10efdddb..d3c998d916475315bd149cf4c0f91d9ea8cf94d8 100644 (file)
@@ -274,7 +274,7 @@ export class AdminSettings extends Component<any, AdminSettingsState> {
         onClick={linkEvent(this, this.handleLeaveAdminTeam)}
         className="btn btn-danger mb-2"
       >
-        {this.state.leaveAdminTeamRes.state == "loading" ? (
+        {this.state.leaveAdminTeamRes.state === "loading" ? (
           <Spinner />
         ) : (
           I18NextService.i18n.t("leave_admin_team")
index cd20ed6432517c09ecf90deb362f4c37662632c9..9e65adf74f5d389e1b4e93dd7985c450764edb20 100644 (file)
@@ -290,8 +290,8 @@ export class EmojiForm extends Component<EmojiFormProps, EmojiFormState> {
       cv.shortcode.length > 0;
     const noDuplicateShortCodes =
       this.state.customEmojis.filter(
-        x => x.shortcode == cv.shortcode && x.id != cv.id
-      ).length == 0;
+        x => x.shortcode === cv.shortcode && x.id !== cv.id
+      ).length === 0;
     return noEmptyFields && noDuplicateShortCodes && !cv.loading && cv.changed;
   }
 
@@ -308,7 +308,7 @@ export class EmojiForm extends Component<EmojiFormProps, EmojiFormState> {
     const view = customEmojisLookup.get(e.id);
     if (view) {
       const page = this.state.customEmojis.find(
-        x => x.id == view.custom_emoji.id
+        x => x.id === view.custom_emoji.id
       )?.page;
       if (page) {
         this.setState({ page: page });
@@ -420,7 +420,7 @@ export class EmojiForm extends Component<EmojiFormProps, EmojiFormState> {
     cv: CustomEmojiViewForm;
   }) {
     const pagedIndex = (d.i.state.page - 1) * d.i.itemsPerPage + d.index;
-    if (d.cv.id != 0) {
+    if (d.cv.id !== 0) {
       d.i.props.onDelete({
         id: d.cv.id,
         auth: myAuthRequired(),
index 5d949f3edcd61792181f08d014925fe152124f27..a7564d45c511b239b487a2e164a13658922509c0 100644 (file)
@@ -900,7 +900,7 @@ export class Home extends Component<any, HomeState> {
 
   async handleBlockPerson(form: BlockPerson) {
     const blockPersonRes = await HttpService.client.blockPerson(form);
-    if (blockPersonRes.state == "success") {
+    if (blockPersonRes.state === "success") {
       updatePersonBlock(blockPersonRes.data);
     }
   }
@@ -971,14 +971,14 @@ export class Home extends Component<any, HomeState> {
 
   async handleCommentReport(form: CreateCommentReport) {
     const reportRes = await HttpService.client.createCommentReport(form);
-    if (reportRes.state == "success") {
+    if (reportRes.state === "success") {
       toast(I18NextService.i18n.t("report_created"));
     }
   }
 
   async handlePostReport(form: CreatePostReport) {
     const reportRes = await HttpService.client.createPostReport(form);
-    if (reportRes.state == "success") {
+    if (reportRes.state === "success") {
       toast(I18NextService.i18n.t("report_created"));
     }
   }
@@ -996,7 +996,7 @@ export class Home extends Component<any, HomeState> {
   async handleAddAdmin(form: AddAdmin) {
     const addAdminRes = await HttpService.client.addAdmin(form);
 
-    if (addAdminRes.state == "success") {
+    if (addAdminRes.state === "success") {
       this.setState(s => ((s.siteRes.admins = addAdminRes.data.admins), s));
     }
   }
@@ -1028,18 +1028,18 @@ export class Home extends Component<any, HomeState> {
 
   updateBanFromCommunity(banRes: RequestState<BanFromCommunityResponse>) {
     // Maybe not necessary
-    if (banRes.state == "success") {
+    if (banRes.state === "success") {
       this.setState(s => {
-        if (s.postsRes.state == "success") {
+        if (s.postsRes.state === "success") {
           s.postsRes.data.posts
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(
               c => (c.creator_banned_from_community = banRes.data.banned)
             );
         }
-        if (s.commentsRes.state == "success") {
+        if (s.commentsRes.state === "success") {
           s.commentsRes.data.comments
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(
               c => (c.creator_banned_from_community = banRes.data.banned)
             );
@@ -1051,16 +1051,16 @@ export class Home extends Component<any, HomeState> {
 
   updateBan(banRes: RequestState<BanPersonResponse>) {
     // Maybe not necessary
-    if (banRes.state == "success") {
+    if (banRes.state === "success") {
       this.setState(s => {
-        if (s.postsRes.state == "success") {
+        if (s.postsRes.state === "success") {
           s.postsRes.data.posts
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(c => (c.creator.banned = banRes.data.banned));
         }
-        if (s.commentsRes.state == "success") {
+        if (s.commentsRes.state === "success") {
           s.commentsRes.data.comments
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(c => (c.creator.banned = banRes.data.banned));
         }
         return s;
@@ -1069,7 +1069,7 @@ export class Home extends Component<any, HomeState> {
   }
 
   purgeItem(purgeRes: RequestState<PurgeItemResponse>) {
-    if (purgeRes.state == "success") {
+    if (purgeRes.state === "success") {
       toast(I18NextService.i18n.t("purge_success"));
       this.context.router.history.push(`/`);
     }
@@ -1077,7 +1077,7 @@ export class Home extends Component<any, HomeState> {
 
   findAndUpdateComment(res: RequestState<CommentResponse>) {
     this.setState(s => {
-      if (s.commentsRes.state == "success" && res.state == "success") {
+      if (s.commentsRes.state === "success" && res.state === "success") {
         s.commentsRes.data.comments = editComment(
           res.data.comment_view,
           s.commentsRes.data.comments
@@ -1090,7 +1090,7 @@ export class Home extends Component<any, HomeState> {
 
   createAndUpdateComments(res: RequestState<CommentResponse>) {
     this.setState(s => {
-      if (s.commentsRes.state == "success" && res.state == "success") {
+      if (s.commentsRes.state === "success" && res.state === "success") {
         s.commentsRes.data.comments.unshift(res.data.comment_view);
 
         // Set finished for the parent
@@ -1105,7 +1105,7 @@ export class Home extends Component<any, HomeState> {
 
   findAndUpdateCommentReply(res: RequestState<CommentReplyResponse>) {
     this.setState(s => {
-      if (s.commentsRes.state == "success" && res.state == "success") {
+      if (s.commentsRes.state === "success" && res.state === "success") {
         s.commentsRes.data.comments = editWith(
           res.data.comment_reply_view,
           s.commentsRes.data.comments
@@ -1117,7 +1117,7 @@ export class Home extends Component<any, HomeState> {
 
   findAndUpdatePost(res: RequestState<PostResponse>) {
     this.setState(s => {
-      if (s.postsRes.state == "success" && res.state == "success") {
+      if (s.postsRes.state === "success" && res.state === "success") {
         s.postsRes.data.posts = editPost(
           res.data.post_view,
           s.postsRes.data.posts
index 7d1d00231ae0afc79a0e484693f47a10e9cc3037..aeca84522f4965d2c72067688914644de30bd407 100644 (file)
@@ -127,7 +127,7 @@ export class LoginReset extends Component<any, State> {
 
       const res = await HttpService.client.passwordReset({ email });
 
-      if (res.state == "success") {
+      if (res.state === "success") {
         toast(I18NextService.i18n.t("reset_password_mail_sent"));
         i.context.router.history.push("/login");
       }
index 828cbb5f8b51cfa66665e546f797c6b0802bce6d..ad5afcabee438a1c73940f4658d5fb75d5739e57 100644 (file)
@@ -48,7 +48,7 @@ export class Login extends Component<any, State> {
   }
 
   get isLemmyMl(): boolean {
-    return isBrowser() && window.location.hostname == "lemmy.ml";
+    return isBrowser() && window.location.hostname === "lemmy.ml";
   }
 
   render() {
@@ -124,7 +124,7 @@ export class Login extends Component<any, State> {
           <div className="mb-3 row">
             <div className="col-sm-10">
               <button type="submit" className="btn btn-secondary">
-                {this.state.loginRes.state == "loading" ? (
+                {this.state.loginRes.state === "loading" ? (
                   <Spinner />
                 ) : (
                   I18NextService.i18n.t("login")
index 7b3d4c27ea9b072e968b4e2ce63f2654346b6280..7dd433ab51a622e02ab0377488a4f7c769143b66 100644 (file)
@@ -141,7 +141,7 @@ export class Setup extends Component<any, State> {
         <div className="mb-3 row">
           <div className="col-sm-10">
             <button type="submit" className="btn btn-secondary">
-              {this.state.registerRes.state == "loading" ? (
+              {this.state.registerRes.state === "loading" ? (
                 <Spinner />
               ) : (
                 I18NextService.i18n.t("sign_up")
@@ -184,7 +184,7 @@ export class Setup extends Component<any, State> {
         registerRes: await HttpService.client.register(form),
       });
 
-      if (i.state.registerRes.state == "success") {
+      if (i.state.registerRes.state === "success") {
         const data = i.state.registerRes.data;
 
         UserService.Instance.login({ res: data });
index c57d545aa8b368045ab495baf3b7e5e52b61bfaf..b6f723332e4becfe85bb7bdfd597ed54caa3d6d2 100644 (file)
@@ -71,7 +71,7 @@ export class Signup extends Component<any, State> {
     });
 
     this.setState(s => {
-      if (s.captchaRes.state == "success") {
+      if (s.captchaRes.state === "success") {
         s.form.captcha_uuid = s.captchaRes.data.ok?.uuid;
       }
       return s;
@@ -90,7 +90,7 @@ export class Signup extends Component<any, State> {
   }
 
   get isLemmyMl(): boolean {
-    return isBrowser() && window.location.hostname == "lemmy.ml";
+    return isBrowser() && window.location.hostname === "lemmy.ml";
   }
 
   render() {
@@ -269,7 +269,7 @@ export class Signup extends Component<any, State> {
         <div className="mb-3 row">
           <div className="col-sm-10">
             <button type="submit" className="btn btn-secondary">
-              {this.state.registerRes.state == "loading" ? (
+              {this.state.registerRes.state === "loading" ? (
                 <Spinner />
               ) : (
                 this.titleName(siteView)
@@ -424,7 +424,7 @@ export class Signup extends Component<any, State> {
 
   handleRegisterEmailChange(i: Signup, event: any) {
     i.state.form.email = event.target.value;
-    if (i.state.form.email == "") {
+    if (i.state.form.email === "") {
       i.state.form.email = undefined;
     }
     i.setState(i.state);
@@ -469,7 +469,7 @@ export class Signup extends Component<any, State> {
     // This was a bad bug, it should only build the new audio on a new file.
     // Replays would stop prematurely if this was rebuilt every time.
 
-    if (i.state.captchaRes.state == "success" && i.state.captchaRes.data.ok) {
+    if (i.state.captchaRes.state === "success" && i.state.captchaRes.data.ok) {
       const captchaRes = i.state.captchaRes.data.ok;
       if (!i.audio) {
         const base64 = `data:audio/wav;base64,${captchaRes.wav}`;
index 25e02c8633d771fb821bd319072e83214c7128bf..da44718bee0822b175d983524d8ebe1e146ddd7d 100644 (file)
@@ -293,7 +293,7 @@ export class SiteForm extends Component<SiteFormProps, SiteFormState> {
             </select>
           </div>
         </div>
-        {this.state.siteForm.registration_mode == "RequireApplication" && (
+        {this.state.siteForm.registration_mode === "RequireApplication" && (
           <div className="mb-3 row">
             <label className="col-12 col-form-label">
               {I18NextService.i18n.t("application_questionnaire")}
index c933ffe8a2f85441507b4917bb09176b018c5238..405900398f09b5ab04d61f0cfc2ee12fe44ecb3f 100644 (file)
@@ -48,7 +48,7 @@ export class TaglineForm extends Component<TaglineFormProps, TaglineFormState> {
               {this.state.taglines.map((cv, index) => (
                 <tr key={index}>
                   <td>
-                    {this.state.editingRow == index && (
+                    {this.state.editingRow === index && (
                       <MarkdownTextArea
                         initialContent={cv}
                         onContentChange={s =>
@@ -59,7 +59,7 @@ export class TaglineForm extends Component<TaglineFormProps, TaglineFormState> {
                         siteLanguages={[]}
                       />
                     )}
-                    {this.state.editingRow != index && <div>{cv}</div>}
+                    {this.state.editingRow !== index && <div>{cv}</div>}
                   </td>
                   <td className="text-right">
                     <button
@@ -141,7 +141,7 @@ export class TaglineForm extends Component<TaglineFormProps, TaglineFormState> {
 
   handleEditTaglineClick(d: { i: TaglineForm; index: number }, event: any) {
     event.preventDefault();
-    if (d.i.state.editingRow == d.index) {
+    if (d.i.state.editingRow === d.index) {
       d.i.setState({ editingRow: undefined });
     } else {
       d.i.setState({ editingRow: d.index });
index ca1cb3326b2cfef3a2ca454d00d071d454e72abc..b91da87ef82fef7ef4eee10e4d4a1dee39f8d91b 100644 (file)
@@ -698,7 +698,7 @@ export class Modlog extends Component<
 
   get combined() {
     const res = this.state.res;
-    const combined = res.state == "success" ? buildCombined(res.data) : [];
+    const combined = res.state === "success" ? buildCombined(res.data) : [];
 
     return (
       <tbody>
@@ -723,7 +723,7 @@ export class Modlog extends Component<
 
   get amAdminOrMod(): boolean {
     const amMod_ =
-      this.state.communityRes.state == "success" &&
+      this.state.communityRes.state === "success" &&
       amMod(this.state.communityRes.data.moderators);
     return amAdmin() || amMod_;
   }
index bf246f640a8a0447a2dfbcf33765f4190e01b15a..a76fdecc2b0ccd69d4f34dea632b253bee3480c7 100644 (file)
@@ -194,14 +194,14 @@ export class Inbox extends Component<any, InboxState> {
   }
 
   get hasUnreads(): boolean {
-    if (this.state.unreadOrAll == UnreadOrAll.Unread) {
+    if (this.state.unreadOrAll === UnreadOrAll.Unread) {
       const { repliesRes, mentionsRes, messagesRes } = this.state;
       const replyCount =
-        repliesRes.state == "success" ? repliesRes.data.replies.length : 0;
+        repliesRes.state === "success" ? repliesRes.data.replies.length : 0;
       const mentionCount =
-        mentionsRes.state == "success" ? mentionsRes.data.mentions.length : 0;
+        mentionsRes.state === "success" ? mentionsRes.data.mentions.length : 0;
       const messageCount =
-        messagesRes.state == "success"
+        messagesRes.state === "success"
           ? messagesRes.data.private_messages.length
           : 0;
 
@@ -242,7 +242,7 @@ export class Inbox extends Component<any, InboxState> {
                 className="btn btn-secondary mb-2 mb-sm-3"
                 onClick={linkEvent(this, this.handleMarkAllAsRead)}
               >
-                {this.state.markAllAsReadRes.state == "loading" ? (
+                {this.state.markAllAsReadRes.state === "loading" ? (
                   <Spinner />
                 ) : (
                   capitalizeFirstLetter(
@@ -445,15 +445,15 @@ export class Inbox extends Component<any, InboxState> {
 
   buildCombined(): ReplyType[] {
     const replies: ReplyType[] =
-      this.state.repliesRes.state == "success"
+      this.state.repliesRes.state === "success"
         ? this.state.repliesRes.data.replies.map(this.replyToReplyType)
         : [];
     const mentions: ReplyType[] =
-      this.state.mentionsRes.state == "success"
+      this.state.mentionsRes.state === "success"
         ? this.state.mentionsRes.data.mentions.map(this.mentionToReplyType)
         : [];
     const messages: ReplyType[] =
-      this.state.messagesRes.state == "success"
+      this.state.messagesRes.state === "success"
         ? this.state.messagesRes.data.private_messages.map(
             this.messageToReplyType
           )
@@ -559,9 +559,9 @@ export class Inbox extends Component<any, InboxState> {
 
   all() {
     if (
-      this.state.repliesRes.state == "loading" ||
-      this.state.mentionsRes.state == "loading" ||
-      this.state.messagesRes.state == "loading"
+      this.state.repliesRes.state === "loading" ||
+      this.state.mentionsRes.state === "loading" ||
+      this.state.messagesRes.state === "loading"
     ) {
       return (
         <h1 className="h4">
@@ -754,7 +754,7 @@ export class Inbox extends Component<any, InboxState> {
 
   async refetch() {
     const sort = this.state.sort;
-    const unread_only = this.state.unreadOrAll == UnreadOrAll.Unread;
+    const unread_only = this.state.unreadOrAll === UnreadOrAll.Unread;
     const page = this.state.page;
     const limit = fetchLimit;
     const auth = myAuthRequired();
@@ -806,7 +806,7 @@ export class Inbox extends Component<any, InboxState> {
       }),
     });
 
-    if (i.state.markAllAsReadRes.state == "success") {
+    if (i.state.markAllAsReadRes.state === "success") {
       i.setState({
         repliesRes: { state: "empty" },
         mentionsRes: { state: "empty" },
@@ -837,7 +837,7 @@ export class Inbox extends Component<any, InboxState> {
 
   async handleBlockPerson(form: BlockPerson) {
     const blockPersonRes = await HttpService.client.blockPerson(form);
-    if (blockPersonRes.state == "success") {
+    if (blockPersonRes.state === "success") {
       updatePersonBlock(blockPersonRes.data);
     }
   }
@@ -868,7 +868,7 @@ export class Inbox extends Component<any, InboxState> {
 
   async handleDeleteComment(form: DeleteComment) {
     const res = await HttpService.client.deleteComment(form);
-    if (res.state == "success") {
+    if (res.state === "success") {
       toast(I18NextService.i18n.t("deleted"));
       this.findAndUpdateComment(res);
     }
@@ -876,7 +876,7 @@ export class Inbox extends Component<any, InboxState> {
 
   async handleRemoveComment(form: RemoveComment) {
     const res = await HttpService.client.removeComment(form);
-    if (res.state == "success") {
+    if (res.state === "success") {
       toast(I18NextService.i18n.t("remove_comment"));
       this.findAndUpdateComment(res);
     }
@@ -958,7 +958,7 @@ export class Inbox extends Component<any, InboxState> {
   async handleCreateMessage(form: CreatePrivateMessage) {
     const res = await HttpService.client.createPrivateMessage(form);
     this.setState(s => {
-      if (s.messagesRes.state == "success" && res.state == "success") {
+      if (s.messagesRes.state === "success" && res.state === "success") {
         s.messagesRes.data.private_messages.unshift(
           res.data.private_message_view
         );
@@ -982,18 +982,18 @@ export class Inbox extends Component<any, InboxState> {
 
   updateBanFromCommunity(banRes: RequestState<BanFromCommunityResponse>) {
     // Maybe not necessary
-    if (banRes.state == "success") {
+    if (banRes.state === "success") {
       this.setState(s => {
-        if (s.repliesRes.state == "success") {
+        if (s.repliesRes.state === "success") {
           s.repliesRes.data.replies
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(
               c => (c.creator_banned_from_community = banRes.data.banned)
             );
         }
-        if (s.mentionsRes.state == "success") {
+        if (s.mentionsRes.state === "success") {
           s.mentionsRes.data.mentions
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(
               c => (c.creator_banned_from_community = banRes.data.banned)
             );
@@ -1005,16 +1005,16 @@ export class Inbox extends Component<any, InboxState> {
 
   updateBan(banRes: RequestState<BanPersonResponse>) {
     // Maybe not necessary
-    if (banRes.state == "success") {
+    if (banRes.state === "success") {
       this.setState(s => {
-        if (s.repliesRes.state == "success") {
+        if (s.repliesRes.state === "success") {
           s.repliesRes.data.replies
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(c => (c.creator.banned = banRes.data.banned));
         }
-        if (s.mentionsRes.state == "success") {
+        if (s.mentionsRes.state === "success") {
           s.mentionsRes.data.mentions
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(c => (c.creator.banned = banRes.data.banned));
         }
         return s;
@@ -1023,7 +1023,7 @@ export class Inbox extends Component<any, InboxState> {
   }
 
   purgeItem(purgeRes: RequestState<PurgeItemResponse>) {
-    if (purgeRes.state == "success") {
+    if (purgeRes.state === "success") {
       toast(I18NextService.i18n.t("purge_success"));
       this.context.router.history.push(`/`);
     }
@@ -1032,22 +1032,22 @@ export class Inbox extends Component<any, InboxState> {
   reportToast(
     res: RequestState<PrivateMessageReportResponse | CommentReportResponse>
   ) {
-    if (res.state == "success") {
+    if (res.state === "success") {
       toast(I18NextService.i18n.t("report_created"));
     }
   }
 
   // A weird case, since you have only replies and mentions, not comment responses
   findAndUpdateComment(res: RequestState<CommentResponse>) {
-    if (res.state == "success") {
+    if (res.state === "success") {
       this.setState(s => {
-        if (s.repliesRes.state == "success") {
+        if (s.repliesRes.state === "success") {
           s.repliesRes.data.replies = editWith(
             res.data.comment_view,
             s.repliesRes.data.replies
           );
         }
-        if (s.mentionsRes.state == "success") {
+        if (s.mentionsRes.state === "success") {
           s.mentionsRes.data.mentions = editWith(
             res.data.comment_view,
             s.mentionsRes.data.mentions
@@ -1065,7 +1065,7 @@ export class Inbox extends Component<any, InboxState> {
 
   findAndUpdateCommentReply(res: RequestState<CommentReplyResponse>) {
     this.setState(s => {
-      if (s.repliesRes.state == "success" && res.state == "success") {
+      if (s.repliesRes.state === "success" && res.state === "success") {
         s.repliesRes.data.replies = editCommentReply(
           res.data.comment_reply_view,
           s.repliesRes.data.replies
@@ -1077,7 +1077,7 @@ export class Inbox extends Component<any, InboxState> {
 
   findAndUpdateMention(res: RequestState<PersonMentionResponse>) {
     this.setState(s => {
-      if (s.mentionsRes.state == "success" && res.state == "success") {
+      if (s.mentionsRes.state === "success" && res.state === "success") {
         s.mentionsRes.data.mentions = editMention(
           res.data.person_mention_view,
           s.mentionsRes.data.mentions
index 1a60c968f72253d60234315744c1fa6da5b545fa..bfbeb716f36042d4485568fc2ae7bd2b9a7cde96 100644 (file)
@@ -81,7 +81,7 @@ export class PasswordChange extends Component<any, State> {
         <div className="mb-3 row">
           <div className="col-sm-10">
             <button type="submit" className="btn btn-secondary">
-              {this.state.passwordChangeRes.state == "loading" ? (
+              {this.state.passwordChangeRes.state === "loading" ? (
                 <Spinner />
               ) : (
                 capitalizeFirstLetter(I18NextService.i18n.t("save"))
index d493f787d5602240ef2b0bfc339315da72863a10..9aaa3d382d1fed1f3c3453a13ef3247475b91569 100644 (file)
@@ -300,7 +300,7 @@ export class Profile extends Component<
   get documentTitle(): string {
     const siteName = this.state.siteRes.site_view.site.name;
     const res = this.state.personRes;
-    return res.state == "success"
+    return res.state === "success"
       ? `@${res.data.person_view.person.name} - ${siteName}`
       : siteName;
   }
@@ -764,7 +764,7 @@ export class Profile extends Component<
 
     const personRes = i.state.personRes;
 
-    if (personRes.state == "success") {
+    if (personRes.state === "success") {
       const person = personRes.data.person_view.person;
       const ban = !person.banned;
 
@@ -793,7 +793,7 @@ export class Profile extends Component<
       block,
       auth: myAuthRequired(),
     });
-    if (res.state == "success") {
+    if (res.state === "success") {
       updatePersonBlock(res.data);
     }
   }
@@ -924,7 +924,7 @@ export class Profile extends Component<
   async handleAddAdmin(form: AddAdmin) {
     const addAdminRes = await HttpService.client.addAdmin(form);
 
-    if (addAdminRes.state == "success") {
+    if (addAdminRes.state === "success") {
       this.setState(s => ((s.siteRes.admins = addAdminRes.data.admins), s));
     }
   }
@@ -958,7 +958,7 @@ export class Profile extends Component<
     // Maybe not necessary
     if (banRes.state === "success") {
       this.setState(s => {
-        if (s.personRes.state == "success") {
+        if (s.personRes.state === "success") {
           s.personRes.data.posts
             .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(
@@ -978,14 +978,14 @@ export class Profile extends Component<
 
   updateBan(banRes: RequestState<BanPersonResponse>) {
     // Maybe not necessary
-    if (banRes.state == "success") {
+    if (banRes.state === "success") {
       this.setState(s => {
-        if (s.personRes.state == "success") {
+        if (s.personRes.state === "success") {
           s.personRes.data.posts
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(c => (c.creator.banned = banRes.data.banned));
           s.personRes.data.comments
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(c => (c.creator.banned = banRes.data.banned));
           s.personRes.data.person_view.person.banned = banRes.data.banned;
         }
@@ -995,7 +995,7 @@ export class Profile extends Component<
   }
 
   purgeItem(purgeRes: RequestState<PurgeItemResponse>) {
-    if (purgeRes.state == "success") {
+    if (purgeRes.state === "success") {
       toast(I18NextService.i18n.t("purge_success"));
       this.context.router.history.push(`/`);
     }
@@ -1003,7 +1003,7 @@ export class Profile extends Component<
 
   findAndUpdateComment(res: RequestState<CommentResponse>) {
     this.setState(s => {
-      if (s.personRes.state == "success" && res.state == "success") {
+      if (s.personRes.state === "success" && res.state === "success") {
         s.personRes.data.comments = editComment(
           res.data.comment_view,
           s.personRes.data.comments
@@ -1016,7 +1016,7 @@ export class Profile extends Component<
 
   createAndUpdateComments(res: RequestState<CommentResponse>) {
     this.setState(s => {
-      if (s.personRes.state == "success" && res.state == "success") {
+      if (s.personRes.state === "success" && res.state === "success") {
         s.personRes.data.comments.unshift(res.data.comment_view);
         // Set finished for the parent
         s.finished.set(
@@ -1030,7 +1030,7 @@ export class Profile extends Component<
 
   findAndUpdateCommentReply(res: RequestState<CommentReplyResponse>) {
     this.setState(s => {
-      if (s.personRes.state == "success" && res.state == "success") {
+      if (s.personRes.state === "success" && res.state === "success") {
         s.personRes.data.comments = editWith(
           res.data.comment_reply_view,
           s.personRes.data.comments
@@ -1042,7 +1042,7 @@ export class Profile extends Component<
 
   findAndUpdatePost(res: RequestState<PostResponse>) {
     this.setState(s => {
-      if (s.personRes.state == "success" && res.state == "success") {
+      if (s.personRes.state === "success" && res.state === "success") {
         s.personRes.data.posts = editPost(
           res.data.post_view,
           s.personRes.data.posts
index 757170f833f801a503e33d5ce41ea21ec267c55c..fbf5f4663637d143b4661c7dd7a0a7b02f680d41 100644 (file)
@@ -220,7 +220,7 @@ export class RegistrationApplications extends Component<
   }
 
   async refetch() {
-    const unread_only = this.state.unreadOrAll == UnreadOrAll.Unread;
+    const unread_only = this.state.unreadOrAll === UnreadOrAll.Unread;
     this.setState({
       appsRes: { state: "loading" },
     });
@@ -239,7 +239,7 @@ export class RegistrationApplications extends Component<
       form
     );
     this.setState(s => {
-      if (s.appsRes.state == "success" && approveRes.state == "success") {
+      if (s.appsRes.state === "success" && approveRes.state === "success") {
         s.appsRes.data.registration_applications = editRegistrationApplication(
           approveRes.data.registration_application,
           s.appsRes.data.registration_applications
index d298930e9bba7414083504e682ff8d59b5f270da..ba488f6b7ec565fd90837aff727594a87ef48a54 100644 (file)
@@ -352,18 +352,18 @@ export class Reports extends Component<any, ReportsState> {
   get buildCombined(): ItemType[] {
     const commentRes = this.state.commentReportsRes;
     const comments =
-      commentRes.state == "success"
+      commentRes.state === "success"
         ? commentRes.data.comment_reports.map(this.commentReportToItemType)
         : [];
 
     const postRes = this.state.postReportsRes;
     const posts =
-      postRes.state == "success"
+      postRes.state === "success"
         ? postRes.data.post_reports.map(this.postReportToItemType)
         : [];
     const pmRes = this.state.messageReportsRes;
     const privateMessages =
-      pmRes.state == "success"
+      pmRes.state === "success"
         ? pmRes.data.private_message_reports.map(
             this.privateMessageReportToItemType
           )
@@ -565,7 +565,7 @@ export class Reports extends Component<any, ReportsState> {
   }
 
   async refetch() {
-    const unresolved_only = this.state.unreadOrAll == UnreadOrAll.Unread;
+    const unresolved_only = this.state.unreadOrAll === UnreadOrAll.Unread;
     const page = this.state.page;
     const limit = fetchLimit;
     const auth = myAuthRequired();
@@ -617,7 +617,7 @@ export class Reports extends Component<any, ReportsState> {
 
   findAndUpdateCommentReport(res: RequestState<CommentReportResponse>) {
     this.setState(s => {
-      if (s.commentReportsRes.state == "success" && res.state == "success") {
+      if (s.commentReportsRes.state === "success" && res.state === "success") {
         s.commentReportsRes.data.comment_reports = editCommentReport(
           res.data.comment_report_view,
           s.commentReportsRes.data.comment_reports
@@ -629,7 +629,7 @@ export class Reports extends Component<any, ReportsState> {
 
   findAndUpdatePostReport(res: RequestState<PostReportResponse>) {
     this.setState(s => {
-      if (s.postReportsRes.state == "success" && res.state == "success") {
+      if (s.postReportsRes.state === "success" && res.state === "success") {
         s.postReportsRes.data.post_reports = editPostReport(
           res.data.post_report_view,
           s.postReportsRes.data.post_reports
@@ -643,7 +643,7 @@ export class Reports extends Component<any, ReportsState> {
     res: RequestState<PrivateMessageReportResponse>
   ) {
     this.setState(s => {
-      if (s.messageReportsRes.state == "success" && res.state == "success") {
+      if (s.messageReportsRes.state === "success" && res.state === "success") {
         s.messageReportsRes.data.private_message_reports =
           editPrivateMessageReport(
             res.data.private_message_report_view,
index 1db77c9f206f4cd7e2ff1645c95bf3c34dc38548..4a6a21c345b1cdb5d4940493a1d41c756b800b64 100644 (file)
@@ -887,7 +887,7 @@ export class Settings extends Component<any, SettingsState> {
                   id="user-remove-totp"
                   type="checkbox"
                   checked={
-                    this.state.saveUserSettingsForm.generate_totp_2fa == false
+                    this.state.saveUserSettingsForm.generate_totp_2fa === false
                   }
                   onChange={linkEvent(this, this.handleRemoveTotp)}
                 />
@@ -1132,13 +1132,13 @@ export class Settings extends Component<any, SettingsState> {
 
   handleNewPasswordChange(i: Settings, event: any) {
     const newPass: string | undefined =
-      event.target.value == "" ? undefined : event.target.value;
+      event.target.value === "" ? undefined : event.target.value;
     i.setState(s => ((s.changePasswordForm.new_password = newPass), s));
   }
 
   handleNewPasswordVerifyChange(i: Settings, event: any) {
     const newPassVerify: string | undefined =
-      event.target.value == "" ? undefined : event.target.value;
+      event.target.value === "" ? undefined : event.target.value;
     i.setState(
       s => ((s.changePasswordForm.new_password_verify = newPassVerify), s)
     );
@@ -1146,7 +1146,7 @@ export class Settings extends Component<any, SettingsState> {
 
   handleOldPasswordChange(i: Settings, event: any) {
     const oldPass: string | undefined =
-      event.target.value == "" ? undefined : event.target.value;
+      event.target.value === "" ? undefined : event.target.value;
     i.setState(s => ((s.changePasswordForm.old_password = oldPass), s));
   }
 
index 66e595966b9fc27cfdcfb3e8e854d5fadc2559d3..b736146e1da271c4f4e64a860467494b1d22e38d 100644 (file)
@@ -35,7 +35,7 @@ export class VerifyEmail extends Component<any, State> {
       }),
     });
 
-    if (this.state.verifyRes.state == "success") {
+    if (this.state.verifyRes.state === "success") {
       toast(I18NextService.i18n.t("email_verified"));
       this.props.history.push("/login");
     }
@@ -61,7 +61,7 @@ export class VerifyEmail extends Component<any, State> {
         <div className="row">
           <div className="col-12 col-lg-6 offset-lg-3 mb-4">
             <h1 className="h4 mb-4">{I18NextService.i18n.t("verify_email")}</h1>
-            {this.state.verifyRes.state == "loading" && (
+            {this.state.verifyRes.state === "loading" && (
               <h5>
                 <Spinner large />
               </h5>
index 98def03c1713ea677c45e6bd7947713270ed5c94..afa2fff3c036bb97c2f3812d4b80777c9f2c7529 100644 (file)
@@ -312,7 +312,7 @@ export class PostForm extends Component<PostFormProps, PostFormState> {
   componentWillReceiveProps(
     nextProps: Readonly<{ children?: InfernoNode } & PostFormProps>
   ): void {
-    if (this.props != nextProps) {
+    if (this.props !== nextProps) {
       this.setState(
         s => (
           (s.form.community_id = getIdFromString(
index 30b18659fcd67ebcee26abc44fa4321b4b10f9c6..d66144369755a3499b224860c13dcbe0d16d9a85 100644 (file)
@@ -765,7 +765,7 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
 
   get unreadCount(): number | undefined {
     const pv = this.postView;
-    return pv.unread_comments == pv.counts.comments || pv.unread_comments == 0
+    return pv.unread_comments === pv.counts.comments || pv.unread_comments === 0
       ? undefined
       : pv.unread_comments;
   }
@@ -1136,7 +1136,7 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
   removeAndBanDialogs() {
     const post = this.postView;
     const purgeTypeText =
-      this.state.purgeType == PurgeType.Post
+      this.state.purgeType === PurgeType.Post
         ? I18NextService.i18n.t("purge_post")
         : `${I18NextService.i18n.t("purge")} ${post.creator.name}`;
     return (
@@ -1405,7 +1405,7 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
 
   private get myPost(): boolean {
     return (
-      this.postView.creator.id ==
+      this.postView.creator.id ===
       UserService.Instance.myUserInfo?.local_user_view.person.id
     );
   }
@@ -1644,7 +1644,7 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
 
     const ban = !i.props.post_view.creator_banned_from_community;
     // If its an unban, restore all their data
-    if (ban == false) {
+    if (ban === false) {
       i.setState({ removeData: false });
     }
     const person_id = i.props.post_view.creator.id;
@@ -1652,7 +1652,7 @@ export class PostListing extends Component<PostListingProps, PostListingState> {
     const reason = i.state.banReason;
     const expires = futureDaysToUnixTime(i.state.banExpireDays);
 
-    if (i.state.banType == BanType.Community) {
+    if (i.state.banType === BanType.Community) {
       const community_id = i.postView.community.id;
       i.props.onBanPersonFromCommunity({
         community_id,
index 1fdaeba2ca40f1aa1f45bbdae292f3c3a908d5cc..3f6c30463777015918b7840673912a563d9b4288 100644 (file)
@@ -141,7 +141,7 @@ export class PostListings extends Component<PostListingsProps, any> {
     // Sort by oldest
     // Remove the ones that have no length
     for (const e of urlMap.entries()) {
-      if (e[1].length == 1) {
+      if (e[1].length === 1) {
         urlMap.delete(e[0]);
       } else {
         e[1].sort((a, b) => a.post.published.localeCompare(b.post.published));
@@ -155,7 +155,7 @@ export class PostListings extends Component<PostListingsProps, any> {
         const found = urlMap.get(url);
         if (found) {
           // If its the oldest, add
-          if (pv.post.id == found[0].post.id) {
+          if (pv.post.id === found[0].post.id) {
             this.duplicatesMap.set(pv.post.id, found.slice(1));
           }
           // Otherwise, delete it
index 9b2540be1d18f2d0012f2a1ae43080d1a2681e8d..8de646f42f5b003d10fb328252aee467a404df9b 100644 (file)
@@ -28,7 +28,7 @@ export class PostReport extends Component<PostReportProps, PostReportState> {
   componentWillReceiveProps(
     nextProps: Readonly<{ children?: InfernoNode } & PostReportProps>
   ): void {
-    if (this.props != nextProps) {
+    if (this.props !== nextProps) {
       this.setState({ loading: false });
     }
   }
index 003ad710ce65a07bbaf984ffd307a28eb14da16f..b1b8e32198bbcfbb23e8892b87f92e7e126a9650 100644 (file)
@@ -309,7 +309,7 @@ export class Post extends Component<any, PostState> {
     const wrappedElement = document.getElementsByClassName("comments")[0];
     if (wrappedElement && this.isBottom(wrappedElement)) {
       const commentCount =
-        this.state.commentsRes.state == "success"
+        this.state.commentsRes.state === "success"
           ? this.state.commentsRes.data.comments.length
           : 0;
 
@@ -323,13 +323,13 @@ export class Post extends Component<any, PostState> {
 
   get documentTitle(): string {
     const siteName = this.state.siteRes.site_view.site.name;
-    return this.state.postRes.state == "success"
+    return this.state.postRes.state === "success"
       ? `${this.state.postRes.data.post_view.post.name} - ${siteName}`
       : siteName;
   }
 
   get imageTag(): string | undefined {
-    if (this.state.postRes.state == "success") {
+    if (this.state.postRes.state === "success") {
       const post = this.state.postRes.data.post_view.post;
       const thumbnail = post.thumbnail_url;
       const url = post.url;
@@ -413,9 +413,9 @@ export class Post extends Component<any, PostState> {
                 {this.state.showSidebarMobile && this.sidebar()}
               </div>
               {this.sortRadios()}
-              {this.state.commentViewType == CommentViewType.Tree &&
+              {this.state.commentViewType === CommentViewType.Tree &&
                 this.commentsTree()}
-              {this.state.commentViewType == CommentViewType.Flat &&
+              {this.state.commentViewType === CommentViewType.Flat &&
                 this.commentsFlat()}
             </main>
             <aside className="d-none d-md-block col-md-4 col-lg-3">
@@ -535,7 +535,7 @@ export class Post extends Component<any, PostState> {
     const commentsRes = this.state.commentsRes;
     const postRes = this.state.postRes;
 
-    if (commentsRes.state == "success" && postRes.state == "success") {
+    if (commentsRes.state === "success" && postRes.state === "success") {
       return (
         <div>
           <CommentNodes
@@ -607,7 +607,7 @@ export class Post extends Component<any, PostState> {
     const showContextButton = depth ? depth > 0 : false;
 
     return (
-      res.state == "success" && (
+      res.state === "success" && (
         <div>
           {!!this.state.commentId && (
             <>
@@ -664,7 +664,7 @@ export class Post extends Component<any, PostState> {
   }
 
   commentTree(): CommentNodeI[] {
-    if (this.state.commentsRes.state == "success") {
+    if (this.state.commentsRes.state === "success") {
       return buildCommentsTree(
         this.state.commentsRes.data.comments,
         !!this.state.commentId
@@ -696,14 +696,14 @@ export class Post extends Component<any, PostState> {
   }
 
   handleViewPost(i: Post) {
-    if (i.state.postRes.state == "success") {
+    if (i.state.postRes.state === "success") {
       const id = i.state.postRes.data.post_view.post.id;
       i.context.router.history.push(`/post/${id}`);
     }
   }
 
   handleViewContext(i: Post) {
-    if (i.state.commentsRes.state == "success") {
+    if (i.state.commentsRes.state === "success") {
       const parentId = getCommentParentId(
         i.state.commentsRes.data.comments.at(0)?.comment
       );
@@ -732,7 +732,7 @@ export class Post extends Component<any, PostState> {
       const communityId = followCommunityRes.data.community_view.community.id;
       const mui = UserService.Instance.myUserInfo;
       if (mui) {
-        mui.follows = mui.follows.filter(i => i.community.id != communityId);
+        mui.follows = mui.follows.filter(i => i.community.id !== communityId);
       }
     }
   }
@@ -759,10 +759,10 @@ export class Post extends Component<any, PostState> {
 
   async handleBlockCommunity(form: BlockCommunity) {
     const blockCommunityRes = await HttpService.client.blockCommunity(form);
-    if (blockCommunityRes.state == "success") {
+    if (blockCommunityRes.state === "success") {
       updateCommunityBlock(blockCommunityRes.data);
       this.setState(s => {
-        if (s.postRes.state == "success") {
+        if (s.postRes.state === "success") {
           s.postRes.data.community_view.blocked =
             blockCommunityRes.data.blocked;
         }
@@ -772,7 +772,7 @@ export class Post extends Component<any, PostState> {
 
   async handleBlockPerson(form: BlockPerson) {
     const blockPersonRes = await HttpService.client.blockPerson(form);
-    if (blockPersonRes.state == "success") {
+    if (blockPersonRes.state === "success") {
       updatePersonBlock(blockPersonRes.data);
     }
   }
@@ -855,14 +855,14 @@ export class Post extends Component<any, PostState> {
 
   async handleCommentReport(form: CreateCommentReport) {
     const reportRes = await HttpService.client.createCommentReport(form);
-    if (reportRes.state == "success") {
+    if (reportRes.state === "success") {
       toast(I18NextService.i18n.t("report_created"));
     }
   }
 
   async handlePostReport(form: CreatePostReport) {
     const reportRes = await HttpService.client.createPostReport(form);
-    if (reportRes.state == "success") {
+    if (reportRes.state === "success") {
       toast(I18NextService.i18n.t("report_created"));
     }
   }
@@ -895,8 +895,8 @@ export class Post extends Component<any, PostState> {
   async handleFetchChildren(form: GetComments) {
     const moreCommentsRes = await HttpService.client.getComments(form);
     if (
-      this.state.commentsRes.state == "success" &&
-      moreCommentsRes.state == "success"
+      this.state.commentsRes.state === "success" &&
+      moreCommentsRes.state === "success"
     ) {
       const newComments = moreCommentsRes.data.comments;
       // Remove the first comment, since it is the parent
@@ -929,19 +929,19 @@ export class Post extends Component<any, PostState> {
 
   updateBanFromCommunity(banRes: RequestState<BanFromCommunityResponse>) {
     // Maybe not necessary
-    if (banRes.state == "success") {
+    if (banRes.state === "success") {
       this.setState(s => {
         if (
-          s.postRes.state == "success" &&
-          s.postRes.data.post_view.creator.id ==
+          s.postRes.state === "success" &&
+          s.postRes.data.post_view.creator.id ===
             banRes.data.person_view.person.id
         ) {
           s.postRes.data.post_view.creator_banned_from_community =
             banRes.data.banned;
         }
-        if (s.commentsRes.state == "success") {
+        if (s.commentsRes.state === "success") {
           s.commentsRes.data.comments
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(
               c => (c.creator_banned_from_community = banRes.data.banned)
             );
@@ -953,18 +953,18 @@ export class Post extends Component<any, PostState> {
 
   updateBan(banRes: RequestState<BanPersonResponse>) {
     // Maybe not necessary
-    if (banRes.state == "success") {
+    if (banRes.state === "success") {
       this.setState(s => {
         if (
-          s.postRes.state == "success" &&
-          s.postRes.data.post_view.creator.id ==
+          s.postRes.state === "success" &&
+          s.postRes.data.post_view.creator.id ===
             banRes.data.person_view.person.id
         ) {
           s.postRes.data.post_view.creator.banned = banRes.data.banned;
         }
-        if (s.commentsRes.state == "success") {
+        if (s.commentsRes.state === "success") {
           s.commentsRes.data.comments
-            .filter(c => c.creator.id == banRes.data.person_view.person.id)
+            .filter(c => c.creator.id === banRes.data.person_view.person.id)
             .forEach(c => (c.creator.banned = banRes.data.banned));
         }
         return s;
@@ -974,7 +974,7 @@ export class Post extends Component<any, PostState> {
 
   updateCommunity(communityRes: RequestState<CommunityResponse>) {
     this.setState(s => {
-      if (s.postRes.state == "success" && communityRes.state == "success") {
+      if (s.postRes.state === "success" && communityRes.state === "success") {
         s.postRes.data.community_view = communityRes.data.community_view;
       }
       return s;
@@ -983,7 +983,7 @@ export class Post extends Component<any, PostState> {
 
   updateCommunityFull(res: RequestState<GetCommunityResponse>) {
     this.setState(s => {
-      if (s.postRes.state == "success" && res.state == "success") {
+      if (s.postRes.state === "success" && res.state === "success") {
         s.postRes.data.community_view = res.data.community_view;
         s.postRes.data.moderators = res.data.moderators;
       }
@@ -993,7 +993,7 @@ export class Post extends Component<any, PostState> {
 
   updatePost(post: RequestState<PostResponse>) {
     this.setState(s => {
-      if (s.postRes.state == "success" && post.state == "success") {
+      if (s.postRes.state === "success" && post.state === "success") {
         s.postRes.data.post_view = post.data.post_view;
       }
       return s;
@@ -1001,7 +1001,7 @@ export class Post extends Component<any, PostState> {
   }
 
   purgeItem(purgeRes: RequestState<PurgeItemResponse>) {
-    if (purgeRes.state == "success") {
+    if (purgeRes.state === "success") {
       toast(I18NextService.i18n.t("purge_success"));
       this.context.router.history.push(`/`);
     }
@@ -1024,7 +1024,7 @@ export class Post extends Component<any, PostState> {
 
   findAndUpdateComment(res: RequestState<CommentResponse>) {
     this.setState(s => {
-      if (s.commentsRes.state == "success" && res.state == "success") {
+      if (s.commentsRes.state === "success" && res.state === "success") {
         s.commentsRes.data.comments = editComment(
           res.data.comment_view,
           s.commentsRes.data.comments
@@ -1037,7 +1037,7 @@ export class Post extends Component<any, PostState> {
 
   findAndUpdateCommentReply(res: RequestState<CommentReplyResponse>) {
     this.setState(s => {
-      if (s.commentsRes.state == "success" && res.state == "success") {
+      if (s.commentsRes.state === "success" && res.state === "success") {
         s.commentsRes.data.comments = editWith(
           res.data.comment_reply_view,
           s.commentsRes.data.comments
@@ -1050,7 +1050,7 @@ export class Post extends Component<any, PostState> {
   updateModerators(res: RequestState<AddModToCommunityResponse>) {
     // Update the moderators
     this.setState(s => {
-      if (s.postRes.state == "success" && res.state == "success") {
+      if (s.postRes.state === "success" && res.state === "success") {
         s.postRes.data.moderators = res.data.moderators;
       }
       return s;
index f2b84f04c73130d55073b3770adcc8992dda9561..805b3ec976f78504b2898d0af02b24ca4c5aa4fa 100644 (file)
@@ -94,7 +94,7 @@ export class CreatePrivateMessage extends Component<
   }
 
   get documentTitle(): string {
-    if (this.state.recipientRes.state == "success") {
+    if (this.state.recipientRes.state === "success") {
       const name_ = this.state.recipientRes.data.person_view.person.name;
       return `${I18NextService.i18n.t("create_private_message")} - ${name_}`;
     } else {
@@ -144,7 +144,7 @@ export class CreatePrivateMessage extends Component<
   async handlePrivateMessageCreate(form: CreatePrivateMessageI) {
     const res = await HttpService.client.createPrivateMessage(form);
 
-    if (res.state == "success") {
+    if (res.state === "success") {
       toast(I18NextService.i18n.t("message_sent"));
 
       // Navigate to the front
index 4645f8cfec1087603c087df778db12d18700e19c..60d064fcaa386d310932d0ca1f853f5355842561 100644 (file)
@@ -58,7 +58,7 @@ export class PrivateMessageForm extends Component<
   componentWillReceiveProps(
     nextProps: Readonly<{ children?: InfernoNode } & PrivateMessageFormProps>
   ): void {
-    if (this.props != nextProps) {
+    if (this.props !== nextProps) {
       this.setState({ loading: false, content: undefined, previewMode: false });
     }
   }
index d15f18c5280587ced80617b5c4da0b5f12d93355..de6ef77cd622b8dc970333ee37791a9ff0190afe 100644 (file)
@@ -31,7 +31,7 @@ export class PrivateMessageReport extends Component<Props, State> {
   componentWillReceiveProps(
     nextProps: Readonly<{ children?: InfernoNode } & Props>
   ): void {
-    if (this.props != nextProps) {
+    if (this.props !== nextProps) {
       this.setState({ loading: false });
     }
   }
index 14270b644ec8f14481e20d3ce317492b59a3a815..099d87533a88b9ddef622775f9415ee6c8e7c6bd 100644 (file)
@@ -59,7 +59,7 @@ export class PrivateMessage extends Component<
 
   get mine(): boolean {
     return (
-      UserService.Instance.myUserInfo?.local_user_view.person.id ==
+      UserService.Instance.myUserInfo?.local_user_view.person.id ===
       this.props.private_message_view.creator.id
     );
   }
@@ -67,7 +67,7 @@ export class PrivateMessage extends Component<
   componentWillReceiveProps(
     nextProps: Readonly<{ children?: InfernoNode } & PrivateMessageProps>
   ): void {
-    if (this.props != nextProps) {
+    if (this.props !== nextProps) {
       this.setState({
         showReply: false,
         showEdit: false,
index 36bfca8113350c7b97c1a3291e0bcd22014ad58a..289187088ec8c383dc1f9a6a95949ff669728c67 100644 (file)
@@ -545,7 +545,7 @@ export class Search extends Component<any, SearchState> {
     } = this.state;
 
     const hasCommunities =
-      communitiesRes.state == "success" &&
+      communitiesRes.state === "success" &&
       communitiesRes.data.communities.length > 0;
 
     return (
@@ -619,7 +619,7 @@ export class Search extends Component<any, SearchState> {
     } = this.state;
 
     // Push the possible resolve / federated objects first
-    if (resolveObjectResponse.state == "success") {
+    if (resolveObjectResponse.state === "success") {
       const { comment, post, community, person } = resolveObjectResponse.data;
 
       if (comment) {
index 142000d897a7622f0d1a605d38c1ef775a6ac752..4762d4be998bd3f86f2ea07b9bf5ca1fd281efe5 100644 (file)
@@ -197,7 +197,7 @@ export function setupMarkdown() {
     const item = tokens[idx] as any;
     const title = item.attrs.length >= 3 ? item.attrs[2][1] : "";
     const customEmoji = customEmojisLookup.get(title);
-    const isCustomEmoji = customEmoji != undefined;
+    const isCustomEmoji = customEmoji !== undefined;
     if (!isCustomEmoji) {
       return defaultRenderer?.(tokens, idx, options, env, self) ?? "";
     }
@@ -242,9 +242,9 @@ export function updateEmojiDataModel(custom_emoji_view: CustomEmojiView) {
     skins: [{ src: custom_emoji_view.custom_emoji.image_url }],
   };
   const categoryIndex = customEmojis.findIndex(
-    x => x.id == custom_emoji_view.custom_emoji.category
+    x => x.id === custom_emoji_view.custom_emoji.category
   );
-  if (categoryIndex == -1) {
+  if (categoryIndex === -1) {
     customEmojis.push({
       id: custom_emoji_view.custom_emoji.category,
       name: custom_emoji_view.custom_emoji.category,
@@ -252,9 +252,9 @@ export function updateEmojiDataModel(custom_emoji_view: CustomEmojiView) {
     });
   } else {
     const emojiIndex = customEmojis[categoryIndex].emojis.findIndex(
-      x => x.id == custom_emoji_view.custom_emoji.shortcode
+      x => x.id === custom_emoji_view.custom_emoji.shortcode
     );
-    if (emojiIndex == -1) {
+    if (emojiIndex === -1) {
       customEmojis[categoryIndex].emojis.push(emoji);
     } else {
       customEmojis[categoryIndex].emojis[emojiIndex] = emoji;
@@ -276,10 +276,10 @@ export function removeFromEmojiDataModel(id: number) {
   }
   if (!view) return;
   const categoryIndex = customEmojis.findIndex(
-    x => x.id == view?.custom_emoji.category
+    x => x.id === view?.custom_emoji.category
   );
   const emojiIndex = customEmojis[categoryIndex].emojis.findIndex(
-    x => x.id == view?.custom_emoji.shortcode
+    x => x.id === view?.custom_emoji.shortcode
   );
   customEmojis[categoryIndex].emojis = customEmojis[
     categoryIndex
@@ -317,7 +317,7 @@ export function setupTribute() {
           const customEmoji = customEmojisLookup.get(
             item.original.key
           )?.custom_emoji;
-          if (customEmoji == undefined) return `${item.original.val}`;
+          if (customEmoji === undefined) return `${item.original.val}`;
           else
             return `![${customEmoji.alt_text}](${customEmoji.image_url} "${customEmoji.shortcode}")`;
         },
index 030fa79f3c4f4b33b39569d44cb7cb9eb3b9361b..431d07b0e5a0b2be4b48c66c0cbff2f9aebe2d36 100644 (file)
@@ -1,9 +1,9 @@
 import { VoteType } from "../../interfaces";
 
 export default function newVote(voteType: VoteType, myVote?: number): number {
-  if (voteType == VoteType.Upvote) {
-    return myVote == 1 ? 0 : 1;
+  if (voteType === VoteType.Upvote) {
+    return myVote === 1 ? 0 : 1;
   } else {
-    return myVote == -1 ? 0 : -1;
+    return myVote === -1 ? 0 : -1;
   }
 }
index 8079abdc08d37f22ecce4352d88f88f085fab7ea..d1754cceb12692ba2dd71bbc9b4977024b450e5b 100644 (file)
@@ -17,8 +17,8 @@ export default function selectableLanguages(
 ): Language[] {
   const allLangIds = allLanguages.map(l => l.id);
   let myLangs = myUserInfo?.discussion_languages ?? allLangIds;
-  myLangs = myLangs.length == 0 ? allLangIds : myLangs;
-  const siteLangs = siteLanguages.length == 0 ? allLangIds : siteLanguages;
+  myLangs = myLangs.length === 0 ? allLangIds : myLangs;
+  const siteLangs = siteLanguages.length === 0 ? allLangIds : siteLanguages;
 
   if (showAll) {
     return allLanguages;
index 6d9d46c066b49302d6cfe663fa06ef1ecf322ffa..9c6488f4e87222aa17105e3790af309cd4ce0aec 100644 (file)
@@ -9,7 +9,7 @@ export default async function setTheme(theme: string, forceReload = false) {
     return;
   }
   // This is only run on a force reload
-  if (theme == "browser") {
+  if (theme === "browser") {
     theme = "darkly";
   }
 
index 7e2635d8c568b931d056c9e479aafd9d38156960..093055e056f5e1be1059f8b56cf8d265af6e508b 100644 (file)
@@ -6,7 +6,7 @@ export default function getExternalHost() {
     ? `${window.location.hostname}${
         ["1234", "1235"].includes(window.location.port)
           ? ":8536"
-          : window.location.port == ""
+          : window.location.port === ""
           ? ""
           : `:${window.location.port}`
       }`
index 065eb7a903c901cccfbc9e8bbc31ca74dca93639..a0ddecbe225e3b4e7017f81ffb9c47fc2dca0943 100644 (file)
@@ -1,5 +1,5 @@
 export default function getRandomFromList<T>(list: T[]): T | undefined {
-  return list.length == 0
+  return list.length === 0
     ? undefined
     : list.at(Math.floor(Math.random() * list.length));
 }
index 3671ef20c148989b8127bd385ec4f8118ae07669..3fcd228cc785d5077d74e909e36a1e242b10139b 100644 (file)
@@ -8,5 +8,5 @@ export default function amCommunityCreator(
 ): boolean {
   const myId = myUserInfo?.local_user_view.person.id;
   // Don't allow mod actions on yourself
-  return myId == mods?.at(0)?.moderator.id && myId != creator_id;
+  return myId === mods?.at(0)?.moderator.id && myId !== creator_id;
 }
index 9da2840eff3519b16e96f397d6c7044ea9e72f70..071d28c40ee229cba0cb416f22617292d86e8591 100644 (file)
@@ -7,5 +7,5 @@ export default function amSiteCreator(
   myUserInfo = UserService.Instance.myUserInfo
 ): boolean {
   const myId = myUserInfo?.local_user_view.person.id;
-  return myId == admins?.at(0)?.person.id && myId != creator_id;
+  return myId === admins?.at(0)?.person.id && myId !== creator_id;
 }
index 9163d7cac1b98e40cd01dd88adff8b01bcc76cbb..3f96208669bb3a674c5b3c3d5ce1a395176f8d1b 100644 (file)
@@ -5,5 +5,5 @@ export default function amTopMod(
   mods: CommunityModeratorView[],
   myUserInfo = UserService.Instance.myUserInfo
 ): boolean {
-  return mods.at(0)?.moderator.id == myUserInfo?.local_user_view.person.id;
+  return mods.at(0)?.moderator.id === myUserInfo?.local_user_view.person.id;
 }
index df639b7fabd3b0d426b7478bf1489df2c331e9d5..ae2bf4494c311fc4f7ea5770bb6df01b681f5e0d 100644 (file)
@@ -16,9 +16,9 @@ export default function canMod(
 
   if (myUserInfo) {
     const myIndex = adminsThenMods.findIndex(
-      id => id == myUserInfo.local_user_view.person.id
+      id => id === myUserInfo.local_user_view.person.id
     );
-    if (myIndex == -1) {
+    if (myIndex === -1) {
       return false;
     } else {
       // onSelf +1 on mod actions not for yourself, IE ban, remove, etc