Skip to content

Refocus Apple course dashboard and modules - #375

Merged
lastcow merged 1 commit into
mainfrom
codex/refocus-apple-course-dashboard-modules
Aug 5, 2026
Merged

Refocus Apple course dashboard and modules#375
lastcow merged 1 commit into
mainfrom
codex/refocus-apple-course-dashboard-modules

Conversation

@lastcow

@lastcow lastcow commented Aug 5, 2026

Copy link
Copy Markdown
Owner

What changed

  • refocused the Apple course dashboard on course statistics and compact navigation
  • removed the repeated workspace/open-workspace treatment
  • redesigned Course → Modules as a responsive learning roadmap with sequence, status, schedule, and summary metrics
  • decoded real module position and lifecycle metadata from the existing API
  • added English and Simplified Chinese copy plus model/UI test coverage

Why

The course dashboard repeated navigation language while under-emphasizing useful course totals. The generic modules list also did not communicate teaching order, publication readiness, or schedule.

Validation

  • iPhone 17 Pro simulator (iOS 26.5): 15/15 tests passed
  • iPad Pro 13-inch M5 simulator (iOS 26.5): 15/15 tests passed
  • focused visual UI tests passed on iPhone and iPad, including dark mode and split navigation
  • Release simulator build succeeded
  • Release artifact contains no UI-test fixture account or sample course markers
  • English and Simplified Chinese localization plists lint successfully
  • git diff --check passes

No backend or database migration is required.

@lastcow
lastcow merged commit df2fb0e into main Aug 5, 2026
4 checks passed
@lastcow
lastcow deleted the codex/refocus-apple-course-dashboard-modules branch August 5, 2026 05:16

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 20dfb2401c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

let module: ResourceSummary
let sequence: Int

private var isClosed: Bool { module.closedAt != nil }

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Mark modules ended by schedule as inactive

When a scheduled module passes its endAt but has not been manually closed, this keeps isClosed false, so the row remains green, labeled as published, and full opacity. The shared module contract says past endAt should gray out the module (packages/shared/src/types.ts:208-212), and the web helper implements closedAt || endAt < now (apps/web/src/lib/moduleSchedule.ts:4-5), so this Apple roadmap will misrepresent ended modules until someone explicitly sets closedAt.

Useful? React with 👍 / 👎.

Comment on lines +393 to +397
private func formattedDate(_ value: String?) -> String? {
guard let value else { return nil }
let date = (try? Date(value, strategy: Date.ISO8601FormatStyle(includingFractionalSeconds: true)))
?? (try? Date(value, strategy: .iso8601))
return date?.formatted(date: .abbreviated, time: .omitted)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Render module windows with the schedule formatter

For users outside UTC, date.formatted(...) uses the device time zone, but module windows are stored as UTC wall-clock times; for example 2026-06-01T00:00:00.000Z renders as May 31 on a US device. It also drops the time for same-day session windows, whereas the existing web formatter documents UTC rendering and includes class times (apps/web/src/lib/moduleSchedule.ts:8-32), so module schedules can be shifted or ambiguous in the new roadmap.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants