← Back to Kontasks
Prompt history implementation ideas
Options for implementing previous prompt history in the dashboard console
Output
💡 Prompt History Ideas
Option 1: Arrow Key Navigation (Recommended)
Like terminal/shell history - press ↑/↓ in input field to cycle through previous prompts.
- Storage: Array in localStorage (last 50 prompts)
- UX: ↑ = older, ↓ = newer, Escape = clear
- Effort: Low - just keyboard listener + localStorage
- Mobile: Won't work without keyboard, need alternative
Option 2: History Dropdown/Popover
Click a 🕐 button next to input to show recent prompts in a dropdown.
- Storage: Same localStorage array
- UX: Click button → dropdown → click prompt to fill
- Effort: Medium - needs dropdown component + positioning
- Mobile: Works great - touch-friendly
Option 3: Autocomplete/Suggestions
As you type, show matching previous prompts below input.
- Storage: Same localStorage array
- UX: Type → see matches → click or arrow+enter
- Effort: High - needs debounced search + positioning
- Mobile: Works but takes screen space
Option 4: Swipe Gestures (Mobile Only)
Swipe up on input area to reveal history drawer.
- UX: Mobile-native feeling
- Effort: Medium - touch event handling
- Desktop: Doesn't translate
My Recommendation: 1 + 2 Combined
Implement both arrow key navigation AND a history button:
- Desktop users get the familiar shell-style ↑/↓ navigation
- Mobile users get a tappable 🕐 button
- Same localStorage backend for both
- Store:
{ prompts: string[], index: number }
Implementation Sketch
// Storage const PROMPT_HISTORY_KEY = 'konui_prompt_history'; const MAX_PROMPTS = 50; // On submit: prepend to array, dedupe, trim // On ↑: decrement index, fill input // On ↓: increment index, fill input // On 🕐 click: show dropdown with prompts
What's Next?
Which approach do you prefer? Or should I implement the combined Option 1+2?
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
consoleuifeature
Created
2 Jan 2026, 10:35 pm
Updated
2 Jan 2026, 10:35 pm
Created By
claude
Raw Data
{
"id": "8d60e750-70aa-4afa-a8ef-3aea5adfa9d7",
"type": "general",
"status": "completed",
"title": "Prompt history implementation ideas",
"description": "Options for implementing previous prompt history in the dashboard console",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:sans-serif;\"><h2 style=\"color:#fff;margin:0 0 16px 0;\">💡 Prompt History Ideas</h2><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#4caf50;margin:0 0 12px 0;\">Option 1: Arrow Key Navigation (Recommended)</h3><p style=\"color:#aaa;margin:0 0 12px 0;\">Like terminal/shell history - press ↑/↓ in input field to cycle through previous prompts.</p><ul style=\"margin:0;padding-left:20px;line-height:1.8;\"><li><strong style=\"color:#fff;\">Storage:</strong> Array in localStorage (last 50 prompts)</li><li><strong style=\"color:#fff;\">UX:</strong> ↑ = older, ↓ = newer, Escape = clear</li><li><strong style=\"color:#fff;\">Effort:</strong> Low - just keyboard listener + localStorage</li><li><strong style=\"color:#fff;\">Mobile:</strong> Won't work without keyboard, need alternative</li></ul></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#2196f3;margin:0 0 12px 0;\">Option 2: History Dropdown/Popover</h3><p style=\"color:#aaa;margin:0 0 12px 0;\">Click a 🕐 button next to input to show recent prompts in a dropdown.</p><ul style=\"margin:0;padding-left:20px;line-height:1.8;\"><li><strong style=\"color:#fff;\">Storage:</strong> Same localStorage array</li><li><strong style=\"color:#fff;\">UX:</strong> Click button → dropdown → click prompt to fill</li><li><strong style=\"color:#fff;\">Effort:</strong> Medium - needs dropdown component + positioning</li><li><strong style=\"color:#fff;\">Mobile:</strong> Works great - touch-friendly</li></ul></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#ff9800;margin:0 0 12px 0;\">Option 3: Autocomplete/Suggestions</h3><p style=\"color:#aaa;margin:0 0 12px 0;\">As you type, show matching previous prompts below input.</p><ul style=\"margin:0;padding-left:20px;line-height:1.8;\"><li><strong style=\"color:#fff;\">Storage:</strong> Same localStorage array</li><li><strong style=\"color:#fff;\">UX:</strong> Type → see matches → click or arrow+enter</li><li><strong style=\"color:#fff;\">Effort:</strong> High - needs debounced search + positioning</li><li><strong style=\"color:#fff;\">Mobile:</strong> Works but takes screen space</li></ul></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#ab47bc;margin:0 0 12px 0;\">Option 4: Swipe Gestures (Mobile Only)</h3><p style=\"color:#aaa;margin:0 0 12px 0;\">Swipe up on input area to reveal history drawer.</p><ul style=\"margin:0;padding-left:20px;line-height:1.8;\"><li><strong style=\"color:#fff;\">UX:</strong> Mobile-native feeling</li><li><strong style=\"color:#fff;\">Effort:</strong> Medium - touch event handling</li><li><strong style=\"color:#fff;\">Desktop:</strong> Doesn't translate</li></ul></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\"><h3 style=\"color:#00bcd4;margin:0 0 12px 0;\">My Recommendation: 1 + 2 Combined</h3><p style=\"color:#e0e0e0;margin:0;\">Implement <strong>both</strong> arrow key navigation AND a history button:</p><ul style=\"margin:8px 0 0 0;padding-left:20px;line-height:1.8;\"><li>Desktop users get the familiar shell-style ↑/↓ navigation</li><li>Mobile users get a tappable 🕐 button</li><li>Same localStorage backend for both</li><li>Store: <code style=\"background:#3d3d3d;padding:2px 6px;border-radius:3px;\">{ prompts: string[], index: number }</code></li></ul></div><div style=\"background:#1a3d1a;padding:16px;border-radius:6px;border:1px solid #2e7d32;\"><h4 style=\"margin:0 0 8px 0;color:#4caf50;\">Implementation Sketch</h4><pre style=\"margin:0;color:#98c379;font-family:monospace;font-size:0.85rem;white-space:pre-wrap;\">// Storage\nconst PROMPT_HISTORY_KEY = 'konui_prompt_history';\nconst MAX_PROMPTS = 50;\n\n// On submit: prepend to array, dedupe, trim\n// On ↑: decrement index, fill input\n// On ↓: increment index, fill input \n// On 🕐 click: show dropdown with prompts</pre></div><div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-top:16px;\"><h4 style=\"margin:0 0 8px 0;color:#fff;\">What's Next?</h4><p style=\"color:#9ca3af;margin:0;\">Which approach do you prefer? Or should I implement the combined Option 1+2?</p></div></div>",
"requestedAt": "2026-01-02T12:40:00.000Z",
"requestId": "523a46db-70dd-4cee-be87-83238cd102f9",
"choices": [
{
"label": "Option 1+2 (Recommended)",
"value": "implement-combined",
"primary": true
},
{
"label": "Arrow keys only",
"value": "implement-arrows"
},
{
"label": "Dropdown only",
"value": "implement-dropdown"
},
{
"label": "Different approach",
"value": "other"
}
]
},
"createdBy": "claude",
"createdAt": "2026-01-02T12:35:46.601Z",
"updatedAt": "2026-01-02T12:35:46.741Z",
"requestId": "523a46db-70dd-4cee-be87-83238cd102f9",
"scope": "vibetools",
"tags": [
"console",
"ui",
"feature"
],
"targetUser": "claude"
}