Merge pull request #19 from teichert/feature-navigation-buttons

(feature) adds buttons to manager UI to navigate forward or backward between assignments/pages and lectures
This commit is contained in:
2026-01-15 13:48:24 -07:00
committed by GitHub
12 changed files with 265 additions and 2 deletions

View File

@@ -17,6 +17,8 @@ import { getCourseUrl } from "@/services/urlUtils";
import Link from "next/link";
import { useRouter } from "next/navigation";
import { useState } from "react";
import { useItemNavigation } from "../../../../hooks/useItemNavigation";
import ItemNavigationButtons from "../../../../components/ItemNavigationButtons";
export function AssignmentFooterButtons({
moduleName,
@@ -42,6 +44,11 @@ export function AssignmentFooterButtons({
const deleteLocal = useDeleteAssignmentMutation();
const [isLoading, setIsLoading] = useState(false);
const modal = useModal();
const { previousUrl, nextUrl } = useItemNavigation(
"assignment",
assignmentName,
moduleName
);
const assignmentInCanvas = canvasAssignments?.find(
(a) => a.name === assignmentName
@@ -155,6 +162,7 @@ export function AssignmentFooterButtons({
<Link className="btn" href={getCourseUrl(courseName)} shallow={true}>
Go Back
</Link>
<ItemNavigationButtons previousUrl={previousUrl} nextUrl={nextUrl} />
</div>
</div>
);

View File

@@ -17,6 +17,8 @@ import { getCourseUrl } from "@/services/urlUtils";
import Link from "next/link";
import { useRouter } from "next/navigation";
import React, { useState } from "react";
import { useItemNavigation } from "../../../../hooks/useItemNavigation";
import ItemNavigationButtons from "../../../../components/ItemNavigationButtons";
export default function EditPageButtons({
moduleName,
@@ -36,6 +38,11 @@ export default function EditPageButtons({
const deletePageLocal = useDeletePageMutation();
const modal = useModal();
const [loading, setLoading] = useState(false);
const { previousUrl, nextUrl } = useItemNavigation(
"page",
pageName,
moduleName
);
const pageInCanvas = canvasPages?.find((p) => p.title === pageName);
@@ -125,6 +132,7 @@ export default function EditPageButtons({
<Link className="btn" href={getCourseUrl(courseName)} shallow={true}>
Go Back
</Link>
<ItemNavigationButtons previousUrl={previousUrl} nextUrl={nextUrl} />
</div>
);
}

View File

@@ -15,6 +15,8 @@ import {
import { getCourseUrl } from "@/services/urlUtils";
import Link from "next/link";
import { useRouter } from "next/navigation";
import { useItemNavigation } from "../../../../hooks/useItemNavigation";
import ItemNavigationButtons from "../../../../components/ItemNavigationButtons";
export function QuizButtons({
moduleName,
@@ -35,6 +37,11 @@ export function QuizButtons({
const deleteFromCanvas = useDeleteQuizFromCanvasMutation();
const deleteLocal = useDeleteQuizMutation();
const modal = useModal();
const { previousUrl, nextUrl } = useItemNavigation(
"quiz",
quizName,
moduleName
);
const quizInCanvas = canvasQuizzes?.find((c) => c.title === quizName);
@@ -111,6 +118,7 @@ export function QuizButtons({
<Link className="btn" href={getCourseUrl(courseName)} shallow={true}>
Go Back
</Link>
<ItemNavigationButtons previousUrl={previousUrl} nextUrl={nextUrl} />
</div>
</div>
);