Skip to content

展開省略的議程資訊#259

Open
mirumodapon wants to merge 1 commit into
mainfrom
feat/track-sessino-expand
Open

展開省略的議程資訊#259
mirumodapon wants to merge 1 commit into
mainfrom
feat/track-sessino-expand

Conversation

@mirumodapon

@mirumodapon mirumodapon commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

…h expandable rows

Summary by CodeRabbit

  • New Features

    • Added expandable and collapsible track sections in session tables.
    • Sessions are now grouped by track and room for clearer organization.
    • Expanded tracks adjust session card layouts and visual indicators.
  • UI Improvements

    • Improved track label styling, chevron rotation, text wrapping, and session content alignment.
    • Updated row sizing to better accommodate varying session content.

Copilot AI review requested due to automatic review settings July 10, 2026 22:15
@rileychh-dokploy-coscup

rileychh-dokploy-coscup Bot commented Jul 10, 2026

Copy link
Copy Markdown

Dokploy Preview Deployment

Name Status Preview Updated (UTC)
Nuxt ✅ Done Preview URL 2026-07-10T22:19:20.888Z

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

CpSessionTrackTable.vue now groups sessions by composite track keys and renders them within per-track rows. Track checkboxes control label and adjacent session-card styling through :has() selectors, while grid rows support automatic height expansion.

Changes

Track session table

Layer / File(s) Summary
Track session grouping
app/components/feature/CpSessionTrackTable.vue
Sessions receive composite track keys and are grouped into a lookup map; grid rows use per-track minmax sizing.
Per-track rendering and expansion styles
app/components/feature/CpSessionTrackTable.vue
The template renders track labels and their sessions together, and checkbox state updates the label and adjacent session-card layout through :has() selectors.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

  • COSCUP/2026#238: Adds the track-mode table in the same component.
  • COSCUP/2026#239: Adds per-track pinning and ordering using the shared track.key rendering structure.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change: adding expandable track/session display for omitted agenda information.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/track-sessino-expand

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI 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.

Pull request overview

This PR updates the session track table UI to allow expanding a track row so previously truncated session card content (e.g., title/speaker) can wrap and display fully, fitting the agenda view’s grid-based layout.

Changes:

  • Add a per-session key and a sessionsByKey computed Map to group sessions by track row.
  • Restructure the grid rendering to iterate per track row and render that row’s gridlines, sticky label cell, and sessions together.
  • Introduce a CSS :has()-driven expand toggle (chevron + hidden checkbox) and switch grid rows to minmax(rowHeight, auto) to support variable row heights.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +396 to +401
<label class="expand-chevron-label text-[#99a1af] p-1 rounded-[4px] flex cursor-pointer transition-colors items-center">
<input
class="sr-only"
type="checkbox"
>
<span class="expand-chevron-icon inline-flex transition-transform">

@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: cc17017a52

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +397 to +399
<input
class="sr-only"
type="checkbox"

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 Add an accessible name to the expand checkbox

When the table is operated with a screen reader, this new control is exposed as a checkbox but its <label> contains only the icon and no text/aria-label, so users hear an unlabeled checkbox and cannot tell it expands the track row. Please give the input or label an accessible name such as aria-label tied to the track.

Useful? React with 👍 / 👎.

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@app/components/feature/CpSessionTrackTable.vue`:
- Around line 396-407: Add an accessible aria-label to the
checkbox/expand-chevron control in CpSessionTrackTable.vue, using the current
expand/collapse state and track name where available; add the corresponding
expandTrack translation key to every locale with appropriate fallback handling.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 2b467d66-976f-4b30-a129-fcb5b0e36a3f

📥 Commits

Reviewing files that changed from the base of the PR and between 2678b59 and cc17017.

📒 Files selected for processing (1)
  • app/components/feature/CpSessionTrackTable.vue

Comment on lines +396 to +407
<label class="expand-chevron-label text-[#99a1af] p-1 rounded-[4px] flex cursor-pointer transition-colors items-center">
<input
class="sr-only"
type="checkbox"
>
<span class="expand-chevron-icon inline-flex transition-transform">
<Icon
class="text-[16px]"
name="tabler:chevron-down"
/>
</span>
</label>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Expand/collapse toggle has no accessible name.

The checkbox is sr-only and the enclosing <label> contains only a decorative chevron Icon, so assistive tech announces an unnamed "checkbox" with no indication of its purpose. Add an aria-label (ideally reflecting the current state and track) so the control is operable by screen-reader users.

♿ Proposed fix
           <label class="expand-chevron-label text-[`#99a1af`] p-1 rounded-[4px] flex cursor-pointer transition-colors items-center">
             <input
+              :aria-label="t('expandTrack', { track: track.name })"
               class="sr-only"
               type="checkbox"
             >

Add the corresponding expandTrack key to each locale message file (with fallback handling) if it does not already exist.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<label class="expand-chevron-label text-[#99a1af] p-1 rounded-[4px] flex cursor-pointer transition-colors items-center">
<input
class="sr-only"
type="checkbox"
>
<span class="expand-chevron-icon inline-flex transition-transform">
<Icon
class="text-[16px]"
name="tabler:chevron-down"
/>
</span>
</label>
<label class="expand-chevron-label text-[`#99a1af`] p-1 rounded-[4px] flex cursor-pointer transition-colors items-center">
<input
:aria-label="t('expandTrack', { track: track.name })"
class="sr-only"
type="checkbox"
>
<span class="expand-chevron-icon inline-flex transition-transform">
<Icon
class="text-[16px]"
name="tabler:chevron-down"
/>
</span>
</label>
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@app/components/feature/CpSessionTrackTable.vue` around lines 396 - 407, Add
an accessible aria-label to the checkbox/expand-chevron control in
CpSessionTrackTable.vue, using the current expand/collapse state and track name
where available; add the corresponding expandTrack translation key to every
locale with appropriate fallback handling.

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