61 lines
1.3 KiB
JavaScript
61 lines
1.3 KiB
JavaScript
export class MockReaderRepository {
|
|
async getChapterContext(chapterId) {
|
|
// Simuler un délai réseau
|
|
await new Promise(resolve => setTimeout(resolve, 500));
|
|
|
|
return {
|
|
id: chapterId,
|
|
title: "Un assassin invité",
|
|
number: "378",
|
|
manga: {
|
|
id: "1",
|
|
title: "One Piece"
|
|
},
|
|
navigation: {
|
|
previous: {
|
|
id: "prev-chapter",
|
|
number: "377"
|
|
},
|
|
next: {
|
|
id: "next-chapter",
|
|
number: "379"
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
async getPage(chapterId, pageNumber) {
|
|
// Simuler un délai réseau
|
|
await new Promise(resolve => setTimeout(resolve, 500));
|
|
|
|
return {
|
|
id: `page-${pageNumber}`,
|
|
pageNumber: pageNumber,
|
|
base64Content: "data:image/jpeg;base64,/9j/4AAQSkZJRg...", // Simulé
|
|
mimeType: "image/jpeg",
|
|
dimensions: {
|
|
width: 800,
|
|
height: 1200
|
|
}
|
|
};
|
|
}
|
|
|
|
async getPages(chapterId) {
|
|
// Simuler un délai réseau
|
|
await new Promise(resolve => setTimeout(resolve, 500));
|
|
|
|
return {
|
|
pages: Array.from({ length: 20 }, (_, i) => ({
|
|
number: i + 1,
|
|
dimensions: {
|
|
width: 800,
|
|
height: 1200
|
|
}
|
|
})),
|
|
totalItems: 20,
|
|
currentPage: 1,
|
|
itemsPerPage: 20,
|
|
totalPages: 1
|
|
};
|
|
}
|
|
} |