Commit Graph
45 Commits
Author SHA1 Message Date
Brenda Wallace 7eb51b76a8 Merge remote-tracking branch 'origin/main' into seed-facts-organic-gmo-batch 2026-10-30 19:00:45 +13:00
Daniel O'Connorandgoogle-labs-jules[bot] 5b5b5b855e I have resolved the issue where toggling "Hide Completed" re-rendered the full page layout (#5097). (#5146)
When clicking "Hide Completed" on the jobs notepad, an AJAX GET request was sent without an explicit 'Accept: text/html' header. Rails evaluated `request.format` as non-HTML, causing `JobsController#notepad?` to return `false` and falling back to `respond_with` rendering the full page layout inside the notepad groups element.

Here is a summary of the changes:
1. Added the 'Accept: text/html' header to transmit in `job_notepad.js`.
2. Updated `JobsController#notepad?` to treat XHR requests for the current member's jobs as notepad requests.
3. Added unit tests in `job_notepad.test.js` for the "Hide Completed" action.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-30 08:40:09 +10:30
77f151d344 Add Shareon social share component to posts#show (#5143)
* Add Shareon social share component to posts#show for logged in users

- Install shareon npm package
- Add shareon JS module and stylesheet imports
- Render .shareon container with requested share links on posts#show for logged in users
- Add unit and view spec tests

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

* Add Shareon social share component to posts#show for logged in users

- Install shareon npm package
- Add shareon JS module and stylesheet imports
- Render .shareon container with requested share links on posts#show for logged in users
- Add unit and view spec tests

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

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-29 21:51:47 +10:30
Brenda WallaceandClaude Sonnet 5.5 a2e495a76c Add when to sow, how to sow and germination time to seeds
What a packet says about sowing it. When to sow is the months, as many as the
packet says: a form sends twelve chips to tick, with the seasons as shortcuts
for the grower's hemisphere (none where we do not know it, rather than a
guess), and the list shows them as runs like "Oct-Feb". How to sow is text, in
the packet's words. Germination is a range of days, as maturity is.

A migration adds four columns to seeds. The facts are on the packet sheet, in
the order they happen, and editable from the pencils, from Edit all and from the
standalone form.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 19:35:41 +13:00
Brenda Wallace 240de4fac2 Refactor seed editing and display components
- Replace the modal dialog for editing seed details with an inline form within the packet sheet.
- Introduce a new partial for edit fields to streamline the editing process.
- Update the seed facts display to utilize a new fact row partial for better organization and readability.
- Implement a packet panel to show packet photos and text side by side, enhancing the user interface.
- Modify the hero section to include source information as a ribbon or badge based on the presence of a photo.
- Adjust tests to reflect changes in the editing process and the new layout of the seed show page.
2026-10-29 18:59:55 +13:00
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
Daniel O'Connor 4271f41340 Drop to 2 seconds 2026-10-25 18:26:37 +13:00
google-labs-jules[bot]andCloCkWeRX 0494796e86 Fade out flash messages 3s after user interaction
Automatically fade out flash alert messages 3 seconds after the user begins interacting with content (scroll, touch, click, keydown, focusin). Following UX best practices, the auto-dismiss timer is paused while the user hovers over or focuses inside the alert notification itself.

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>
2026-10-25 18:26:37 +13:00
Brenda Wallace ddd9277696 Refactor CSRF token handling in job ideas and notepad scripts; improve rendering of notepad groups 2026-10-25 13:01:02 +13:00
Brenda Wallace d03f81d1c8 Add functionality to hide completed jobs in notepad and update styles 2026-10-25 13:01:02 +13:00
Brenda Wallace b5a46fe2f2 Enhance job notepad functionality with date management and improved UI for done tasks 2026-10-24 15:53:33 +13:00
Brenda Wallace bbb8a142c7 widening the range for suggsting jobs (#5034)
* Add crop_job_step association to Job model and migration

- Introduced a has_many association in CropJobStep for jobs with dependent nullify.
- Added crop_job_step reference to Job model with optional association.
- Created migration to add crop_job_step reference to jobs table with foreign key.
- Updated schema to reflect the new association.
- Added tests for crop_job_step association in Job model.

* Add ApplyCropJobTemplate service and for_crop scope to CropJobTemplate model

* Add job idea dismissal feature and related services

- Introduced JobIdeaDismissal model to manage dismissed job ideas for members.
- Added associations and validations for job idea dismissals in the Member model.
- Created JobIdeas service to generate job ideas based on templates and last year's activities.
- Implemented JobIdeas::LastYear and JobIdeas::Templates classes to fetch relevant job ideas.
- Added migration for job_idea_dismissals table and updated schema.
- Developed tests for job idea dismissal functionality and related services.

* Add PlantedLastYear service and update JobIdeas to include it

* Add action attribute to Job model and update related files

* Refactor JobIdeas service: replace LastYear and PlantedLastYear with PastJobs and PastPlantings; update related specs

* Add community and nearby job ideas sources; implement shown and more methods in JobIdeas service

* Implement job idea dismissal duration and snooze functionality; add hidden_until attribute and related specs

* Add Harvest class to JobIdeas service for managing harvest-related job ideas; implement ideas generation and related specs

* Add JobIdeas feature: implement JobIdeasController, views, and related services for job suggestions; include functionality for adding, hiding, and snoozing job ideas

* Refactor button options in job ideas view for improved readability and maintainability

* Enhance Job Ideas feature: add styling for idea cards, implement filtering options, and update controller logic to manage skipped sources; improve localization for job idea reasons and sections

* Add job ideas count and badge display; implement helper methods and update views for better visibility of job ideas

* Enhance Job Ideas feature: add UI elements for job suggestions, implement schedule display for template jobs, and improve localization; update related specs for new functionality

* Enhance Job Ideas feature: implement overlay for job suggestions, add animations for job transitions, and improve UI components; update controller and helper methods for better handling of job ideas

* Refactor Job Ideas feature: remove badge display and related tests; update UI components for better layout and visibility of job suggestions

* Refactor Jobs view and update specs: improve layout for job groups and enhance test coverage for jobs index with ideas

* Refactor Job Ideas feature: replace dismiss! with hide! method, update job count logic, and enhance UI components for better visibility and layout

* Add job ideas feature: implement ideas banner on homepage, enhance overlay logic, and add tests for job ideas display

* widen the range for suggseting jobs

* Fix comment to accurately describe planted crops timeframe in PastPlantings class
2026-10-23 22:24:12 +10:30
Brenda Wallace b22fa68bdf Refactor Job Ideas feature: replace dismiss! with hide! method, update job count logic, and enhance UI components for better visibility and layout 2026-10-23 21:04:21 +13:00
Brenda Wallace 76dafadc7f Refactor Job Ideas feature: remove badge display and related tests; update UI components for better layout and visibility of job suggestions 2026-10-23 21:04:21 +13:00
Brenda Wallace c4ab1bab15 Enhance Job Ideas feature: implement overlay for job suggestions, add animations for job transitions, and improve UI components; update controller and helper methods for better handling of job ideas 2026-10-23 21:04:21 +13:00
Brenda Wallace d654929130 Add flush and timer advance in notepad tests for improved async handling 2026-10-23 12:40:16 +13:00
Brenda Wallace 0c1cc46e9f Merge remote-tracking branch 'origin/ui-niceness-for-jobs' into feat/tasks-for-garden 2026-10-23 12:39:15 +13:00
Brenda Wallace d40707ecb3 Merge remote-tracking branch 'origin/job-celebration' into ui-niceness-for-jobs 2026-10-23 12:38:41 +13:00
Brenda Wallace 35ffb77754 Add tests for notepad job submission and focus management 2026-10-23 12:35:02 +13:00
Brenda Wallace 95f36c80f3 Merge branch 'job-celebration' into ui-niceness-for-jobs 2026-10-23 12:31:01 +13:00
Brenda Wallace 9003ca3bef Enhance notepad accessibility and functionality
- Add reduced motion support for the notepad snail animation.
- Implement focused control tracking for job list interactions.
- Refactor job transmission logic to ensure sequential processing.
- Update notepad HTML structure for better screen reader compatibility.
- Introduce tests for notepad rendering and accessibility features.
2026-10-23 12:22:22 +13:00
Brenda Wallace 91e605d2c5 Add suggestions feature for job notepad: implement crop name suggestions with @ syntax in both add and edit modes 2026-10-23 10:43:16 +13:00
Brenda Wallace d96594f812 Enhance job notepad and suggestions for garden context:
- Update styles for notepad title and job suggestions.
- Modify job suggestions controller to filter by garden plantings.
- Implement interactive suggestions in job notepad for crop linking.
- Add link to view all jobs in the garden's notepad.
- Extend tests for job suggestions in garden context.
2026-10-23 08:43:55 +13:00
Brenda Wallace 23a0e6ea1f Implement garden-specific job notepad: add JobsNotepad service, update controllers and views to support garden context, and enhance tests for new functionality. 2026-10-23 08:38:47 +13:00
Brenda Wallace ba3574b5fc Refactor job-related code: enhance job suggestions, improve notepad functionality, and update job form fields 2026-10-23 08:27:46 +13:00
Brenda Wallace 9e35db0207 Add tests for job notepad functionality: implement job addition, editing, and drag-and-drop interactions 2026-10-23 08:24:33 +13:00
Brenda Wallace a4e764b760 Add saving state indication for job rows: implement dimming and spinner during server interactions 2026-10-23 08:22:25 +13:00
Brenda Wallace 0dfe944842 Add saving state indication for job notepad: implement spinner and status message during job addition 2026-10-23 08:22:15 +13:00
Brenda Wallace 7f0b6fb989 Enhance job notepad functionality: implement job crossing off with date tracking, update job grouping logic, and improve UI elements for better user experience. 2026-10-23 08:20:48 +13:00
Brenda Wallace d6d56787ca Implement inline editing for job names in notepad with appropriate styles and hints 2026-10-23 08:13:16 +13:00
Brenda Wallace e21c3ab1da Merge branch 'job-links-from-typing' into job-celebration 2026-10-22 20:21:44 +13:00
Brenda Wallace cef7322d7e Merge branch 'rename-activities-to-jobs' into job-links-from-typing 2026-10-22 20:18:29 +13:00
Brenda Wallace 29e9c71012 Refactor job handling: update due date logic, enhance notepad functionality, and adjust routing 2026-10-22 20:15:57 +13:00
Brenda Wallace f718f3e122 Refactor job handling and UI updates: streamline job path usage, enhance celebration text, and improve notepad interactions 2026-10-22 18:31:28 +13:00
Brenda Wallace be21f287a8 Merge branch 'job-links-from-typing' into job-celebration 2026-10-22 18:26:31 +13:00
Brenda Wallace 5588bd2eb1 Add crop icons to job suggestions and update notepad UI for improved visibility 2026-10-22 18:25:25 +13:00
Brenda Wallace 7b67fd3dd6 Add snail animation and job completion caption to notepad 2026-10-22 18:15:35 +13:00
Brenda Wallace 51923aadd8 Add job celebration features with animations and notifications for completed tasks 2026-10-22 18:11:35 +13:00
Brenda Wallace 871c7ff9ce Enhance job notepad and linking functionality with UI improvements and code refactoring 2026-10-22 18:02:21 +13:00
Brenda Wallace d7d14cf65e Implement job linking functionality with crop suggestions and UI enhancements 2026-10-22 17:59:27 +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 WallaceandClaude Sonnet 5.5 cec71ea328 Make the append-date datepicker pop up instead of rendering inline
bootstrap-datepicker 1.10 treats a non-input element as an inline calendar,
so the Mark as finished links never showed a picker. Ask for the dropdown.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 23:55:33 +13:00
Brenda Wallace e68c98fd38 Add JavaScript functionality for planting alternate names and tab navigation
- Implemented `planting_alternate_name.js` to load alternate names for crops in the planting form based on user input.
- Added `tab_navigation.js` to manage tab navigation and update the URL hash accordingly.

Update map rendering in member and place views

- Modified `_map.html.haml` to include a custom marker icon for member maps.
- Updated `index.html.haml` and `show.html.haml` to pass `places_map_data` to the map sections.

Refactor asset management in Rails application

- Removed Sprockets from the application configuration and adjusted asset paths.
- Updated asset precompilation settings and removed deprecated asset configurations from environment files.
- Added new build scripts for CSS and updated package dependencies in `package.json` for Bootstrap, Chart.js, and others.

Ensure React and CSS bundles are built before running tests

- Updated `react_bundle.rb` to check for the existence of both JavaScript and CSS bundles and build them if missing.
2026-10-20 23:55:33 +13:00