The garden chooser lines names and notes up on the left and uses the shared
dialog padding. Under "who's planted" each row is the grower, then their
garden and place, without repeating the crop name, and the plant button
opens the garden chooser over the page.
Part of #4933
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The garden dialog now adds a garden as well as edits one (new.json and
create.json on GardensController), and a GardenPicker button opens it from the
home page. A plant_picker helper replaces the home page's separate plant
links and the plant_button partial. The plant dialog asks when it was
planted (Today, Yesterday, Enter date), using a WhenPicker shared with the
harvest dialog. Members with no garden still get the full-page plant link.
Part of #4933
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
One dialog for adding and editing a garden, replacing the edit-only dialog
in the next commit.
Part of #4933
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The dialog is mounted once in the layout and any link marked
data-photo-dialog opens it, naming its record in the heading. The gardens
and posts menus, the old planting card and add_photo_button now use it
instead of going to the new-photo page.
Part of #4933
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The comment form now sits under the post's comments instead of on a page of
its own; the Comment buttons jump to it.
Part of #4933
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The icon drawings were duplicated between Ruby and React; they now live in
app/javascript/menuIcons.json, read by both. Deletes the button and icon helpers
nothing calls any more, and their spec lines.
Part of #4933
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
One actions_menu helper now builds the three-dot toggle and dropdown for
seeds, harvests, crops, gardens, posts, photos, activities and comments,
replacing the text "Actions" toggle. Every item carries a green line icon
(menu_icon), and delete uses a darker red ($danger-text, 5.6:1 on white)
so it stays readable; it is still last, under a divider, with its own icon.
The React menus draw the same icons. DESIGN.md now says menu items have icons.
Also fixes the posts menu delete, which confirmed but never sent DELETE.
Closes#4939Closes#4940Closes#4942Closes#4943Closes#4944Closes#4945Closes#4946
Part of #4933
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Introduced `@other_count` in SeedsController to track in-stock and finished seeds based on the filter applied.
- Enhanced SeedsHelper with new methods: `seed_owner_label`, `seed_stacks`, and `seed_choice_link` for better organization and readability.
- Updated views to utilize new helper methods, improving the display of seed information and filtering options.
- Adjusted the Seed model to include methods for determining if a seed's sow-by date has passed and to return the heirloom type.
- Improved tests for filters and helper methods to ensure accurate functionality and coverage.
- Implemented filtering for seeds based on source (own, bought, traded, heirloom) and sow-by dates in the SeedsController.
- Added feature specs for seed filtering and messaging functionalities.
- Enhanced SeedsHelper with methods for seed source labels, packet rules, and distance calculations.
- Updated views to reflect changes in seed display and filtering options.
- Created request specs for message creation and conversation handling related to seeds.
- Introduced a new `filter` method in SeedsController to streamline seed filtering logic based on various parameters.
- Updated the `library_stats` method to calculate statistics for a member's seed library.
- Enhanced the seeds index view with a new toolbar for search and filtering options.
- Created new partials for seed packets and page headers to improve code organization and readability.
- Added support for displaying past sow-by dates and improved the presentation of seed varieties and stacks.
- Refactored existing views to utilize new partials and methods, ensuring a cleaner and more maintainable codebase.