Post toast when overwriting photo EXIF data
This commit is contained in:
parent
75c73174e9
commit
915b71297c
@ -125,6 +125,9 @@ export default async function AdminTagsPage({
|
||||
<input type="hidden" name="id" value={photo.id} />
|
||||
<SubmitButtonWithStatus
|
||||
icon={<IconGrSync className="translate-y-[-0.5px]" />}
|
||||
onFormSubmitToastMessage={`
|
||||
"${titleForPhoto(photo)}" EXIF data synced
|
||||
`}
|
||||
/>
|
||||
</FormWithConfirm>
|
||||
<FormWithConfirm
|
||||
|
||||
@ -1,29 +1,43 @@
|
||||
'use client';
|
||||
|
||||
import { HTMLProps } from 'react';
|
||||
import { HTMLProps, useEffect, useRef } from 'react';
|
||||
import { useFormStatus } from 'react-dom';
|
||||
import Spinner, { SpinnerColor } from './Spinner';
|
||||
import { cc } from '@/utility/css';
|
||||
import { toastSuccess } from '@/toast';
|
||||
|
||||
interface Props extends HTMLProps<HTMLButtonElement> {
|
||||
icon?: JSX.Element
|
||||
styleAsLink?: boolean
|
||||
spinnerColor?: SpinnerColor
|
||||
onFormSubmitToastMessage?: string
|
||||
}
|
||||
|
||||
export default function SubmitButtonWithStatus(props: Props) {
|
||||
const {
|
||||
icon,
|
||||
styleAsLink,
|
||||
spinnerColor,
|
||||
children,
|
||||
disabled,
|
||||
className,
|
||||
type: _type,
|
||||
...buttonProps
|
||||
} = props;
|
||||
export default function SubmitButtonWithStatus({
|
||||
icon,
|
||||
styleAsLink,
|
||||
spinnerColor,
|
||||
onFormSubmitToastMessage,
|
||||
children,
|
||||
disabled,
|
||||
className,
|
||||
type: _type,
|
||||
...buttonProps
|
||||
}: Props) {
|
||||
|
||||
const { pending } = useFormStatus();
|
||||
const pendingPrevious = useRef(pending);
|
||||
|
||||
useEffect(() => {
|
||||
if (
|
||||
pendingPrevious.current &&
|
||||
!pending &&
|
||||
onFormSubmitToastMessage
|
||||
) {
|
||||
toastSuccess(onFormSubmitToastMessage);
|
||||
}
|
||||
pendingPrevious.current = pending;
|
||||
}, [pending, onFormSubmitToastMessage]);
|
||||
|
||||
return (
|
||||
<button
|
||||
|
||||
@ -28,8 +28,6 @@ export default function PhotoEditPageClient({
|
||||
seedExifData,
|
||||
);
|
||||
|
||||
console.log({ hasExifDataBeenFound });
|
||||
|
||||
return (
|
||||
<AdminChildPage
|
||||
backPath={PATH_ADMIN_PHOTOS}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user