Save User Recent Searches (Last 5)
@manugallegob is already working on this.
Since Feb 27, 2026.
Assessment
This issue has not been assessed yet.
Description
Feature: Save User Recent Searches (Last 5)
Description
We want to persist the last five searches performed by the user using the browser’s localStorage, and display them when the user returns to the search page.
The recent searches list must be displayed right below the search form.
Requirements
useRecentSearches Hook
Create a new hook named useRecentSearches responsible for managing recent searches.
It must handle:
- Auto-load on component mount
- Read recent searches from
localStoragewhen the hook/component initializes.
- Read recent searches from
- Saving searches (max 5)
- Store searches in
localStorage. - Keep only the latest 5.
- Store searches in
- De-duplication
- If a search already exists, move it to the beginning (most recent).
- localStorage error handling
- Gracefully handle read/write errors (e.g. unavailable storage, JSON parsing issues).
- In case of error, the app should not crash and should fallback safely (e.g. empty list).
RecentSearches Component
Create a new component named RecentSearches to render the recent searches.
Rules:
- It receives the recent searches list via props.
- UI requirements:
- Title: "Búsquedas recientes"
- Show a list of recent searches (max 5).
- If there are no recent searches, render nothing (no title, no container).
- Interaction:
- When the user clicks a recent search, redirect them to the corresponding reservoir detail page.
- Dominant language
- TypeScript
- Stars
- 16
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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 Lemoncode/embalse-info
-
Implement scraping Ceuta and Melilla reservoirsMay be free again @antonio06 claimed this 127 days ago, and no pull request is open. Open
Lemoncode/embalse-info#215 · 1 assignee ·
-
Fix historical graphics animationMay be free again @josemi1189 claimed this 127 days ago, and no pull request is open. Open
Lemoncode/embalse-info#213 · 1 assignee ·
-
Aplicar name formatter en sitios donde aplica para nombre de pantanosMay be free again @josemi1189 claimed this 141 days ago, and no pull request is open. Open
Lemoncode/embalse-info#211 · 1 assignee ·
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
Lemoncode/embalse-info#210 ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
Lemoncode/embalse-info#209 ·
All issues in Lemoncode/embalse-info
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
automated issue report
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
documentation
Difficulty 1/5 Under an hour Newbie friendliness 92/100
github/copilot-sdk#2804 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
drizzle-team/drizzle-orm#6418 ·
Maintainers usually reply within 4 days
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
diegosouzapw/OmniRoute#15307 · 1 comment ·
Maintainers usually reply within 2 days