@@ -17,6 +17,8 @@ import {
1717} from "@mui/material" ;
1818import * as React from "react" ;
1919
20+ import { usePreviewImageData } from "./hooks" ;
21+
2022type SharedPreviewFieldProps = {
2123 originalDataset : Record < string , unknown > ;
2224 previewDataset : Record < string , unknown > ;
@@ -109,27 +111,40 @@ const WidthSpecifiedFallbackImage = styled(Common.Components.FallbackImage)({
109111} ) ;
110112
111113export const PreviewImageField : React . FC < SharedPreviewFieldProps > = ( { originalDataset, previewDataset, name, label } ) => {
112- const originalImage = originalDataset [ name ] as string ;
113- const previewImage = previewDataset [ name ] as string ;
114+ const { originalImage, previewImage } = usePreviewImageData ( originalDataset , previewDataset , name ) || { } ;
114115
115- return originalImage === previewImage ? (
116+ return originalImage ?. id === previewImage ?. id ? (
116117 < Common . Components . Fieldset legend = { label } style = { { width : "100%" } } >
117- < WidthSpecifiedFallbackImage src = { previewImage } alt = { label } errorFallback = { < ImageFallback /> } />
118+ < Stack alignItems = "center" justifyContent = "center" >
119+ { previewImage ?. file ? (
120+ < WidthSpecifiedFallbackImage src = { previewImage ?. file || "" } alt = { label } errorFallback = { < ImageFallback /> } />
121+ ) : (
122+ < Typography variant = "caption" children = "이미지를 지정하지 않았습니다." />
123+ ) }
124+ </ Stack >
118125 </ Common . Components . Fieldset >
119126 ) : (
120127 < Box sx = { { my : 1 } } >
121128 < Accordion >
122129 < AccordionSummary >
123130 < Stack sx = { { width : "100%" } } direction = "column" alignItems = "flex-start" justifyContent = "space-between" >
124131 < Common . Components . Fieldset legend = { label } style = { { width : "100%" , backgroundColor : "rgba(255, 255, 0, 0.1)" } } >
125- < WidthSpecifiedFallbackImage src = { previewImage } alt = { label } errorFallback = { < ImageFallback /> } />
132+ < Stack alignItems = "center" justifyContent = "center" >
133+ < WidthSpecifiedFallbackImage src = { previewImage ?. file || "" } alt = { label } errorFallback = { < ImageFallback /> } />
134+ </ Stack >
126135 </ Common . Components . Fieldset >
127136 < Typography variant = "caption" > 기존 이미지를 보려면 여기를 클릭해주세요.</ Typography >
128137 </ Stack >
129138 </ AccordionSummary >
130139 < AccordionDetails >
131140 < Common . Components . Fieldset legend = { label } style = { { backgroundColor : "rgba(0, 64, 64, 0.1)" } } >
132- < WidthSpecifiedFallbackImage src = { originalImage } alt = { label } errorFallback = { < ImageFallback /> } />
141+ < Stack alignItems = "center" justifyContent = "center" >
142+ { originalImage ?. file ? (
143+ < WidthSpecifiedFallbackImage src = { originalImage ?. file || "" } alt = { label } errorFallback = { < ImageFallback /> } />
144+ ) : (
145+ < Typography variant = "caption" children = "기존 이미지를 지정하지 않았습니다." />
146+ ) }
147+ </ Stack >
133148 </ Common . Components . Fieldset >
134149 </ AccordionDetails >
135150 </ Accordion >
0 commit comments