'use client'; import SubmitButtonWithStatus from '@/components/SubmitButtonWithStatus'; import Link from 'next/link'; import { PATH_ADMIN_RECIPES } from '@/app/path'; import FieldsetWithStatus from '@/components/FieldsetWithStatus'; import { ReactNode, useMemo, useState } from 'react'; import { renamePhotoRecipeGloballyAction } from '@/photo/actions'; import { parameterize } from '@/utility/string'; import { useAppState } from '@/app/AppState'; export default function AdminRecipeForm({ recipe, children, }: { recipe: string children?: ReactNode }) { const { invalidateSwr } = useAppState(); const [updatedRecipeRaw, setUpdatedRecipeRaw] = useState(recipe); const updatedRecipe = useMemo(() => parameterize(updatedRecipeRaw) , [updatedRecipeRaw]); const isFormValid = ( updatedRecipe && updatedRecipe !== recipe ); return (
{/* Form data: recipe to be replaced */} {/* Form data: updated recipe */} {children}
Cancel Update
); }