Skip to content

Ck 7vn/total refactor classes#1087

Merged
CK-7vn merged 13 commits into
CK-7vn/total-refactorfrom
CK-7vn/total-refactor-classes
Mar 12, 2026
Merged

Ck 7vn/total refactor classes#1087
CK-7vn merged 13 commits into
CK-7vn/total-refactorfrom
CK-7vn/total-refactor-classes

Conversation

@CK-7vn

@CK-7vn CK-7vn commented Feb 19, 2026

Copy link
Copy Markdown
Member

Pre-Submission PR Checklist

  • No debug/console/fmt.Println statements
  • Unnecessary development comments removed
  • All acceptance criteria verified
  • Functions according to ticket specifications
  • Tested manually where applicable
  • Branch rebased with latest main
  • No business logic exists within the database layer

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
image

#This PR Class Page
image

#Redesign Take Attendance button on Class page
image
image

#This PR Take Attendance button on Class Page
image

#Redesign bottom of Class Page
image

#This PR Bottom of Class Page
image

#Redesign Cancel Class by Instructor
image

#This PR Cancel Class by Instructor
image

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.

@CK-7vn
CK-7vn requested a review from a team as a code owner February 19, 2026 19:00
@CK-7vn
CK-7vn requested review from carddev81 and removed request for a team February 19, 2026 19:00
@carddev81
carddev81 requested review from calisio and removed request for carddev81 February 23, 2026 14:29
@CK-7vn
CK-7vn force-pushed the CK-7vn/total-refactor-classes branch from 3f10b80 to 73fae98 Compare February 23, 2026 15:23
@calisio

calisio commented Feb 24, 2026

Copy link
Copy Markdown
Contributor

@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.

@CK-7vn

CK-7vn commented Feb 24, 2026

Copy link
Copy Markdown
Member Author

@calisio Just the Class page, I'm going to work on other functionality in other PR's

@calisio calisio left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. no classes display does not mimic the design. this is the design:
Image
  1. 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

  2. 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.

@CK-7vn
CK-7vn force-pushed the CK-7vn/total-refactor-classes branch from 6d36bf2 to d6f5814 Compare February 26, 2026 19:40

@calisio calisio left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yours:
Image

Design:
Image

Differences above:

  1. 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
  2. Breadcrumbs nav should not show on classes overview page
  3. Classes header should not be bolded, and should have description below
Image

differences:

  1. Should show preview when selected
Image

differences:

  1. 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):
Image
  • classes should default to Active and scheduled status filter

@calisio calisio left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@CK-7vn
CK-7vn force-pushed the CK-7vn/total-refactor-classes branch from d6f5814 to 9e2c897 Compare March 5, 2026 20:58
@CK-7vn

CK-7vn commented Mar 5, 2026

Copy link
Copy Markdown
Member Author

No Classes Found PR

image

No Classes Found Prototype

image

Class page header PR

Also, to me, the "Classes" inside of the page does not look the same, but the classes are exactly the same, this is a moment like I mentioned, where the only explanation would be the tailwind CSS versioning which is not present in this PR, I have no clue outside of that

image

Class Page Header Prototype

image

Create new class Modal + flow this PR

image image

Create new class Modal + flow prototype

image image

Cancel Classes by instructor This PR

image image

Cancel Classes by instructor prototype

image image
  1. Now defaults to Active & Scheduled on load

@CK-7vn
CK-7vn requested a review from calisio March 5, 2026 21:04
@CK-7vn
CK-7vn force-pushed the CK-7vn/total-refactor branch from 87cd730 to 68d160f Compare March 7, 2026 06:14
@CK-7vn
CK-7vn force-pushed the CK-7vn/total-refactor-classes branch from 9e2c897 to bef5101 Compare March 7, 2026 06:32
@calisio

calisio commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

on classes note-- so weird, because mine appear the exact same. see below:
Screenshot 2026-03-09 at 2 21 30 PM
Screenshot 2026-03-09 at 2 21 47 PM
So you are all good on that front!!

The rest of the changes look good, except some small ones:

  1. the time should be formatted to show AM/PM and also the time range of the class rather than the total amount of time. see highlighted section.
  2. the dates that are affected are not shown as a preview underneath the resident count.
    yours vs figma (yours on left, figma on right)
Screenshot 2026-03-09 at 2 23 54 PM Screenshot 2026-03-09 at 2 26 02 PM
  1. the double toast is still appearing for me?
Screenshot 2026-03-09 at 2 31 11 PM 4. the flow for creating a new class as a department admin has the correct design, but it does not show the correct programs listed. For example, in my local, i have the following programs in BCF: image

but then when i go to the modal flow to create a class:
Screenshot 2026-03-09 at 2 35 13 PM Screenshot 2026-03-09 at 2 35 23 PM

i have far more than the 5 ones listed in the dropdown for the filter. I just want to double check we are filtering the programs correctly. One of the two filters isnt working correctly-- not sure if it is the "all programs" filter or if it is the modals that are showing incorrect info, but one or both are incorrect!

@CK-7vn

CK-7vn commented Mar 9, 2026

Copy link
Copy Markdown
Member Author

@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.

@calisio calisio left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great!! Thanks!

@CK-7vn
CK-7vn merged commit 1f21770 into CK-7vn/total-refactor Mar 12, 2026
8 checks passed
@CK-7vn
CK-7vn deleted the CK-7vn/total-refactor-classes branch March 12, 2026 16:55
corypride pushed a commit that referenced this pull request May 8, 2026
* 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
CK-7vn added a commit that referenced this pull request May 26, 2026
* 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>
corypride pushed a commit that referenced this pull request May 26, 2026
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants