Merged
Conversation
…edirect - Add seed scripts for Firebase emulators (seed-local.js, seed-full.js) - Fix login redirect race condition by removing premature history.push - Update .gitignore to exclude internal project files - Update yarn.lock with dependencies Closes CHALK-004, CHALK-005
- Add lastLogin field to User and UserDocument interfaces - Update firebaseEmailSignIn to record lastLogin timestamp on login - Add getAllUsers() method to fetch all users for admin dashboard - Add generateUsersXlsx() for Excel export functionality Closes CHALK-010, CHALK-011, CHALK-012, CHALK-013
- Create AllUsersTable.tsx with search, filters, sorting, pagination - Implement columns: Name, Email, Role, School, Status, Last Login - Add role and status dropdown filters - Add column sorting with TableSortLabel - Add pagination with TablePagination (5/10/25/50 rows) - Add Excel export button using generateUsersXlsx - Style with styled-components following existing patterns Closes CHALK-020, CHALK-021, CHALK-022, CHALK-023, CHALK-024, CHALK-025
- Create AllUsersPage.tsx integrating AllUsersTable with Firebase - Implement edit user dialog with name/email editing - Implement archive/unarchive with confirmation dialog - Add /AllUsers route in App.tsx for admin/leader roles - Add "All Users" menu item in BurgerMenu navigation - Export button already functional from AllUsersTable component Closes CHALK-030, CHALK-031, CHALK-032, CHALK-033, CHALK-040, CHALK-041, CHALK-042
- Add Cypress E2E tests for AllUsers page - Add School column to users table - Update Last Login format to show date and time Closes CHALK-050, CHALK-051
- Add seed test data section with command and credentials - Document All Users Dashboard feature with full capabilities - Include route information for the new admin feature Closes CHALK-060
Closes CHALK-006
- Add email, school, archived as optional fields to Types.User - Make programs optional in Types.User - Update AllUsersTable, AllUsersPage, xlsxGenerator to use Types.User directly - Consistent with project's pattern of centralizing types Closes CHALK-005
- AllUsersPage.tsx / AllUsersTable.tsx - New admin page to view all users in the system with a sortable, - App.tsx / BurgerMenu.tsx - Added routing and navigation menu entry for the new "All Users" page - Firebase.tsx - New method fetchAllUsers() to retrieve all users from Firestore - Types.tsx - Extended User interface with optional fields (email, school, archived, lastLogin) for reuse - xlsxGenerator.ts - Added user export functionality using centralized Types.User - seed-full.js / seed-local.js / seed-local.sh - Scripts to populate local emulators with test data - .gitignore - Exclude internal project files - README.md - Documentation for local development setup - cypress/all-users.ts - E2E tests for the All Users feature - functions/package-lock.json - Updated Node engine (10→20) - yarn.lock - Dependency updates
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.
Core Feature
Firebase Integration
Type Refactoring
Local Development Setup
Testing
Dependencies