Skip to content

Commit 9b29834

Browse files
authored
Merge pull request #4100 from devo1ution/organize-imports
add organize imports to pre-commit
2 parents 6956edb + 1191a3c commit 9b29834

File tree

86 files changed

+186
-194
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+186
-194
lines changed

.pre-commit-config.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ repos:
1010
rev: v4.0.0-alpha.4
1111
hooks:
1212
- id: prettier
13+
additional_dependencies:
14+
- prettier@^2.7.1
15+
- prettier-plugin-organize-imports
1316
- repo: local
1417
hooks:
1518
- id: black-with-tabs

content/ordering.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -306,8 +306,7 @@ SECTIONS.forEach(section => {
306306
});
307307
});
308308

309-
export { moduleIDToSectionMap };
310-
export { moduleIDToURLMap };
309+
export { moduleIDToSectionMap, moduleIDToURLMap };
311310

312311
const moduleIDToURLMap: { [key: string]: string } = {};
313312

docs/Front End Documentation.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,16 @@ compile xdm into `src/gatsby/xdm.js` with Webpack:
5454
import path from 'path';
5555

5656
export default {
57-
mode: 'production',
58-
entry: './index.js',
59-
output: {
60-
path: path.resolve('D:\\Code\\xdm', 'dist'),
61-
filename: 'bundle.js',
62-
library: {
63-
name: 'xdm',
64-
type: 'commonjs',
65-
},
66-
},
57+
mode: 'production',
58+
entry: './index.js',
59+
output: {
60+
path: path.resolve('D:\\Code\\xdm', 'dist'),
61+
filename: 'bundle.js',
62+
library: {
63+
name: 'xdm',
64+
type: 'commonjs',
65+
},
66+
},
6767
};
6868
```
6969

gatsby-node.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ import { execSync } from 'child_process';
22
import fs from 'fs';
33
import path from 'path';
44
import * as freshOrdering from './content/ordering';
5+
import div_to_probs from './src/components/markdown/ProblemsList/DivisionList/div_to_probs.json';
56
import { createXdmNode } from './src/gatsby/create-xdm-node';
67
import {
8+
ProblemMetadata,
9+
ShortProblemInfo,
710
checkInvalidUsacoMetadata,
811
getProblemInfo,
912
getProblemURL,
10-
ShortProblemInfo,
11-
ProblemMetadata,
1213
} from './src/models/problem';
13-
import div_to_probs from './src/components/markdown/ProblemsList/DivisionList/div_to_probs.json';
1414
// Questionable hack to get full commit history so that timestamps work
1515
try {
1616
execSync(

src/assets/firepad.css

+3-7
Original file line numberDiff line numberDiff line change
@@ -176,15 +176,11 @@ a.firepad-btn:hover {
176176
}
177177

178178
a.firepad-btn:active {
179-
-webkit-box-shadow:
180-
inset 0 2px 4px rgba(0, 0, 0, 0.15),
179+
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),
181180
0 1px 2px rgba(0, 0, 0, 0.05);
182-
-moz-box-shadow:
183-
inset 0 2px 4px rgba(0, 0, 0, 0.15),
184-
0 1px 2px rgba(0, 0, 0, 0.05);
185-
box-shadow:
186-
inset 0 2px 4px rgba(0, 0, 0, 0.15),
181+
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),
187182
0 1px 2px rgba(0, 0, 0, 0.05);
183+
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
188184
}
189185

190186
.firepad-btn-group > .firepad-btn {

src/atoms/atomWithStorage.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { atom, PrimitiveAtom } from 'jotai';
21
import type { SetStateAction } from 'jotai';
2+
import { atom, PrimitiveAtom } from 'jotai';
33

44
type Storage<Value> = {
55
getItem: (key: string) => Value;

src/components/Confetti/Confetti.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import React, { Component } from 'react';
21
import PropTypes from 'prop-types';
2+
import React, { Component } from 'react';
33

4-
import { random, sample, range, getDiameter } from './Confetti.helpers';
4+
import { getDiameter, random, range, sample } from './Confetti.helpers';
55
import { createCircle, createTriangle, createZigZag } from './confetti-shapes';
66

77
import Canvas from './Canvas';

src/components/Confetti/Particles.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as React from 'react';
2-
import { defaultShapes } from './confetti-shapes.js';
32
import { getDiameter, random, range, sample } from './Confetti.helpers';
3+
import { defaultShapes } from './confetti-shapes.js';
44
import type { Particle, Shape } from './types';
55

66
type State = {

src/components/ContactUsSlideover/ContactUsSlideover.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import * as React from 'react';
22
import { useContext, useEffect, useState } from 'react';
33
import { SECTION_LABELS } from '../../../content/ordering';
44
import MarkdownLayoutContext from '../../context/MarkdownLayoutContext';
5-
import { useUserLangSetting } from '../../context/UserDataContext/properties/simpleProperties';
65
import { useFirebaseUser } from '../../context/UserDataContext/UserDataContext';
6+
import { useUserLangSetting } from '../../context/UserDataContext/properties/simpleProperties';
77
import useContactFormAction from '../../hooks/useContactFormAction';
88
import useStickyState from '../../hooks/useStickyState';
99
import { ModuleInfo } from '../../models/module';
@@ -295,8 +295,8 @@ export default function ContactUsSlideover({
295295
? email === ''
296296
? 'This field is required.'
297297
: !validateEmail(email)
298-
? 'Please enter a valid email address.'
299-
: null
298+
? 'Please enter a valid email address.'
299+
: null
300300
: null
301301
}
302302
/>

src/components/Editor/EditorOutput.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import { EditorContext } from '../../context/EditorContext';
88
import { MarkdownProblemListsProvider } from '../../context/MarkdownProblemListsContext';
99
import { ProblemSuggestionModalProvider } from '../../context/ProblemSuggestionModalContext';
1010
import {
11-
ProblemMetadata,
1211
PROBLEM_DIFFICULTY_OPTIONS,
12+
ProblemMetadata,
1313
} from '../../models/problem';
1414
import QuizGeneratorModal from '../QuizGeneratorModal';
1515

src/components/Editor/MainEditorInterface.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -123,16 +123,16 @@ export const MainEditorInterface = ({ className }): JSX.Element => {
123123
activeFile === null
124124
? 'NONE'
125125
: tab === 'content'
126-
? activeFile.path
127-
: activeFile.path.replace(/\.mdx$/, '.problems.json')
126+
? activeFile.path
127+
: activeFile.path.replace(/\.mdx$/, '.problems.json')
128128
}
129129
language={tab === 'content' ? 'custom-mdx' : 'json'}
130130
value={
131131
activeFile === null
132132
? 'Open a file to begin'
133133
: tab === 'content'
134-
? markdown
135-
: problems
134+
? markdown
135+
: problems
136136
}
137137
onChange={(v, e) =>
138138
tab === 'content' ? setMarkdown(v) : setProblems(v)

src/components/Groups/EditGroupPage/EditGroupPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import toast from 'react-hot-toast';
44
import { useActiveGroup } from '../../../hooks/groups/useActiveGroup';
55
import { useGroupActions } from '../../../hooks/groups/useGroupActions';
66
import { GroupData } from '../../../models/groups/groups';
7+
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
78
import Layout from '../../layout';
89
import SEO from '../../seo';
9-
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
1010
import Breadcrumbs from '../Breadcrumbs';
1111

1212
export default function EditGroupPage(props) {

src/components/Groups/EditPostPage/EditPostPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import { useActiveGroup } from '../../../hooks/groups/useActiveGroup';
99
import { usePost } from '../../../hooks/groups/usePost';
1010
import { usePostActions } from '../../../hooks/groups/usePostActions';
1111
import { PostData } from '../../../models/groups/posts';
12+
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
1213
import Layout from '../../layout';
1314
import SEO from '../../seo';
14-
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
1515
import Breadcrumbs from '../Breadcrumbs';
1616
import MarkdownEditor from '../MarkdownEditor';
1717

src/components/Groups/EditProblemPage/EditProblemPage.tsx

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { CheckIcon, XIcon } from '@heroicons/react/solid';
22
import { RouteComponentProps } from '@reach/router';
33
import {
4+
Timestamp,
45
collection,
56
getDocs,
67
getFirestore,
78
limit,
89
query,
9-
Timestamp,
1010
} from 'firebase/firestore';
1111
import 'flatpickr/dist/themes/material_blue.css';
1212
import { Link, navigate } from 'gatsby';
@@ -22,14 +22,14 @@ import { useFirebaseApp } from '../../../hooks/useFirebase';
2222
import { GroupProblemData } from '../../../models/groups/problem';
2323
import {
2424
AlgoliaProblemInfo,
25-
getProblemURL,
2625
ProblemInfo,
26+
getProblemURL,
2727
} from '../../../models/problem';
2828
import ButtonGroup from '../../ButtonGroup';
29-
import Layout from '../../layout';
3029
import ProblemAutocompleteModal from '../../ProblemAutocompleteModal/ProblemAutocompleteModal';
31-
import SEO from '../../seo';
3230
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
31+
import Layout from '../../layout';
32+
import SEO from '../../seo';
3333
import Breadcrumbs from '../Breadcrumbs';
3434
import MarkdownEditor from '../MarkdownEditor';
3535
import EditProblemHintSection from './EditProblemHintSection';
@@ -114,12 +114,12 @@ export default function EditProblemPage(props: Props) {
114114
getProblemURL(problemInfo),
115115
]}/solution)`
116116
: problem.solution?.kind == 'link'
117-
? `See [${problem.solution.url}](${problem.solution.url})`
118-
: problem.solution?.kind == 'label'
119-
? problem.solution.label
120-
: problem.solution?.kind === 'sketch'
121-
? problem.solution.sketch
122-
: '',
117+
? `See [${problem.solution.url}](${problem.solution.url})`
118+
: problem.solution?.kind == 'label'
119+
? problem.solution.label
120+
: problem.solution?.kind === 'sketch'
121+
? problem.solution.sketch
122+
: '',
123123

124124
source: problem.source,
125125
difficulty: problem.difficulty,

src/components/Groups/Feedback.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export default function Feedback({ videoId }): JSX.Element {
6262
([emoji, key, name]: [
6363
string,
6464
'very_bad' | 'bad' | 'good' | 'great',
65-
string,
65+
string
6666
]) => (
6767
<button
6868
key={key}

src/components/Groups/GroupLeaderboardPage/GroupLeaderboardPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import * as React from 'react';
22
import { useActiveGroup } from '../../../hooks/groups/useActiveGroup';
33
import useLeaderboardData from '../../../hooks/groups/useLeaderboardData';
4+
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
45
import Layout from '../../layout';
56
import SEO from '../../seo';
6-
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
77
import Breadcrumbs from '../Breadcrumbs';
88
import { LeaderboardTable } from '../LeaderboardTable/LeaderboardTable';
99

src/components/Groups/GroupPage/FeedItem.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import { useActiveGroup } from '../../../hooks/groups/useActiveGroup';
88
import { usePostActions } from '../../../hooks/groups/usePostActions';
99
import { GroupData } from '../../../models/groups/groups';
1010
import {
11+
PostData,
1112
getPostTimestampString,
1213
getTotalPointsOfPost,
13-
PostData,
1414
} from '../../../models/groups/posts';
1515
import Tooltip from '../../Tooltip/Tooltip';
1616
import PostExportModal from './PostExportModal';
@@ -46,8 +46,8 @@ const AssignmentIcon = ({ pointsEarned, totalPoints }) => {
4646
(fullySolved
4747
? 'bg-green-600'
4848
: inProgress
49-
? 'bg-orange-600'
50-
: 'bg-light-blue-700') +
49+
? 'bg-orange-600'
50+
: 'bg-light-blue-700') +
5151
' rounded-full p-2 inline-flex items-center justify-center'
5252
}
5353
>

src/components/Groups/GroupPage/GroupPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { Link } from 'gatsby';
22
import * as React from 'react';
33
import { useActiveGroup } from '../../../hooks/groups/useActiveGroup';
4+
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
45
import Layout from '../../layout';
56
import SEO from '../../seo';
6-
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
77
import Feed from './Feed';
88
import GroupPageHeader from './GroupPageHeader';
99
import LeaderboardSidebar from './LeaderboardSidebar';

src/components/Groups/GroupPage/PostExportModal.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { Dialog, Transition } from '@headlessui/react';
22
import {
3+
CollectionReference,
34
arrayUnion,
45
collection,
5-
CollectionReference,
66
doc,
77
getDocs,
88
getFirestore,

src/components/Groups/GroupSelectPage/GroupSelectPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import {
77
import { useUserPermissions } from '../../../context/UserDataContext/UserPermissionsContext';
88
import { useGroupActions } from '../../../hooks/groups/useGroupActions';
99
import { useUserGroups } from '../../../hooks/groups/useUserGroups';
10+
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
1011
import Layout from '../../layout';
1112
import SEO from '../../seo';
12-
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
1313
import AdminViewAllGroups from './AdminViewAllGroups';
1414
import { GroupCard } from './GroupCard';
1515

src/components/Groups/JoinGroupPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import {
99
} from '../../context/UserDataContext/UserDataContext';
1010
import { useUserGroups } from '../../hooks/groups/useUserGroups';
1111
import { useFirebaseApp } from '../../hooks/useFirebase';
12+
import TopNavigationBar from '../TopNavigationBar/TopNavigationBar';
1213
import Layout from '../layout';
1314
import SEO from '../seo';
14-
import TopNavigationBar from '../TopNavigationBar/TopNavigationBar';
1515

1616
const getQuery = name => {
1717
const url = window.location.href;

src/components/Groups/JoinLinksPage/EditJoinLinkModal.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import 'flatpickr/dist/themes/material_blue.css';
44
import * as React from 'react';
55
import Flatpickr from 'react-flatpickr';
66
import { JoinGroupLink } from '../../../models/groups/groups';
7-
import Switch from '../../elements/Switch';
87
import Tooltip from '../../Tooltip/Tooltip';
8+
import Switch from '../../elements/Switch';
99

1010
export default function EditJoinLinkModal({
1111
isOpen,

src/components/Groups/JoinLinksPage/JoinLinksPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import { useActiveGroup } from '../../../hooks/groups/useActiveGroup';
44
import { useGroupActions } from '../../../hooks/groups/useGroupActions';
55
import useGroupJoinLinks from '../../../hooks/groups/useGroupJoinLinks';
66
import { JoinGroupLink } from '../../../models/groups/groups';
7+
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
78
import Layout from '../../layout';
89
import SEO from '../../seo';
9-
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
1010
import Breadcrumbs from '../Breadcrumbs';
1111
import EditJoinLinkModal from './EditJoinLinkModal';
1212

src/components/Groups/MembersPage/MembersPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import * as React from 'react';
33
import { useActiveGroup } from '../../../hooks/groups/useActiveGroup';
44
import useLeaderboardData from '../../../hooks/groups/useLeaderboardData';
55
import getMemberInfoForGroup from '../../../hooks/groups/useMemberInfoForGroup';
6+
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
67
import Layout from '../../layout';
78
import SEO from '../../seo';
8-
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
99
import MemberDetail from './MemberDetail';
1010

1111
export default function MembersPage(): JSX.Element {

src/components/Groups/OnlineJudgeSubmission/OnlineJudgeSubmission.tsx

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ const OnlineJudgeSubmission = ({
1616
(submission.verdict === 'CE'
1717
? 'Compilation Error'
1818
: submission.verdict === 'IE'
19-
? 'Internal Error: ' +
20-
submission.message +
21-
' ' +
22-
submission.debugData
23-
: 'Done')}
19+
? 'Internal Error: ' +
20+
submission.message +
21+
' ' +
22+
submission.debugData
23+
: 'Done')}
2424
</div>
2525
{submission.verdict !== 'IE' && (
2626
<>

src/components/Groups/PostLeaderboardPage/PostLeaderboardPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import useLeaderboardData from '../../../hooks/groups/useLeaderboardData';
88
import { usePost } from '../../../hooks/groups/usePost';
99
import { useFirebaseApp } from '../../../hooks/useFirebase';
1010
import { FirebaseSubmission } from '../../../models/groups/problem';
11+
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
1112
import Layout from '../../layout';
1213
import SEO from '../../seo';
13-
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
1414
import Breadcrumbs from '../Breadcrumbs';
1515
import { LeaderboardTable } from '../LeaderboardTable/LeaderboardTable';
1616
import { useProblemSubmissionPopupAction } from '../ProblemSubmissionPopup';

src/components/Groups/PostPage/PostPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import { RouteComponentProps } from '@reach/router';
22
import * as React from 'react';
33
import { useActiveGroup } from '../../../hooks/groups/useActiveGroup';
44
import { usePost } from '../../../hooks/groups/usePost';
5+
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
56
import Layout from '../../layout';
67
import SEO from '../../seo';
7-
import TopNavigationBar from '../../TopNavigationBar/TopNavigationBar';
88
import Breadcrumbs from '../Breadcrumbs';
99
import PostBody from './PostBody';
1010
import PostHeader from './PostHeader';

0 commit comments

Comments
 (0)