Ck 7vn/total refactor classes#1087
Conversation
3f10b80 to
73fae98
Compare
|
@CK-7vn could you specify which specific pages/sections you want reviewed in this PR? Since I know that there are a lot of changes I want to make sure I am focusing on the right ones. |
|
@calisio Just the Class page, I'm going to work on other functionality in other PR's |
There was a problem hiding this comment.
- no classes display does not mimic the design. this is the design:
-
should see nothing for scheduled classes in the "actions" column. right now there is a "view details" button, but it might cause confusion & alter the users intuitive nature to click on the row to navigate to more details. better to leave it out & blank
-
no results summary (highlighted in the video) this is the design:
Screen.Recording.2026-02-24.at.1.48.11.PM.mov
Besides that looks good! I also added a few things to the department admin view of classes (mainly just adding what facility each class is in & adding that filter), which you are free to address in this PR or in a following one. Some of the things I am unable to test due to the functionality in other pages being broken, so we can just make sure to test that later when able to update to other statuses.
6d36bf2 to
d6f5814
Compare
calisio
left a comment
There was a problem hiding this comment.
Differences above:
- Classes on top navbar has the facility listed below, and “classes” is bold. Should not be bold and should not show facility listed below for the facility admin
- Breadcrumbs nav should not show on classes overview page
- Classes header should not be bolded, and should have description below
differences:
- Should show preview when selected
differences:
- Not showing all the information that is shown on the design for each class,
- Double toast is appearing for several actions (no sessions found to cancel, successful cancellation, etc):
- classes should default to Active and scheduled status filter
calisio
left a comment
There was a problem hiding this comment.
also another note- when clicking "add class" as a department admin, it asks which facility you want to create a class in, and then leads you to the programs that you can add that class to. those programs on the second modal should be filtered by facility. at this moment, they are not.
d6f5814 to
9e2c897
Compare
87cd730 to
68d160f
Compare
9e2c897 to
bef5101
Compare
|
@calisio My available programs for creating a new class seem to match up, let me know if there's still some issues there, it confused me for a minute because I saw count discrepancies but then noticed that it was because some programs weren't active and that's why they weren't showing up in the create new class modals. |
* feat: class page click to details * feat: update Roster tab to fit redesign in classes * fix: small screen handling * feat: add breadcrumbs to class ecosystem * feat: add class modal * fix: class creation issues * fix: room conflict modal fix * feat: add pagintaion to class * fix: requirements fixed * feat: new requirements * fix: PR comments header program filter * fix: cancel by instructor modal * fix: time display format
* feat: add shared component library for frontend-v2 PageHeader, StatusBadge, EmptyState, SearchInput, ConfirmDialog, FormModal, and DataTable components with consistent design system theming and reusable patterns. * feat: port type system, API client, and utility libraries Split monolithic common.ts into 15 domain-specific type modules (auth, user, facility, program, attendance, provider, content, insights, events, server, reports, navigation, websocket, ui, global.d.ts). Port API client with CSRF handling and credential passing. Add formatters and cn() utility. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: port auth, session management, and context providers Port AuthProvider with Ory Kratos flow integration, RouteGuard for role-based access control, useAuth with role helpers and session management. Port BroadcastChannel tab session and WebSocket session. Rewrite ThemeContext for next-themes, ToastContext for sonner. Port Tour, Breadcrumb, and PageTitle contexts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: port custom hooks and route loaders Port useUrlPagination, useSessionViewType, useCheckResponse (adapted for shadcn Dialog controlled state), useBreadcrumbsFromRoutes. Port all route loaders for data prefetching. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: port shadcn/ui component library with design tokens Port all 52 shadcn/ui components from the redesign. Components use Radix UI primitives with forest green/olive/gold design tokens. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: port layout shell, navigation, and core components Port AuthenticatedLayout with redesign top nav bar (bg-[#203622]), role-based nav items, facility selector, user menu, theme toggle. Port GuestLayout, TopNav, MobileNav, Breadcrumbs. Port TitleManager, Loading, Brand, and UnlockEdTour components. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: configure router, route definitions, and app entry Set up React Router v6 with route guards, loaders, and breadcrumbs. Configure provider nesting order (PostHog, Tour, SWR, Theme). Define all app routes (admin, program, provider, knowledge center). Add globals.css with design tokens and dark mode support. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add auth pages and form components Port Login with Ory Kratos flow integration (rate limiting, lockout, deactivation detection). Add ChangePasswordForm with validation and first-login facility setup. Add ConsentForm for OAuth2. Port Welcome landing page and StudentLayer0 greeting page. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add admin management pages Add AdminManagement with role-based CRUD and permission checks. Add StudentManagement with deactivation support. Add FacilityManagement with room and timezone configuration. Add ResidentProfile detail page. Add ProviderPlatformManagement with OIDC registration and archive. Add ProviderUserManagement with user import and Kolibri detection. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add program management and event attendance pages Add ProgramManagementForm and ClassManagementForm for create/edit. Add ProgramOverviewDashboard, ProgramClassManagement, ClassLayout, ClassEnrollmentDetails, ClassEvents, and AddClassEnrollments. Add decomposed EventAttendance page with grid and summary. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add student pages and learning components Add ResidentHome with featured content and favorites. Add StudentDashboard with weekly activity chart. Add MyCourses with tabs and grid/list toggle. Add MyProgress with stats and sortable table. Add ResidentOverview and CourseCatalog. Add WeeklyActivity, TopContentList, EnrolledCourseCard, CatalogCourseCard, and ActivityHistoryCard components. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add knowledge center pages and components Add OpenContent tabbed container for admin/student views. Add LibraryLayout, VideoManagement, HelpfulLinksManagement for admins. Add StudentOpenContent, VideoContent, LibraryViewer (Kiwix iframe), VideoViewer, HelpfulLinks, and Favorites for students. Add LibraryCard, VideoCard, HelpfulLinkCard, FavoriteCard, and OpenContentItemAccordion. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add insights, schedule, and remaining pages Add OperationalInsights, KnowledgeInsights, and LearningInsights with recharts visualizations. Add EngagementRateGraph and chart components. Add Schedule with weekly calendar view. Add FAQs with accordion and HelpCenter. Port Dashboard, ClassesPage, ProgramsPage, TakeAttendance, Error page, and class-detail/program-detail modules. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: resolve React ref forwarding, render-body side effects, and iframe blocking Add forwardRef to Input, Textarea, and Button for react-hook-form compatibility. Move side effects (navigate, window.location.href) from render bodies into useEffect in AuthProvider, RouteGuard, Login, and ResidentProfile. Extract shared formatDate/formatDateTime into formatters.ts to eliminate duplication. Fix LoginForm timer to use derived state instead of synced useState. Fix X-Frame-Options to use SAMEORIGIN for proxy routes so Kiwix content renders in iframes. Fix inverted NATS cache condition in middleware that prevented library proxy params from being cached. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: v2 class page added * fix: program and class pages closer to redesign * feat: add side navbar * fix: lock navbar * fix: remove video * feat: add necessary wiring and formatting to make page mirror figma * feat: add necessary wiring and formatting to make page mirror figma * fix: started working page * fix: labels and added todos * fix: Pagination * fix: create program functionality * fix: removed extra padding * fix: missing sortOption * fix: removed comments * fix: remove file commited accidently * fix: archived filter * fix: card view metrics * fix: adjusted missing styling * fix: stat card fix * fix: linting errors * feat: add necessary wiring and formatting to make department admin dashboard page mirror figma * fix: add changes per requests * fix: add changes per requests * feat: Dept_admin view ProgramsPage * refactor: Enrolled column shows (currently / all-time) * refactor: Facilities count is clickable * refactor: view, edit, delete added to Action column * fix: Programs Mgt -> Programs and removed the facility name for dept_admin * fix: hover cursor on button * fix: resized text area * fix: made funding types * fix: removed actions column * fix: border facilities offered * fix: underline facilities * fix: programs to items * fix: utilization * fix: modify focus ring on checkboxes * fix: modify focus ring on filters and input fields * fix: change create button logic to make button active * feat: add necessary wiring and formatting to make fac admin program details page mirror figma * fix: add changes per request * fix: add changes per request * fix: add changes per requestv * fix: add changes per requestv * feat: add changes per carolinas updates * feat: add changes per carolinas updates * feat: add changes per carolinas updates * feat: add changes per pr review requests * fix: add css for fixing grey background * fix: upgrade Tailwind CSS v3 to v4 - Replace JS config with CSS-first @theme inline config - Replace PostCSS pipeline with @tailwindcss/vite plugin - Rename breaking v4 class names (outline-none, shadow-sm, ring-offset) - Upgrade tailwind-merge to v3 for v4 class support * chore: untrack node_modules * fix: bump go version * chore: updated ENV GOTOOLCHAIN to auto to allow go.mod to control the version and not the local machine. * Ck 7vn/total refactor classes (#1087) * feat: class page click to details * feat: update Roster tab to fit redesign in classes * fix: small screen handling * feat: add breadcrumbs to class ecosystem * feat: add class modal * fix: class creation issues * fix: room conflict modal fix * feat: add pagintaion to class * fix: requirements fixed * feat: new requirements * fix: PR comments header program filter * fix: cancel by instructor modal * fix: time display format * fix: add back css to align breadcrumbs to be exact * feat: add styling and code for program details for department admins * fix: add missing archiving and reactivate pieces found by reviewer * feat: add styling and code for facilities screen for department admins * feat: resident profile * feat: Resident Profile PR 1 base page * fix: spacing bullets * fix: switch breadcrumb to button to match styling * feat: first residents PR * fix: borders, backend * fix: padding and spacing * feat: resident profile PR 2 * feat: resident profile PR 3 * feat: Resident Profile PR 4 * feat: resident profile PR 5 add backend points * fix: versioning update View Details modal component * fix: remove username editability * fix: minor details * fix: migrations rebase issues pagination * fix: historical notes csv * fix: csv filter collapse migration * fix: CanSwitch truncation attendance count * fix: clean up migration * fix: truncation and tooltip * fix: pagination in attendance modal * feat: class details * feat: backend and shared infrastructure for class detail refactor Backend: migration for instructor overrides, database layer updates (class events, program classes, programs, users), handler updates (enrollments, class events, classes), and class event model changes. Frontend: type definitions (attendance, events, program), shared UI components (Pagination, dialog, drawer, sheet, alert-dialog), Breadcrumbs, attendance utilities, layout and route loader updates, BulkCancelClassesModal, and page updates (Programs, EventAttendance, AddClassEnrollments, ClassManagementForm, ProgramOverviewDashboard). * fix: public preface on migrations * feat: class detail page shell with roster and enrollment history tabs Adds the refactored class detail page with the new shell layout: breadcrumbs, ClassHeader with stat cards, header actions (edit, take attendance, delete), and the first two tabs. Roster tab: resident list with search/filter, enroll/unenroll modals, change enrollment status, and bulk graduate functionality. Enrollment History tab: historical enrollment records with filtering. Also updates ClassesPage (adds TakeAttendanceModal integration) and program-routes (adds class detail route). * fix: update focus rings modal layouts * fix: match prototype explicitly * fix: minor fixes and layout * feat: sessions and schedule tabs with bulk actions and session management Add Sessions and Schedule tabs to class detail page. Implement selection management with floating action bar for bulk operations. Add individual Change Instructor and Change Room modals. Enhance BulkSessionsModal cancel action with CancelEventReason enum dropdown. Fix CancelSessionModal note clearing when switching away from Other reason. * fix: match styling * fix: align modal button spacing and label styling to prototype Update ChangeInstructorModal and ChangeRoomModal button wrapper gap from gap-2 to gap-3 with justify-end first, and update "Sessions to Update" label to use font-medium with brand color. * fix: match sessions filter bar layout to prototype * fix: match schedule tab text colors to prototype * fix: match session tab text and wording to prototype * fix: match schedule tab card and layout styling to prototype * fix: match schedule tab legend and calendar text to prototype * fix: match show-all link style and cancelled icon to prototype * fix: match schedule calendar cells to prototype rich layout * fix: remove month navigation to match prototype static calendar header * fix: modals and comments * fix: future event implementations * fix: undo outline * fix: add notes to other reason * fix: date time mismatches functionality * feat: support and audit tabs for class detail page Add Support tab with at-risk resident detection (attendance below 75% or consecutive absences) and Audit tab with class history timeline. Completes all 6 class detail tabs. * fix: enrollment history alignment * fix: modal ux, rescheduling * fix: post-select on creation scaling and format * fix: merge snafus * fix: edit class modal issues * fix: minor details, programs page rebase issue * fix: class status enrollment archive filter * fix: schedule, speed * fix: padding link to button breadcrumbs * fix: carry over changes * fix: coloring, wording * fix: bold variables audit history * fix: pagination control on audit history * fix: capitalization * fix: update change_log entries on edit class * fix: needs support prefill scrollbar * fix: time formatting conflicts * fix: null nested program object * fix: enrollment history spacing * fix: null enrolled_at * fix: roster tab mismatch * fix: take attendance modal * fix: scheduled modal, roster tab * fix: logic in sessions table * fix: session scheduling logic * fix: cancel reschedule cancel * fix: undo cancellation inline * fix: subtitle time * fix: cancelling reschuled same date class * fix: ssame day session instructor change * fix: scrollbar rebase issue * feat: add new landing page to have login and password * fix: replace CSS hex to match branding per request * feat: residents page refactor * feat: knowledge center * feat: initial knowledge center * fix: toast * fix: remove pagination default to all * fix: toast * feat: knowledge center video dl fixed * feat: tour * fix: helpful links api call feature toggle * fix: go bump version * fix: go bump version in ancillary security CI/CD flow * fix: home page image pixelation and layout * fix: pagination * fix: card text truncation * fix: tags, spacing on resident view * fix: add css for sizing cards and missing feature flags --------- Co-authored-by: carddev81 <rich@unlockedlabs.org> * feat: move faq into redesign * feat: add schedule and refactor for code reuse and efficiency * fix: add reason length check * fix: dead code layout merge regression fix (#1119) * fix: military to am-pm (#1116) * fix: military to am-pm * fix: tz hardening * fix: defensive case for deleteion of users * fix: add account overview to resident page * fix: account overview * fix: go bump to 1.26.3 * fix: add delete guards * fix: update index, queries, tests * fix: logic in program_classes.go hook that prevented enrolled_ended_at value from properly being updated * fix: applied bug fixes according to 2 code rabbit comments * fix: upgrade pgx/v5 and x/net to resolve govulncheck CVEs Bumps github.com/jackc/pgx/v5 to v5.9.0 (fixes GO-2026-4771, GO-2026-4772) and golang.org/x/net to v0.53.0 (fixes GO-2026-4918) in both backend and provider-middleware modules to unblock the security scan CI check. * fix: bump GitHub Actions checkout to v4 and setup-go to v5 for Node 24 compatibility * fix: upgrade pgx/v5 to v5.9.0 in migrations and seeder modules * feat: add admin redesign page * fix: add version change for golang * fix: add changes per code rabbit * fix: add url change to fix create class flow per Carolina and to match figma * feat: add instructor and room strikethrough feature per ticket ID-620 * feat: add instructor and room strikethrough feature per ticket ID-620 * fix: add changes per code rabbit * feat: add new redesign files to frontend folder and remove old v2 folder (#1126) * feat: add new redesign files to frontend folder and remove old v2 folder * feat: add new redesign files to frontend folder and remove old v2 folder * fix: add changes for linting errors * refactor: add and remove logic to consolidate schedule popout to remove duplicated code * fix: add missing condition check * fix: remove unused code (#1127) * refactor: Pagination component to be used site wide * fix: linting errors * fix: removed unused totalPages variable * fix: resolved code rabbit requested changes * fix: suggested changes * refactor: add changes to account for split 2 ticket ID 654 * fix: add changes to utilize the PageHeader versus the DashboardHeader component and then remove unused code * refactor: split 3 * fix: export sessionutil funcs * fix: split 3 helpers to lib and session-utils * fix: type linked_override_event nullable, type VideoViewer fetch * refactor: split SessionDetailSheet into focused sub-components * refactor: split SessionsTab into sub-components * refactor: extract LoadingSkeleton and ClassNotFoundCard from class-detail * refactor: dedupe buildFacilityEvent, tighten EnrollResidentModal cast * fix: routes for top content and resident dashboard * fix: scrollbars * refactor: add changes to account for split 1 form and modals ticket ID 653 * fix: add changes to fix code rabbit requests * refactor: global css * refactor: brand colors in globals * refactor: sweep stragglers + add brand-gold-dark token * refactor: focus rings * refactor: consolidate more hex and extract reusable component classes * refactor: extract more component classes * refactor: more component class extractions and library viewer stretch fix * refactor: css hex and badges * fix: schedule tab click state color --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: carddev81 <rich@unlockedlabs.org> Co-authored-by: Cory Pride <cory.pride83@gmail.com>
* feat: class page click to details * feat: update Roster tab to fit redesign in classes * fix: small screen handling * feat: add breadcrumbs to class ecosystem * feat: add class modal * fix: class creation issues * fix: room conflict modal fix * feat: add pagintaion to class * fix: requirements fixed * feat: new requirements * fix: PR comments header program filter * fix: cancel by instructor modal * fix: time display format






















Pre-Submission PR Checklist
Description of the change
This PR implements the class redesign inside of the code base. I will say, I have done a lot of work on nested components inside of the CLass page, but this PR is primarily focusing on the Class Page and its functionality, I will open PR's relative to the nested pages consecutively and soon.
Screenshot(s)
#Redesign Class Page

#This PR Class Page

#Redesign Take Attendance button on Class page


#This PR Take Attendance button on Class Page

#Redesign bottom of Class Page

#This PR Bottom of Class Page

#Redesign Cancel Class by Instructor

#This PR Cancel Class by Instructor

Additional context
Just another note, a LOT of work was also done on modals and other nested components in this PR, I just want the main focus to be on the CLass Page and like i said I will open subsequent PR's and touchups verifying functionality and etc of all of the nested components with touch ups etc.