2024-09-28 03:24:16 +02:00
|
|
|
/*
|
|
|
|
|
* Copyright (C) Contributors to the Suwayomi project
|
|
|
|
|
*
|
|
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
import { createContext, useContext } from 'react';
|
|
|
|
|
import { ReaderStateChapters } from '@/modules/reader/types/Reader.types.ts';
|
|
|
|
|
|
2025-01-28 02:16:00 +01:00
|
|
|
export const READER_STATE_CHAPTERS_DEFAULTS: Omit<ReaderStateChapters, 'setReaderStateChapters'> = {
|
2024-09-28 03:24:16 +02:00
|
|
|
chapters: [],
|
2025-01-28 02:16:00 +01:00
|
|
|
isCurrentChapterReady: false,
|
|
|
|
|
visibleChapters: {
|
|
|
|
|
leading: 0,
|
|
|
|
|
trailing: 0,
|
|
|
|
|
lastLeadingChapterSourceOrder: 99999,
|
|
|
|
|
lastTrailingChapterSourceOrder: -1,
|
2025-02-10 01:05:35 +01:00
|
|
|
isLeadingChapterPreloadMode: true,
|
|
|
|
|
isTrailingChapterPreloadMode: true,
|
2025-01-28 02:16:00 +01:00
|
|
|
scrollIntoView: false,
|
|
|
|
|
resumeMode: undefined,
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const ReaderStateChaptersContext = createContext<ReaderStateChapters>({
|
|
|
|
|
...READER_STATE_CHAPTERS_DEFAULTS,
|
2024-09-28 03:24:16 +02:00
|
|
|
setReaderStateChapters: () => {},
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const useReaderStateChaptersContext = () => useContext(ReaderStateChaptersContext);
|