Spaces:
Paused
Paused
| /** Lưu topic được chọn gần nhất khi lưu từ từ Reading/Listening. */ | |
| const STORAGE_KEY = 'vocab-last-save-topic-id' | |
| export function getLastSaveTopicId() { | |
| try { | |
| const raw = localStorage.getItem(STORAGE_KEY) | |
| if (!raw) return null | |
| const id = Number(raw) | |
| return Number.isFinite(id) && id > 0 ? id : null | |
| } catch { | |
| return null | |
| } | |
| } | |
| export function setLastSaveTopicId(topicId) { | |
| if (!topicId) return | |
| try { | |
| localStorage.setItem(STORAGE_KEY, String(topicId)) | |
| } catch { | |
| /* ignore quota */ | |
| } | |
| } | |
| /** Chọn topic mặc định: lần trước → topic đầu tiên. */ | |
| export function resolveDefaultTopicId(topics) { | |
| if (!topics?.length) return null | |
| const lastId = getLastSaveTopicId() | |
| if (lastId && topics.some((t) => t.id === lastId)) return lastId | |
| return topics[0].id | |
| } | |