mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-26 07:38:33 -06:00
day of linting judgement
This commit is contained in:
@@ -32,15 +32,15 @@ export default function ExpandableModule({
|
||||
}) {
|
||||
const { itemDropOnModule } = useDraggingContext();
|
||||
const { courseName } = useCourseContext();
|
||||
const [assignmentNames] = useAssignmentNamesQuery(moduleName);
|
||||
const { data: assignmentNames } = useAssignmentNamesQuery(moduleName);
|
||||
|
||||
const [assignments] = trpc.useSuspenseQueries((t) =>
|
||||
assignmentNames.map((assignmentName) =>
|
||||
t.assignment.getAssignment({ courseName, moduleName, assignmentName })
|
||||
)
|
||||
);
|
||||
const [quizzes] = useQuizzesQueries(moduleName);
|
||||
const [pages] = usePagesQueries(moduleName);
|
||||
const { data: quizzes } = useQuizzesQueries(moduleName);
|
||||
const { data: pages } = usePagesQueries(moduleName);
|
||||
const modal = useModal();
|
||||
|
||||
const moduleItems: {
|
||||
|
||||
@@ -4,7 +4,7 @@ import ExpandableModule from "./ExpandableModule";
|
||||
import CreateModule from "./CreateModule";
|
||||
|
||||
export default function ModuleList() {
|
||||
const [moduleNames] = useModuleNamesQuery();
|
||||
const { data: moduleNames } = useModuleNamesQuery();
|
||||
return (
|
||||
<div>
|
||||
{moduleNames.map((m) => (
|
||||
|
||||
@@ -27,9 +27,9 @@ export default function NewItemForm({
|
||||
creationDate?: string;
|
||||
onCreate?: () => void;
|
||||
}) {
|
||||
const [settings] = useLocalCourseSettingsQuery();
|
||||
const { data: settings } = useLocalCourseSettingsQuery();
|
||||
const { courseName } = useCourseContext();
|
||||
const [modules] = useModuleNamesQuery();
|
||||
const { data: modules } = useModuleNamesQuery();
|
||||
const [type, setType] = useState<"Assignment" | "Quiz" | "Page">(
|
||||
"Assignment"
|
||||
);
|
||||
|
||||
@@ -29,10 +29,10 @@ export function AssignmentFooterButtons({
|
||||
}) {
|
||||
const router = useRouter();
|
||||
const { courseName } = useCourseContext();
|
||||
const [settings] = useLocalCourseSettingsQuery();
|
||||
const { data: settings } = useLocalCourseSettingsQuery();
|
||||
const { data: canvasAssignments, isFetching: canvasIsFetching } =
|
||||
useCanvasAssignmentsQuery();
|
||||
const [assignment, { isFetching }] = useAssignmentQuery(
|
||||
const { data: assignment, isFetching } = useAssignmentQuery(
|
||||
moduleName,
|
||||
assignmentName
|
||||
);
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
import ClientOnly from "@/components/ClientOnly";
|
||||
import MarkdownDisplay from "@/components/MarkdownDisplay";
|
||||
import { SuspenseAndErrorHandling } from "@/components/SuspenseAndErrorHandling";
|
||||
import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks";
|
||||
import { LocalAssignment } from "@/models/local/assignment/localAssignment";
|
||||
import { rubricItemIsExtraCredit } from "@/models/local/assignment/rubricItem";
|
||||
import { assignmentPoints } from "@/models/local/assignment/utils/assignmentPointsUtils";
|
||||
import { markdownToHTMLSafe } from "@/services/htmlMarkdownUtils";
|
||||
import React, { Fragment } from "react";
|
||||
|
||||
export default function AssignmentPreview({
|
||||
@@ -13,8 +9,7 @@ export default function AssignmentPreview({
|
||||
}: {
|
||||
assignment: LocalAssignment;
|
||||
}) {
|
||||
const [settings] = useLocalCourseSettingsQuery();
|
||||
const totalPoints = assignmentPoints(assignment.rubric)
|
||||
const totalPoints = assignmentPoints(assignment.rubric);
|
||||
const extraPoints = assignment.rubric.reduce(
|
||||
(sum, cur) => (rubricItemIsExtraCredit(cur) ? sum + cur.points : sum),
|
||||
0
|
||||
|
||||
@@ -31,11 +31,12 @@ export default function EditAssignment({
|
||||
}) {
|
||||
const router = useRouter();
|
||||
const { courseName } = useCourseContext();
|
||||
const [settings] = useLocalCourseSettingsQuery();
|
||||
const [
|
||||
assignment,
|
||||
{ dataUpdatedAt: serverDataUpdatedAt, isFetching: assignmentIsFetching },
|
||||
] = useAssignmentQuery(moduleName, assignmentName);
|
||||
const { data: settings } = useLocalCourseSettingsQuery();
|
||||
const {
|
||||
data: assignment,
|
||||
dataUpdatedAt: serverDataUpdatedAt,
|
||||
isFetching: assignmentIsFetching,
|
||||
} = useAssignmentQuery(moduleName, assignmentName);
|
||||
const updateAssignment = useUpdateAssignmentMutation();
|
||||
const { isPending: imageUpdateIsPending } =
|
||||
useUpdateImageSettingsForAssignment({ moduleName, assignmentName });
|
||||
@@ -94,6 +95,7 @@ export default function EditAssignment({
|
||||
}
|
||||
}
|
||||
setError("");
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
} catch (e: any) {
|
||||
setError(e.toString());
|
||||
}
|
||||
|
||||
@@ -20,11 +20,11 @@ export function UpdateAssignmentName({
|
||||
const modal = useModal();
|
||||
const { courseName } = useCourseContext();
|
||||
const router = useRouter();
|
||||
const [assignment] = useAssignmentQuery(moduleName, assignmentName);
|
||||
const { data: assignment } = useAssignmentQuery(moduleName, assignmentName);
|
||||
const updateAssignment = useUpdateAssignmentMutation();
|
||||
const [name, setName] = useState(assignment.name);
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Modal
|
||||
|
||||
@@ -24,10 +24,11 @@ export default function EditPage({
|
||||
}) {
|
||||
const router = useRouter();
|
||||
const { courseName } = useCourseContext();
|
||||
const [page, { dataUpdatedAt, isFetching }] = usePageQuery(
|
||||
moduleName,
|
||||
pageName
|
||||
);
|
||||
const {
|
||||
data: page,
|
||||
dataUpdatedAt,
|
||||
isFetching,
|
||||
} = usePageQuery(moduleName, pageName);
|
||||
const updatePage = useUpdatePageMutation();
|
||||
|
||||
const { clientIsAuthoritative, text, textUpdate, monacoKey } =
|
||||
@@ -37,7 +38,7 @@ export default function EditPage({
|
||||
});
|
||||
|
||||
const [error, setError] = useState("");
|
||||
const [settings] = useLocalCourseSettingsQuery();
|
||||
const { data: settings } = useLocalCourseSettingsQuery();
|
||||
|
||||
useEffect(() => {
|
||||
const delay = 500;
|
||||
@@ -85,6 +86,7 @@ export default function EditPage({
|
||||
}
|
||||
}
|
||||
setError("");
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
} catch (e: any) {
|
||||
setError(e.toString());
|
||||
}
|
||||
|
||||
@@ -27,8 +27,8 @@ export default function EditPageButtons({
|
||||
}) {
|
||||
const router = useRouter();
|
||||
const { courseName } = useCourseContext();
|
||||
const [settings] = useLocalCourseSettingsQuery();
|
||||
const [page] = usePageQuery(moduleName, pageName);
|
||||
const { data: settings } = useLocalCourseSettingsQuery();
|
||||
const { data: page } = usePageQuery(moduleName, pageName);
|
||||
const { data: canvasPages } = useCanvasPagesQuery();
|
||||
const createPageInCanvas = useCreateCanvasPageMutation();
|
||||
const updatePageInCanvas = useUpdateCanvasPageMutation();
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
import MarkdownDisplay from "@/components/MarkdownDisplay";
|
||||
import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks";
|
||||
import { LocalCoursePage } from "@/models/local/page/localCoursePage";
|
||||
import { markdownToHTMLSafe } from "@/services/htmlMarkdownUtils";
|
||||
import React from "react";
|
||||
|
||||
export default function PagePreview({ page }: { page: LocalCoursePage }) {
|
||||
|
||||
@@ -2,7 +2,10 @@ import { useCourseContext } from "@/app/course/[courseName]/context/courseContex
|
||||
import TextInput from "@/components/form/TextInput";
|
||||
import Modal, { useModal } from "@/components/Modal";
|
||||
import { Spinner } from "@/components/Spinner";
|
||||
import { usePageQuery, useUpdatePageMutation } from "@/hooks/localCourse/pageHooks";
|
||||
import {
|
||||
usePageQuery,
|
||||
useUpdatePageMutation,
|
||||
} from "@/hooks/localCourse/pageHooks";
|
||||
import { getModuleItemUrl } from "@/services/urlUtils";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { useState } from "react";
|
||||
@@ -17,11 +20,11 @@ export function UpdatePageName({
|
||||
const modal = useModal();
|
||||
const { courseName } = useCourseContext();
|
||||
const router = useRouter();
|
||||
const [page] = usePageQuery(moduleName, pageName);
|
||||
const { data: page } = usePageQuery(moduleName, pageName);
|
||||
const updatePage = useUpdatePageMutation();
|
||||
const [name, setName] = useState(page.name);
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Modal
|
||||
@@ -53,11 +56,7 @@ export function UpdatePageName({
|
||||
);
|
||||
}}
|
||||
>
|
||||
<TextInput
|
||||
value={name}
|
||||
setValue={setName}
|
||||
label={"Rename Page"}
|
||||
/>
|
||||
<TextInput value={name} setValue={setName} label={"Rename Page"} />
|
||||
<button className="w-full my-3">Save New Name</button>
|
||||
{isLoading && <Spinner />}
|
||||
</form>
|
||||
|
||||
@@ -75,10 +75,13 @@ export default function EditQuiz({
|
||||
moduleName: string;
|
||||
}) {
|
||||
const router = useRouter();
|
||||
const [settings] = useLocalCourseSettingsQuery();
|
||||
const { data: settings } = useLocalCourseSettingsQuery();
|
||||
const { courseName } = useCourseContext();
|
||||
const [quiz, { dataUpdatedAt: serverDataUpdatedAt, isFetching }] =
|
||||
useQuizQuery(moduleName, quizName);
|
||||
const {
|
||||
data: quiz,
|
||||
dataUpdatedAt: serverDataUpdatedAt,
|
||||
isFetching,
|
||||
} = useQuizQuery(moduleName, quizName);
|
||||
const updateQuizMutation = useUpdateQuizMutation();
|
||||
const { clientIsAuthoritative, text, textUpdate, monacoKey } =
|
||||
useAuthoritativeUpdates({
|
||||
@@ -122,6 +125,7 @@ export default function EditQuiz({
|
||||
}
|
||||
}
|
||||
setError("");
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
} catch (e: any) {
|
||||
setError(e.toString());
|
||||
}
|
||||
|
||||
@@ -27,10 +27,10 @@ export function QuizButtons({
|
||||
}) {
|
||||
const router = useRouter();
|
||||
const { courseName } = useCourseContext();
|
||||
const [settings] = useLocalCourseSettingsQuery();
|
||||
const { data: settings } = useLocalCourseSettingsQuery();
|
||||
const { data: canvasQuizzes } = useCanvasQuizzesQuery();
|
||||
|
||||
const [quiz] = useQuizQuery(moduleName, quizName);
|
||||
const { data: quiz } = useQuizQuery(moduleName, quizName);
|
||||
const addToCanvas = useAddQuizToCanvasMutation();
|
||||
const deleteFromCanvas = useDeleteQuizFromCanvasMutation();
|
||||
const deleteLocal = useDeleteQuizMutation();
|
||||
@@ -90,7 +90,11 @@ export function QuizButtons({
|
||||
<div className="flex justify-around gap-3">
|
||||
<button
|
||||
onClick={async () => {
|
||||
await deleteLocal.mutateAsync({ moduleName, quizName, courseName });
|
||||
await deleteLocal.mutateAsync({
|
||||
moduleName,
|
||||
quizName,
|
||||
courseName,
|
||||
});
|
||||
router.push(getCourseUrl(courseName));
|
||||
}}
|
||||
className="btn-danger"
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
import CheckIcon from "@/components/icons/CheckIcon";
|
||||
import MarkdownDisplay from "@/components/MarkdownDisplay";
|
||||
import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks";
|
||||
import { useQuizQuery } from "@/hooks/localCourse/quizHooks";
|
||||
import {
|
||||
LocalQuizQuestion,
|
||||
QuestionType,
|
||||
} from "@/models/local/quiz/localQuizQuestion";
|
||||
import { markdownToHTMLSafe } from "@/services/htmlMarkdownUtils";
|
||||
import { escapeMatchingText } from "@/services/utils/questionHtmlUtils";
|
||||
|
||||
export default function QuizPreview({
|
||||
@@ -16,8 +14,7 @@ export default function QuizPreview({
|
||||
quizName: string;
|
||||
moduleName: string;
|
||||
}) {
|
||||
const [quiz] = useQuizQuery(moduleName, quizName);
|
||||
const [settings] = useLocalCourseSettingsQuery();
|
||||
const { data: quiz } = useQuizQuery(moduleName, quizName);
|
||||
return (
|
||||
<div style={{ overflow: "scroll", height: "100%" }}>
|
||||
<div className="columns-2">
|
||||
@@ -74,8 +71,6 @@ export default function QuizPreview({
|
||||
}
|
||||
|
||||
function QuizQuestionPreview({ question }: { question: LocalQuizQuestion }) {
|
||||
const [settings] = useLocalCourseSettingsQuery();
|
||||
|
||||
return (
|
||||
<div className="rounded bg-slate-900 px-2">
|
||||
<div className="flex flex-row justify-between text-slate-400">
|
||||
@@ -124,7 +119,10 @@ function QuizQuestionPreview({ question }: { question: LocalQuizQuestion }) {
|
||||
<div></div>
|
||||
)}
|
||||
</div>
|
||||
<MarkdownDisplay markdown={answer.text} className="markdownQuizAnswerPreview" />
|
||||
<MarkdownDisplay
|
||||
markdown={answer.text}
|
||||
className="markdownQuizAnswerPreview"
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
@@ -3,10 +3,9 @@ import TextInput from "@/components/form/TextInput";
|
||||
import Modal, { useModal } from "@/components/Modal";
|
||||
import { Spinner } from "@/components/Spinner";
|
||||
import {
|
||||
useAssignmentQuery,
|
||||
useUpdateAssignmentMutation,
|
||||
} from "@/hooks/localCourse/assignmentHooks";
|
||||
import { useQuizQuery, useUpdateQuizMutation } from "@/hooks/localCourse/quizHooks";
|
||||
useQuizQuery,
|
||||
useUpdateQuizMutation,
|
||||
} from "@/hooks/localCourse/quizHooks";
|
||||
import { getModuleItemUrl } from "@/services/urlUtils";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { useState } from "react";
|
||||
@@ -21,11 +20,11 @@ export function UpdateQuizName({
|
||||
const modal = useModal();
|
||||
const { courseName } = useCourseContext();
|
||||
const router = useRouter();
|
||||
const [quiz] = useQuizQuery(moduleName, quizName);
|
||||
const { data: quiz } = useQuizQuery(moduleName, quizName);
|
||||
const updateQuiz = useUpdateQuizMutation();
|
||||
const [name, setName] = useState(quiz.name);
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Modal
|
||||
@@ -57,11 +56,7 @@ export function UpdateQuizName({
|
||||
);
|
||||
}}
|
||||
>
|
||||
<TextInput
|
||||
value={name}
|
||||
setValue={setName}
|
||||
label={"Rename Quiz"}
|
||||
/>
|
||||
<TextInput value={name} setValue={setName} label={"Rename Quiz"} />
|
||||
<button className="w-full my-3">Save New Name</button>
|
||||
{isLoading && <Spinner />}
|
||||
</form>
|
||||
|
||||
Reference in New Issue
Block a user