- 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.
- 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.
Update the offcanvas drawer header on small devices to wrap the
signed-in member's profile avatar image and login name in a link
pointing to the member's profile page.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
* 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>
- 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.
* Add authentication dialogs for sign in and sign up
- Implemented AuthDialog component to manage sign in and sign up modals.
- Created SignInModal and SignUpModal components for handling respective authentication processes.
- Added AuthFields component for reusable form fields and error handling.
- Updated various views to utilize the new authentication dialogs instead of traditional links.
- Enhanced user experience by allowing sign in and sign up actions to occur without full page reloads.
- Added feature specs for testing the functionality of the new dialogs.
* Refactor modals and input fields for improved accessibility and styling; adjust button sizes and text formatting
* Refactor authentication forms and modals for improved usability and accessibility; integrate reCAPTCHA handling and enhance error messaging
* Refactor SignUpModal layout for improved responsiveness and accessibility; organize fields into rows and enhance styling
* Refactor session view spec to streamline field checks; remove redundant test and retain essential content expectations
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>
- Define launch date and duration for "New" badge visibility
- Update neighbours menu to display badge when applicable
- Enhance neighbours show page with a welcome message for new users
- Add corresponding translations for welcome message and feedback link
- Implement RecentActivity service to track recent planting, harvesting, and trading events.
- Enhance TimelineService to include garden layouts in event queries.
- Update navigation menu to include a link to friends and neighbours.
- Create member card partial for displaying gardener information.
- Add follow button partial for managing follow actions.
- Refactor members index view to use the new member card partial.
- Introduce neighbours feed view with daily updates and entries.
- Implement entry partial for displaying individual neighbour activities.
- Create layout partial for visualizing garden layouts.
- Add posts section to neighbours view for displaying recent posts.
- Implement reach section to show nearby gardeners.
- Add suggestions section for recommending gardeners to follow.
- Create routes for neighbours functionality and member dismissals.
- Add migrations for member dismissals and garden layout timestamps.
- Write feature and request specs for neighbours functionality.
- Include support for creating located members in tests.
- Introduced crop suggestions functionality allowing users to receive tailored crop recommendations based on their location and preferences.
- Implemented the ability for users to dismiss specific crop suggestions, preventing them from receiving recommendations for crops they are not interested in.
- Added a location picker for users to set their gardening location, enhancing the accuracy of crop suggestions.
- Enhanced the dashboard to display relevant statistics, including plantings and harvests, with comparisons to previous years.
- Created new views and partials for displaying statistics, crop suggestions, and user interactions on the dashboard.
- Updated routes to accommodate new features related to crop suggestions and member locations.
- Added migrations for new database tables and columns to support crop dismissal and suggestion preferences.
- Developed tests for the new features, ensuring functionality and user experience are maintained.
- Introduced a new releases page linked from the homepage.
- Updated homepage to include a signed-in greeting with member avatar and season summary.
- Enhanced mobile styles for better navigation and search box visibility.
- Added season-related helper methods and tests for improved functionality.
* Add support and terms of service pages with corresponding routes
- Created a new support page with frequently asked questions.
- Added a terms of service page outlining user agreements and policies.
- Removed old support index and CMS initializer files.
- Updated routes to include new policy and support paths.
- Implemented tests for new pages and footer links.
- Adjusted database migration for CMS content compatibility.
* Remove custom JavaScript file for the admin area
* Add kramdown gem for Markdown support in Haml
* Fix various typos and link formatting issues
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* remove reference to paid account
* Remove reference to paid accounts from support page
* Remove references to paid and permanent accounts from Terms of Service
* removing references to paid accounts
* Update contact email link format in TOS
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Add new pages and routes for About, Policies, and Copyright; update existing pages
* Fix typos and improve clarity in community guidelines, copyright policy, data use policy, privacy policy, support page, and terms of service
* Drop stale expectation
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
The skip link, nav links, button, blurb and inactive gardens link sat at
the card's edge while the card's own text is inset. Give them the same
inset, left-align the blurb, and add a little space between the links.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
In Bootstrap 5 the close button has an auto left margin, so before the
title it sat beside it instead of at the right edge.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
.close with a times character -> .btn-close (which draws its own cross), with an
aria-label on each. The alert helper said alert-dismissable, Bootstrap 3's
spelling; Bootstrap 5 needs alert-dismissible for the close button's spacing.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
badge-info/success/... -> text-bg-info/success/..., which set the background
and a readable text colour together, and badge-pill -> rounded-pill. The site's
own badge-late, badge-harvest and similar hooks are unchanged.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit improves the meta descriptions for several pages by making them dynamic and object-specific.
- The default meta description in `app/views/layouts/_head.html.haml` has been updated to include a mention of open data.
- The `show.html.haml` views for crops, seeds, plantings, harvests, and members now have a `content_for :meta_description` block. This block uses the object's description or bio if available, and falls back to a generated string if not.
* Upgrade boostrap
* Remove deprecated bootstrap toggles
* Migrate other details
* Avoid accidentally including bootstrap twice
* Avoid accidentally including bootstrap twice
* Avoid accidentally including bootstrap twice
* Fix spec
* Fix spec, where the size of the screen has gone to a partial breakpoint/you can't click on your own name in tablet view
* Fix spec
* Cleanup
* Cleanup
* Add dep
* Add tests around accessibility
* Add examples in a few places
* Try to fix screenshots
* Remove redundant role
* Adjust rules, colors, etc so tests pass
* Update app/assets/stylesheets/overrides.scss
* Wrap in label
* Omit rule, which is failing with a false positive
* Update index.haml
* Update _blurb.html.haml