Copy a garden (deep duplicate) from the gardens list (#46)
Build image / build-and-push (push) Successful in 16s
Build image / build-and-push (push) Successful in 16s
Co-authored-by: Steve Dudenhoeffer <[email protected]>
This commit was merged in pull request #46.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { useState } from 'react'
|
||||
import { Alert } from '@/components/ui/Alert'
|
||||
import { Button } from '@/components/ui/Button'
|
||||
import { CopyGardenModal } from '@/components/gardens/CopyGardenModal'
|
||||
import { DeleteGardenModal } from '@/components/gardens/DeleteGardenModal'
|
||||
import { GardenCard } from '@/components/gardens/GardenCard'
|
||||
import { GardenFormModal } from '@/components/gardens/GardenFormModal'
|
||||
@@ -10,12 +11,13 @@ import { useMe } from '@/lib/auth'
|
||||
import { useGardens, type Garden } from '@/lib/gardens'
|
||||
import { usePageTitle } from '@/lib/usePageTitle'
|
||||
|
||||
// Which modal is open, if any. edit/delete/share/leave carry the target garden.
|
||||
// Which modal is open, if any. edit/delete/share/copy/leave carry the target garden.
|
||||
type Dialog =
|
||||
| { kind: 'create' }
|
||||
| { kind: 'edit'; garden: Garden }
|
||||
| { kind: 'delete'; garden: Garden }
|
||||
| { kind: 'share'; garden: Garden }
|
||||
| { kind: 'copy'; garden: Garden }
|
||||
| { kind: 'leave'; garden: Garden }
|
||||
| null
|
||||
|
||||
@@ -56,6 +58,7 @@ export function GardensPage() {
|
||||
garden={g}
|
||||
currentUserId={me.data?.id}
|
||||
onShare={() => setDialog({ kind: 'share', garden: g })}
|
||||
onCopy={() => setDialog({ kind: 'copy', garden: g })}
|
||||
onEdit={() => setDialog({ kind: 'edit', garden: g })}
|
||||
onDelete={() => setDialog({ kind: 'delete', garden: g })}
|
||||
onLeave={() => setDialog({ kind: 'leave', garden: g })}
|
||||
@@ -69,6 +72,7 @@ export function GardensPage() {
|
||||
{dialog?.kind === 'edit' && <GardenFormModal garden={dialog.garden} onClose={close} />}
|
||||
{dialog?.kind === 'delete' && <DeleteGardenModal garden={dialog.garden} onClose={close} />}
|
||||
{dialog?.kind === 'share' && <ShareGardenModal garden={dialog.garden} onClose={close} />}
|
||||
{dialog?.kind === 'copy' && <CopyGardenModal garden={dialog.garden} onClose={close} />}
|
||||
{dialog?.kind === 'leave' && <LeaveGardenModal garden={dialog.garden} onClose={close} />}
|
||||
</section>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user