Redesign Apple dashboard - #365
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dfcc7742f0
ℹ️ 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".
| } catch { | ||
| errorMessage = error.localizedDescription |
There was a problem hiding this comment.
Preserve unknown course scope after a failed fetch
When the initial /api/courses request fails, courses remains its initial empty array and isLoading becomes false, so the dashboard reports 0 visible courses and every component detail says no courses are available even though the scope is actually unknown. The error notice does not prevent these false metrics; retain an explicit unavailable state or suppress the count and empty-course claims until a request succeeds.
Useful? React with 👍 / 👎.
| if !courses.isEmpty { | ||
| RecentCoursesSection(courses: Array(courses.prefix(3))) |
There was a problem hiding this comment.
Select genuinely recent courses
The course API returns rows in ascending creation order (apps/api/src/routes/courses.ts:169), so taking prefix(3) consistently labels the three oldest courses as “Recent Courses.” Users with more than three courses will not see their newest courses here; sort by an appropriate descending timestamp or change the API ordering before taking the prefix.
Useful? React with 👍 / 👎.
| ForEach(Array(courses.enumerated()), id: \.element.id) { index, course in | ||
| NavigationLink(value: FeatureDestination.courses) { |
There was a problem hiding this comment.
Open the selected recent course
Every named course row navigates with the same .courses value, which AppShellView.destinationView resolves to CoursesView; therefore tapping a specific recent course only opens the general course list and requires selecting it again. Carry the row's course into a course-detail destination so this advertised quick-access section opens the course the user tapped.
Useful? React with 👍 / 👎.
Summary
Why
The previous dashboard only showed an icon and feature title. It did not communicate live workspace context, component purpose, or what users would find after opening a component.
Validation
plutil -lintfor both localization filesgit diff --check