Skip to content

Commit 43b8d4b

Browse files
authored
Merge pull request #30 from kshxtij/fix-all-eslint-warnings
Fix Eslint CI warnings
2 parents 944b67b + 678e468 commit 43b8d4b

21 files changed

+73
-88
lines changed

frontend/src/api/favourite.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { fetchGet, fetchPost } from "./fetch-utils";
22

33
export const addNewFavourite = async (slug: string) => {
44
const url = `/api/favourites/add/${slug}/`;
5-
const success = await fetchPost(`/api/favourites/add/${slug}/`, {})
5+
await fetchPost(url, {})
66
};;
77

88

frontend/src/app.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {
22
Button,
3-
Badge,
43
MantineProvider,
54
Box,
65
Affix,
@@ -9,13 +8,12 @@ import {
98
Indicator,
109
MantineColorsTuple,
1110
CSSVariablesResolver,
12-
useMantineColorScheme,
1311
SegmentedControl,
1412
} from "@mantine/core";
1513
import "@mantine/core/styles.css";
1614
import "@mantine/charts/styles.css";
1715
import React, { useEffect, useState } from "react";
18-
import { Redirect, Route, Switch, useLocation } from "react-router-dom";
16+
import { Redirect, Route, Switch } from "react-router-dom";
1917
import tinycolor from "tinycolor2";
2018
import { fetchGet, getCookie } from "./api/fetch-utils";
2119
import { notLoggedIn, SetUserContext, User, UserContext } from "./auth";

frontend/src/components/Editor/EditorFooter.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { Button, Group, Modal } from "@mantine/core";
22
import * as React from "react";
3-
import { useCallback, useState } from "react";
43
import { ImageHandle } from "./utils/types";
54
import EditorHelp from "./EditorHelp";
65
import classes from "./EditorFooter.module.css";
@@ -16,7 +15,7 @@ const EditorFooter: React.FC<Props> = ({
1615
onDelete,
1716
onOpenOverlay,
1817
}) => {
19-
const [isHelpOpen, {toggle: toggleHelpModal, close: closeHelpModal}] = useDisclosure();
18+
const [isHelpOpen, { toggle: toggleHelpModal, close: closeHelpModal }] = useDisclosure();
2019
return (
2120
<div>
2221
<Group justify="right" className={classes.row}>

frontend/src/components/Navbar/MobileHeader.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import {
55
Container,
66
Group,
77
Stack,
8-
useMantineTheme,
9-
Text,
108
} from "@mantine/core";
119
import { useLocalStorageState } from "@umijs/hooks";
1210
import { NavItem, translate } from "./GlobalNav";
@@ -30,7 +28,6 @@ const BottomHeader: React.FC<Props> = ({
3028
loginButton,
3129
signet,
3230
}) => {
33-
const theme = useMantineTheme();
3431
const [opened, setOpened] = React.useState(false);
3532
const [uwu, _] = useLocalStorageState("uwu", false);
3633

frontend/src/components/answer-section.tsx

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ const AnswerSectionComponent: React.FC<Props> = React.memo(
164164
const user = useUser()!;
165165
const isCatAdmin = user.isCategoryAdmin;
166166

167-
const [deleteWarningIsOpen, {open: openDeleteWarning, close: closeDeleteWarning}] = useDisclosure();
167+
const [deleteWarningIsOpen, { open: openDeleteWarning, close: closeDeleteWarning }] = useDisclosure();
168168
const hideAnswerSection = async () => {
169169
await onHasAnswersChange();
170170
closeDeleteWarning();
@@ -198,41 +198,41 @@ const AnswerSectionComponent: React.FC<Props> = React.memo(
198198
/>
199199
{((cutName && cutName.length > 0) ||
200200
(isCatAdmin && displayEmptyCutLabels)) && (
201-
<NameCard id={id}>
202-
{isEditingName ? (
203-
<Group>
204-
<TextInput
205-
value={draftName}
206-
placeholder="Name"
207-
onChange={e => setDraftName(e.target.value)}
208-
/>
209-
<IconButton
210-
variant="filled"
211-
tooltip="Save PDF section name"
212-
icon={<IconDeviceFloppy />}
213-
onClick={() => {
214-
setIsEditingName(false);
215-
onCutNameChange(draftName);
216-
}}
217-
/>
218-
</Group>
219-
) : (
220-
<Flex justify="space-between" align="center">
221-
<Text fw={700} m={0}>
222-
{cutName}
223-
</Text>
224-
{isCatAdmin && (
201+
<NameCard id={id}>
202+
{isEditingName ? (
203+
<Group>
204+
<TextInput
205+
value={draftName}
206+
placeholder="Name"
207+
onChange={e => setDraftName(e.target.value)}
208+
/>
225209
<IconButton
226210
variant="filled"
227-
tooltip="Edit PDF section name"
228-
icon={<IconEdit />}
229-
onClick={() => setIsEditingName(true)}
211+
tooltip="Save PDF section name"
212+
icon={<IconDeviceFloppy />}
213+
onClick={() => {
214+
setIsEditingName(false);
215+
onCutNameChange(draftName);
216+
}}
230217
/>
231-
)}
232-
</Flex>
233-
)}
234-
</NameCard>
235-
)}
218+
</Group>
219+
) : (
220+
<Flex justify="space-between" align="center">
221+
<Text fw={700} m={0}>
222+
{cutName}
223+
</Text>
224+
{isCatAdmin && (
225+
<IconButton
226+
variant="filled"
227+
tooltip="Edit PDF section name"
228+
icon={<IconEdit />}
229+
onClick={() => setIsEditingName(true)}
230+
/>
231+
)}
232+
</Flex>
233+
)}
234+
</NameCard>
235+
)}
236236
<Container fluid pb="md" px="md">
237237
{!hidden && data && (
238238
<div>
@@ -254,8 +254,8 @@ const AnswerSectionComponent: React.FC<Props> = React.memo(
254254
</div>
255255
)}
256256
<AnswerSectionButtonWrapper
257-
bg={computedColorScheme == "light" ? "gray.0" : "dark.7"}
258-
// color={isBeingMoved || !has_answers ? "primary" : undefined}
257+
bg={computedColorScheme === "light" ? "gray.0" : "dark.7"}
258+
// color={isBeingMoved || !has_answers ? "primary" : undefined}
259259
>
260260
<div>
261261
{data === undefined ? (
@@ -296,7 +296,7 @@ const AnswerSectionComponent: React.FC<Props> = React.memo(
296296
!isBeingMoved &&
297297
data.answers.length > 0 && (
298298
<>
299-
<Button onClick={onToggleHidden} variant={hidden ? "filled" : "outline"} leftSection={hidden ? <IconChevronDown /> : <IconChevronUp /> }>
299+
<Button onClick={onToggleHidden} variant={hidden ? "filled" : "outline"} leftSection={hidden ? <IconChevronDown /> : <IconChevronUp />}>
300300
{hidden ? "Show Answers" : "Hide Answers"}
301301
</Button>
302302
</>

frontend/src/components/answer.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
Box,
1111
Paper,
1212
} from "@mantine/core";
13-
import { differenceInSeconds, formatDistanceToNow } from "date-fns";
13+
import { differenceInSeconds } from "date-fns";
1414
import React, { useCallback, useState } from "react";
1515
import { Link } from "react-router-dom";
1616
import { imageHandler } from "../api/fetch-utils";
@@ -69,7 +69,7 @@ const AnswerComponent: React.FC<Props> = ({
6969
onSectionChanged,
7070
hasId = true,
7171
}) => {
72-
const [viewSource, {toggle: toggleViewSource}] = useDisclosure();
72+
const [viewSource, { toggle: toggleViewSource }] = useDisclosure();
7373
const [setFlaggedLoading, setFlagged] = useSetFlagged(onSectionChanged);
7474
const [resetFlaggedLoading, resetFlagged] =
7575
useResetFlaggedVote(onSectionChanged);

frontend/src/components/category-card.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ const CategoryCard: React.FC<Props> = ({ category, onFavouriteToggle: refresh })
4242
// Find a secondary text color to use based on the current color scheme, for
4343
// the document count, exam count, and answer progress.
4444
const computedColorScheme = useComputedColorScheme('light');
45-
const subTextColor = computedColorScheme == "light" ? "gray.8" : "gray.5";
45+
const subTextColor = computedColorScheme === "light" ? "gray.8" : "gray.5";
4646

4747
const [favouriteLoading, add] = useMutation(addNewFavourite, res => {
4848
refresh();

frontend/src/components/comment-single.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Anchor, Box, Breadcrumbs, Card, Divider, Text } from "@mantine/core";
2-
import { differenceInSeconds, formatDistanceToNow } from "date-fns";
2+
import { differenceInSeconds } from "date-fns";
33
import React from "react";
44
import { Link } from "react-router-dom";
55
import { SingleComment } from "../interfaces";

frontend/src/components/comment.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { differenceInSeconds, formatDistanceToNow } from "date-fns";
1+
import { differenceInSeconds } from "date-fns";
22
import React, { useState } from "react";
33
import { Link } from "react-router-dom";
44
import { addNewComment, removeComment, updateComment } from "../api/comment";
@@ -11,7 +11,6 @@ import Editor from "./Editor";
1111
import { UndoStack } from "./Editor/utils/undo-stack";
1212
import CodeBlock from "./code-block";
1313
import MarkdownText from "./markdown-text";
14-
import SmallButton from "./small-button";
1514
import { Anchor, Button, Flex, Group, Paper, Text } from "@mantine/core";
1615
import {
1716
IconCode,
@@ -36,7 +35,7 @@ const CommentComponent: React.FC<Props> = ({
3635
onSectionChanged,
3736
onDelete,
3837
}) => {
39-
const [viewSource, {toggle: toggleViewSource}] = useDisclosure();
38+
const [viewSource, { toggle: toggleViewSource }] = useDisclosure();
4039
const { isAdmin, username } = useUser()!;
4140
const [confirm, modals] = useConfirm();
4241
const [editing, setEditing] = useState(false);

frontend/src/components/create-document-modal.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { Button, TextInput, Modal, Stack } from "@mantine/core";
22
import React, { useState } from "react";
33
import { useHistory } from "react-router-dom";
44
import { useCreateDocument } from "../api/hooks";
5-
import { useUser } from "../auth";
65
import { IconPlus } from "@tabler/icons-react";
76

87
interface Props {

frontend/src/components/document-comment.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
Modal,
88
Text,
99
} from "@mantine/core";
10-
import { differenceInSeconds, formatDistanceToNow } from "date-fns";
10+
import { differenceInSeconds } from "date-fns";
1111
import { useState } from "react";
1212
import { Link } from "react-router-dom";
1313
import { imageHandler } from "../api/fetch-utils";
@@ -141,7 +141,7 @@ const DocumentCommentComponent = ({ documentSlug, comment, mutate }: Props) => {
141141
</Button.Group>
142142
)}
143143
</Flex>
144-
<Divider/>
144+
<Divider />
145145
</Card.Section>
146146
<MarkdownText value={comment.text} />
147147
</Card>

frontend/src/components/document-list.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Alert, Button, Flex, Group, Paper, Tooltip, Title, useComputedColorScheme } from "@mantine/core";
1+
import { Alert, Flex, Group, Tooltip, Title, useComputedColorScheme } from "@mantine/core";
22
import React, { useEffect, useState } from "react";
33
import { loadDocumentTypes, useDocuments } from "../api/hooks";
44
import CreateDocumentForm from "./create-document-modal";
@@ -14,7 +14,7 @@ interface Props {
1414
}
1515

1616
const DocumentList: React.FC<Props> = ({ slug }) => {
17-
const [isOpen, {open, close}] = useDisclosure();
17+
const [isOpen, { open, close }] = useDisclosure();
1818
const [documents] = useDocuments(slug);
1919
const [docTypes, setDocTypes] = useState<string[] | null>(null);
2020
const [sortedDocs, setSortedDocs] = useState<
@@ -74,7 +74,7 @@ const DocumentList: React.FC<Props> = ({ slug }) => {
7474
<ShimmerButton
7575
onClick={open}
7676
leftSection={<IconPlus />}
77-
color={computedColorScheme == "dark" ? "compsocMain" : "dark"}
77+
color={computedColorScheme === "dark" ? "compsocMain" : "dark"}
7878
variant="outline"
7979
>
8080
Add document

frontend/src/components/document-pdf.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ const DocumentPdf: React.FC<DocumentPdfProps> = ({ url }) => {
6363
Object.fromEntries(getPages(renderer).map(pageNumber =>
6464
[pageNumber, (v: boolean) => inViewChange(pageNumber, v)],
6565
)),
66-
[renderer],
66+
[renderer, inViewChange],
6767
);
6868

6969
return (
@@ -101,7 +101,7 @@ const DocumentPdf: React.FC<DocumentPdfProps> = ({ url }) => {
101101
maxWidth={maxWidth}
102102
setMaxWidth={setMaxWidth}
103103
inViewPages={inViewPages}
104-
/>
104+
/>
105105
</>
106106
);
107107
};

frontend/src/components/exam-list.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import {
22
Alert,
33
Box,
44
Button,
5-
Container,
65
Flex,
76
Group,
87
Loader,
@@ -90,7 +89,7 @@ const ExamList: React.FC<ExamListProps> = ({ metaData }) => {
9089
<ShimmerButton
9190
onClick={() => setFormIsOpen(true)}
9291
leftSection={<IconPlus />}
93-
color={computedColorScheme == "dark" ? "compsocMain" : "dark"}
92+
color={computedColorScheme === "dark" ? "compsocMain" : "dark"}
9493
variant="outline"
9594
>
9695
Add new exam

frontend/src/components/exam-type-section.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
} from "@mantine/core";
1212
import React from "react";
1313
import examTypeClasses from "./exam-type-section.module.css";
14-
import { Link, useHistory } from "react-router-dom";
14+
import { Link } from "react-router-dom";
1515
import { fetchPost } from "../api/fetch-utils";
1616
import { useUser } from "../auth";
1717
import useConfirm from "../hooks/useConfirm";
@@ -46,7 +46,6 @@ const ExamTypeSection: React.FC<ExamTypeCardProps> = ({
4646
}) => {
4747
const user = useUser()!;
4848
const catAdmin = user.isCategoryAdmin;
49-
const history = useHistory();
5049
const allSelected = exams.every(exam => selected.has(exam.filename));
5150
const someSelected = exams.some(exam => selected.has(exam.filename));
5251
const checked = someSelected;

frontend/src/components/panel-left.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Button, Title, Tooltip } from "@mantine/core";
1+
import { Button, Title } from "@mantine/core";
22
import React, { CSSProperties } from "react";
33
import Transition from "react-transition-group/Transition";
44
import { IconMenu2, IconX } from "@tabler/icons-react";

frontend/src/components/pdf-panel-base.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
Text,
88
} from "@mantine/core";
99
import { useDebounceFn } from "@umijs/hooks";
10-
import React, { useCallback, useEffect, useMemo, useState } from "react";
10+
import React, { useCallback, useMemo, useState } from "react";
1111
import PDF from "../pdf/pdf-renderer";
1212
import IconButton from "./icon-button";
1313
import Panel from "./panel";
@@ -24,7 +24,7 @@ interface PdfPanelBaseProps {
2424
subtitle?: string;
2525

2626
inViewPages?: Set<number>;
27-
27+
2828
/**
2929
* Use this to limit the pagination to only the specified pages.
3030
*/
@@ -99,7 +99,7 @@ const PdfPanelBase: React.FC<PdfPanelBaseProps> = ({
9999
() => {
100100
return inViewPages ? Math.min(...Array.from(inViewPages)) : undefined
101101
}
102-
, [inViewPages])
102+
, [inViewPages])
103103

104104
return (
105105
<Panel isOpen={isOpen} toggle={toggle}>

frontend/src/components/user-score-card.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
LoadingOverlay,
99
Title,
1010
} from "@mantine/core";
11-
import React, { ReactNode } from "react";
11+
import React from "react";
1212
import { logout } from "../api/fetch-utils";
1313
import { useSetUser, useUser } from "../auth";
1414
import { UserInfo } from "../interfaces";
@@ -20,7 +20,6 @@ import {
2020
IconLogout,
2121
IconMessage,
2222
IconPencil,
23-
IconPencilCog,
2423
IconProps,
2524
} from "@tabler/icons-react";
2625

@@ -71,10 +70,10 @@ const UserScoreCard: React.FC<UserScoreCardProps> = ({
7170
<>
7271
<Group justify="space-between" mb="sm">
7372
<Title order={1} my="md">
74-
@{username}{" "}
75-
{userInfo &&
76-
userInfo.displayName !== username &&
77-
`(${userInfo.displayName})`}
73+
@{username}{" "}
74+
{userInfo &&
75+
userInfo.displayName !== username &&
76+
`(${userInfo.displayName})`}
7877
</Title>
7978

8079
{isMyself && (
@@ -105,7 +104,7 @@ const UserScoreCard: React.FC<UserScoreCardProps> = ({
105104

106105
<Container fluid p={0}>
107106
<SimpleGrid
108-
cols={{ base: 1, xs: 2, sm: 3, md: 4}}
107+
cols={{ base: 1, xs: 2, sm: 3, md: 4 }}
109108
>
110109
{scoreCard(userInfo, "Score", "score", IconChevronUp)}
111110
{scoreCard(userInfo, "Answers", "score_answers", IconPencil)}

0 commit comments

Comments
 (0)