Files
growstuff/app/views/seeds/_shelf.html.haml
T
Brenda WallaceandDaniel O'Connor 75595350bc Easier recording of harvests from the front page (#5077)
* Implement AddSeedsPicker component and enhance planting selection UI; update styles and serializers for better seed management

* Enhance PlantingPicker component: add hints and titles for harvest and seed actions; update test to reflect changes in seed saving behavior

* Enhance harvest recording: allow harvesting from crops without plantings; update forms and modals for better user experience

* Refactor code structure for improved readability and maintainability

* Remove AddSeedsPicker component and its associated tests

* Add planting picker functionality for harvesting and seed saving

- Introduced PlantingPickersController to handle JSON responses for member's plantings.
- Updated HomeHelper to include crop ID in planting picker properties.
- Refactored PlantPicker and PlantSomethingModal components to support multiple gardens.
- Created PlantingFlow component to manage planting actions (harvest and save seeds).
- Implemented RecordDialog component to handle server-rendered links for harvesting and seed saving.
- Updated various views to include data attributes for triggering the record dialog.
- Added routes for planting picker and corresponding request specs for testing.
- Adjusted styles in _plantings.scss for better layout and spacing.

* Add job management features including job creation and wishlist functionality

* Remove WishlistJobsController and associated views and tests

* Add suggestion links rendering and fix routes formatting

* Refactor AddJobModal and JobPicker components to simplify props and enhance user experience

* Update seed addition test to check dialog presence and current path

* Apply suggestion from @CloCkWeRX

---------

Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
2026-10-26 21:38:12 +10:30

19 lines
1.1 KiB
Plaintext

-# One shelf of seeds: a green bar naming the group, over the packets stood on
-# it, one pile for each variety. The first few shelves are open; the rest fold
-# up to their bar.
- stacks = seed_stacks(seeds, by_owner: everyone)
- counts = [pluralize(seeds.size, 'packet')]
- counts.unshift pluralize(stacks.map { |stack| stack.first.crop_id }.uniq.size, 'variety', plural: 'varieties') if stacks.size > 1
- counts << pluralize(seeds.map(&:owner_id).uniq.size, 'gardener') if everyone
%details.seed-shelf{ open: position < 3, id: "shelf-#{shelf.respond_to?(:id) ? shelf.id : shelf.to_s.parameterize}" }
%summary.seed-shelf-bar
%h3
= shelf.is_a?(Crop) ? link_to(shelf.name, crop_path(shelf)) : shelf.capitalize
%small= counts.join(' · ')
- if owned && shelf.is_a?(Crop)
= link_to '+ add seeds', new_seed_path(crop_id: shelf.id), class: 'seed-shelf-open-only', data: { record_dialog: 'seeds', crop_id: shelf.id, crop_name: shelf.name }
%span.seed-shelf-closed-only ▸ Open shelf
.seed-shelf-packets
- stacks.each do |stack|
= render 'seeds/stack', packets: stack, show_owner: everyone