mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-10-29 10:18:29 -04:00
* 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>
29 lines
1003 B
React
29 lines
1003 B
React
import React, {useState} from 'react';
|
|
|
|
import PickerButton from './PickerButton';
|
|
import PlantSomethingModal from './PlantSomethingModal';
|
|
|
|
// A button that opens the "plant something" dialog for one garden, for pages
|
|
// that are not a list of garden cards, like the home page's first steps.
|
|
// Give it gardens to ask which of them when there is more than one.
|
|
// Give it a crop to open with that crop already chosen. Once planted the page
|
|
// reloads, so it shows what is now growing.
|
|
export default function PlantPicker({label, sublabel, buttonClass, garden, gardens, crop}) {
|
|
const [open, setOpen] = useState(false);
|
|
|
|
return (
|
|
<>
|
|
<PickerButton label={label} sublabel={sublabel} className={buttonClass} onClick={() => setOpen(true)} />
|
|
{open && (
|
|
<PlantSomethingModal
|
|
garden={garden}
|
|
gardens={gardens}
|
|
crop={crop}
|
|
onClose={() => setOpen(false)}
|
|
onCreated={() => window.location.reload()}
|
|
/>
|
|
)}
|
|
</>
|
|
);
|
|
}
|