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>
Declare read-only resources and the owner relationship once each, make
the resource hook helpers private, simplify token auth, and cache the
generated API docs for an hour.
- Implement tests for handling dashed attribute names in API responses and requests in `dashed_keys_request_spec.rb`.
- Enhance error handling tests in `errors_request_spec.rb` for invalid filters and attributes.
- Refactor garden, harvest, and seed request specs to use shared examples for resource write operations.
- Introduce shared examples in `api_writes.rb` to streamline testing of create, update, and delete actions across various resources.
- Update pagination and sorting tests to include new scenarios for offsets and computed attributes.
- Remove redundant code and improve test clarity by utilizing shared contexts and helper methods.
- Introduced `PhotoResource`, `PlantingResource`, and `SeedResource` to manage respective models.
- Updated application configuration to include API base URL.
- Modified production and test environments to set API base URL dynamically.
- Removed outdated JSONAPI resources initializers and patches.
- Refactored routes to use resourceful routing for API endpoints.
- Updated request specs to reflect changes in API responses and relationships.
- Added helper methods for generating related links in request specs.
Admins switch features on and off at /admin/features, kept in Flipper.
Job ideas (the page, the banners and the overlay) only show while its
flag is on. Features are off until switched on.
Closes#5050
- Implemented event description logic for finished jobs in EventHelper.
- Created a new partial for finished job descriptions.
- Updated TimelineService to include finished jobs in event queries.
- Enhanced specs for event descriptions and timeline service to cover finished jobs.
* Filter deleted members by default and enable bulk ban on admin members
Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>
* Drop instagram
* Default sort
* Update specs
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
* Add rel=nofollow to member website link when member has no plantings
Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>
* Add rel=nofollow to member website and other URL links when user has no plantings
Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>
* Remove low value coverage
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Update CommentsController create, update, and destroy actions to redirect to
the commentable resource path with the #comments anchor tag. Also update
CommentsController spec assertions to expect the #comments anchor tag on
redirection.
Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>
Pass the planting view URL to ActionsMenu in PlantingChip and accept
an optional href prop in ActionsMenu so middle/ctrl clicks open the
planting view in a new tab.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Add missing translation keys under the `en.layouts.menu` namespace in
`config/locales/en.yml` for navigation links used in `app/views/layouts/_menu.haml`.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
- Subclass Devise::Mailer as DeviseMailer overriding subject_for to pass site_name option.
- Configure config.mailer = 'DeviseMailer' and config.mailer_sender in Devise initializer using GROWSTUFF_SITE_NAME env var.
- Update Devise locale subject strings in config/locales/devise.en.yml to use %{site_name}.
- Add spec/mailers/devise_mailer_spec.rb to verify subject interpolation.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Brenda Wallace <brenda@wallace.net.nz>
Update @percy/cli to ^1.32.12 in package.json and update yarn.lock, ensuring fast-xml-parser transitive dependency requirement (^4.4.1) from @percy/core is satisfied with the updated version.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
* 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