- Add StudentCsvEnrollmentModal for bulk-adding multiple enrollment
records across school years for one specific student via CSV input
- CSV format: School Year, Grade Level, Section, Track/Strand
- Features: editable monospace text area, Fill Example, Copy Template,
file upload (.csv/.txt), and live backend progression verification
- Show row-by-row verification results with valid/error status chips
and actionable error messages (section suggestions, available years)
- Admin-only: hidden from teacher role via _isTeacher guard
- Wire Bulk Enroll (CSV) button in edit_student_modal.dart to
StudentCsvEnrollmentModal passing studentId, studentName, studentLrn
- Add Bulk CSV shortcut button in edit_enrollment_modal.dart Current
Enrollments header for admins
- Backend: POST /api/students/:id/verify-enrollments for live per-row
progression and section existence validation
- Backend: POST /api/students/:id/bulk-enrollments for transactional
batch enrollment creation with activity logging and socket events
- Add verifyStudentEnrollments and bulkAddStudentEnrollments repository
methods in student_repository.dart
- Prevent RenderFlex bottom overflow in yearly comparison chart with dynamic height clamping
- Harmonize Missing Documents, Grade Compliance, Status Donut, and Yearly Comparison cards to 480px on desktop
- Optimize logo assets to webp across login, splash, and layout navbars
- Enable resource shrinking and minification in Android release build
- Remove obsolete frontend Excel templates from assets and pubspec
- Hide school year and status filters in student filter dialog on Enrolled tab\n- Remove 'Enrolled' status filter option on All Students tab\n- Sync studentViewTabProvider and studentActiveFilterCountProvider across desktop and mobile layouts
- Fix Android PDF and report export permission denied by adding adaptive storage permission handling (MANAGE_EXTERNAL_STORAGE on Android 11+ and legacy storage on Android 10) and multi-tier fallback to app-specific external storage in DownloadService\n- Update DepEd Transparency Board PDF export and reports export to use DownloadService.saveBytes()\n- Make Settings screen About, Support, and System Information responsive across screen widths\n- Update Student and User screen top headers to segmented tabs design and tighten mobile drawer edge touch area
- Purge heavy and unused packages (syncfusion_flutter_pdfviewer, excel, sheetifye, cupertino_icons, image_picker, lottie, flutter_holo_date_picker, flutter_speed_dial)
- Delegate PDF and spreadsheet preview to system default viewers via open_filex
- Replace excel report generation with pure Dart UTF-8 BOM CSV generator
- Configure NDK debug symbol stripping in build.gradle.kts
- Align Students screen Enrolled/All Students tab switcher with Archives segmented tab design