-
Notifications
You must be signed in to change notification settings - Fork 7
Feature/usability test feedback #169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
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 implements usability test feedback by introducing new components and enhancements to the dashboard flow, including guided tours, error/result displays, and step‐by‐step animations.
- Adds
DescribeRaireResultfor clearer solution/error messaging. - Enhances dashboard with tour controls, assertion details modal, and both one-click and manual step-by-step tree animations.
- Introduces various UI components (cards, tables, dropdowns) and updates README with the current tech stack.
Reviewed Changes
Copilot reviewed 116 out of 116 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| app/explain-assertions/components/describe-raire-result.tsx | New component to render RAIRE results and user-friendly errors |
| app/dashboard/page.tsx | Dashboard layout with tour setup and data mapping |
| app/dashboard/components/step-by-step-view/utils.ts | Utility for deep cloning tree data |
| app/dashboard/components/step-by-step-view/one-click-animation.tsx | One-click elimination animation dialog |
| app/dashboard/components/step-by-step-view/index.tsx | Manual step-by-step elimination view |
| app/dashboard/components/elimination-tree/step-by-step.tsx | Sidebar step indicator for manual view |
| app/dashboard/components/elimination-tree/search-dropdown.tsx | Candidate search dropdown |
| app/dashboard/components/elimination-tree/index.tsx | Switch between default and step-by-step tree views |
| app/dashboard/components/elimination-tree/default-candidate-list-bar.tsx | Default horizontal candidate selector |
| app/dashboard/components/elimination-tree/constants.ts | Defines Candidate type |
| app/dashboard/components/elimination-tree/candidate-list-bar.tsx | Alternative candidate list bar with avatars |
| app/dashboard/components/card.tsx | Reusable card component for dashboard stats |
| app/dashboard/components/audit-progress-animation.tsx | Progress bar animation for audit verification |
| app/dashboard/components/assertions-details-modal.tsx | Modal showing paginated assertion details |
| app/dashboard/components/assertion-table.tsx | Assertion table with inline audit animation |
| app/dashboard/components/Information-icon-text.tsx | Tooltip-with-icon component for contextual help |
| app/TourSyncWatcher.tsx | Syncs tour steps with file data |
| app/TourStepWatcher.tsx | Triggers side effects during tour steps |
| app/ClientTourProvider.tsx | Wraps app in Reactour provider with custom behaviors |
| README.md | Updated technology list and team member formatting |
Comments suppressed due to low confidence (6)
app/explain-assertions/components/describe-raire-result.tsx:48
- [nitpick] The error message 'Output is wrong format' is unclear. Consider rephrasing to 'Output is in the wrong format.' for better clarity.
<p className="error">Output is wrong format</p>
app/dashboard/page.tsx:33
- The variable name 'judge_select_new_tree' uses snake_case; prefer camelCase (e.g., 'judgeSelectNewTree') to match JavaScript conventions.
const judge_select_new_tree = candidateCount >= 6;
app/dashboard/components/step-by-step-view/index.tsx:132
- Here 'assertion' is defined as a string in the ProcessStep interface but is treated as an object with an 'index' property. This will always be undefined and lead to incorrect output.
const currentAssertionString = `[${(currentStepData.assertion?.index || -1) + 1}] Pruned by: ${
app/dashboard/components/elimination-tree/default-candidate-list-bar.tsx:1
- [nitpick] This component duplicates much of the logic in 'candidate-list-bar.tsx'. Consider consolidating to reduce duplication and maintenance overhead.
import { Tooltip,
README.md:11
- The role 'Scrum Mater' is misspelled. It should be 'Scrum Master'.
| Yilin Lyu | Scrum Mater/Front-end Developer |
app/dashboard/components/step-by-step-view/utils.ts:4
- The 'deepCloneTree' helper function lacks unit tests. Consider adding tests to ensure it correctly clones nested tree structures.
function deepCloneTree(tree: TreeNode | undefined | null): TreeNode | null {
| type CandidateListBarProps = { | ||
| selectedWinnerId: number | null; // ID of the currently selected winner | ||
| handleSelectWinner: (id: number) => void; // Callback function to handle winner selection | ||
| useAvatar: boolean; // Flag to determine if avatars should be used (currently unused in component) |
Copilot
AI
Jun 4, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The 'useAvatar' prop is defined but never used within this component. Consider removing it or implementing its intended behavior.
No description provided.