Commit Graph
927 Commits
Author SHA1 Message Date
Brenda Wallace f20bf69d32 feat: Allow saving blank drafts for photo attachments and update validations 2026-10-28 21:50:26 +13:00
Brenda Wallace 232a62c3a8 feat: Enhance post editor with link suggestions for crops, members, and plantings 2026-10-28 21:50:26 +13:00
Brenda Wallace b6006df384 feat: Implement draft autosave and preview functionality in PostEditor
- Added useDraftAutosave hook to handle automatic saving of post drafts.
- Enhanced PostEditor component to include a preview tab that fetches and displays rendered markdown.
- Updated Post model to manage draft state and associated published_at timestamp.
- Introduced card_photo association to Post for representing a primary image.
- Modified post form to support draft saving and publishing actions.
- Updated navigation to include links to drafts.
- Added tests for draft saving, preview functionality, and card photo validation.
- Created migrations for new database fields related to drafts and card photos.
2026-10-28 21:50:26 +13:00
Brenda Wallace f5f84751d9 Fix selector for post body input in new post creation 2026-10-27 14:00:39 +13:00
Brenda Wallace 45cf7f4e5d Fix selector for post body input in post creation spec 2026-10-27 14:00:33 +13:00
Brenda Wallace 37fb45e05f Use send_keys for post body input in forum spec 2026-10-27 13:57:21 +13:00
Brenda Wallace 85480f666b Refactor post body input method in post creation spec 2026-10-27 13:57:15 +13:00
Brenda Wallace 2dd381f25a Add missing click on "Actions" link before editing a post 2026-10-27 13:55:53 +13:00
Brenda Wallace 6bebff9251 Merge remote-tracking branch 'origin/main' into posts/tiptap-editor-page 2026-10-27 13:55:01 +13:00
Brenda Wallace 4576b1a2ed Refactor garden suggestions feature: update suggestion logic, remove unused partial, and enhance localization 2026-10-27 11:11:05 +13:00
Brenda Wallace aeccc2c5ed Add planting suggestions feature to garden pages
- Introduced a suggestions section on the garden show page to display what can be planted now.
- Added a new view partial for garden suggestions.
- Updated the plant picker to allow selection of a specific garden.
- Enhanced navigation menu to include a link to planting suggestions.
- Added relevant translations for the new feature.
- Implemented feature specs to ensure suggestions display correctly for the user's garden.
2026-10-27 11:11:05 +13:00
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
d19fd9657b Replace bootstrap datepicker with native HTML5 date inputs (#5057)
* Replace bootstrap datepicker with native HTML5 date inputs

Convert planting and seed date text fields to native HTML5 date fields
(`f.date_field`), matching existing date inputs across the app. Remove
bootstrap-datepicker JS/CSS imports, legacy site wrapper scripts,
package dependency, and update test specs.

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

* Fix spec

* Fix spec

* Fix spec

* Drop expectations about removed control

* Fix specs

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 19:52:50 +10:30
b3446f6cc7 Add basic HTML email layout with Growstuff branding and footer (#5035)
* Add HTML email layout with Growstuff branding and footer

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

* Add HTML email layout with Growstuff branding, call-to-action buttons, and footer

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

* Add previewer

* Update spec

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 04:41:43 +00:00
Brenda Wallace 334e7a8370 feat: integrate Tiptap editor for post body editing
- Updated post actions menu to link directly to the edit post path.
- Enhanced post form to include a React-based body editor using Tiptap, with a fallback to a plain textarea.
- Added Tiptap dependencies to package.json and updated yarn.lock.
- Created a feature spec to verify navigation to the edit page from the post actions menu.
2026-10-26 15:22:45 +13:00
Brenda WallaceandDaniel O'Connor 8474bdd416 remove newsletter (#4974)
* Remove unused bluecloth gem

Last released in 2011. It was only required, never called; kramdown
renders the markdown.

* Add specs for Tilt markdown rendering and posts markdown partial

* Remove rails_12factor gem

Last released in 2014. Rails 5+ does this via RAILS_SERVE_STATIC_FILES
and RAILS_LOG_TO_STDOUT, which production.rb already reads.

* Remove memcachier gem from Gemfile and Gemfile.lock

* Remove unused webrat gem

Last released in 2011. Nothing requires it; the specs use Rails'
assert_select and Capybara matchers. Only generator comments mention it.

* Remove crowdin-cli gem

Last released in 2018. Crowdin now ships its own standalone CLI, which
reads crowdin.yml and doesn't need the gem. Also drops the dependencies
only it used (rest-client, gli, crowdin-api and friends).

* Removes the crowdin-cli gem (last released 2018), the dependencies only
it needed, and crowdin.yml. Crowdin was never set up: the config still
has a placeholder project ID and nothing else in the repo mentions it.

Assisted by Claude

* Remove newsletter functionality and associated views and tests

* Remove newsletter functionality and related code across the application

* keep the column

* Remove stale test step

* add back newsletter

* Add migration to update newsletter column comment in members table

---------

Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
2026-10-26 11:48:36 +10:30
Daniel O'Connorandgoogle-labs-jules[bot] fbab11e189 Add full CRUD capabilities for member API token management (#5041)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-24 02:44:08 +10:30
Daniel O'Connorandgoogle-labs-jules[bot] af40114ab8 Fix race condition in gardens_spec.rb feature tests (#5038)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-23 23:09:37 +10:30
Brenda Wallace 6332f26c58 Merge pull request #4994 from Growstuff/crop-job-templates-admin
Admin for crop job templates, a tidier crop wrangling page, and crop and template seeds
2026-10-23 13:26:33 +10:30
Brenda Wallace 42deef49f6 Enhance job handling in neighbours and timeline services: add support for finished jobs, update queries, and improve localization for job-related events. 2026-10-23 13:28:37 +13:00
Brenda Wallace 37ea0436fc Refactor job ordering in load_notepad and add spec for job order retention when crossed off 2026-10-22 18:16:17 +13:00
Brenda Wallace 7b67fd3dd6 Add snail animation and job completion caption to notepad 2026-10-22 18:15:35 +13:00
Brenda Wallace 47476324b3 Enhance job notepad functionality with drag-and-drop support and UI updates 2026-10-22 17:24:48 +13:00
Brenda Wallace 06138569c6 Implement job notepad functionality with AJAX support for adding jobs 2026-10-22 17:19:31 +13:00
Brenda Wallace a0b24381ac Refactor activities to jobs across the application
- Renamed all instances of 'Activity' to 'Job' in views, controllers, and models.
- Updated routes to reflect the change from activities to jobs.
- Modified database schema to rename the activities table to jobs and adjusted related columns.
- Updated locale files to change activity-related translations to jobs.
- Adjusted tests to ensure they reference jobs instead of activities.
- Removed the category field from jobs as they are now a plain list.
- Updated seed data and sample data generation to create jobs instead of activities.
2026-10-22 17:16:25 +13:00
Brenda Wallace 77bf9d5e92 Rename activities to jobs and update related files for consistency 2026-10-22 17:06:55 +13:00
Brenda Wallace d1ea600117 Add additional mobile layout tests for crop and planting pages 2026-10-22 15:43:24 +13:00
Brenda Wallace 72bfc62d1d Add mobile layout tests and overflow helpers for better responsiveness 2026-10-22 15:43:24 +13:00
Brenda Wallace 977a984c24 Remove Elasticsearch integration and related code
- Deleted Elasticsearch gems from Gemfile and Gemfile.lock.
- Updated README and TECH documentation to reflect the removal of Elasticsearch.
- Removed Elasticsearch-related code from models, controllers, services, and factories.
- Adjusted tests to eliminate dependencies on Elasticsearch.
- Cleaned up Docker configuration and environment variables related to Elasticsearch.
- Added a TODO file for future gem reviews and potential removals.
2026-10-22 15:37:03 +13:00
Brenda Wallace ec8f32cc9a Fix flaky specs by adding DetachedNodeRetry module and disabling Rack::Attack during tests (#4983) 2026-10-21 13:01:35 +10:30
Brenda Wallace 4d6b903f6d Add mock for GBIF suggestions in crop creation specs and update name field test for highlighted match 2026-10-20 17:06:34 +13:00
Brenda Wallace 5aa751f0f3 Refactor crop name fields: replace manual input handling with reusable components for scientific and alternate names, and integrate GBIF name suggestions. 2026-10-20 13:11:49 +13:00
Brenda Wallace 88624d2ac8 Implement alternate names functionality with React component and update related specs 2026-10-20 13:06:04 +13:00
Brenda Wallace 9d54380e22 Add feature specs for crop name rows and seed finishing functionality 2026-10-20 09:16:11 +13:00
Brenda Wallace ab2cd134e4 Refactor neighbours styles and enhance season heading rendering with icons 2026-10-19 20:53:26 +13:00
Brenda Wallace 60211cb52f Add harvest details display and update tests for neighbours feature 2026-10-19 20:53:26 +13:00
Brenda Wallace 77da6fd00c Refactor neighbours styles and enhance entry rendering
- Update styles for neighbours entry list and line items for better layout.
- Introduce grouping logic for neighbour activities in the helper.
- Modify entry rendering to display grouped activities and photos.
- Adjust locale keys for improved sentence structure in activity descriptions.
- Add tests for new grouping functionality and ensure date handling is consistent across time zones.
2026-10-19 20:53:26 +13:00
Brenda Wallace d71b005ccc Add support for planned activities in neighbours and timeline services, update views and tests accordingly 2026-10-19 20:53:26 +13:00
Brenda Wallace fa33d7b911 Add seasonal features to neighbours: implement season markers and headings, enhance activity filtering for 'me' scope, and update styles for better visibility. 2026-10-19 20:53:26 +13:00
Brenda Wallace ecb84e35ba Add support for finished seeds in neighbours and timeline services
- Updated the Neighbours service to include 'seed_finished' in the feed kinds and event models.
- Enhanced the TimelineService to query finished seeds and include them in the timeline.
- Modified the neighbours view to display finished seeds with appropriate translations.
- Added tests to ensure finished seeds are correctly represented in both the neighbours feed and service specs.
2026-10-19 20:53:26 +13:00
Brenda WallaceandClaude Sonnet 5.5 356b83bd33 Add transplants, finished plantings and planned activities to friends and neighbours
Assisted-by: Claude Code:claude-sonnet-5-5
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 20:53:26 +13:00
Brenda Wallace 2d97aed868 Enhance seed packet selection and sowing process: update SeedPacketList to include expired seeds option, improve UI for seed selection, and modify SowSeedsModal to support multi-step sowing with notes. 2026-10-18 10:19:32 +13:00
Brenda Wallace 8c7eed345e Enhance transplant functionality: update JSON responses to include garden card details, implement event handling for garden card changes, and improve UI interactions in related components. 2026-10-18 10:10:25 +13:00
Brenda Wallace 225a9057c5 Implement transplant functionality: refactor planting movement to record history of gardens, update modal for transplanting, and adjust related components and tests accordingly. 2026-10-17 22:57:38 +13:00
Brenda Wallace b620ca1ccc Enhance nursery functionality: add panel action for refreshing nursery in place, update nursery chip to exclude harvest and save seeds actions, and implement editing capability with modal dialog for batch updates. 2026-10-17 22:29:33 +13:00
Brenda Wallace f4107e2b8d Refactor nursery management: replace plant_out functionality with transplant modal
- Removed NurseryScoped concern and associated controllers for plant_out and leftovers.
- Introduced TransplantModal component for handling the transplanting of seedlings.
- Updated PlantingsController to support transplanting with a new date handling method.
- Modified GardensHelper to provide active gardens for transplanting.
- Updated NurseryChip component to include transplant functionality.
- Removed legacy plant_out views and associated routes.
- Adjusted tests to reflect the new transplanting workflow and removed obsolete tests related to plant_out.
2026-10-17 21:10:56 +13:00
Brenda Wallace 6b76260ac5 Fix nursery message: update content to say '2 seedlings left in the nursery' for clarity 2026-10-17 21:07:26 +13:00
Brenda Wallace 5129321364 Refactor plant out functionality: update show action to redirect if no moved seedlings, rename after_path to redirect_after, and enhance nursery chip with plant out action; update views and tests accordingly. 2026-10-17 20:45:43 +13:00
Brenda Wallace 7c51e410a2 Update nursery panel: change "Edit nursery" to "Bulk edit" and adjust related labels; rename test for clarity. 2026-10-17 20:26:21 +13:00
Brenda Wallace 6b1ce4df8b removing plannted plantings 2026-10-17 20:15:27 +13:00