Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Navigate between tasks using arrow keys ⌨️

Open Beginner friendly
#582 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

@Mario-Mohar is already working on this.

Since Oct 12, 2026.

  • #611 by @Mario-Mohar — open

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

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

good first issue

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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from anoopcodehack/DevBoard

All issues in anoopcodehack/DevBoard

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.