Navigate between tasks using arrow keys ⌨️
Maintainers usually reply within 2 days
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 85/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- javascript, react, tailwindcss
- Domain
- accessibility, frontend
Research direction
Start with client/src/pages/Dashboard.jsx and trace how tasks are passed to KanbanBoard and how a task is selected. Add arrow-key navigation that ignores input and textarea fields, and pass the focused index through so the focused task gets the requested ring highlight. Done means ArrowUp and ArrowDown move focus, Enter selects the focused task, and ordinary typing in inputs still works.
Written by the indexing model from the issue text.
Description
Navigate between tasks using arrow keys ⌨️
File: client/src/pages/Dashboard.jsx
No keyboard navigation between tasks 💀
Power users love this fr!!
Fix:
const [focusedTaskIndex, setFocusedTaskIndex] = useState(-1)
useEffect(() => {
const handler = (e) => {
if (e.target.matches('input, textarea')) return
if (e.key === 'ArrowDown') {
setFocusedTaskIndex(i =>
Math.min(i + 1, tasks.length - 1))
}
if (e.key === 'ArrowUp') {
setFocusedTaskIndex(i => Math.max(i - 1, 0))
}
if (e.key === 'Enter' && focusedTaskIndex >= 0) {
setSelectedTask(tasks[focusedTaskIndex])
}
}
window.addEventListener('keydown', handler)
return () => window.removeEventListener('keydown', handler)
}, [tasks, focusedTaskIndex])
// highlight focused task with ring:
// pass focusedTaskIndex to KanbanBoard
// add ring-2 ring-purple-500 when focused
~15 lines! No backend needed 🎯
- Dominant language
- JavaScript
- Stars
- 39
- Forks
- 105
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 34
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from anoopcodehack/DevBoard
-
Add smooth horizontal scroll on board 🖱️Possibly taken @nikhil9verma claimed this 1 day ago. Opengood first issue
Difficulty 1/5 1-3 hours Newbie friendliness 85/100
anoopcodehack/DevBoard#615 · 2 comments ·
Maintainers usually reply within 2 days
-
Show task creation date in modal footer 📅Possibly taken @nikhil9verma claimed this 1 day ago. Opengood first issue
Difficulty 1/5 1-3 hours Newbie friendliness 90/100
anoopcodehack/DevBoard#614 · 1 comment ·
Maintainers usually reply within 2 days
-
Truncate long custom column names gracefully ✂️Possibly taken @nikhil9verma claimed this 2 days ago. Opengood first issue
Difficulty 1/5 Under an hour Newbie friendliness 95/100
anoopcodehack/DevBoard#613 · 3 comments · 1 assignee ·
Maintainers usually reply within 2 days
-
good first issue
Difficulty 1/5 Under an hour Newbie friendliness 85/100
anoopcodehack/DevBoard#612 ·
Maintainers usually reply within 2 days
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
anoopcodehack/DevBoard#609 ·
Maintainers usually reply within 2 days
All issues in anoopcodehack/DevBoard
Similar issues
-
area:install bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
yetone/magpie#2406 · 1 comment ·
Maintainers usually reply within 1 day
-
[BUG]: Prompt compressor crashes with TypeError when a past chat has a non-string response.textPossibly taken @ManojDevarajulu claimed this today. Openpossible bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Mintplex-Labs/anything-llm#6737 ·
Maintainers usually reply within 1 day
-
check:passed feeds:add
Difficulty 2/5 Under an hour Newbie friendliness 62/100
-
Remove the dead tree 'loadfail' handler in browser.js, which calls a non-existent tree.isSelected()OpenHousekeeping
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
pgadmin-org/pgadmin4#10601 ·
Maintainers usually reply within 1 day