mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-11-22 12:21:13 +00:00
Merge branch 'main' into upgrade_deps_15
This commit is contained in:
commit
da5c9c00b8
55 changed files with 256 additions and 241 deletions
|
@ -20,10 +20,11 @@
|
|||
"@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,
|
||||
|
|
|
@ -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",
|
||||
);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,13 +278,13 @@ 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 (
|
||||
<li className="comment">
|
||||
<li className="comment list-unstyled">
|
||||
<article
|
||||
id={`comment-${cv.comment.id}`}
|
||||
className={classNames(`details comment-node py-2`, {
|
||||
|
@ -348,7 +348,7 @@ export class CommentNode extends Component<CommentNodeProps, CommentNodeState> {
|
|||
{showScores() && (
|
||||
<>
|
||||
<span
|
||||
className="me-1 fw-bold"
|
||||
className={`me-1 fw-bold ${this.scoreColor}`}
|
||||
aria-label={I18NextService.i18n.t("number_of_points", {
|
||||
count: Number(this.commentView.counts.score),
|
||||
formattedCount: numToSI(this.commentView.counts.score),
|
||||
|
@ -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,
|
||||
|
|
|
@ -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 });
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { isBrowser } from "@utils/browser";
|
||||
import { isBrowser, platform } from "@utils/browser";
|
||||
import { numToSI, randomStr } from "@utils/helpers";
|
||||
import autosize from "autosize";
|
||||
import classNames from "classnames";
|
||||
|
@ -21,7 +21,6 @@ import { EmojiPicker } from "./emoji-picker";
|
|||
import { Icon, Spinner } from "./icon";
|
||||
import { LanguageSelect } from "./language-select";
|
||||
import ProgressBar from "./progress-bar";
|
||||
|
||||
interface MarkdownTextAreaProps {
|
||||
/**
|
||||
* Initial content inside the textarea
|
||||
|
@ -361,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}")`;
|
||||
|
@ -477,7 +476,7 @@ export class MarkdownTextArea extends Component<
|
|||
// Keybind handler
|
||||
// Keybinds inspired by github comment area
|
||||
handleKeyBinds(i: MarkdownTextArea, event: KeyboardEvent) {
|
||||
if (event.ctrlKey || event.metaKey) {
|
||||
if (platform.isMac() ? event.metaKey : event.ctrlKey) {
|
||||
switch (event.key) {
|
||||
case "k": {
|
||||
i.handleInsertLink(i, event);
|
||||
|
|
|
@ -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")}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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")}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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(),
|
||||
|
|
|
@ -899,7 +899,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);
|
||||
}
|
||||
}
|
||||
|
@ -970,14 +970,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"));
|
||||
}
|
||||
}
|
||||
|
@ -995,7 +995,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));
|
||||
}
|
||||
}
|
||||
|
@ -1027,18 +1027,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),
|
||||
);
|
||||
|
@ -1050,16 +1050,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;
|
||||
|
@ -1068,7 +1068,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(`/`);
|
||||
}
|
||||
|
@ -1076,7 +1076,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,
|
||||
|
@ -1089,7 +1089,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
|
||||
|
@ -1104,7 +1104,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,
|
||||
|
@ -1116,7 +1116,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,
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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 });
|
||||
|
|
|
@ -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}`;
|
||||
|
|
|
@ -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")}
|
||||
|
|
|
@ -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 });
|
||||
|
|
|
@ -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_;
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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)}
|
||||
/>
|
||||
|
@ -1134,13 +1134,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),
|
||||
);
|
||||
|
@ -1148,7 +1148,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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 });
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 });
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 });
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
@ -316,7 +316,7 @@ export function setupTribute() {
|
|||
selectTemplate: (item: any) => {
|
||||
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}")`;
|
||||
},
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ import dataBsTheme from "./data-bs-theme";
|
|||
import isBrowser from "./is-browser";
|
||||
import isDark from "./is-dark";
|
||||
import loadCss from "./load-css";
|
||||
import platform from "./platform";
|
||||
import restoreScrollPosition from "./restore-scroll-position";
|
||||
import saveScrollPosition from "./save-scroll-position";
|
||||
import setAuthCookie from "./set-auth-cookie";
|
||||
|
@ -16,6 +17,7 @@ export {
|
|||
isBrowser,
|
||||
isDark,
|
||||
loadCss,
|
||||
platform,
|
||||
restoreScrollPosition,
|
||||
saveScrollPosition,
|
||||
setAuthCookie,
|
||||
|
|
13
src/shared/utils/browser/platform.ts
Normal file
13
src/shared/utils/browser/platform.ts
Normal file
|
@ -0,0 +1,13 @@
|
|||
import { isBrowser } from "@utils/browser";
|
||||
|
||||
const platformString = () =>
|
||||
navigator.platform?.match(/mac|win|linux/i)?.[0].toLowerCase();
|
||||
const getPlatformPredicate = (platform: string) => () =>
|
||||
isBrowser() && platformString() === platform;
|
||||
const isWin = getPlatformPredicate("win");
|
||||
const isMac = getPlatformPredicate("mac");
|
||||
const isLinux = getPlatformPredicate("linux");
|
||||
|
||||
const platform = { isWin, isMac, isLinux };
|
||||
|
||||
export default platform;
|
2
src/shared/utils/env/get-external-host.ts
vendored
2
src/shared/utils/env/get-external-host.ts
vendored
|
@ -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}`
|
||||
}`
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue