Conversation
…plementation, detailing backend architecture, logic, and frontend components.
Server: - Implement LeitnerService for managing spaced repetition logic (box movement, scheduling). - Add database schemas for `leitner_system` and `review_bundle`. - Add API functions: `get-review-bundle`, `submit-review-result`, `get-stats`, `update-settings`. - Implement `generate-daily-bundles` for daily review generation. - Service: Initialize user Leitner system on login (Auth Router). - Data: Centralize database and collection configuration in [config.ts](cci:7://file:///Users/navid-shad/Projects/CodeBridger/learn-by-subtitle/dashboard-app/server/src/config.ts:0:0-0:0). - Schedule: Integrate `node-schedule` for managing background jobs. Frontend: - Feature: Add 'Review' page to sidebar with Leitner box stats and Recent AI Lectures. - Feature: Add 'Preferences' page for Leitner settings (Daily Limit, Total Boxes). - Update: Enhance Flashcards component to support 'Leitner' mode with Known/Unknown feedback. - Config: Add localization keys for Review dashboard.
…in server/scripts
…ll, integrating lib-vue-components docs, and updating doc download paths with conditional markdown conversion.
… to dataProvider.list
…resh until modal closure
…when box filtering
…ce, covering review scheduling, demotion, and quota enforcement.
…ctive` for Leitner box reviews and add `BoardService` tests.
Refined the Leitner box notification system with the following: - Added a professional HourSelector.vue component for intuitive session time selection. - Enforced a default 1-day review interval and 9AM session hour across backend and frontend. - Implemented proactive job syncing in LeitnerService (with in-memory cache) to ensure existing users are correctly scheduled. - Added detailed unit tests in notification.test.ts with human-readable explanations to verify registration and conditional dashboard toasting. - Optimized logging in ScheduleService to reduce console noise.
Accomplishments: - Refactored icon rendering to use native @codebridger/lib-vue-components Icons (IconCalendar, IconBolt, etc.) and supported iconify syntax for Solar icons. - Improved vertical alignment of icons and labels using items-center and leading-none. - Refined Box title badges (Entrance/Mature) to be smaller and more professional. - Fixed vertical progression line gaps in the Box timeline. - Refactored Buttons to use #icon slots for guaranteed icon visibility and alignment.
- Redesigned board page with a professional 'Mission Control' theme. - Improved card aesthetics with glassmorphism, gradients, and smoothed geometry. - Fixed rendering bug caused by animation class conflicts. - Enhanced reliability with better error handling and safety checks.
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📋 Summary
This PR delivers a full implementation of the Leitner Box spaced repetition system, including backend architecture, frontend components, and user preferences. Key features include configurable review intervals, daily limits, persistent board activities, and an improved notification system. The board page and Leitner settings UI have been overhauled for better aesthetics and usability. Additional improvements cover phrase picker enhancements, toggle components for preferences, and fixing various rendering and layout issues. Documentation and tests have been added or updated to support these changes, along with an e2e testing guide and authentication middleware for the board page.
🔗 Related Tasks
#86erqa08y - Implement Leitner Box Spaced Repetition System, Board Activity Tracking, and related UI improvements
#86erqa08y - Add configurable review intervals and daily limits in Leitner settings
#86erqa08y - Fix UI issues on board and LeitnerSettings components, including toggle and overlap problems
#86erqa08y - Add comprehensive testing for Leitner box service and BoardService
#86erqa08y - Enhance phrase picker modal, prevent auto-close, and add empty trigger slot
#86erqa08y - Implement schedule service and refine user context in Leitner system
#86erqa08y - Add engineering plan and documentation updates for Leitner Box system
#86erqa08y - Add authentication middleware and e2e testing guide for board page
📝 Additional Details
meta.isActiveflag for board activities to track Leitner box reviews effectively.📜 Commit List
meta.isActivefor Leitner box reviews and addBoardServicetests