mirror of
https://github.com/dralkh/spaceforge.git
synced 2026-07-22 06:45:03 +00:00
JS/TS: - Replace builtin-modules with node:module (esbuild.config.mjs) - Replace fs-extra with native fs (install.js), remove from deps - Fix createEl deprecation: use createDiv/createSpan - Remove unnecessary type assertions, fix unsafe casts - Bind event handlers with arrow functions CSS: - Remove all !important declarations (~30 instances) — replace with chained selectors (.class.class) for equal specificity - Merge all duplicate selectors across 7 CSS files (~50+ instances) - Convert 3-digit hex to 6-digit format (_variables.css) - Fix duplicate CSS properties (overflow-y in mcq.css) - Delete leftover display:none suppression rule in calendar.css Meta: - Bump version to 1.0.5 - Update minAppVersion to 1.8.7 - Add versions.json entry for 1.0.5 |
||
|---|---|---|
| .. | ||
| interfaces.ts | ||
| README.md | ||
| review-batch-controller.ts | ||
| review-controller-core.ts | ||
| review-controller-mcq.ts | ||
| review-controller.ts | ||
| review-navigation-controller.ts | ||
| review-session-controller.ts | ||
Controllers Directory
This directory contains controller files that handle the business logic of the Spaceforge spaced repetition system.
Files
interfaces.ts- Contains interfaces for all controllersreview-controller.ts- Main controller that coordinates between specialized controllersreview-controller-core.ts- Handles core review functionalityreview-navigation-controller.ts- Manages navigation between notesreview-session-controller.ts- Handles session management and link analysisreview-batch-controller.ts- Manages batch review operationsreview-controller-mcq.ts- Manages the Multiple Choice Question (MCQ) functionality
Architecture
The controllers follow a modular architecture:
- The
ReviewControlleracts as a facade that delegates to specialized controllers - Each specialized controller has a specific responsibility
- Controllers communicate through the main plugin instance
- UI components in the
ui/directory interact with controllers through well-defined interfaces
This modular approach makes the codebase more maintainable and easier to extend.