import React from 'react'
import { Head, Link, router, usePage } from '@inertiajs/react'
import BeforeAfterSlider from '../../../components/enhance/BeforeAfterSlider'
import EnhanceStatusBadge from '../../../components/enhance/EnhanceStatusBadge'
import EnhanceStubWarning from '../../../components/enhance/EnhanceStubWarning'
import { formatEnhanceDate } from '../../../utils/enhanceFormatting'
function formatDate(value) {
return formatEnhanceDate(value)
}
function DetailRow({ label, value }) {
return (
{label}
{value}
)
}
export default function ModerationEnhanceShow() {
const { props } = usePage()
const job = props.job || {}
const flash = props.flash || {}
const errors = props.errors || {}
return (
{job.scale}x
{job.mode}
{job.engine}
Enhance job #{job.id}
Created by {job.user?.name || 'Unknown user'} {job.user?.username ? `(@${job.user.username})` : ''}.
Back to list
{job.download_url ?
Download output : null}
{job.can_retry ?
router.post(job.retry_url)} className="inline-flex items-center gap-2 rounded-full border border-amber-300/20 bg-amber-400/12 px-5 py-3 text-xs font-semibold uppercase tracking-[0.14em] text-amber-50 transition hover:bg-amber-400/20">Retry : null}
{job.can_mark_failed ?
router.post(job.mark_failed_url)} className="inline-flex items-center gap-2 rounded-full border border-rose-300/20 bg-rose-400/12 px-5 py-3 text-xs font-semibold uppercase tracking-[0.14em] text-rose-100 transition hover:bg-rose-400/20">Mark failed : null}
{
if (!window.confirm('Delete this enhance job and any owned enhance files?')) return
router.delete(job.delete_url)
}} className="inline-flex items-center gap-2 rounded-full border border-white/10 bg-white/[0.05] px-5 py-3 text-xs font-semibold uppercase tracking-[0.14em] text-white transition hover:bg-white/[0.09]">Delete
{flash.success ? {flash.success}
: null}
{flash.error ? {flash.error}
: null}
{errors.job ? {errors.job}
: null}
{job.source_url && job.output_url ?
: null}
Source image
{job.source_url ?
:
}
Output image
{job.output_url ?
:
}
Metadata
{JSON.stringify(job.metadata || {}, null, 2)}
{job.error_message ?
: null}
Processing details
{job.artwork.title} : 'Standalone upload'} />
)
}