Skip to content

Comments

Adding crafting ingredients lists#157

Open
FracturedShader wants to merge 11 commits intocommunitycenter:mainfrom
FracturedShader:feature/ingredients-lists
Open

Adding crafting ingredients lists#157
FracturedShader wants to merge 11 commits intocommunitycenter:mainfrom
FracturedShader:feature/ingredients-lists

Conversation

@FracturedShader
Copy link
Contributor

@FracturedShader FracturedShader commented Nov 1, 2025

Added collapsed-by-default "Needed Ingredients" sections to cooking and crafting pages with support for filtering by recipe state and season.

Motivation and goals:
Crafting every item requires a tremendous number of ingredients, some of which can only be obtained in certain seasons. Having a full list to reference makes it easy to plan ahead. Being able to filter by season makes near term planning much more tractable.

Features:

  • Support for cooking and crafting recipes
  • Expands recipe ingredients recursively to make planning easier
  • Familiar card layouts with Wiki links
  • Custom Wiki links for non-specific ingredients (e.g. "Any Fish")
  • Filtering by known/unknown (crafted/cooked excluded to avoid clutter)
  • Filtering by season

Testing/Validation Notes:

  • Ingredient tabs are accessible both on Cooking and Crafting pages
  • Ingredient tabs require "beta features" to be enabled in preferences
  • Ingredient tabs can be accessed directly via the URL that gets updated when switching tabs
  • Shown ingredients contain images, name, amount, and brief description in a layout consistent with the site design
  • Filtering recipes by known/unknown also updates ingredient counts
  • Searching ingredients by name is case-invariant and supports partial matches
  • Selecting a season shows all ingredients that can be obtained in that season (pay attention to those that are season agnostic and fish in particular)
  • Clicking on an ingredient brings up a "sheet" which has a link to the appropriate Wiki page (including support for "Any" items) and shows some information about the ingredient (specifics in active design)

Note

Introduces a beta ingredient tracking workflow alongside existing recipe tracking.

  • New IngredientList and IngredientCard aggregate and display needed ingredients by recursively expanding recipe inputs; supports categories, big craftables, and fish with wiki links, 1.6 blur/new badges, and counts
  • Cooking/Crafting pages: add tabs (All Recipes | Ingredient Tracker), filtering (unknown/known), season filter, and ingredient search; tab routing preserved via trackingTab query
  • Add BetaFeaturesDialog and extend Preferences with showBetaFeatures (localStorage) plus Account toggle to enable/disable beta features; tabs are gated behind this setting
  • Update FishSheet with optional showCaught to hide caught controls in ingredient context
  • Add dependencies: baseline-browser-mapping, caniuse-lite

Written by Cursor Bugbot for commit c54f5b2. This will update automatically on new commits. Configure here.

@vercel
Copy link

vercel bot commented Nov 1, 2025

@FracturedShader is attempting to deploy a commit to the stardew Team on Vercel.

A member of the Team first needs to authorize it.

@FracturedShader FracturedShader force-pushed the feature/ingredients-lists branch from 9a8085e to f2f08a7 Compare November 1, 2025 16:33
@FracturedShader
Copy link
Contributor Author

Opened this as a draft because while the functionality is there and fully working, the specifics of the design and component breakdown are just an initial idea to prove the concept. How this list should fit into the pages, what can be made into more common components, and what of such is in the scope of this PR in particular (e.g. filtering by season or known/unknown can be a component, but may be better as separate self-contained PRs) is entirely open for discussion and critique.

@FracturedShader FracturedShader marked this pull request as ready for review November 12, 2025 01:20
@FracturedShader
Copy link
Contributor Author

Moving out of "draft" state because I couldn't think of a better way to organize/structure this while mulling it over for the past week.

@vercel
Copy link

vercel bot commented Nov 12, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
stardew Error Error Nov 12, 2025 4:21pm

@FracturedShader
Copy link
Contributor Author

Some screenshots of the current implementation:

Collapsed by default
image

Sums all ingredients with option to filter by season and limit to only known/unknown
image

Recursively expands ingredients into their ingredients to make tracking easier
image

@FracturedShader FracturedShader force-pushed the feature/ingredients-lists branch from f2f08a7 to 2e05774 Compare November 13, 2025 01:14
Added collapsed-by-default "Needed Ingredients" sections to cooking and
crafting pages with support for filtering by recipe state and season.

**Motivation and goals:**
Crafting every item requires a tremendous number of ingredients, some of
which can only be obtained in certain seasons. Having a full list to
reference makes it easy to plan ahead. Being able to filter by season
makes near term planning much more tractable.

**Features:**
- Support for cooking and crafting recipes
- Expands recipe ingredients recursively to make planning easier
- Familiar card layouts with Wiki links
- Custom Wiki links for non-specific ingredients (e.g. "Any Fish")
- Filtering by known/unknown (crafted/cooked excluded to avoid clutter)
- Filtering by season
@FracturedShader FracturedShader force-pushed the feature/ingredients-lists branch from 2e05774 to b3b9978 Compare November 13, 2025 01:18
@FracturedShader
Copy link
Contributor Author

FracturedShader commented Nov 13, 2025

Rebased onto the updated main , ran prettier on new/modified files, and fixed issues detected by next build that were not caught by next dev or turbo typecheck. Everything should be set now.

Sorting of ingredients is done alphabetically by name and text search
leverages the same patterns as text search in other areas.

Co-authored-by: Denys Grybov <denys.grybov@hellofresh.com>
@FracturedShader
Copy link
Contributor Author

demo.mp4

Here's a short video sample showing this in action. There was no save uploaded here, so the ingredients lists are quite large (all recipes).

FracturedShader and others added 6 commits December 19, 2025 09:45
Fish have much more particular requirements for obtaining than crops and
are not a shipping item in and of themselves (so season data was not
being pulled). This commit brings in the information and displays from
the Fishing page so that filtering fish by season works and information
about catching them is readily available.
Used tabs for "All Recipes" and "Ingredient Tracker" as well as a prompt
to show beta features to enable the "Ingredient Tracker"
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is being reviewed by Cursor Bugbot

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

The recent `FishSeet` modifications inadvertently hid the link to the
wiki page when hiding buttons to set caught/uncaught state. This has
been fixed.
The `BooleanCard` was the wrong thing to use in the `IngredientList`
just to get the `FishSheet`. This unifies the usage paths for the list,
but still opens the full panel for fish.
@FracturedShader
Copy link
Contributor Author

FracturedShader commented Dec 29, 2025

This PR is live at https://stardew-app.plantingcode.net/ for as long as this PR is open. That should make validation of functionality easier. There is no database hooked up, but that won't affect testing these changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants