history display and repetition bug fix
This commit is contained in:
1 parent
36d2c0b48f
commit
b5b4254d20
11 files changed
+480
-141
No files matched your search
+9
-4
@@ -2,19 +2,21 @@ import './style.css';
|
||||
import { renderHomePage } from './home-page.ts';
|
||||
import { renderDecksPage } from './decks-page.ts';
|
||||
import { renderDeckPage } from './deck-page.ts';
|
||||
import { renderHistoryPage } from './history-page.ts';
|
||||
import { renderReviewPage } from './review-page.ts';
|
||||
import { renderSyncPage } from './sync-page.ts';
|
||||
import { initWorker } from './sqlite-api.ts';
|
||||
|
||||
// Каркас приложения: топ-бар + бургер-меню + страницы (Главная / Колоды / Колода / Повторение / Синхронизация).
|
||||
// Каркас приложения: топ-бар + бургер-меню + страницы (Главная / Колоды / Колода / Повторение / История / Синхронизация).
|
||||
|
||||
type Page = 'home' | 'decks' | 'deck' | 'review' | 'sync';
|
||||
type Page = 'home' | 'decks' | 'deck' | 'review' | 'history' | 'sync';
|
||||
|
||||
const PAGE_TITLES: Record<Page, string> = {
|
||||
home: 'Главная',
|
||||
decks: 'Колоды',
|
||||
deck: 'Колода',
|
||||
review: 'Повторение',
|
||||
history: 'История',
|
||||
sync: 'Синхронизация',
|
||||
};
|
||||
|
||||
@@ -49,8 +51,8 @@ function setActiveButton(page: Page): void {
|
||||
|
||||
function renderPage(page: Page, deckId?: number): void {
|
||||
pageTitle.textContent = PAGE_TITLES[page];
|
||||
// Страницы колоды и повторения — подразделы «Колод»: в меню подсвечиваем «Колоды».
|
||||
setActiveButton(page === 'deck' || page === 'review' ? 'decks' : page);
|
||||
// Колода / повторение / история — подразделы «Колод»: в меню подсвечиваем «Колоды».
|
||||
setActiveButton(page === 'deck' || page === 'review' || page === 'history' ? 'decks' : page);
|
||||
if (page === 'home') {
|
||||
renderHomePage(pageRoot, {});
|
||||
} else if (page === 'decks') {
|
||||
@@ -62,9 +64,12 @@ function renderPage(page: Page, deckId?: number): void {
|
||||
renderDeckPage(pageRoot, deckId ?? 0, {
|
||||
goDecks: () => renderPage('decks'),
|
||||
goReview: (id) => renderPage('review', id),
|
||||
goHistory: (id) => renderPage('history', id),
|
||||
});
|
||||
} else if (page === 'review') {
|
||||
renderReviewPage(pageRoot, deckId ?? 0, { goDecks: () => renderPage('decks') });
|
||||
} else if (page === 'history') {
|
||||
renderHistoryPage(pageRoot, deckId ?? 0, { goDeck: (id) => renderPage('deck', id) });
|
||||
} else {
|
||||
renderSyncPage(pageRoot);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user