starting to move over settings

This commit is contained in:
2024-11-08 16:01:41 -07:00
parent 6fd5053ac5
commit 026ca3846f
35 changed files with 188 additions and 155 deletions

View File

@@ -3,7 +3,7 @@ import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHoo
import Link from "next/link";
export function CourseNavigation() {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
return (
<div className="pb-1 ps-5 flex flex-row gap-3">
<Link href={"/"} className="btn">

View File

@@ -7,12 +7,16 @@ import { getCourseSettingsUrl } from "@/services/urlUtils";
export default function CourseSettingsLink() {
const { courseName } = useCourseContext();
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
return (
<div>
{settings.name}
<Link className="mx-3 underline" href={getCourseSettingsUrl(courseName)} shallow={true}>
<Link
className="mx-3 underline"
href={getCourseSettingsUrl(courseName)}
shallow={true}
>
Course Settings
</Link>
</div>

View File

@@ -11,7 +11,7 @@ export function CalendarWeek({
week: string[]; //date strings
monthNumber: number;
}) {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings]= useLocalCourseSettingsQuery();
const startDate = getDateFromStringOrThrow(
settings.startDate,
"week calculation start date"

View File

@@ -7,7 +7,7 @@ import { useMemo } from "react";
import CalendarItemsContextProvider from "../context/CalendarItemsContextProvider";
export default function CourseCalendar() {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const startDateTime = useMemo(
() => getDateFromStringOrThrow(settings.startDate, "course start date"),

View File

@@ -19,7 +19,7 @@ export default function Day({ day, month }: { day: string; month: number }) {
getDateOnlyMarkdownString(new Date()) ===
getDateOnlyMarkdownString(dayAsDate);
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const { itemDropOnDay } = useDraggingContext();
const { todaysAssignments, todaysQuizzes, todaysPages } = useTodaysItems(day);

View File

@@ -32,7 +32,7 @@ export function useItemDropOnDay({
setIsLoading: Dispatch<SetStateAction<boolean>>;
modal: { isOpen: boolean; openModal: () => void; closeModal: () => void };
}) {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
// const { data: weeks } = useLecturesByWeekQuery();
const [weeks] = trpc.lectures.getLectures.useSuspenseQuery({
courseName: settings.name,

View File

@@ -11,17 +11,14 @@ export default function EditLectureTitle({
}: {
lectureDay: string;
}) {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const { courseName } = useCourseContext();
const lectureDate = getDateFromString(lectureDay);
const lectureWeekName = getLectureWeekName(settings.startDate, lectureDay);
return (
<div className="flex justify-between sm:flex-row flex-col">
<div className="my-auto">
<Link
className="btn hidden sm:inline"
href={getCourseUrl(courseName)}
>
<Link className="btn hidden sm:inline" href={getCourseUrl(courseName)}>
{courseName}
</Link>
</div>

View File

@@ -14,7 +14,7 @@ import { lectureKeys } from "@/hooks/localCourse/lectureKeys";
export default function LectureButtons({ lectureDay }: { lectureDay: string }) {
const queryClient = useQueryClient();
const { courseName } = useCourseContext();
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const router = useRouter();
const [isLoading, setIsLoading] = useState(false);
const modal = useModal();

View File

@@ -7,9 +7,9 @@ export default function ModuleList() {
const { data: moduleNames } = useModuleNamesQuery();
return (
<div>
{moduleNames.map((m) => (
{/* {moduleNames.map((m) => (
<ExpandableModule key={m} moduleName={m} />
))}
))} */}
<div className="flex flex-col justify-center">
<CreateModule />
</div>

View File

@@ -27,7 +27,7 @@ export default function NewItemForm({
creationDate?: string;
onCreate?: () => void;
}) {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const { courseName } = useCourseContext();
const { data: modules } = useModuleNamesQuery();
const [type, setType] = useState<"Assignment" | "Quiz" | "Page">(

View File

@@ -29,7 +29,7 @@ export function AssignmentButtons({
}) {
const router = useRouter();
const { courseName } = useCourseContext();
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const {
data: canvasAssignments,
isPending: canvasIsPending,

View File

@@ -26,7 +26,7 @@ export default function EditAssignment({
}) {
const router = useRouter();
const { courseName } = useCourseContext();
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const [assignment] = useAssignmentQuery(moduleName, assignmentName);
const updateAssignment = useUpdateAssignmentMutation();

View File

@@ -30,7 +30,7 @@ export default function EditPage({
localPageMarkdownUtils.toMarkdown(page)
);
const [error, setError] = useState("");
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
useEffect(() => {
const delay = 500;

View File

@@ -27,7 +27,7 @@ export default function EditPageButtons({
}) {
const router = useRouter();
const { courseName } = useCourseContext();
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const { data: page } = usePageQuery(moduleName, pageName);
const { data: canvasPages } = useCanvasPagesQuery();
const createPageInCanvas = useCreateCanvasPageMutation();

View File

@@ -6,7 +6,10 @@ import {
useAddQuizToCanvasMutation,
useDeleteQuizFromCanvasMutation,
} from "@/hooks/canvas/canvasQuizHooks";
import { useDeleteItemMutation, useItemQuery } from "@/hooks/localCourse/courseItemHooks";
import {
useDeleteItemMutation,
useItemQuery,
} from "@/hooks/localCourse/courseItemHooks";
import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks";
import { baseCanvasUrl } from "@/services/canvas/canvasServiceUtils";
import { getCourseUrl } from "@/services/urlUtils";
@@ -24,7 +27,7 @@ export function QuizButtons({
}) {
const router = useRouter();
const { courseName } = useCourseContext();
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const { data: canvasQuizzes } = useCanvasQuizzesQuery();
const { data: quiz } = useItemQuery(moduleName, quizName, "Quiz");
const addToCanvas = useAddQuizToCanvasMutation();

View File

@@ -10,7 +10,7 @@ import TextInput from "../../../../components/form/TextInput";
import { useSetAssignmentGroupsMutation } from "@/hooks/canvas/canvasCourseHooks";
export default function AssignmentGroupManagement() {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const updateSettings = useUpdateLocalCourseSettingsMutation();
const applyInCanvas = useSetAssignmentGroupsMutation(settings.canvasId); // untested

View File

@@ -8,7 +8,7 @@ import {
import React from "react";
export default function DaysOfWeekSettings() {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const updateSettings = useUpdateLocalCourseSettingsMutation();
return (

View File

@@ -9,7 +9,7 @@ import { useState } from "react";
import DefaultLockOffset from "./DefaultLockOffset";
export default function DefaultDueTime() {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const updateSettings = useUpdateLocalCourseSettingsMutation();
const [haveLockOffset, setHaveLockOffset] = useState(
!!settings.defaultLockHoursOffset

View File

@@ -7,7 +7,7 @@ import {
import { useState, useEffect } from "react";
export default function DefaultFileUploadTypes() {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const [defaultFileUploadTypes, setDefaultFileUploadTypes] = useState<
string[]
>(settings.defaultFileUploadTypes);

View File

@@ -8,7 +8,7 @@ import {
import { useEffect, useState } from "react";
export default function DefaultLockOffset() {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const updateSettings = useUpdateLocalCourseSettingsMutation();
const [hoursOffset, setHoursOffset] = useState(
settings.defaultLockHoursOffset?.toString() ?? "0"

View File

@@ -62,7 +62,7 @@ export default function HolidayConfig() {
);
}
function InnerHolidayConfig() {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
console.log(settings.holidays);
const updateSettings = useUpdateLocalCourseSettingsMutation();

View File

@@ -7,23 +7,20 @@ import { useCourseContext } from "../context/courseContext";
export default function SettingsHeader() {
const { courseName } = useCourseContext();
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
return (
<>
<div className="flex flex-row justify-between">
<div className="my-auto">
<Link className="btn" href={getCourseUrl(courseName)}>
Back To Course
</Link>
<Link className="btn" href={getCourseUrl(courseName)}>
Back To Course
</Link>
</div>
<h3 className="text-center mb-3">
{settings.name}{" "}
<span className="text-slate-500 text-xl"> settings</span>
</h3>
<div>
</div>
<div></div>
</div>
<hr />
</>

View File

@@ -4,7 +4,7 @@ import { getDateOnlyMarkdownString } from "@/models/local/timeUtils";
import React from "react";
export default function StartAndEndDate() {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const startDate = new Date(settings.startDate);
const endDate = new Date(settings.endDate);
return (

View File

@@ -11,7 +11,7 @@ import {
import React, { useEffect, useState } from "react";
export default function SubmissionDefaults() {
const { data: settings } = useLocalCourseSettingsQuery();
const [settings] = useLocalCourseSettingsQuery();
const [defaultSubmissionTypes, setDefaultSubmissionTypes] = useState<
AssignmentSubmissionType[]
>(settings.defaultAssignmentSubmissionTypes);
@@ -29,8 +29,6 @@ export default function SubmissionDefaults() {
}
}, [defaultSubmissionTypes, settings, updateSettings]);
return (
<div className="border w-fit p-3 m-3 rounded-md">
<div className="text-center">Default Assignment Submission Type</div>