diff --git a/lib/components/QuizAnswerer.tsx b/lib/components/QuizAnswerer.tsx index ad6a319..4a365af 100644 --- a/lib/components/QuizAnswerer.tsx +++ b/lib/components/QuizAnswerer.tsx @@ -26,9 +26,10 @@ type Props = { quizSettings?: QuizSettings; quizId: string; preview?: boolean; + changeFaviconAndTitle?: boolean; }; -export default function QuizAnswerer({ quizSettings, quizId, preview = false }: Props) { +export default function QuizAnswerer({ quizSettings, quizId, preview = false, changeFaviconAndTitle = true }: Props) { const [quizViewStore] = useState(createQuizViewStore); const [rootContainerWidth, setRootContainerWidth] = useState(() => window.innerWidth); const rootContainerRef = useRef(null); @@ -65,7 +66,7 @@ export default function QuizAnswerer({ quizSettings, quizId, preview = false }: return ( - + state.answers); let currentQuizStep = useQuizViewStore((state) => state.currentQuizStep); const { @@ -30,17 +30,16 @@ export default function ViewPublicationPage() { const isAnswer = answers.some(ans => ans.questionId === currentQuestion.id); - useEffect( - function setFaviconAndTitle() { - const link = document.querySelector('link[rel="icon"]'); - if (link && settings.cfg.startpage.favIcon) { - link.setAttribute("href", settings.cfg.startpage.favIcon); - } + useEffect(function setFaviconAndTitle() { + if (!changeFaviconAndTitle) return; - document.title = settings.name; - }, - [settings] - ); + const link = document.querySelector('link[rel="icon"]'); + if (link && settings.cfg.startpage.favIcon) { + link.setAttribute("href", settings.cfg.startpage.favIcon); + } + + document.title = settings.name; + }, [changeFaviconAndTitle, settings.cfg.startpage.favIcon, settings.name]); if (recentlyCompleted) throw new Error("Quiz already completed"); if (currentQuizStep === "startpage" && settings.cfg.noStartPage) diff --git a/lib/contexts/QuizDataContext.ts b/lib/contexts/QuizDataContext.ts index c87f447..24b6d54 100644 --- a/lib/contexts/QuizDataContext.ts +++ b/lib/contexts/QuizDataContext.ts @@ -1,7 +1,11 @@ import { QuizSettings } from "@model/settingsData"; import { createContext, useContext } from "react"; -type QuizData = QuizSettings & { quizId: string; preview: boolean; }; +type QuizData = QuizSettings & { + quizId: string; + preview: boolean; + changeFaviconAndTitle: boolean; +}; export const QuizDataContext = createContext(null);