Commit edf64e4
refactor: total-refactor to main
* 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>1 parent 1af1707 commit edf64e4
523 files changed
Lines changed: 48912 additions & 31328 deletions
File tree
- .github/workflows
- backend
- migrations
- seeder
- src
- database
- handlers
- models
- services
- tests/integration
- frontend
- .husky
- public/thumbnails
- src
- Components
- cards
- dashboard
- forms
- helperFunctions
- inputs
- modals
- pill-labels
- Context
- Hooks
- Layouts
- Pages
- Auth
- Routes
- api
- assets
- auth
- components
- charts
- dashboard
- forms
- history
- knowledge-center
- programs
- residents
- schedule
- student
- ui
- contexts
- css
- data
- hooks
- layouts
- lib
- loaders
- pages
- admin
- resident-profile
- auth
- class-detail
- event-attendance
- insights
- knowledge-center
- learning
- program-detail
- programs
- student
- routes
- session
- styles
- types
- provider-middleware
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
11 | 16 | | |
12 | 17 | | |
13 | 18 | | |
14 | 19 | | |
15 | | - | |
16 | 20 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | | - | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
14 | 17 | | |
15 | 18 | | |
16 | 19 | | |
17 | 20 | | |
| 21 | + | |
18 | 22 | | |
19 | 23 | | |
20 | 24 | | |
21 | 25 | | |
| 26 | + | |
22 | 27 | | |
23 | 28 | | |
24 | 29 | | |
25 | 30 | | |
26 | 31 | | |
27 | | - | |
| 32 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
| 46 | + | |
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
| 68 | + | |
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
| 89 | + | |
90 | 90 | | |
91 | | - | |
92 | | - | |
93 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
82 | | - | |
83 | | - | |
| 82 | + | |
| 83 | + | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| |||
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | | - | |
168 | | - | |
| 167 | + | |
| 168 | + | |
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
177 | 177 | | |
178 | 178 | | |
179 | | - | |
180 | | - | |
| 179 | + | |
| 180 | + | |
181 | 181 | | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
188 | 188 | | |
189 | 189 | | |
190 | 190 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
0 commit comments