{draft.imageUrls.map((url, index) => (
-

))}
diff --git a/app/manufacturing/ab-tests/[id]/page.tsx b/app/manufacturing/ab-tests/[id]/page.tsx
index b263ea0..d13deb1 100644
--- a/app/manufacturing/ab-tests/[id]/page.tsx
+++ b/app/manufacturing/ab-tests/[id]/page.tsx
@@ -1,6 +1,6 @@
'use client'
-import { useState, useEffect } from 'react'
+import { useState, useEffect, useCallback } from 'react'
import { useParams } from 'next/navigation'
import Link from 'next/link'
import type { ABTest as ABTestRow, ABTestVariant, ABTestEvaluation } from '@/lib/db/schema'
@@ -37,11 +37,7 @@ export default function ABTestDetailPage() {
const [error, setError] = useState
(null)
const [running, setRunning] = useState(false)
- useEffect(() => {
- fetchABTest()
- }, [abTestId])
-
- const fetchABTest = async () => {
+ const fetchABTest = useCallback(async () => {
try {
setLoading(true)
setError(null)
@@ -60,7 +56,11 @@ export default function ABTestDetailPage() {
} finally {
setLoading(false)
}
- }
+ }, [abTestId])
+
+ useEffect(() => {
+ fetchABTest()
+ }, [fetchABTest])
const handleRunTest = async () => {
try {
diff --git a/app/manufacturing/drafts/[id]/page.tsx b/app/manufacturing/drafts/[id]/page.tsx
index 1552841..88e4ef1 100644
--- a/app/manufacturing/drafts/[id]/page.tsx
+++ b/app/manufacturing/drafts/[id]/page.tsx
@@ -1,8 +1,9 @@
'use client'
-import { useState, useEffect } from 'react'
+import { useState, useEffect, useCallback } from 'react'
import { useParams, useRouter } from 'next/navigation'
import Link from 'next/link'
+import Image from 'next/image'
import type { Draft, CouncilFeedback as CouncilFeedbackRow } from '@/lib/db/schema'
type CouncilFeedback = CouncilFeedbackRow & {
@@ -38,11 +39,7 @@ export default function DraftDetailPage() {
const [imagePreviews, setImagePreviews] = useState([])
const [deletingImages, setDeletingImages] = useState([])
- useEffect(() => {
- fetchDraft()
- }, [draftId])
-
- const fetchDraft = async () => {
+ const fetchDraft = useCallback(async () => {
try {
setLoading(true)
setError(null)
@@ -60,7 +57,11 @@ export default function DraftDetailPage() {
} finally {
setLoading(false)
}
- }
+ }, [draftId])
+
+ useEffect(() => {
+ fetchDraft()
+ }, [fetchDraft])
const handleProcess = async () => {
try {
@@ -241,11 +242,13 @@ export default function DraftDetailPage() {
{draft.imageUrls
.filter(url => !deletingImages.includes(url))
.map((url, index) => (
-
-
![]()
+
{editingImages && (